Skip to content

Commit 8088dd4

Browse files
committed
style: improve light mode color scheme
Replace bright white backgrounds and green colors with softer blue/purple theme for light mode. Green colors now exclusive to dark mode for better visual distinction. Changes: - app.css: Soft purple gradient body background, updated CSS variables, indigo headings - Dashboard.svelte: Blue/indigo/purple accents for hero section, icons, buttons, stats cards - EnhancedVisualizations.svelte: Blue accents for all chart icons, buttons, and UI elements Light mode now features softer backgrounds and blue/purple color palette, while dark mode retains green theme.
1 parent a6ce3fc commit 8088dd4

3 files changed

Lines changed: 39 additions & 39 deletions

File tree

src/app.css

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@
3737
--secondary: hsl(var(--secondary-hsl) 50%);
3838
/* Define other semantic colors using HSL */
3939

40-
--bg-base: theme('colors.white');
41-
--bg-alt: theme('colors.slate.100');
42-
--bg-sidebar: theme('colors.white');
43-
--bg-navbar: hsla(0, 0%, 100%, 0.7); /* Base navbar bg */
44-
--text-base: theme('colors.slate.800');
45-
--text-muted: theme('colors.slate.500');
46-
--border-base: theme('colors.slate.200');
47-
--border-sidebar: theme('colors.slate.200');
48-
--border-navbar: theme('colors.slate.200');
40+
--bg-base: #fefcff; /* Soft white with purple tint */
41+
--bg-alt: #f5f3ff; /* Light purple-gray */
42+
--bg-sidebar: #faf8ff; /* Soft sidebar */
43+
--bg-navbar: hsla(250, 60%, 98%, 0.7); /* Soft purple-tinted navbar */
44+
--text-base: #3f3356; /* Softer purple-gray text instead of harsh black */
45+
--text-muted: #6b5b95; /* Purple-gray muted */
46+
--border-base: #e9d5ff; /* Soft purple borders */
47+
--border-sidebar: #e9d5ff;
48+
--border-navbar: #e9d5ff;
4949
}
5050

5151
.dark {
@@ -62,12 +62,12 @@
6262

6363
body {
6464
@apply font-sans antialiased text-slate-800 dark:text-slate-200;
65-
background: #f8fafc;
65+
background: linear-gradient(135deg, #faf5ff 0%, #f5f3ff 50%, #ede9fe 100%);
6666
position: relative;
6767
min-height: 100vh;
6868
overflow-x: hidden;
6969
}
70-
70+
7171
.dark body {
7272
background: #0f172a;
7373
}
@@ -89,7 +89,7 @@
8989
/* Add more base styles if needed: links, headings etc. */
9090
h1, h2, h3, h4, h5, h6 {
9191
@apply font-semibold;
92-
@apply text-slate-800 dark:text-slate-200;
92+
@apply text-indigo-900 dark:text-slate-200;
9393
}
9494
}
9595

src/components/Dashboard.svelte

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@
498498

499499
<div class="space-y-8">
500500
<!-- Hero Section -->
501-
<div class="relative overflow-hidden rounded-3xl bg-gradient-to-br from-green-600 via-emerald-600 to-teal-600 p-8 text-white">
501+
<div class="relative overflow-hidden rounded-3xl bg-gradient-to-br from-blue-600 via-indigo-600 to-purple-600 dark:from-green-600 dark:via-emerald-600 dark:to-teal-600 p-8 text-white">
502502
<!-- Animated background -->
503503
<div class="absolute inset-0 overflow-hidden">
504504
<div class="absolute -top-10 -left-10 w-40 h-40 bg-white/10 rounded-full animate-float"></div>
@@ -510,13 +510,13 @@
510510
<div class="flex flex-col md:flex-row justify-between items-start md:items-center gap-6">
511511
<div class="flex-1">
512512
<div class="flex items-center gap-3 mb-3">
513-
<div class="w-3 h-3 bg-green-400 rounded-full live-pulse"></div>
514-
<span class="text-green-200 text-sm font-semibold tracking-wide uppercase">2024-2025 SEASON</span>
513+
<div class="w-3 h-3 bg-purple-300 dark:bg-green-400 rounded-full live-pulse"></div>
514+
<span class="text-purple-100 dark:text-green-200 text-sm font-semibold tracking-wide uppercase">2024-2025 SEASON</span>
515515
</div>
516516
<h1 class="text-4xl md:text-5xl font-black mb-3">
517517
SQL-Ball Analytics
518518
</h1>
519-
<p class="text-green-100 text-lg md:text-xl mb-6 max-w-2xl">
519+
<p class="text-purple-100 dark:text-green-100 text-lg md:text-xl mb-6 max-w-2xl">
520520
RAG-powered European football analytics from the 2024-2025 season across 22 leagues, 11 countries, 7,681+ matches
521521
</p>
522522
</div>
@@ -527,7 +527,7 @@
527527
<!-- How We Analyse -->
528528
<div class="bg-white dark:bg-slate-900 rounded-xl p-6 shadow-lg">
529529
<h3 class="text-lg font-semibold text-slate-800 dark:text-slate-200 mb-4 flex items-center gap-2">
530-
<Target class="w-5 h-5 text-green-500" />
530+
<Target class="w-5 h-5 text-blue-600 dark:text-green-500" />
531531
How We Analyse
532532
</h3>
533533
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
@@ -539,8 +539,8 @@
539539
<p class="text-xs text-slate-600 dark:text-slate-400">Natural language to SQL</p>
540540
</div>
541541
<div class="text-center p-4 bg-slate-50 dark:bg-slate-800/50 rounded-lg">
542-
<div class="w-10 h-10 bg-green-100 dark:bg-green-900/30 rounded-lg mx-auto mb-3 flex items-center justify-center">
543-
<TrendingUp class="w-5 h-5 text-green-600" />
542+
<div class="w-10 h-10 bg-indigo-100 dark:bg-green-900/30 rounded-lg mx-auto mb-3 flex items-center justify-center">
543+
<TrendingUp class="w-5 h-5 text-indigo-600 dark:text-green-600" />
544544
</div>
545545
<h4 class="font-semibold text-sm mb-1">Pattern Discovery</h4>
546546
<p class="text-xs text-slate-600 dark:text-slate-400">Automatic anomaly detection</p>
@@ -568,14 +568,14 @@
568568
<!-- Loading overlay for chart refresh -->
569569
{#if isRefreshingCharts}
570570
<div class="absolute inset-0 bg-white/50 dark:bg-slate-950/50 backdrop-blur-sm z-50 rounded-xl flex items-center justify-center transition-opacity duration-300">
571-
<div class="flex items-center gap-3 bg-white dark:bg-slate-900 px-6 py-3 rounded-lg border border-slate-200 dark:border-green-500/20 shadow-lg">
572-
<div class="animate-spin rounded-full h-5 w-5 border-b-2 border-green-500"></div>
571+
<div class="flex items-center gap-3 bg-white dark:bg-slate-900 px-6 py-3 rounded-lg border border-blue-200 dark:border-green-500/20 shadow-lg">
572+
<div class="animate-spin rounded-full h-5 w-5 border-b-2 border-blue-600 dark:border-green-500"></div>
573573
<span class="text-sm font-medium text-slate-700 dark:text-slate-300">Updating charts...</span>
574574
</div>
575575
</div>
576576
{/if}
577577

578-
<h2 class="text-2xl font-bold text-slate-800 dark:text-green-400 mb-6">
578+
<h2 class="text-2xl font-bold text-indigo-900 dark:text-green-400 mb-6">
579579
European League Analytics
580580
</h2>
581581
<EnhancedVisualizations
@@ -602,8 +602,8 @@
602602
<div class="grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-6">
603603
<div class="bg-white dark:bg-slate-900 rounded-xl p-3 sm:p-6 shadow-lg hover:shadow-xl transition-shadow">
604604
<div class="flex items-start justify-between mb-2 sm:mb-4">
605-
<div class="bg-green-500/10 dark:bg-green-500/20 p-2 sm:p-3 rounded-lg">
606-
<Target class="w-4 h-4 sm:w-6 sm:h-6 text-green-500 dark:text-green-400" />
605+
<div class="bg-blue-500/10 dark:bg-green-500/20 p-2 sm:p-3 rounded-lg">
606+
<Target class="w-4 h-4 sm:w-6 sm:h-6 text-blue-600 dark:text-green-500" />
607607
</div>
608608
</div>
609609
<div class="text-xs sm:text-sm font-medium text-slate-600 dark:text-slate-400 mb-1">
@@ -619,8 +619,8 @@
619619

620620
<div class="bg-white dark:bg-slate-900 rounded-xl p-3 sm:p-6 shadow-lg hover:shadow-xl transition-shadow">
621621
<div class="flex items-start justify-between mb-2 sm:mb-4">
622-
<div class="bg-emerald-500/10 dark:bg-emerald-500/20 p-2 sm:p-3 rounded-lg">
623-
<TrendingUp class="w-4 h-4 sm:w-6 sm:h-6 text-emerald-600 dark:text-emerald-400" />
622+
<div class="bg-indigo-500/10 dark:bg-emerald-500/20 p-2 sm:p-3 rounded-lg">
623+
<TrendingUp class="w-4 h-4 sm:w-6 sm:h-6 text-indigo-600 dark:text-emerald-400" />
624624
</div>
625625
</div>
626626
<div class="text-xs sm:text-sm font-medium text-slate-600 dark:text-slate-400 mb-1">

src/components/EnhancedVisualizations.svelte

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -815,15 +815,15 @@
815815
{#if isLoading}
816816
<div class="absolute inset-0 bg-white/50 dark:bg-slate-950/50 backdrop-blur-sm z-50 rounded-xl flex items-center justify-center transition-opacity duration-300">
817817
<div class="flex items-center gap-3 bg-white dark:bg-slate-900 px-6 py-3 rounded-lg border border-slate-200 dark:border-green-500/20 shadow-lg">
818-
<div class="animate-spin rounded-full h-5 w-5 border-b-2 border-green-500"></div>
818+
<div class="animate-spin rounded-full h-5 w-5 border-b-2 border-blue-600 dark:border-green-500"></div>
819819
<span class="text-sm font-medium text-slate-700 dark:text-slate-300">Loading analytics...</span>
820820
</div>
821821
</div>
822822
{/if}
823823

824824
<!-- Simplified Date Range Selector -->
825825
<div class="flex flex-wrap items-center gap-3 p-4 bg-slate-50 dark:bg-slate-900/50 rounded-xl border border-slate-200 dark:border-green-500/20">
826-
<Calendar class="w-5 h-5 text-green-500" />
826+
<Calendar class="w-5 h-5 text-blue-600 dark:text-green-500" />
827827
<span class="text-sm font-semibold text-slate-600 dark:text-slate-400">View Data:</span>
828828
<div class="flex flex-wrap gap-2">
829829
{#each dateRanges as range}
@@ -832,7 +832,7 @@
832832
disabled={isLoading}
833833
class="flex items-center gap-2 px-4 py-2 text-sm font-medium rounded-lg transition-all {
834834
selectedDateRange === range.value
835-
? 'bg-gradient-to-r from-green-500 to-emerald-500 text-white shadow-lg'
835+
? 'bg-gradient-to-r from-blue-600 to-indigo-600 dark:from-green-500 dark:to-emerald-500 text-white shadow-lg'
836836
: 'bg-slate-200 dark:bg-slate-800 text-slate-700 dark:text-slate-300 hover:bg-slate-300 dark:hover:bg-slate-700'
837837
} {isLoading ? 'opacity-50 cursor-not-allowed' : ''}"
838838
>
@@ -847,12 +847,12 @@
847847
<div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20 transition-opacity duration-500 {isLoading ? 'opacity-50' : 'opacity-100'}">
848848
<div class="flex items-center justify-between mb-4">
849849
<div class="flex items-center gap-2">
850-
<TrendingUp class="w-4 h-4 sm:w-5 sm:h-5 text-green-500" />
850+
<TrendingUp class="w-4 h-4 sm:w-5 sm:h-5 text-blue-600 dark:text-green-500" />
851851
<h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Goal Trends</h3>
852852
</div>
853853
<button
854854
on:click={() => handleQueryClick('goals_trend', 'Goal Trends')}
855-
class="flex items-center gap-1.5 px-3 py-1.5 bg-green-500 hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
855+
class="flex items-center gap-1.5 px-3 py-1.5 bg-blue-600 hover:bg-blue-700 dark:bg-green-500 dark:hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
856856
title="Generate SQL query for this chart"
857857
>
858858
<Sparkles class="w-3.5 h-3.5" />
@@ -870,12 +870,12 @@
870870
<div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20">
871871
<div class="flex items-center justify-between mb-4">
872872
<div class="flex items-center gap-2">
873-
<BarChart3 class="w-4 h-4 sm:w-5 sm:h-5 text-green-500" />
873+
<BarChart3 class="w-4 h-4 sm:w-5 sm:h-5 text-blue-600 dark:text-green-500" />
874874
<h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">League Table</h3>
875875
</div>
876876
<button
877877
on:click={() => handleQueryClick('league_table', 'League Table')}
878-
class="flex items-center gap-1.5 px-3 py-1.5 bg-green-500 hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
878+
class="flex items-center gap-1.5 px-3 py-1.5 bg-blue-600 hover:bg-blue-700 dark:bg-green-500 dark:hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
879879
title="Generate SQL query for this chart"
880880
>
881881
<Sparkles class="w-3.5 h-3.5" />
@@ -891,12 +891,12 @@
891891
<div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20">
892892
<div class="flex items-center justify-between mb-4">
893893
<div class="flex items-center gap-2">
894-
<Activity class="w-4 h-4 sm:w-5 sm:h-5 text-green-500" />
894+
<Activity class="w-4 h-4 sm:w-5 sm:h-5 text-blue-600 dark:text-green-500" />
895895
<h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Results Distribution</h3>
896896
</div>
897897
<button
898898
on:click={() => handleQueryClick('results_distribution', 'Results Distribution')}
899-
class="flex items-center gap-1.5 px-3 py-1.5 bg-green-500 hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
899+
class="flex items-center gap-1.5 px-3 py-1.5 bg-blue-600 hover:bg-blue-700 dark:bg-green-500 dark:hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
900900
title="Generate SQL query for this chart"
901901
>
902902
<Sparkles class="w-3.5 h-3.5" />
@@ -912,12 +912,12 @@
912912
<div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20">
913913
<div class="flex items-center justify-between mb-4">
914914
<div class="flex items-center gap-2">
915-
<BarChart3 class="w-4 h-4 sm:w-5 sm:h-5 text-green-500" />
915+
<BarChart3 class="w-4 h-4 sm:w-5 sm:h-5 text-blue-600 dark:text-green-500" />
916916
<h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Goals per Match</h3>
917917
</div>
918918
<button
919919
on:click={() => handleQueryClick('goal_distribution', 'Goal Distribution')}
920-
class="flex items-center gap-1.5 px-3 py-1.5 bg-green-500 hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
920+
class="flex items-center gap-1.5 px-3 py-1.5 bg-blue-600 hover:bg-blue-700 dark:bg-green-500 dark:hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
921921
title="Generate SQL query for this chart"
922922
>
923923
<Sparkles class="w-3.5 h-3.5" />
@@ -933,12 +933,12 @@
933933
<div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20">
934934
<div class="flex items-center justify-between mb-4">
935935
<div class="flex items-center gap-2">
936-
<Activity class="w-4 h-4 sm:w-5 sm:h-5 text-green-500" />
936+
<Activity class="w-4 h-4 sm:w-5 sm:h-5 text-blue-600 dark:text-green-500" />
937937
<h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Team Performance</h3>
938938
</div>
939939
<button
940940
on:click={() => handleQueryClick('team_performance', 'Team Performance')}
941-
class="flex items-center gap-1.5 px-3 py-1.5 bg-green-500 hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
941+
class="flex items-center gap-1.5 px-3 py-1.5 bg-blue-600 hover:bg-blue-700 dark:bg-green-500 dark:hover:bg-green-600 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm"
942942
title="Generate SQL query for this chart"
943943
>
944944
<Sparkles class="w-3.5 h-3.5" />

0 commit comments

Comments
 (0)