notoriouslab_vault-curate/styles.css
JacobMei e31e237fbc release: 1.0.2 — UX patch (dropdown fix, hover preview, pin Discover)
- fix(settings): LLM model dropdown was stuck on "Loading..." when using
  wasm embedding + AI curation. The bail in loadModelOptions now considers
  both embedding provider and AI curation toggle. Closes #7.

- feat(search-view): hover preview integration via registerHoverLinkSource
  + workspace 'hover-link' event trigger. Cmd/Ctrl + hover Search/Discover
  results now shows Obsidian native Page Preview popup. Closes #6 (part 1).

- feat(search-view): Pin Discover sidebar to lock against active-file
  switching. Pin button in mode toolbar, session-only state, edge-case
  handlers for rename/delete/global-mode-switch. Closes #6 (part 2).

- i18n: 5 new strings (EN + zh-TW) for pin feature.
- styles: pin-btn + pin-btn.is-active + pin-status rules.
- chore: bump version 1.0.1 → 1.0.2 (manifest, manifest-beta, package.json).
- docs: add CHANGELOG.md (starting from 1.0.2 entry).
2026-05-21 17:00:25 +08:00

348 lines
6.8 KiB
CSS

/* Generic display toggle used by tab switching + provider endpoint reveal.
Defined as a class so source TS can use addClass/removeClass/toggleClass
instead of element.style.display (which Obsidian lint flags). */
.vault-curate-hidden {
display: none;
}
/* Shared styles (modal + sidebar) */
.vault-curate-title-row {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 8px;
}
.vault-curate-title {
font-weight: 600;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.vault-curate-score {
font-size: 0.85em;
color: var(--text-muted);
flex-shrink: 0;
}
.vault-curate-meta {
display: flex;
gap: 12px;
font-size: 0.85em;
color: var(--text-muted);
margin-top: 2px;
}
.vault-curate-tags {
color: var(--text-accent);
}
.vault-curate-folder {
color: var(--text-faint);
}
.vault-curate-desc {
font-size: 0.85em;
color: var(--text-muted);
margin-top: 2px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.vault-curate-desc-btn {
margin-top: 4px;
padding: 2px 8px;
font-size: 0.78em;
color: var(--text-muted);
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
cursor: pointer;
}
.vault-curate-desc-btn:hover:not([disabled]) {
color: var(--text-normal);
border-color: var(--interactive-accent);
}
.vault-curate-desc-btn[disabled] {
opacity: 0.6;
cursor: progress;
}
/* Settings: Advanced collapsible section */
.vault-curate-advanced {
margin-top: 1em;
border-top: 1px solid var(--background-modifier-border);
padding-top: 0.5em;
}
.vault-curate-advanced-summary {
cursor: pointer;
font-weight: 600;
color: var(--text-muted);
padding: 0.4em 0;
list-style: none;
}
.vault-curate-advanced-summary::before {
content: "▸ ";
display: inline-block;
transition: transform 0.15s ease;
}
.vault-curate-advanced[open] > .vault-curate-advanced-summary::before {
transform: rotate(90deg);
}
.vault-curate-advanced-summary:hover {
color: var(--text-normal);
}
.vault-curate-note {
margin: 0.5em 0 1em;
padding: 0.6em 0.8em;
font-size: 0.9em;
color: var(--text-muted);
background: var(--background-secondary);
border-radius: 4px;
}
.vault-curate-modal-btnrow {
display: flex;
gap: 8px;
justify-content: flex-end;
margin-top: 1em;
}
.vault-curate-modal-btnrow button.mod-warning {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
/* Onboarding modal */
.vault-curate-onboarding-intro {
color: var(--text-muted);
margin-bottom: 1em;
}
.vault-curate-onboarding-providers,
.vault-curate-onboarding-ai {
display: flex;
flex-direction: column;
gap: 0.4em;
margin-bottom: 1em;
}
.vault-curate-onboarding-option {
display: grid;
grid-template-columns: auto 1fr;
gap: 0 8px;
align-items: center;
padding: 0.3em 0;
}
.vault-curate-onboarding-option > .vault-curate-onboarding-note {
grid-column: 2;
font-size: 0.85em;
color: var(--text-faint);
}
.vault-curate-onboarding-status {
grid-column: 2;
font-size: 0.85em;
color: var(--text-muted);
}
.vault-curate-onboarding-endpoint {
margin: 0.5em 0 1em;
padding: 0.6em;
background: var(--background-secondary);
border-radius: 4px;
}
.vault-curate-onboarding-field {
display: flex;
flex-direction: column;
gap: 0.2em;
margin-bottom: 0.5em;
}
.vault-curate-onboarding-field input {
padding: 4px 6px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
color: var(--text-normal);
}
.vault-curate-onboarding-test {
display: flex;
align-items: center;
gap: 8px;
}
.vault-curate-onboarding-test-status {
font-size: 0.85em;
color: var(--text-muted);
}
/* Sidebar panel */
.vault-curate-panel {
padding: 8px;
}
.vault-curate-bar {
margin-bottom: 8px;
}
.vault-curate-input {
width: 100%;
padding: 6px 10px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
color: var(--text-normal);
font-size: 14px;
}
.vault-curate-input:focus {
border-color: var(--interactive-accent);
outline: none;
}
.vault-curate-status {
font-size: 0.85em;
color: var(--text-muted);
margin-bottom: 6px;
}
.vault-curate-results {
display: flex;
flex-direction: column;
gap: 2px;
}
.vault-curate-result-item {
padding: 8px;
border-radius: 4px;
cursor: pointer;
}
.vault-curate-result-item:hover {
background: var(--background-modifier-hover);
}
/* Tier badges */
.vault-curate-tier {
font-size: 0.8em;
margin-right: 4px;
flex-shrink: 0;
}
.vault-curate-result-item.is-cold {
border-left: 2px solid var(--text-faint);
}
/* Tab bar */
.vault-curate-tab-bar {
display: flex;
gap: 0;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 8px;
}
.vault-curate-tab {
padding: 6px 12px;
cursor: pointer;
border-bottom: 2px solid transparent;
color: var(--text-muted);
font-size: 0.9em;
user-select: none;
}
.vault-curate-tab:hover {
color: var(--text-normal);
}
.vault-curate-tab.is-active {
color: var(--text-normal);
border-bottom-color: var(--interactive-accent);
}
/* Discover mode toggle */
.vault-curate-mode-toggle {
display: flex;
gap: 8px;
margin-bottom: 8px;
}
.vault-curate-mode-btn {
padding: 4px 10px;
border-radius: 12px;
font-size: 0.85em;
cursor: pointer;
background: var(--background-secondary);
color: var(--text-muted);
border: none;
}
.vault-curate-mode-btn.is-active {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.vault-curate-moc-btn {
margin-left: auto;
font-size: 0.8em;
}
.vault-curate-pin-btn {
font-size: 0.85em;
padding: 4px 8px;
}
.vault-curate-pin-btn.is-active {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.vault-curate-pin-status {
padding: 4px 12px;
font-size: 0.75em;
color: var(--text-muted);
background: var(--background-secondary);
border-radius: 6px;
margin-top: 4px;
}
/* Settings stats */
.vault-curate-stats {
font-size: 0.8em;
color: var(--text-muted);
padding: 6px 12px;
background: var(--background-secondary);
border-radius: 6px;
line-height: 1.6;
}
.vault-curate-stats p {
margin: 0;
}
/* Settings: synonym textarea */
.vault-curate-synonyms-input {
width: 100%;
}
/* Settings: remote server warning */
.vault-curate-remote-warn {
color: var(--text-error);
font-size: 0.85em;
margin-top: 4px;
}