diff --git a/apps/desktop/src/components/common/JsonTree.vue b/apps/desktop/src/components/common/JsonTree.vue index 0fefff14f..a17618d97 100644 --- a/apps/desktop/src/components/common/JsonTree.vue +++ b/apps/desktop/src/components/common/JsonTree.vue @@ -209,13 +209,13 @@ defineExpose({ expandAll, collapseAll, resetExpansion, refresh }); diff --git a/apps/desktop/src/components/diff/SchemaDiffDeployStep.vue b/apps/desktop/src/components/diff/SchemaDiffDeployStep.vue index 26d3841a9..50405bb14 100644 --- a/apps/desktop/src/components/diff/SchemaDiffDeployStep.vue +++ b/apps/desktop/src/components/diff/SchemaDiffDeployStep.vue @@ -335,10 +335,10 @@ function getObjectIconColor(kind: DiffObjectKind): string { diff --git a/apps/desktop/src/components/diff/SchemaDiffDialog.vue b/apps/desktop/src/components/diff/SchemaDiffDialog.vue index 0afd7ea98..79d872504 100644 --- a/apps/desktop/src/components/diff/SchemaDiffDialog.vue +++ b/apps/desktop/src/components/diff/SchemaDiffDialog.vue @@ -887,10 +887,10 @@ const targetConnectionInfo = computed(() => { diff --git a/apps/desktop/src/components/editor/AiAssistant.vue b/apps/desktop/src/components/editor/AiAssistant.vue index 17c199852..279c4c890 100644 --- a/apps/desktop/src/components/editor/AiAssistant.vue +++ b/apps/desktop/src/components/editor/AiAssistant.vue @@ -2424,24 +2424,24 @@ async function openExternalUrl(url: string) { font-weight: 600; } .ai-markdown :deep(a) { - color: hsl(var(--primary)); + color: var(--primary); text-decoration: underline; } .ai-markdown :deep(blockquote) { - border-left: 2px solid hsl(var(--muted-foreground) / 0.3); + border-left: 2px solid color-mix(in srgb, var(--muted-foreground) 30%, transparent); padding-left: 0.75em; margin: 0.3em 0; - color: hsl(var(--muted-foreground)); + color: var(--muted-foreground); } .ai-markdown :deep(code) { border-radius: 0.25rem; - background: hsl(var(--muted)); + background: var(--muted); padding: 0.125rem 0.375rem; font-size: 11px; font-family: ui-monospace, monospace; } .ai-markdown :deep(pre) { - background: hsl(var(--muted)); + background: var(--muted); border-radius: 0.375rem; padding: 0.5em 0.75em; margin: 0.3em 0; @@ -2464,7 +2464,7 @@ async function openExternalUrl(url: string) { max-width: 100%; margin: 0.3em 0; border-radius: 0.375rem; - border: 1px solid hsl(var(--border)); + border: 1px solid var(--border); } .ai-markdown :deep(.ai-markdown-table-wrap table) { border: none; @@ -2472,14 +2472,14 @@ async function openExternalUrl(url: string) { } .ai-markdown :deep(th), .ai-markdown :deep(td) { - border: 1px solid hsl(var(--border)); + border: 1px solid var(--border); padding: 0.25em 0.5em; text-align: left; white-space: nowrap; } .ai-markdown :deep(th) { font-weight: 600; - background: hsl(var(--muted)); + background: var(--muted); position: sticky; top: 0; z-index: 1; @@ -2496,11 +2496,11 @@ async function openExternalUrl(url: string) { height: 4px; width: 100%; cursor: ns-resize; - background-color: hsl(var(--border)); + background-color: var(--border); transition: background-color 0.15s ease; } .resize-handle:hover { - background-color: hsl(var(--foreground) / 0.2); + background-color: color-mix(in srgb, var(--foreground) 20%, transparent); } diff --git a/apps/desktop/src/components/editor/EditorSearchPanel.vue b/apps/desktop/src/components/editor/EditorSearchPanel.vue index f855d5d46..928ec2b50 100644 --- a/apps/desktop/src/components/editor/EditorSearchPanel.vue +++ b/apps/desktop/src/components/editor/EditorSearchPanel.vue @@ -491,13 +491,13 @@ defineExpose({ } .editor-search-panel--editor { - background: #f6f7f9; - border-color: #d8dce3; + background: var(--popover); + border-color: var(--border); border-radius: var(--dbx-radius-fixed-6); box-shadow: - 0 8px 22px rgb(15 23 42 / 0.14), - 0 1px 0 rgb(255 255 255 / 0.78) inset; - color: #20242a; + 0 8px 22px color-mix(in srgb, var(--foreground) 14%, transparent), + 0 1px 0 color-mix(in srgb, var(--background) 78%, transparent) inset; + color: var(--foreground); gap: 3px; max-width: min(calc(100vw - 2rem), 500px); padding: 4px 6px; @@ -535,96 +535,46 @@ defineExpose({ } .editor-search-panel--editor :deep(.border-input) { - background: #ffffff; - border-color: #c7ccd5; + background: var(--background); + border-color: var(--input); border-radius: var(--dbx-radius-fixed-5); - box-shadow: 0 1px 0 rgb(15 23 42 / 0.03) inset; + box-shadow: 0 1px 0 color-mix(in srgb, var(--foreground) 3%, transparent) inset; } .editor-search-panel--editor :deep(.focus-within\:border-ring:focus-within) { - border-color: #3b82f6; - box-shadow: 0 0 0 1px #3b82f6; + border-color: var(--ring); + box-shadow: 0 0 0 1px var(--ring); } .editor-search-panel--editor :deep(input) { - color: #20242a; + color: var(--foreground); font-size: 12px; } .editor-search-panel--editor :deep(input::placeholder) { - color: #7a828e; + color: var(--muted-foreground); } .editor-search-panel--editor :deep(.text-muted-foreground) { - color: #6e7681; + color: var(--muted-foreground); } .editor-search-panel--editor :deep(.text-destructive) { - color: #c2410c; + color: var(--destructive); } .editor-search-panel--editor :deep(.hover\:bg-accent:hover), .editor-search-panel--editor :deep(.bg-accent) { - background: #e6e9ef; + background: var(--accent); } .editor-search-panel--editor :deep(.hover\:text-foreground:hover), .editor-search-panel--editor :deep(.text-foreground) { - color: #1f2329; + color: var(--foreground); } .editor-search-panel--editor :deep(button.border-border) { - border-color: #d0d5dd; -} - -:global(.dark) .editor-search-panel--editor { - background: #20252d; - border-color: #2c333d; - box-shadow: - 0 8px 24px rgb(0 0 0 / 0.28), - 0 1px 0 rgb(255 255 255 / 0.04) inset; - color: #d4d7dc; -} - -:global(.dark) .editor-search-panel--editor :deep(.border-input) { - background: #191d25; - border-color: #2f3742; - box-shadow: none; -} - -:global(.dark) .editor-search-panel--editor :deep(.focus-within\:border-ring:focus-within) { - border-color: #4d8dff; - box-shadow: 0 0 0 1px #4d8dff; -} - -:global(.dark) .editor-search-panel--editor :deep(input) { - color: #d7dae0; -} - -:global(.dark) .editor-search-panel--editor :deep(input::placeholder) { - color: #858c97; -} - -:global(.dark) .editor-search-panel--editor :deep(.text-muted-foreground) { - color: #9aa2ad; -} - -:global(.dark) .editor-search-panel--editor :deep(.text-destructive) { - color: #f59e7a; -} - -:global(.dark) .editor-search-panel--editor :deep(.hover\:bg-accent:hover), -:global(.dark) .editor-search-panel--editor :deep(.bg-accent) { - background: #303844; -} - -:global(.dark) .editor-search-panel--editor :deep(.hover\:text-foreground:hover), -:global(.dark) .editor-search-panel--editor :deep(.text-foreground) { - color: #f2f4f8; -} - -:global(.dark) .editor-search-panel--editor :deep(button.border-border) { - border-color: #38414d; + border-color: var(--border); } @media (max-width: 720px) { diff --git a/apps/desktop/src/components/editor/EditorSettingsDialog.vue b/apps/desktop/src/components/editor/EditorSettingsDialog.vue index d262873ff..1e45b3975 100644 --- a/apps/desktop/src/components/editor/EditorSettingsDialog.vue +++ b/apps/desktop/src/components/editor/EditorSettingsDialog.vue @@ -392,10 +392,10 @@ const systemFontsLoading = ref(false); const systemFontsLoaded = ref(false); const uiScaleOptions = [0.75, 0.9, 0.95, 1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.5, 1.75]; const fontSearchTriggerClass = - "h-8 w-full max-w-none justify-between gap-1.5 rounded-[6px] border border-input bg-transparent py-2 pl-2.5 pr-2 text-sm font-normal shadow-none hover:bg-transparent focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-transparent dark:bg-input/30 dark:hover:bg-input/50"; -const appearanceFontSearchTriggerClass = `${fontSearchTriggerClass} gap-0 pl-2 pr-1.5`; + "h-8 w-full max-w-none justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pl-2.5 pr-2 text-sm font-normal shadow-none hover:bg-muted/40 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-transparent dark:bg-input/30 dark:hover:bg-input/50"; +const appearanceFontSearchTriggerClass = fontSearchTriggerClass; const fontSearchTriggerIconClass = "size-4 text-muted-foreground"; -const appearanceFontSearchTriggerIconClass = "size-2.5 text-muted-foreground"; +const appearanceFontSearchTriggerIconClass = "size-4 text-muted-foreground"; const disconnectTabHandlingModeDescriptionKey = computed(() => { switch (editDisconnectTabHandlingMode.value) { case "close-tabs": @@ -3630,8 +3630,8 @@ onUnmounted(cleanupPreviewEditor); allow-custom :display-name="displayFontFamily" :normalize-custom="normalizeCustomFontFamilyInput" - trigger-variant="outline" - trigger-class="h-9 w-full max-w-none justify-between" + :trigger-class="appearanceFontSearchTriggerClass" + :trigger-icon-class="appearanceFontSearchTriggerIconClass" content-class="w-[var(--reka-popover-trigger-width)] min-w-[260px]" @update:model-value="onTableFontFamilyChange" @update:open="(open: boolean) => open && loadSystemFontOptions()" @@ -3657,16 +3657,7 @@ onUnmounted(cleanupPreviewEditor);