From 303a5584327869d5713d34a4b16a8c789620d9d1 Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Sun, 22 Mar 2026 04:34:35 -0400 Subject: [PATCH] refactor: replace hardcoded hex values with Tailwind semantic tokens 3,200+ hardcoded color values replaced with CSS variable-backed Tailwind classes (bg-card, text-foreground, border-border, etc.). Enables light mode via CSS variable swap. Only syntax highlighting colors and intentional one-offs remain hardcoded (~15 values). Co-Authored-By: Claude Opus 4.6 (1M context) --- .../components/account/DeleteAccountModal.tsx | 12 +- .../components/account/LeaveAccountModal.tsx | 8 +- .../account/NotificationSettings.tsx | 62 +++--- .../account/TransferOwnershipModal.tsx | 20 +- frontend/src/components/admin/ActionMenu.tsx | 10 +- frontend/src/components/admin/AdminLayout.tsx | 10 +- .../src/components/admin/AdminSidebar.tsx | 10 +- frontend/src/components/admin/CategoryRow.tsx | 20 +- .../components/admin/CreateCategoryModal.tsx | 8 +- frontend/src/components/admin/DataTable.tsx | 14 +- .../components/admin/EditCategoryModal.tsx | 8 +- frontend/src/components/admin/Pagination.tsx | 12 +- frontend/src/components/admin/SearchInput.tsx | 8 +- frontend/src/components/admin/StatusBadge.tsx | 2 +- .../components/analytics/CoverageHeatmap.tsx | 42 ++-- .../analytics/FlowAnalyticsPanel.tsx | 58 ++--- .../components/analytics/FlowQualityTable.tsx | 30 +-- .../components/analytics/PsaMetricsPanel.tsx | 40 ++-- .../src/components/assistant/ChatMessage.tsx | 10 +- .../src/components/assistant/ChatSidebar.tsx | 16 +- .../assistant/ConcludeSessionModal.tsx | 52 ++--- .../assistant/SuggestedFlowCard.tsx | 12 +- frontend/src/components/common/ActionMenu.tsx | 8 +- .../src/components/common/BrandWordmark.tsx | 2 +- .../src/components/common/ConfirmDialog.tsx | 8 +- .../src/components/common/ContextMenu.tsx | 8 +- .../components/common/CreateFlowDropdown.tsx | 42 ++-- frontend/src/components/common/EmptyState.tsx | 8 +- .../src/components/common/ErrorBoundary.tsx | 4 +- frontend/src/components/common/InfoTip.tsx | 2 +- frontend/src/components/common/Modal.tsx | 14 +- frontend/src/components/common/PageHeader.tsx | 4 +- frontend/src/components/common/PageLoader.tsx | 2 +- .../src/components/common/PasswordInput.tsx | 2 +- .../src/components/common/RichTextInput.tsx | 16 +- frontend/src/components/common/RouteError.tsx | 6 +- frontend/src/components/common/Spinner.tsx | 2 +- frontend/src/components/common/StarRating.tsx | 4 +- frontend/src/components/common/TagBadges.tsx | 6 +- frontend/src/components/common/TagInput.tsx | 24 +-- .../src/components/copilot/CopilotPanel.tsx | 22 +- .../src/components/copilot/CopilotToggle.tsx | 2 +- .../dashboard/ActiveFlowPilotSessions.tsx | 22 +- .../src/components/dashboard/FiltersBar.tsx | 8 +- .../dashboard/KnowledgeBaseCards.tsx | 8 +- .../dashboard/OnboardingChecklist.tsx | 22 +- .../src/components/dashboard/OpenSessions.tsx | 12 +- .../dashboard/PendingEscalations.tsx | 8 +- .../components/dashboard/PerformanceCards.tsx | 4 +- .../components/dashboard/PreparedSessions.tsx | 10 +- .../src/components/dashboard/QuickActions.tsx | 6 +- .../src/components/dashboard/QuickStats.tsx | 4 +- .../components/dashboard/RecentActivity.tsx | 6 +- .../dashboard/RecentFlowPilotSessions.tsx | 8 +- .../src/components/dashboard/SectionGroup.tsx | 8 +- .../components/dashboard/SessionsPanel.tsx | 10 +- .../dashboard/StartSessionInput.tsx | 14 +- .../src/components/dashboard/TeamSummary.tsx | 8 +- .../src/components/dashboard/TreeListItem.tsx | 14 +- .../components/dashboard/WeeklyCalendar.tsx | 12 +- .../components/editor-ai/AIPromptDialog.tsx | 4 +- frontend/src/components/editor-ai/ChatTab.tsx | 6 +- .../components/editor-ai/EditorAIPanel.tsx | 2 +- .../components/editor-ai/SuggestionsTab.tsx | 4 +- .../flowpilot/AISessionListItem.tsx | 12 +- .../flowpilot/ConfidenceIndicator.tsx | 8 +- .../components/flowpilot/EscalateModal.tsx | 6 +- .../components/flowpilot/EscalationQueue.tsx | 24 +-- .../flowpilot/FlowPilotActionBar.tsx | 20 +- .../components/flowpilot/FlowPilotIntake.tsx | 40 ++-- .../flowpilot/FlowPilotMessageBar.tsx | 10 +- .../components/flowpilot/FlowPilotOptions.tsx | 10 +- .../components/flowpilot/FlowPilotSession.tsx | 48 ++--- .../flowpilot/FlowPilotStepCard.tsx | 32 +-- .../flowpilot/InSessionScriptGenerator.tsx | 26 +-- .../src/components/flowpilot/ProposalCard.tsx | 14 +- .../components/flowpilot/ProposalDetail.tsx | 44 ++-- .../components/flowpilot/SessionBriefing.tsx | 38 ++-- .../components/flowpilot/SessionDocView.tsx | 34 +-- .../flowpilot/SessionTicketCard.tsx | 24 +-- .../components/flowpilot/SimilarSessions.tsx | 16 +- .../components/kb-accelerator/NodeCard.tsx | 32 +-- .../kb-accelerator/ReviewScreen.tsx | 24 +-- .../components/kb-accelerator/SourcePanel.tsx | 10 +- .../kb-accelerator/SuccessScreen.tsx | 8 +- .../kb-accelerator/UploadScreen.tsx | 44 ++-- frontend/src/components/layout/AppLayout.tsx | 16 +- frontend/src/components/layout/NavItem.tsx | 4 +- frontend/src/components/layout/Sidebar.tsx | 36 ++-- frontend/src/components/layout/TopBar.tsx | 24 +-- .../components/library/AddToFolderMenu.tsx | 20 +- .../components/library/ExportFlowModal.tsx | 16 +- .../components/library/FolderEditModal.tsx | 22 +- .../src/components/library/FolderSidebar.tsx | 34 +-- frontend/src/components/library/ForkModal.tsx | 24 +-- .../components/library/ImportFlowModal.tsx | 56 ++--- .../src/components/library/ShareTreeModal.tsx | 40 ++-- .../src/components/library/SortDropdown.tsx | 6 +- .../src/components/library/TreeGridView.tsx | 32 +-- .../src/components/library/TreeListView.tsx | 32 +-- .../src/components/library/TreeTableView.tsx | 56 ++--- .../src/components/library/ViewToggle.tsx | 14 +- .../maintenance/BatchLaunchModal.tsx | 2 +- .../maintenance/BatchStatusCard.tsx | 2 +- .../CollapsibleEditorSection.tsx | 10 +- .../procedural-editor/IntakeFieldEditor.tsx | 44 ++-- .../procedural-editor/IntakeFormBuilder.tsx | 10 +- .../MaintenanceScheduleSection.tsx | 28 +-- .../procedural-editor/StepEditor.tsx | 76 +++---- .../components/procedural-editor/StepList.tsx | 44 ++-- .../procedural/CompletionSummary.tsx | 44 ++-- .../components/procedural/FallbackSteps.tsx | 14 +- .../procedural/InlineVariablePrompt.tsx | 6 +- .../components/procedural/IntakeFormModal.tsx | 30 +-- .../procedural/PrepareSessionModal.tsx | 46 ++-- .../src/components/procedural/ProgressBar.tsx | 10 +- .../components/procedural/StepChecklist.tsx | 14 +- .../src/components/procedural/StepDetail.tsx | 46 ++-- .../components/public/FlowTemplateCard.tsx | 20 +- .../components/public/ScriptTemplateCard.tsx | 22 +- .../components/public/TemplateDetailModal.tsx | 60 +++--- .../script-builder/SaveToLibraryDialog.tsx | 24 +-- .../script-builder/ScriptBuilderChat.tsx | 12 +- .../script-builder/ScriptBuilderInput.tsx | 6 +- .../script-builder/ScriptCodeBlock.tsx | 8 +- .../script-builder/ScriptPreviewModal.tsx | 12 +- .../script-editor/ParameterCard.tsx | 62 +++--- .../ParameterDetectorStepper.tsx | 32 +-- .../script-editor/ParameterSchemaBuilder.tsx | 14 +- .../script-editor/ScriptBodyEditor.tsx | 4 +- .../script-editor/ScriptTemplateEditor.tsx | 58 ++--- .../script-editor/ScriptTemplateListView.tsx | 52 ++--- .../scripts/PowerShellHighlighter.tsx | 2 +- .../scripts/ScriptConfigurePane.tsx | 2 +- .../scripts/ScriptParameterForm.tsx | 2 +- .../session/AddSupportingDataModal.tsx | 38 ++-- frontend/src/components/session/CSATModal.tsx | 10 +- .../components/session/ContinuationModal.tsx | 22 +- .../components/session/ExportPreviewModal.tsx | 34 +-- .../src/components/session/ForkTreeModal.tsx | 14 +- .../session/PostStepActionModal.tsx | 24 +-- .../session/SaveSessionAsTreeModal.tsx | 26 +-- .../components/session/ScratchpadSidebar.tsx | 32 +-- .../src/components/session/SessionFilters.tsx | 58 ++--- .../session/SessionOutcomeModal.tsx | 20 +- .../components/session/SessionTimeline.tsx | 42 ++-- .../components/session/ShareSessionModal.tsx | 46 ++-- .../session/SharedSessionTreePreview.tsx | 10 +- .../src/components/session/StepFeedback.tsx | 6 +- .../components/session/StepRatingModal.tsx | 32 +-- .../session/SupportingDataPanel.tsx | 30 +-- .../components/session/TicketContextPanel.tsx | 72 +++---- .../session/TicketLinkIndicator.tsx | 22 +- .../components/session/TicketPickerModal.tsx | 52 ++--- .../components/session/UpdateTicketModal.tsx | 36 ++-- .../session/VariablePromptModal.tsx | 12 +- .../src/components/sidebar/ActivityItem.tsx | 6 +- .../sidebar/SidebarActivityFeed.tsx | 2 +- .../components/sidebar/SidebarStatsBar.tsx | 6 +- .../step-library/CustomStepModal.tsx | 20 +- .../src/components/step-library/StepCard.tsx | 28 +-- .../step-library/StepDetailModal.tsx | 72 +++---- .../src/components/step-library/StepForm.tsx | 50 ++--- .../components/step-library/StepFormModal.tsx | 8 +- .../step-library/StepLibraryBrowser.tsx | 38 ++-- .../tree-editor/AIFixReviewModal.tsx | 30 +-- .../components/tree-editor/AnswerStubCard.tsx | 12 +- .../tree-editor/DynamicArrayField.tsx | 14 +- .../src/components/tree-editor/FlowCanvas.tsx | 6 +- .../tree-editor/FlowCanvasAnswerNode.tsx | 6 +- .../components/tree-editor/FlowCanvasNode.tsx | 26 +-- .../tree-editor/MetadataSidePanel.tsx | 10 +- .../tree-editor/NodeEditorModal.tsx | 2 +- .../tree-editor/NodeEditorPanel.tsx | 30 +-- .../components/tree-editor/NodeFormAction.tsx | 40 ++-- .../tree-editor/NodeFormDecision.tsx | 40 ++-- .../tree-editor/NodeFormResolution.tsx | 22 +- .../src/components/tree-editor/NodeList.tsx | 50 ++--- .../src/components/tree-editor/NodePicker.tsx | 20 +- .../src/components/tree-editor/TreeCanvas.tsx | 20 +- .../components/tree-editor/TreeCanvasNode.tsx | 28 +-- .../tree-editor/TreeEditorLayout.tsx | 4 +- .../tree-editor/TreeMetadataForm.tsx | 38 ++-- .../tree-editor/ValidationSummary.tsx | 8 +- .../tree-editor/code-mode/CodeModeEditor.tsx | 2 +- .../tree-editor/code-mode/CodeModeToolbar.tsx | 22 +- .../tree-editor/code-mode/SyntaxHelpPanel.tsx | 20 +- frontend/src/components/ui/Button.tsx | 8 +- frontend/src/components/ui/FormField.tsx | 4 +- frontend/src/components/ui/Input.tsx | 4 +- .../src/components/ui/MarkdownContent.tsx | 14 +- frontend/src/components/ui/Skeleton.tsx | 2 +- frontend/src/components/ui/Textarea.tsx | 4 +- frontend/src/pages/AccountSettingsPage.tsx | 202 +++++++++--------- frontend/src/pages/AssistantChatPage.tsx | 32 +-- frontend/src/pages/BatchStatusPage.tsx | 20 +- frontend/src/pages/ChangePasswordPage.tsx | 26 +-- frontend/src/pages/EscalationQueuePage.tsx | 4 +- frontend/src/pages/FeedbackPage.tsx | 44 ++-- frontend/src/pages/FlowAssistPage.tsx | 10 +- frontend/src/pages/FlowPilotAnalyticsPage.tsx | 86 ++++---- frontend/src/pages/FlowPilotSessionPage.tsx | 22 +- frontend/src/pages/ForgotPasswordPage.tsx | 24 +-- frontend/src/pages/GuideDetailPage.tsx | 26 +-- frontend/src/pages/GuidesHubPage.tsx | 8 +- frontend/src/pages/KBAcceleratorPage.tsx | 10 +- frontend/src/pages/LoginPage.tsx | 30 +-- .../src/pages/MaintenanceFlowDetailPage.tsx | 44 ++-- frontend/src/pages/MyAnalyticsPage.tsx | 60 +++--- frontend/src/pages/MySharesPage.tsx | 20 +- frontend/src/pages/MyTreesPage.tsx | 58 ++--- frontend/src/pages/PrivacyPage.tsx | 20 +- frontend/src/pages/ProceduralEditorPage.tsx | 32 +-- .../src/pages/ProceduralNavigationPage.tsx | 54 ++--- frontend/src/pages/PublicTemplatesPage.tsx | 64 +++--- frontend/src/pages/QuickStartPage.tsx | 4 +- frontend/src/pages/RegisterPage.tsx | 52 ++--- frontend/src/pages/ResetPasswordPage.tsx | 32 +-- frontend/src/pages/ReviewQueuePage.tsx | 26 +-- frontend/src/pages/ScriptBuilderPage.tsx | 10 +- frontend/src/pages/ScriptLibraryPage.tsx | 18 +- frontend/src/pages/SessionDetailPage.tsx | 32 +-- frontend/src/pages/SessionHistoryPage.tsx | 92 ++++---- frontend/src/pages/SharedSessionPage.tsx | 38 ++-- frontend/src/pages/StepLibraryPage.tsx | 18 +- frontend/src/pages/SurveyPage.tsx | 68 +++--- frontend/src/pages/SurveyThankYouPage.tsx | 16 +- frontend/src/pages/TeamAnalyticsPage.tsx | 76 +++---- frontend/src/pages/TermsPage.tsx | 22 +- frontend/src/pages/TreeEditorPage.tsx | 76 +++---- frontend/src/pages/TreeLibraryPage.tsx | 40 ++-- frontend/src/pages/TreeNavigationPage.tsx | 166 +++++++------- frontend/src/pages/VerifyEmailPage.tsx | 20 +- .../pages/account/BrandingSettingsPage.tsx | 50 ++--- .../account/ChatRetentionSettingsPage.tsx | 22 +- .../src/pages/account/IntegrationsPage.tsx | 164 +++++++------- .../src/pages/account/ProfileSettingsPage.tsx | 30 +-- .../src/pages/account/TargetListsPage.tsx | 30 +-- .../src/pages/account/TeamCategoriesPage.tsx | 34 +-- frontend/src/pages/admin/AuditLogsPage.tsx | 28 +-- frontend/src/pages/admin/DashboardPage.tsx | 28 +-- frontend/src/pages/admin/FeatureFlagsPage.tsx | 34 +-- .../src/pages/admin/GalleryManagementPage.tsx | 60 +++--- .../src/pages/admin/GlobalCategoriesPage.tsx | 20 +- frontend/src/pages/admin/InviteCodesPage.tsx | 32 +-- frontend/src/pages/admin/PlanLimitsPage.tsx | 40 ++-- frontend/src/pages/admin/SettingsPage.tsx | 18 +- .../src/pages/admin/SurveyInvitesPage.tsx | 56 ++--- .../src/pages/admin/SurveyResponsesPage.tsx | 98 ++++----- frontend/src/pages/admin/UserDetailPage.tsx | 140 ++++++------ frontend/src/pages/admin/UsersPage.tsx | 56 ++--- 251 files changed, 3310 insertions(+), 3310 deletions(-) diff --git a/frontend/src/components/account/DeleteAccountModal.tsx b/frontend/src/components/account/DeleteAccountModal.tsx index 82667668..1150f3e8 100644 --- a/frontend/src/components/account/DeleteAccountModal.tsx +++ b/frontend/src/components/account/DeleteAccountModal.tsx @@ -39,24 +39,24 @@ export function DeleteAccountModal({ onClose }: Props) {
-

Delete Account

+

Delete Account

-

+

This action is permanent. Your account, data, and all associated flows will be permanently deleted.

- + setPassword(e.target.value)} required className={cn( - 'mt-1 block w-full rounded-lg border border-[#1e2130] bg-[#14161d] px-3 py-2', - 'text-[#e2e5eb] focus:border-primary focus:outline-hidden' + 'mt-1 block w-full rounded-lg border border-border bg-card px-3 py-2', + 'text-foreground focus:border-primary focus:outline-hidden' )} />
@@ -69,7 +69,7 @@ export function DeleteAccountModal({ onClose }: Props) { onClick={onClose} className={cn( 'rounded-lg px-4 py-2 text-sm font-medium', - 'bg-[#191c25] border border-[#1e2130] text-[#e2e5eb]' + 'bg-input border border-border text-foreground' )} > Cancel diff --git a/frontend/src/components/account/LeaveAccountModal.tsx b/frontend/src/components/account/LeaveAccountModal.tsx index 8014b3e3..6670fc92 100644 --- a/frontend/src/components/account/LeaveAccountModal.tsx +++ b/frontend/src/components/account/LeaveAccountModal.tsx @@ -34,10 +34,10 @@ export function LeaveAccountModal({ accountName, onClose }: Props) {
-

Leave Account

+

Leave Account

-

- Are you sure you want to leave {accountName}? +

+ Are you sure you want to leave {accountName}? A new personal account will be created for you.

@@ -45,7 +45,7 @@ export function LeaveAccountModal({ accountName, onClose }: Props) { onClick={onClose} className={cn( 'rounded-lg px-4 py-2 text-sm font-medium', - 'bg-[#191c25] border border-[#1e2130] text-[#e2e5eb]' + 'bg-input border border-border text-foreground' )} > Cancel diff --git a/frontend/src/components/account/NotificationSettings.tsx b/frontend/src/components/account/NotificationSettings.tsx index b11a0b3e..6eee0f22 100644 --- a/frontend/src/components/account/NotificationSettings.tsx +++ b/frontend/src/components/account/NotificationSettings.tsx @@ -173,8 +173,8 @@ export function NotificationSettings() { {/* Section header */}
- -

Notifications

+ +

Notifications

@@ -182,7 +182,7 @@ export function NotificationSettings() { onClick={() => setShowDropdown(!showDropdown)} className={cn( 'inline-flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium', - 'bg-[rgba(255,255,255,0.04)] border border-[rgba(255,255,255,0.06)] text-[#e2e5eb]', + 'bg-[rgba(255,255,255,0.04)] border border-[rgba(255,255,255,0.06)] text-foreground', 'hover:border-[rgba(255,255,255,0.12)] transition-all' )} > @@ -192,16 +192,16 @@ export function NotificationSettings() { {showDropdown && ( -
+
{(Object.entries(CHANNEL_LABELS) as [ChannelType, string][]).map(([key, label]) => { const Icon = CHANNEL_ICONS[key] return ( ) @@ -214,15 +214,15 @@ export function NotificationSettings() { {/* Loading */} {loading && (
- +
)} {/* Empty state */} {!loading && configs.length === 0 && !addingChannel && (
- -

+ +

No notification channels configured. Add a channel to receive alerts for session events.

@@ -237,8 +237,8 @@ export function NotificationSettings() {
{/* Header row */}
- - + + {CHANNEL_LABELS[config.channel]} {config.is_active ? 'Active' : 'Inactive'} @@ -259,20 +259,20 @@ export function NotificationSettings() {
{config.webhook_url && (
- + Webhook URL -

+

{maskWebhookUrl(config.webhook_url)}

)} {config.email_addresses && config.email_addresses.length > 0 && (
- + Email Addresses -

+

{config.email_addresses.join(', ')}

@@ -281,7 +281,7 @@ export function NotificationSettings() { {/* Event toggles */}
- + Events
@@ -294,28 +294,28 @@ export function NotificationSettings() { type="checkbox" checked={config.events_enabled[eventKey] ?? false} onChange={() => handleToggleEvent(config, eventKey)} - className="h-3.5 w-3.5 rounded border-[#1e2130] bg-[#14161d] text-primary focus:ring-primary/30 focus:ring-offset-0 cursor-pointer accent-[#06b6d4]" + className="h-3.5 w-3.5 rounded border-border bg-card text-primary focus:ring-primary/30 focus:ring-offset-0 cursor-pointer accent-[#06b6d4]" /> - {eventLabel} + {eventLabel} ))}
{/* Action buttons */} -
+
@@ -325,7 +325,7 @@ export function NotificationSettings() { disabled={testingId === config.id} className={cn( 'inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-sm font-medium', - 'bg-[rgba(255,255,255,0.04)] border border-[rgba(255,255,255,0.06)] text-[#e2e5eb]', + 'bg-[rgba(255,255,255,0.04)] border border-[rgba(255,255,255,0.06)] text-foreground', 'hover:border-[rgba(255,255,255,0.12)] transition-all', 'disabled:opacity-50 disabled:cursor-not-allowed' )} @@ -349,7 +349,7 @@ export function NotificationSettings() { ) : ( diff --git a/frontend/src/components/account/TransferOwnershipModal.tsx b/frontend/src/components/account/TransferOwnershipModal.tsx index c49091e9..8c69d23b 100644 --- a/frontend/src/components/account/TransferOwnershipModal.tsx +++ b/frontend/src/components/account/TransferOwnershipModal.tsx @@ -43,24 +43,24 @@ export function TransferOwnershipModal({ members, onClose, onTransferred }: Prop
-

Transfer Ownership

+

Transfer Ownership

-

+

This will make the selected member the new account owner. You will become an engineer.

{nonOwnerMembers.length === 0 ? ( -

No other members to transfer to.

+

No other members to transfer to.

) : (
- +
- + setPassword(e.target.value)} required className={cn( - 'mt-1 block w-full rounded-lg border border-[#1e2130] bg-[#14161d] px-3 py-2', - 'text-[#e2e5eb] focus:border-primary focus:outline-hidden' + 'mt-1 block w-full rounded-lg border border-border bg-card px-3 py-2', + 'text-foreground focus:border-primary focus:outline-hidden' )} />
@@ -90,7 +90,7 @@ export function TransferOwnershipModal({ members, onClose, onTransferred }: Prop onClick={onClose} className={cn( 'rounded-lg px-4 py-2 text-sm font-medium', - 'bg-[#191c25] border border-[#1e2130] text-[#e2e5eb]' + 'bg-input border border-border text-foreground' )} > Cancel diff --git a/frontend/src/components/admin/ActionMenu.tsx b/frontend/src/components/admin/ActionMenu.tsx index 9bc1ae90..6cabd654 100644 --- a/frontend/src/components/admin/ActionMenu.tsx +++ b/frontend/src/components/admin/ActionMenu.tsx @@ -53,8 +53,8 @@ export function ActionMenu({ items }: ActionMenuProps) { ref={buttonRef} onClick={() => setOpen(!open)} className={cn( - 'rounded-md p-1.5 text-[#848b9b] transition-colors', - 'hover:bg-accent hover:text-[#e2e5eb]' + 'rounded-md p-1.5 text-muted-foreground transition-colors', + 'hover:bg-accent hover:text-foreground' )} > @@ -63,8 +63,8 @@ export function ActionMenu({ items }: ActionMenuProps) {
{item.icon} diff --git a/frontend/src/components/admin/AdminLayout.tsx b/frontend/src/components/admin/AdminLayout.tsx index 2ac2e939..89becfd2 100644 --- a/frontend/src/components/admin/AdminLayout.tsx +++ b/frontend/src/components/admin/AdminLayout.tsx @@ -36,7 +36,7 @@ export function AdminLayout() { return (
{/* Desktop sidebar */} -
+
@@ -44,14 +44,14 @@ export function AdminLayout() { {mobileOpen && (
setMobileOpen(false)} /> -
+
@@ -67,7 +67,7 @@ export function AdminLayout() { {/* Mobile menu button */} diff --git a/frontend/src/components/admin/AdminSidebar.tsx b/frontend/src/components/admin/AdminSidebar.tsx index 9e17cfe4..a5a23d08 100644 --- a/frontend/src/components/admin/AdminSidebar.tsx +++ b/frontend/src/components/admin/AdminSidebar.tsx @@ -45,7 +45,7 @@ export function AdminSidebar({ className, onNavigate }: AdminSidebarProps) { return (