mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-18 02:34:08 +00:00
Add dark mode with CSS custom property theme system
Define 13 semantic color tokens (surface, text, border, hover) with light/dark values in themes.css. Register with Tailwind via @theme inline. Migrate all 335 Vue files from hardcoded gray/white classes to semantic tokens. Add theme toggle (sun/moon/system) in user avatar dropdown. Replace @tailwindcss/forms with custom form reset using theme vars. Add status badge and alert tokens for dark mode. Theme-aware chart grid/labels, skeleton placeholders, and editor. Inline script in <head> prevents flash of wrong theme on load. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div
|
||||
v-if="dashboardStore.isDashboardDataLoaded"
|
||||
class="grid grid-cols-10 mt-8 bg-white rounded-xl shadow-sm border border-gray-100"
|
||||
class="grid grid-cols-10 mt-8 bg-surface rounded-xl shadow border border-line-light"
|
||||
>
|
||||
<!-- Chart -->
|
||||
<div
|
||||
@@ -50,7 +50,7 @@
|
||||
grid grid-cols-3
|
||||
col-span-10
|
||||
text-center
|
||||
border-t border-l border-gray-200 border-solid
|
||||
border-t border-l border-line-default border-solid
|
||||
lg:border-t-0 lg:text-right lg:col-span-3
|
||||
xl:col-span-2
|
||||
lg:grid-cols-1
|
||||
@@ -116,7 +116,7 @@
|
||||
class="
|
||||
col-span-3
|
||||
p-6
|
||||
border-t border-gray-200 border-solid
|
||||
border-t border-line-default border-solid
|
||||
lg:col-span-1
|
||||
"
|
||||
>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<BaseContentPlaceholders
|
||||
class="grid grid-cols-10 mt-8 bg-white rounded shadow"
|
||||
class="grid grid-cols-10 mt-8 bg-surface rounded shadow"
|
||||
>
|
||||
<!-- Chart -->
|
||||
<div
|
||||
@@ -27,7 +27,7 @@
|
||||
grid grid-cols-3
|
||||
col-span-10
|
||||
text-center
|
||||
border-t border-l border-gray-200 border-solid
|
||||
border-t border-l border-line-default border-solid
|
||||
lg:border-t-0 lg:text-right lg:col-span-3
|
||||
xl:col-span-2
|
||||
lg:grid-cols-1
|
||||
@@ -76,7 +76,7 @@
|
||||
justify-center
|
||||
col-span-3
|
||||
p-6
|
||||
border-t border-gray-200 border-solid
|
||||
border-t border-line-default border-solid
|
||||
lg:justify-end lg:items-end lg:col-span-1
|
||||
"
|
||||
>
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
flex
|
||||
justify-between
|
||||
p-5
|
||||
bg-white
|
||||
bg-surface
|
||||
rounded-xl
|
||||
shadow-sm
|
||||
border border-gray-100
|
||||
shadow
|
||||
border border-line-light
|
||||
hover:shadow-md
|
||||
transition-shadow
|
||||
xl:p-6
|
||||
@@ -19,10 +19,10 @@
|
||||
:to="route"
|
||||
>
|
||||
<div>
|
||||
<span class="text-2xl font-bold leading-tight text-gray-900 xl:text-3xl">
|
||||
<span class="text-2xl font-bold leading-tight text-heading xl:text-3xl">
|
||||
<slot />
|
||||
</span>
|
||||
<span class="block mt-1 text-sm font-medium leading-tight text-gray-500 xl:text-base">
|
||||
<span class="block mt-1 text-sm font-medium leading-tight text-muted xl:text-base">
|
||||
{{ label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<BaseContentPlaceholders
|
||||
:rounded="true"
|
||||
class="relative flex justify-between w-full p-3 bg-white rounded shadow lg:col-span-3 xl:p-4"
|
||||
class="relative flex justify-between w-full p-3 bg-surface rounded shadow lg:col-span-3 xl:p-4"
|
||||
>
|
||||
<div>
|
||||
<BaseContentPlaceholdersText
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
justify-between
|
||||
w-full
|
||||
p-3
|
||||
bg-white
|
||||
bg-surface
|
||||
rounded
|
||||
shadow
|
||||
lg:col-span-2
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
class="due-invoices"
|
||||
>
|
||||
<div class="relative z-10 flex items-center justify-between mb-3">
|
||||
<h6 class="mb-0 text-lg font-semibold leading-normal text-gray-900">
|
||||
<h6 class="mb-0 text-lg font-semibold leading-normal text-heading">
|
||||
{{ $t('dashboard.recent_invoices_card.title') }}
|
||||
</h6>
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
class="recent-estimates"
|
||||
>
|
||||
<div class="relative z-10 flex items-center justify-between mb-3">
|
||||
<h6 class="mb-0 text-lg font-semibold leading-normal text-gray-900">
|
||||
<h6 class="mb-0 text-lg font-semibold leading-normal text-heading">
|
||||
{{ $t('dashboard.recent_estimate_card.title') }}
|
||||
</h6>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user