diff --git a/frontend/src/components/DashboardGrid.svelte b/frontend/src/components/DashboardGrid.svelte
index eec005e9..cd8b1bff 100644
--- a/frontend/src/components/DashboardGrid.svelte
+++ b/frontend/src/components/DashboardGrid.svelte
@@ -200,7 +200,7 @@
indeterminate={someSelected && !allSelected}
onchange={(e) =>
handleSelectAll((e.target as HTMLInputElement).checked)}
- class="h-4 w-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500"
+ class="h-4 w-4 text-primary border-gray-300 rounded focus-visible:ring-primary-ring"
/>
openGit(dashboard)}
- class="text-blue-600 hover:text-blue-900"
+ class="text-primary hover:text-blue-900"
>
{$t.git.manage}
diff --git a/frontend/src/components/MappingTable.svelte b/frontend/src/components/MappingTable.svelte
index e6d59cc8..da0681f8 100644
--- a/frontend/src/components/MappingTable.svelte
+++ b/frontend/src/components/MappingTable.svelte
@@ -90,7 +90,7 @@
{#if mapping}
- {$t.dashboard?.saved }
+ {$t.dashboard?.saved }
{:else if suggestion}
{$t.dashboard?.suggested } ({Math.round(suggestion.confidence * 100)}%)
{:else}
diff --git a/frontend/src/components/Navbar.svelte b/frontend/src/components/Navbar.svelte
index 5e83c291..b8e8e997 100644
--- a/frontend/src/components/Navbar.svelte
+++ b/frontend/src/components/Navbar.svelte
@@ -38,37 +38,37 @@
{$t.nav.dashboard}
{$t.nav.reports}
{#if authState.current?.isAuthenticated && authState.current?.user?.roles?.some(r => r.name === 'Admin')}
{/if}
diff --git a/frontend/src/components/PasswordPrompt.svelte b/frontend/src/components/PasswordPrompt.svelte
index 5f2585ac..79deb420 100644
--- a/frontend/src/components/PasswordPrompt.svelte
+++ b/frontend/src/components/PasswordPrompt.svelte
@@ -124,7 +124,7 @@
{#if errorMessage}
Error: {errorMessage}
diff --git a/frontend/src/components/RepositoryDashboardGrid.svelte b/frontend/src/components/RepositoryDashboardGrid.svelte
index 90fb7e1c..2e625ab1 100644
--- a/frontend/src/components/RepositoryDashboardGrid.svelte
+++ b/frontend/src/components/RepositoryDashboardGrid.svelte
@@ -510,7 +510,7 @@
{#if selectedIds.length > 0}
-
+
{#if !repositoriesOnly}
handleSelectAll((e.target as HTMLInputElement).checked)}
- class="h-4 w-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500"
+ class="h-4 w-4 text-primary border-gray-300 rounded focus-visible:ring-primary-ring"
/>
diff --git a/frontend/src/components/TaskList.svelte b/frontend/src/components/TaskList.svelte
index dfe8d997..e85694b5 100644
--- a/frontend/src/components/TaskList.svelte
+++ b/frontend/src/components/TaskList.svelte
@@ -70,12 +70,12 @@
{#each tasks as task (task.id)}
handleTaskClick(task)}
>
-
+
{task.plugin_id.toUpperCase()}
{task.id.substring(0, 8)}
diff --git a/frontend/src/components/TaskLogViewer.svelte b/frontend/src/components/TaskLogViewer.svelte
index 6d8bf2a7..f235ce59 100644
--- a/frontend/src/components/TaskLogViewer.svelte
+++ b/frontend/src/components/TaskLogViewer.svelte
@@ -165,7 +165,7 @@
-
+
⚠
{error}
@@ -259,7 +259,7 @@
class="flex flex-col items-center justify-center h-full p-8 text-center space-y-4"
>
⚠
diff --git a/frontend/src/components/Toast.svelte b/frontend/src/components/Toast.svelte
index 78391379..6ab1caef 100755
--- a/frontend/src/components/Toast.svelte
+++ b/frontend/src/components/Toast.svelte
@@ -20,7 +20,7 @@
{#each $toasts as toast (toast.id)}
diff --git a/frontend/src/components/backups/BackupList.svelte b/frontend/src/components/backups/BackupList.svelte
index cffe603f..528d2564 100644
--- a/frontend/src/components/backups/BackupList.svelte
+++ b/frontend/src/components/backups/BackupList.svelte
@@ -122,7 +122,7 @@
onNavigate(backup.path)}
>
{$t.storage.table.go_to_storage}
diff --git a/frontend/src/components/backups/BackupManager.svelte b/frontend/src/components/backups/BackupManager.svelte
index a3715bf2..23703ab9 100644
--- a/frontend/src/components/backups/BackupManager.svelte
+++ b/frontend/src/components/backups/BackupManager.svelte
@@ -221,7 +221,7 @@
-
+
{$t.tasks.schedule_enabled}
diff --git a/frontend/src/components/git/BranchSelector.svelte b/frontend/src/components/git/BranchSelector.svelte
index 49c81d8f..ec30c26d 100644
--- a/frontend/src/components/git/BranchSelector.svelte
+++ b/frontend/src/components/git/BranchSelector.svelte
@@ -141,7 +141,7 @@
size="sm"
onclick={() => showCreate = !showCreate}
disabled={loading}
- class="text-blue-600"
+ class="text-primary"
>
+ {$t.git.new_branch}
diff --git a/frontend/src/components/git/CommitHistory.svelte b/frontend/src/components/git/CommitHistory.svelte
index 8539983b..b4cec9f5 100644
--- a/frontend/src/components/git/CommitHistory.svelte
+++ b/frontend/src/components/git/CommitHistory.svelte
@@ -69,7 +69,7 @@
{$t.git.history}
-
+
{$t.git.refresh}
diff --git a/frontend/src/components/git/CommitModal.svelte b/frontend/src/components/git/CommitModal.svelte
index 3286c485..e2f49839 100644
--- a/frontend/src/components/git/CommitModal.svelte
+++ b/frontend/src/components/git/CommitModal.svelte
@@ -158,7 +158,7 @@
{#if generatingMessage}
↻ {$t.mapper?.generating}
@@ -169,7 +169,7 @@
@@ -202,7 +202,7 @@
{/each}
{#each status.untracked_files as file}
?
@@ -258,7 +258,7 @@
loading ||
(!status?.is_dirty &&
status?.staged_files?.length === 0)}
- class="px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 disabled:opacity-50"
+ class="px-4 py-2 bg-primary text-white rounded hover:bg-primary-hover disabled:opacity-50"
>
{committing ? $t.git?.committing : $t.git?.commit}
diff --git a/frontend/src/components/git/ConflictResolver.svelte b/frontend/src/components/git/ConflictResolver.svelte
index 6a95be8e..2597668a 100644
--- a/frontend/src/components/git/ConflictResolver.svelte
+++ b/frontend/src/components/git/ConflictResolver.svelte
@@ -112,7 +112,7 @@
>
Your Changes (Mine)
@@ -124,8 +124,8 @@
class="w-full py-2 text-sm font-medium border-t transition-colors {resolutions[
conflict.file_path
] === 'mine'
- ? 'bg-blue-600 text-white'
- : 'bg-gray-50 hover:bg-blue-50 text-blue-600'}"
+ ? 'bg-primary text-white'
+ : 'bg-gray-50 hover:bg-blue-50 text-primary'}"
onclick={() =>
resolve(conflict.file_path, "mine")}
>
@@ -168,7 +168,7 @@
Resolve & Continue
diff --git a/frontend/src/components/git/DeploymentModal.svelte b/frontend/src/components/git/DeploymentModal.svelte
index 8e8c1565..5e4526ba 100644
--- a/frontend/src/components/git/DeploymentModal.svelte
+++ b/frontend/src/components/git/DeploymentModal.svelte
@@ -177,7 +177,7 @@
{#each deploymentCandidates as env}
{#if isProdTarget}
-
+
Внимание: выбрано PROD окружение. Потребуется подтверждение перед deploy.
{/if}
@@ -202,7 +202,7 @@
{#if deploying}
{$t.git?.unfinished_merge?.abort_merge || 'Abort merge'}
diff --git a/frontend/src/components/git/GitOperationsPanel.svelte b/frontend/src/components/git/GitOperationsPanel.svelte
index 94915055..ac194688 100644
--- a/frontend/src/components/git/GitOperationsPanel.svelte
+++ b/frontend/src/components/git/GitOperationsPanel.svelte
@@ -38,7 +38,7 @@
🚀 Deploy
diff --git a/frontend/src/components/git/GitReleasePanel.svelte b/frontend/src/components/git/GitReleasePanel.svelte
index f8391dc9..e6819975 100644
--- a/frontend/src/components/git/GitReleasePanel.svelte
+++ b/frontend/src/components/git/GitReleasePanel.svelte
@@ -44,7 +44,7 @@
onclick={onPromote}
disabled={promoting || !promoteFromBranch || !promoteToBranch || promoteFromBranch === promoteToBranch}
isLoading={promoting}
- class={`w-full ${promoteMode === 'direct' ? 'bg-red-600 hover:bg-red-700 focus-visible:ring-red-500' : ''}`}
+ class={`w-full ${promoteMode === 'direct' ? 'bg-destructive hover:bg-destructive-hover focus-visible:ring-red-500' : ''}`}
>
{promoteMode === 'direct'
? `Прямой перенос ${promoteFromBranch} ➔ ${promoteToBranch} (unsafe)`
@@ -81,7 +81,7 @@
]}
/>
{#if promoteMode === 'direct'}
-
+
Внимание: прямой перенос без MR
Это обходит процесс аппрува и записывается в audit лог.
diff --git a/frontend/src/components/git/GitWorkspacePanel.svelte b/frontend/src/components/git/GitWorkspacePanel.svelte
index 4821c745..4ea264af 100644
--- a/frontend/src/components/git/GitWorkspacePanel.svelte
+++ b/frontend/src/components/git/GitWorkspacePanel.svelte
@@ -42,7 +42,7 @@
Сообщение коммита
@@ -51,7 +51,7 @@
diff --git a/frontend/src/components/llm/DocPreview.svelte b/frontend/src/components/llm/DocPreview.svelte
index 27e39c8b..8bc04362 100644
--- a/frontend/src/components/llm/DocPreview.svelte
+++ b/frontend/src/components/llm/DocPreview.svelte
@@ -75,7 +75,7 @@
{$t.llm.cancel}
diff --git a/frontend/src/components/llm/ProviderConfig.svelte b/frontend/src/components/llm/ProviderConfig.svelte
index 48ae6f11..b615bda9 100644
--- a/frontend/src/components/llm/ProviderConfig.svelte
+++ b/frontend/src/components/llm/ProviderConfig.svelte
@@ -308,7 +308,7 @@
{$t.llm.providers_title}
{
resetForm();
showForm = true;
@@ -403,7 +403,7 @@
{ formData.api_key = ""; }}
>
{$t.llm?.change_key || "Change"}
@@ -506,7 +506,7 @@
{$t.llm.save}
@@ -544,7 +544,7 @@
handleEdit(provider)}
>
{$t.common.edit}
diff --git a/frontend/src/components/tasks/TaskResultPanel.svelte b/frontend/src/components/tasks/TaskResultPanel.svelte
index c7b4b5c0..cbda8aa6 100644
--- a/frontend/src/components/tasks/TaskResultPanel.svelte
+++ b/frontend/src/components/tasks/TaskResultPanel.svelte
@@ -79,7 +79,7 @@
{$t.tasks?.errors}
- openEditModal(user)} class="text-blue-600 hover:text-blue-900 mr-3" disabled={deletingUserId === user.id}>{$t.common.edit}
+ openEditModal(user)} class="text-primary hover:text-blue-900 mr-3" disabled={deletingUserId === user.id}>{$t.common.edit}
handleDeleteUser(user)}
class="text-red-600 hover:text-red-900 disabled:opacity-50"
@@ -249,28 +249,28 @@
}}>
{$t.admin.users.username}
-
+
{$t.admin.users.email}
-
+
-
+
{$t.admin.users.active}
{$t.admin.users.roles}
-
+
{#each roles as role}
{role.name}
{/each}
@@ -279,7 +279,7 @@
showModal = false}>{$t.common.cancel}
- {$t.common.save}
+ {$t.common.save}
diff --git a/frontend/src/routes/dashboards/+page.svelte b/frontend/src/routes/dashboards/+page.svelte
index 6b9f7c6d..773361b5 100644
--- a/frontend/src/routes/dashboards/+page.svelte
+++ b/frontend/src/routes/dashboards/+page.svelte
@@ -1501,14 +1501,14 @@
{#if effectiveProfileFilter?.applied}
-
+
{$t.profile?.filter_badge_active || "Profile filters active"}
{$t.profile?.filter_show_all_temporarily || "Show all dashboards temporarily"}
@@ -1628,7 +1628,7 @@
{$t.profile?.filter_show_all_temporarily || "Show all dashboards temporarily"}
@@ -1672,7 +1672,7 @@
toggleFilterDropdown("title", event, 256)}
title={$t.dashboard?.column_filter}
@@ -1724,7 +1724,7 @@
/>
selectAllColumnFilterValues("title")}
>{$t.dashboard?.select_all}
@@ -1767,7 +1767,7 @@
class="rounded border px-1.5 py-0.5 text-xs transition-colors {hasColumnFilter(
'git_status',
)
- ? 'border-blue-400 text-blue-700 bg-blue-50'
+ ? 'border-blue-400 text-blue-700 bg-primary-light'
: 'border-gray-300 text-gray-500 hover:text-gray-700'}"
onclick={(event) =>
toggleFilterDropdown("git_status", event, 256)}
@@ -1793,7 +1793,7 @@
/>
selectAllColumnFilterValues("git_status")}
>{$t.dashboard?.select_all}
@@ -1837,7 +1837,7 @@
class="rounded border px-1.5 py-0.5 text-xs transition-colors {hasColumnFilter(
'llm_status',
)
- ? 'border-blue-400 text-blue-700 bg-blue-50'
+ ? 'border-blue-400 text-blue-700 bg-primary-light'
: 'border-gray-300 text-gray-500 hover:text-gray-700'}"
onclick={(event) =>
toggleFilterDropdown("llm_status", event, 256)}
@@ -1863,7 +1863,7 @@
/>
selectAllColumnFilterValues("llm_status")}
>{$t.dashboard?.select_all}
@@ -1910,7 +1910,7 @@
class="rounded border px-1.5 py-0.5 text-xs transition-colors {hasColumnFilter(
'changed_on',
)
- ? 'border-blue-400 text-blue-700 bg-blue-50'
+ ? 'border-blue-400 text-blue-700 bg-primary-light'
: 'border-gray-300 text-gray-500 hover:text-gray-700'}"
onclick={(event) =>
toggleFilterDropdown("changed_on", event, 256)}
@@ -1936,7 +1936,7 @@
/>
selectAllColumnFilterValues("changed_on")}
>{$t.dashboard?.select_all}
@@ -1980,7 +1980,7 @@
class="rounded border px-1.5 py-0.5 text-xs transition-colors {hasColumnFilter(
'actor',
)
- ? 'border-blue-400 text-blue-700 bg-blue-50'
+ ? 'border-blue-400 text-blue-700 bg-primary-light'
: 'border-gray-300 text-gray-500 hover:text-gray-700'}"
onclick={(event) => toggleFilterDropdown("actor", event, 288)}
title={$t.dashboard?.column_filter}
@@ -2002,7 +2002,7 @@
/>
selectAllColumnFilterValues("actor")}
>{$t.dashboard?.select_all}
@@ -2118,8 +2118,8 @@
handleAction(dashboard, "migrate")}
+class="inline-flex h-8 w-8 items-center justify-center rounded-md border border-slate-200 bg-white text-primary hover:bg-blue-50 hover:border-primary-ring transition-colors disabled:opacity-50 disabled:cursor-not-allowed"
+ onclick={() => handleAction(dashboard, "migrate")}
title={$t.dashboard?.action_migrate}
>
@@ -2452,7 +2452,7 @@
class="sr-only peer"
/>
{useDbMappings ? $t.common?.on : $t.common?.off}
{#if availableDbMappings.length > 0}
(isEditingMappings = !isEditingMappings)}
>
{isEditingMappings
@@ -2566,12 +2566,12 @@
-
+
{#if targetEnvId && selectedIds.size > 0}
-
+
{#if isDryRunLoading}
- {$t.dashboard?.cron_help}
diff --git a/frontend/src/routes/dashboards/[id]/+page.svelte b/frontend/src/routes/dashboards/[id]/+page.svelte
index 21e02088..0753c88f 100644
--- a/frontend/src/routes/dashboards/[id]/+page.svelte
+++ b/frontend/src/routes/dashboards/[id]/+page.svelte
@@ -595,11 +595,11 @@
{#if error}
{error}
{$t.common?.retry}
diff --git a/frontend/src/routes/dashboards/[id]/components/DashboardGitManager.svelte b/frontend/src/routes/dashboards/[id]/components/DashboardGitManager.svelte
index b2f60f77..a89762a5 100644
--- a/frontend/src/routes/dashboards/[id]/components/DashboardGitManager.svelte
+++ b/frontend/src/routes/dashboards/[id]/components/DashboardGitManager.svelte
@@ -94,7 +94,7 @@
diff --git a/frontend/src/routes/datasets/+page.svelte b/frontend/src/routes/datasets/+page.svelte
index afad4d5d..ce4e93fe 100644
--- a/frontend/src/routes/datasets/+page.svelte
+++ b/frontend/src/routes/datasets/+page.svelte
@@ -434,7 +434,7 @@
"-"}
{$t.common?.refresh}
@@ -449,7 +449,7 @@
>
{error}
{$t.common?.retry}
@@ -528,7 +528,7 @@
{dataset.table_name}
@@ -609,7 +609,7 @@
{#if dataset.lastTask}
handleTaskStatusClick(dataset)}
aria-label={$t.datasets?.view_task}
>
@@ -635,7 +635,7 @@
{#if dataset.actions.includes("map_columns")}
handleAction(dataset, "map_columns")}
aria-label={$t.datasets?.action_map_columns}
>
@@ -676,7 +676,7 @@
{#each Array.from({ length: totalPages }, (_, i) => i + 1) as pageNum}
handlePageChange(pageNum)}
>
@@ -700,7 +700,7 @@
@@ -728,13 +728,13 @@
(showMapColumnsModal = true)}
>
{$t.datasets?.action_map_columns}
(showGenerateDocsModal = true)}
>
{$t.datasets?.generate_docs}
@@ -797,7 +797,7 @@
@@ -860,7 +860,7 @@
>
{
event.preventDefault();
handleBulkMapColumns();
@@ -923,7 +923,7 @@
{$t.common?.cancel}
diff --git a/frontend/src/routes/datasets/[id]/+page.svelte b/frontend/src/routes/datasets/[id]/+page.svelte
index 41985f77..53b0178d 100644
--- a/frontend/src/routes/datasets/[id]/+page.svelte
+++ b/frontend/src/routes/datasets/[id]/+page.svelte
@@ -102,7 +102,7 @@
lowerType.includes("float") ||
lowerType.includes("num")
) {
- return "text-blue-600 bg-blue-50";
+ return "text-primary bg-primary-light";
} else if (lowerType.includes("date") || lowerType.includes("time")) {
return "text-green-600 bg-green-50";
} else if (
@@ -287,7 +287,7 @@
onclick={() => navigateToDashboard(dashboard)}
>
{#each dataset.columns as column}
{column.name}
diff --git a/frontend/src/routes/datasets/review/+page.svelte b/frontend/src/routes/datasets/review/+page.svelte
index 9e2d962d..1d8de833 100644
--- a/frontend/src/routes/datasets/review/+page.svelte
+++ b/frontend/src/routes/datasets/review/+page.svelte
@@ -200,7 +200,7 @@
{$t.dataset_review?.workspace?.state_label}: {$t.dataset_review?.workspace?.state?.empty || "Empty"}
{#if hasExistingSessions}
-
+
{$t.dataset_review?.workspace_entry?.resume_available_badge}: {sessions.length}
{/if}
@@ -257,7 +257,7 @@
onsubmit={handleSourceSubmit}
/>
{#if submitError}
-
+
{submitError}
{/if}
diff --git a/frontend/src/routes/datasets/review/ReviewWorkspaceHeader.svelte b/frontend/src/routes/datasets/review/ReviewWorkspaceHeader.svelte
index 55f900f5..fa4daf69 100644
--- a/frontend/src/routes/datasets/review/ReviewWorkspaceHeader.svelte
+++ b/frontend/src/routes/datasets/review/ReviewWorkspaceHeader.svelte
@@ -33,7 +33,7 @@
{$t.dataset_review?.workspace?.state_label}: {getWorkspaceStateLabel(currentWorkspaceState)}
{#if session}
-
+
{$t.dataset_review?.workspace?.readiness_label}: {readinessLabel}
{/if}
diff --git a/frontend/src/routes/datasets/review/ReviewWorkspaceLeftSidebar.svelte b/frontend/src/routes/datasets/review/ReviewWorkspaceLeftSidebar.svelte
index 940f721e..33e1f75d 100644
--- a/frontend/src/routes/datasets/review/ReviewWorkspaceLeftSidebar.svelte
+++ b/frontend/src/routes/datasets/review/ReviewWorkspaceLeftSidebar.svelte
@@ -110,7 +110,7 @@
diff --git a/frontend/src/routes/datasets/review/ReviewWorkspaceRightRail.svelte b/frontend/src/routes/datasets/review/ReviewWorkspaceRightRail.svelte
index 5c234164..763b89e0 100644
--- a/frontend/src/routes/datasets/review/ReviewWorkspaceRightRail.svelte
+++ b/frontend/src/routes/datasets/review/ReviewWorkspaceRightRail.svelte
@@ -30,7 +30,7 @@
-
+
{$t.dataset_review?.workspace?.next_action_card_eyebrow}
@@ -60,7 +60,7 @@
{$t.dataset_review?.workspace?.health_title}
-
+
{$t.dataset_review?.findings?.blocking_title}
diff --git a/frontend/src/routes/datasets/review/[id]/+page.svelte b/frontend/src/routes/datasets/review/[id]/+page.svelte
index 6169c3a9..d5ae17d1 100644
--- a/frontend/src/routes/datasets/review/[id]/+page.svelte
+++ b/frontend/src/routes/datasets/review/[id]/+page.svelte
@@ -195,13 +195,13 @@
{$t.dataset_review?.workspace?.loading}
{:else}
{#if loadError}
-
{loadError}
+
{loadError}
{/if}
{#if !session}
{#if currentWorkspaceState === "importing"}
-
+
{$t.dataset_review?.workspace?.import_progress_eyebrow}
@@ -223,7 +223,7 @@
{/if}
{#if submitError}
-
{submitError}
+
{submitError}
{/if}
{:else}
diff --git a/frontend/src/routes/login/+page.svelte b/frontend/src/routes/login/+page.svelte
index d3dd622c..1f3cb2f8 100644
--- a/frontend/src/routes/login/+page.svelte
+++ b/frontend/src/routes/login/+page.svelte
@@ -85,7 +85,7 @@
{$t.auth?.login }
{#if error}
-
+
{error}
{/if}
@@ -97,7 +97,7 @@
type="text"
id="username"
bind:value={username}
- class="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500"
+ class="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus-visible:ring-primary-ring focus:border-blue-500"
required
/>
@@ -108,7 +108,7 @@
type="password"
id="password"
bind:value={password}
- class="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500"
+ class="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus-visible:ring-primary-ring focus:border-blue-500"
required
/>
@@ -116,7 +116,7 @@
{loading ? ($t.auth?.logging_in ) : ($t.auth?.login )}
@@ -135,7 +135,7 @@
{$t.auth?.corporate_sso }
diff --git a/frontend/src/routes/reports/+page.svelte b/frontend/src/routes/reports/+page.svelte
index c5fad953..c31b527a 100644
--- a/frontend/src/routes/reports/+page.svelte
+++ b/frontend/src/routes/reports/+page.svelte
@@ -159,7 +159,7 @@
{:else if error}
{error}
0 || isConnectionFormVisible}
{$t.connections?.add_new}
@@ -246,7 +246,7 @@
{isSubmittingConnection
@@ -322,7 +322,7 @@
{$t.settings?.no_external_connections}
{
openConnectionForm();
void loadConnections();
diff --git a/frontend/src/routes/settings/EnvironmentsTab.svelte b/frontend/src/routes/settings/EnvironmentsTab.svelte
index 77ce237e..1d4b7308 100644
--- a/frontend/src/routes/settings/EnvironmentsTab.svelte
+++ b/frontend/src/routes/settings/EnvironmentsTab.svelte
@@ -155,7 +155,7 @@
{#if !editingEnvId && !isAddingEnv}
{
isAddingEnv = true;
resetEnvForm();
@@ -223,7 +223,7 @@
type="checkbox"
id="env_default"
bind:checked={newEnv.is_default}
- class="h-4 w-4 text-blue-600 border-gray-300 rounded"
+ class="h-4 w-4 text-primary border-gray-300 rounded"
/>
{$t.settings?.env_default}
@@ -250,7 +250,7 @@
type="checkbox"
id="backup_enabled"
bind:checked={newEnv.backup_schedule.enabled}
- class="h-4 w-4 text-blue-600 border-gray-300 rounded"
+ class="h-4 w-4 text-primary border-gray-300 rounded"
/>
{$t.settings?.enable_auto_backups}
@@ -282,7 +282,7 @@
{editingEnvId ? $t.settings?.env_update : $t.settings?.env_add}
diff --git a/frontend/src/routes/settings/FeaturesSettings.svelte b/frontend/src/routes/settings/FeaturesSettings.svelte
index 27915dde..21f655b7 100644
--- a/frontend/src/routes/settings/FeaturesSettings.svelte
+++ b/frontend/src/routes/settings/FeaturesSettings.svelte
@@ -31,7 +31,7 @@
-
+
@@ -47,7 +47,7 @@
-
+
@@ -55,7 +55,7 @@
{$t.settings?.save_features || $t.settings?.save_logging || "Save"}
diff --git a/frontend/src/routes/settings/LlmSettings.svelte b/frontend/src/routes/settings/LlmSettings.svelte
index edd47be3..7de4adb6 100644
--- a/frontend/src/routes/settings/LlmSettings.svelte
+++ b/frontend/src/routes/settings/LlmSettings.svelte
@@ -214,7 +214,7 @@
{$t.settings?.save_llm_prompts}
diff --git a/frontend/src/routes/settings/LoggingSettings.svelte b/frontend/src/routes/settings/LoggingSettings.svelte
index 495cacd7..888d30d9 100644
--- a/frontend/src/routes/settings/LoggingSettings.svelte
+++ b/frontend/src/routes/settings/LoggingSettings.svelte
@@ -63,7 +63,7 @@
type="checkbox"
id="enable_belief_state"
bind:checked={settings.logging.enable_belief_state}
- class="h-4 w-4 text-blue-600 border-gray-300 rounded"
+ class="h-4 w-4 text-primary border-gray-300 rounded"
/>
{$t.settings?.enable_belief_state}
{$t.settings?.save_logging}
diff --git a/frontend/src/routes/settings/MigrationSettings.svelte b/frontend/src/routes/settings/MigrationSettings.svelte
index d9278843..f0e23cf9 100644
--- a/frontend/src/routes/settings/MigrationSettings.svelte
+++ b/frontend/src/routes/settings/MigrationSettings.svelte
@@ -92,7 +92,7 @@
{isSavingMigration ? $t.settings?.saving : $t.common?.save}
diff --git a/frontend/src/routes/settings/StorageSettings.svelte b/frontend/src/routes/settings/StorageSettings.svelte
index 769e4af0..c0f79356 100644
--- a/frontend/src/routes/settings/StorageSettings.svelte
+++ b/frontend/src/routes/settings/StorageSettings.svelte
@@ -63,7 +63,7 @@
onSave()}
- class="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"
+ class="bg-primary text-white px-4 py-2 rounded hover:bg-primary-hover"
>
{$t.settings?.save_storage_config}
diff --git a/frontend/src/routes/settings/automation/+page.svelte b/frontend/src/routes/settings/automation/+page.svelte
index 27b9c1c5..2f10888b 100644
--- a/frontend/src/routes/settings/automation/+page.svelte
+++ b/frontend/src/routes/settings/automation/+page.svelte
@@ -185,7 +185,7 @@
{#if !showForm}
+ class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-primary hover:bg-primary-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary-ring">
@@ -197,7 +197,7 @@
{#if showForm}
-
showForm = false} class="text-sm text-blue-600 hover:text-blue-500 flex items-center">
+ showForm = false} class="text-sm text-primary hover:text-primary-hover flex items-center">
@@ -217,7 +217,7 @@
{:else if isLoading}
{:else}
@@ -235,7 +235,7 @@
-
{policy.name}
+
{policy.name}
{getEnvName(policy.environment_id)}
•
@@ -276,7 +276,7 @@
No policies
Get started by creating a new automation policy.
-
+
Create Policy
diff --git a/frontend/src/routes/translate/+page.svelte b/frontend/src/routes/translate/+page.svelte
index 1692e0c2..bcbd98cf 100644
--- a/frontend/src/routes/translate/+page.svelte
+++ b/frontend/src/routes/translate/+page.svelte
@@ -119,7 +119,7 @@
@@ -135,7 +135,7 @@
onclick={() => filterByStatus(pill.value)}
class="px-3 py-1.5 text-sm rounded-full border transition-colors
{statusFilter === pill.value
- ? 'bg-blue-50 border-blue-300 text-blue-700'
+ ? 'bg-primary-light border-blue-300 text-blue-700'
: 'bg-white border-gray-200 text-gray-600 hover:border-gray-300'}"
>
{pill.label}
@@ -154,11 +154,11 @@
{:else if uxState === 'error'}
-
+
{error || $t.translate?.jobs?.an_error_occurred}
{$t.translate?.common?.retry}
@@ -174,7 +174,7 @@
{$t.translate?.jobs?.no_jobs_filtered.replace('{status}', statusFilter)}
filterByStatus('')}
- class="text-blue-600 hover:text-blue-700 text-sm"
+ class="text-primary hover:text-primary-hover text-sm"
>
{$t.translate?.jobs?.clear_filter}
@@ -182,7 +182,7 @@
{$t.translate?.jobs?.no_jobs}
{$t.translate?.jobs?.create_job}
@@ -246,7 +246,7 @@
handleDelete(job.id)}
- class="px-2 py-1 text-xs bg-red-600 text-white rounded hover:bg-red-700"
+ class="px-2 py-1 text-xs bg-destructive text-white rounded hover:bg-destructive-hover"
>
{$t.translate?.jobs?.confirm_delete}
diff --git a/frontend/src/routes/translate/[id]/+page.svelte b/frontend/src/routes/translate/[id]/+page.svelte
index de21b4da..62746475 100644
--- a/frontend/src/routes/translate/[id]/+page.svelte
+++ b/frontend/src/routes/translate/[id]/+page.svelte
@@ -672,7 +672,7 @@
{isSaving ? $t.translate?.config?.saving : $t.translate?.config?.save}
@@ -701,11 +701,11 @@
{:else if uxState === 'error'}
-
+
{error || $t.translate?.common?.unknown_error}
goto('/translate')}
- class="px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors"
+ class="px-4 py-2 bg-primary text-white rounded-lg hover:bg-primary-hover transition-colors"
>
{$t.translate?.config?.back_to_jobs}
@@ -730,7 +730,7 @@
disabled={tab.id === 'preview' && !configValid}
class="px-4 py-2.5 text-sm font-medium rounded-t-lg transition-colors
{activeTab === tab.id
- ? 'bg-white text-blue-600 border border-b-white border-gray-200 -mb-px'
+ ? 'bg-white text-primary border border-b-white border-gray-200 -mb-px'
: 'text-gray-500 hover:text-gray-700 hover:bg-gray-50'}
{tab.id === 'preview' && !configValid ? 'opacity-40 cursor-not-allowed' : ''}"
title={tab.id === 'preview' && !configValid ? ($t.translate?.preview?.config_incomplete || 'Configuration incomplete') : ''}
@@ -755,7 +755,7 @@
{#if validationErrors.name}
@@ -767,7 +767,7 @@
@@ -783,7 +783,7 @@
{$t.translate?.config?.select_environment}
{#each environments as env}
@@ -799,7 +799,7 @@
oninput={handleDatasourceSearch}
onfocus={() => searchDatasources('')}
onblur={() => setTimeout(() => (showDatasourceDropdown = false), 150)}
- class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
+ class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus-visible:ring-2 focus-visible:ring-primary-ring focus-visible:border-primary-ring"
placeholder={$t.translate?.config?.datasource_search_placeholder || 'Search datasets...'}
/>
{#if datasourceLoading}
@@ -867,7 +867,7 @@
{$t.translate?.config?.select_column}
{#each columnList as col}
@@ -934,7 +934,7 @@
sourceKeyCols = [...sourceKeyCols, ''];
targetKeyCols = [...targetKeyCols, ''];
}}
- class="px-3 py-1 text-xs border border-dashed border-gray-300 rounded text-gray-500 hover:border-blue-300 hover:text-blue-600"
+ class="px-3 py-1 text-xs border border-dashed border-gray-300 rounded text-gray-500 hover:border-primary-ring hover:text-primary"
>
{$t.translate?.config?.add_key_column}
@@ -975,7 +975,7 @@
value={targetKeyCols[idx] || ''}
placeholder={$t.translate?.config?.target_column_placeholder}
oninput={(e) => updateTargetKeyCol(idx, e.target.value)}
- class="flex-1 px-3 py-1.5 border border-gray-300 rounded text-sm font-mono focus:ring-2 focus:ring-blue-500"
+ class="flex-1 px-3 py-1.5 border border-gray-300 rounded text-sm font-mono focus-visible:ring-2 focus-visible:ring-primary-ring"
/>
{
@@ -1032,7 +1032,7 @@
@@ -1041,7 +1041,7 @@
@@ -1051,7 +1051,7 @@
{$t.translate?.config?.select_target_database}
@@ -1083,7 +1083,7 @@
{$t.translate?.config?.target_column_hint}
@@ -1095,7 +1095,7 @@
{$t.translate?.config?.target_language_column_hint}
@@ -1107,7 +1107,7 @@
{$t.translate?.config?.target_source_column_hint}
@@ -1119,7 +1119,7 @@
{$t.translate?.config?.target_source_language_column_hint}
@@ -1161,7 +1161,7 @@
bind:value={batchSize}
min="1"
max="1000"
- class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-blue-500"
+ class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus-visible:ring-2 focus-visible:ring-primary-ring"
/>
@@ -1179,7 +1179,7 @@
{$t.translate?.config?.include_source_reference || 'Include source language in translations'}
@@ -1196,7 +1196,7 @@
{$t.translate?.config?.disable_reasoning || 'Disable reasoning (save tokens)'}
@@ -1229,7 +1229,7 @@
dictionaryIds = [...dictionaryIds, dict.id];
}
}}
- class="rounded border-gray-300 text-blue-600 focus:ring-blue-500"
+ class="rounded border-gray-300 text-primary focus-visible:ring-primary-ring"
/>
{dict.name}
@@ -1314,7 +1314,7 @@
addToast(e?.message || 'Failed to update status', 'error');
}
}}
- class="ml-auto px-3 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors"
+ class="ml-auto px-3 py-1 text-xs bg-primary text-white rounded hover:bg-primary-hover transition-colors"
>
{$t.translate?.config?.mark_ready || 'Mark as READY'}
@@ -1347,10 +1347,10 @@
-
+
@@ -1360,7 +1360,7 @@
handleTriggerRun(true)}
disabled={isRunning || status === 'DRAFT'}
- class="mt-3 px-5 py-1.5 text-sm font-medium bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
+ class="mt-3 px-5 py-1.5 text-sm font-medium bg-primary text-white rounded-lg hover:bg-primary-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
>
{isRunning && isFullRun ? $t.translate?.config?.running : $t.translate?.config?.full_translate}
@@ -1370,7 +1370,7 @@
{#if runError}
-
+
{/if}
diff --git a/frontend/src/routes/translate/dictionaries/[id]/+page.svelte b/frontend/src/routes/translate/dictionaries/[id]/+page.svelte
index 9775d5ec..5367ec70 100644
--- a/frontend/src/routes/translate/dictionaries/[id]/+page.svelte
+++ b/frontend/src/routes/translate/dictionaries/[id]/+page.svelte
@@ -444,7 +444,7 @@
{/if}
{#if importErrors.length > 0}
-
+
{$t.translate?.dictionaries?.import_errors.replace('{count}', importErrors.length)}
{#each importErrors as err}
{_('translate.dictionaries.import_error_line').replace('{line}', err.line).replace('{error}', err.error)}
@@ -559,7 +559,7 @@
{#if filterSourceLanguage || filterTargetLanguage}
{ filterSourceLanguage = ''; filterTargetLanguage = ''; }}
- class="text-xs text-blue-600 hover:text-blue-700"
+ class="text-xs text-primary hover:text-primary-hover"
>
{$t.translate?.dictionaries?.filter_clear}
@@ -581,7 +581,7 @@
{#each filteredEntries as entry}
{#if editEntryId === entry.id}
-
+
{$t.translate?.dictionaries?.save_btn}
{ expandedEditing = false; }}
@@ -730,7 +730,7 @@
expandedContextData = entry.context_data ? JSON.stringify(entry.context_data, null, 2) : '';
expandedUsageNotes = entry.usage_notes || '';
}}
- class="text-xs text-blue-600 hover:text-blue-700"
+ class="text-xs text-primary hover:text-primary-hover"
>{$t.translate?.dictionaries?.edit_btn}
@@ -755,7 +755,7 @@
expandedContextData = '';
expandedUsageNotes = entry.usage_notes || '';
}}
- class="text-xs text-blue-600 hover:text-blue-700"
+ class="text-xs text-primary hover:text-primary-hover"
>{$t.translate?.dictionaries?.add_context}
{/if}
diff --git a/frontend/src/routes/translate/history/+page.svelte b/frontend/src/routes/translate/history/+page.svelte
index 98a07b8b..6f0b681e 100644
--- a/frontend/src/routes/translate/history/+page.svelte
+++ b/frontend/src/routes/translate/history/+page.svelte
@@ -179,7 +179,7 @@
{$t.translate?.history?.title}
{$t.translate?.history?.subtitle}
- { currentPage = 1; applyFilters(); }} class="px-4 py-2 text-sm text-white bg-blue-600 rounded-lg hover:bg-blue-700">
+ { currentPage = 1; applyFilters(); }} class="px-4 py-2 text-sm text-white bg-primary rounded-lg hover:bg-primary-hover">
{$t.translate?.history?.refresh}
@@ -195,11 +195,11 @@
{$t.translate?.history?.successful}
{totalMetric().successful_runs}
-
+
{$t.translate?.history?.failed}
{totalMetric().failed_runs}
-
+
{$t.translate?.history?.records}
{totalMetric().total_records}
@@ -230,7 +230,7 @@
{$t.translate?.history?.trigger_baseline_expired}
-
+
{$t.translate?.history?.filter}
@@ -317,7 +317,7 @@
{#if run.status === 'COMPLETED' && (run.skipped_records || 0) > 0}
handleDownloadSkipped(run.id)}
- class="text-xs text-blue-600 hover:text-blue-700"
+ class="text-xs text-primary hover:text-primary-hover"
>
{$t.translate?.history?.skipped_csv}
@@ -399,7 +399,7 @@
{selectedRunDetail.successful_records || 0}
{$t.translate?.history?.success}
-
+
{selectedRunDetail.failed_records || 0}
{$t.translate?.history?.failed}
@@ -437,7 +437,7 @@
handleCancelRun(selectedRunDetail.id)}
disabled={cancellingRunId === selectedRunDetail.id}
- class="px-4 py-2 text-sm bg-red-600 text-white rounded-lg hover:bg-red-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
+ class="px-4 py-2 text-sm bg-destructive text-white rounded-lg hover:bg-destructive-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
>
{cancellingRunId === selectedRunDetail.id
? ($t.translate?.run?.cancelling || 'Cancelling...')
@@ -503,7 +503,7 @@
{#if selectedRunDetail.error_message}
-
+
{$t.translate?.history?.error}
{selectedRunDetail.error_message}
@@ -511,7 +511,7 @@
{#if selectedRunDetail.superset_execution_id}
-
+
{$t.translate?.history?.superset_query_id}
{selectedRunDetail.superset_execution_id}