From 853ffaf207ec06d05a9b2700a302bf22556a04ae Mon Sep 17 00:00:00 2001 From: Jaret Burkett Date: Tue, 31 Mar 2026 16:54:55 -0600 Subject: [PATCH] Add light mode support. --- ui/public/ostris_logo_black.png | Bin 0 -> 25622 bytes ui/src/app/datasets/[datasetName]/page.tsx | 20 ++++----- ui/src/app/datasets/page.tsx | 4 +- ui/src/app/globals.css | 46 +++++++++++++++------ ui/src/app/jobs/[jobID]/page.tsx | 2 +- ui/src/app/jobs/new/AdvancedJob.tsx | 4 +- ui/src/app/jobs/new/SimpleJob.tsx | 2 +- ui/src/app/jobs/new/page.tsx | 7 +--- ui/src/app/jobs/page.tsx | 2 +- ui/src/app/layout.tsx | 12 +++++- ui/src/components/CPUWidget.tsx | 6 +-- ui/src/components/FilesWidget.tsx | 8 ++-- ui/src/components/GPUWidget.tsx | 12 +++--- ui/src/components/JobOverview.tsx | 8 ++-- ui/src/components/JobsTable.tsx | 20 +++++---- ui/src/components/Sidebar.tsx | 7 +++- ui/src/components/ThemeLogo.tsx | 12 ++++++ ui/src/components/ThemeProvider.tsx | 36 ++++++++++++++-- ui/src/components/ThemeToggle.tsx | 26 ++++++++++++ ui/src/components/formInputs.tsx | 4 +- ui/src/components/layout.tsx | 2 +- ui/tailwind.config.ts | 20 ++++----- version.py | 2 +- 23 files changed, 183 insertions(+), 79 deletions(-) create mode 100644 ui/public/ostris_logo_black.png create mode 100644 ui/src/components/ThemeLogo.tsx create mode 100644 ui/src/components/ThemeToggle.tsx diff --git a/ui/public/ostris_logo_black.png b/ui/public/ostris_logo_black.png new file mode 100644 index 0000000000000000000000000000000000000000..673abbb5dcc9d4bddfdc908a6ac6ffda7a44aa8f GIT binary patch literal 25622 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 Rg|m;)j%`-I<(Rlc{10zIxCQ_K literal 0 HcmV?d00001 diff --git a/ui/src/app/datasets/[datasetName]/page.tsx b/ui/src/app/datasets/[datasetName]/page.tsx index 7d457f59..a3409afb 100644 --- a/ui/src/app/datasets/[datasetName]/page.tsx +++ b/ui/src/app/datasets/[datasetName]/page.tsx @@ -55,27 +55,27 @@ export default function DatasetPage({ params }: { params: { datasetName: string text = 'Loading Images'; subtitle = 'Please wait while we fetch your dataset images...'; showIt = true; - bgColor = 'bg-gray-50 dark:bg-gray-800/50'; - textColor = 'text-gray-900 dark:text-gray-100'; - iconColor = 'text-gray-500 dark:text-gray-400'; + bgColor = 'bg-gray-800/50'; + textColor = 'text-gray-100'; + iconColor = 'text-gray-400'; } if (status == 'error') { icon = ; text = 'Error Loading Images'; subtitle = 'There was a problem fetching the images. Please try refreshing the page.'; showIt = true; - bgColor = 'bg-red-50 dark:bg-red-950/20'; - textColor = 'text-red-900 dark:text-red-100'; - iconColor = 'text-red-600 dark:text-red-400'; + bgColor = 'bg-red-600/20'; + textColor = 'text-red-100'; + iconColor = 'text-red-400'; } if (status == 'success' && imgList.length === 0) { icon = ; text = 'No Images Found'; subtitle = 'This dataset is empty. Click "Add Images" to get started.'; showIt = true; - bgColor = 'bg-gray-50 dark:bg-gray-800/50'; - textColor = 'text-gray-900 dark:text-gray-100'; - iconColor = 'text-gray-500 dark:text-gray-400'; + bgColor = 'bg-gray-800/50'; + textColor = 'text-gray-100'; + iconColor = 'text-gray-400'; } if (!showIt) return null; @@ -106,7 +106,7 @@ export default function DatasetPage({ params }: { params: { datasetName: string
-
@@ -263,7 +260,7 @@ export default function TrainingForm() {
- + New Training Job
diff --git a/ui/src/app/layout.tsx b/ui/src/app/layout.tsx index 1167b5fe..1febc075 100644 --- a/ui/src/app/layout.tsx +++ b/ui/src/app/layout.tsx @@ -25,9 +25,19 @@ export default function RootLayout({ children }: { children: React.ReactNode }) const platform = os.platform(); return ( - + +