|
815 | 815 | {#if isLoading} |
816 | 816 | <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"> |
817 | 817 | <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> |
819 | 819 | <span class="text-sm font-medium text-slate-700 dark:text-slate-300">Loading analytics...</span> |
820 | 820 | </div> |
821 | 821 | </div> |
822 | 822 | {/if} |
823 | 823 |
|
824 | 824 | <!-- Simplified Date Range Selector --> |
825 | 825 | <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" /> |
827 | 827 | <span class="text-sm font-semibold text-slate-600 dark:text-slate-400">View Data:</span> |
828 | 828 | <div class="flex flex-wrap gap-2"> |
829 | 829 | {#each dateRanges as range} |
|
832 | 832 | disabled={isLoading} |
833 | 833 | class="flex items-center gap-2 px-4 py-2 text-sm font-medium rounded-lg transition-all { |
834 | 834 | 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' |
836 | 836 | : 'bg-slate-200 dark:bg-slate-800 text-slate-700 dark:text-slate-300 hover:bg-slate-300 dark:hover:bg-slate-700' |
837 | 837 | } {isLoading ? 'opacity-50 cursor-not-allowed' : ''}" |
838 | 838 | > |
|
847 | 847 | <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'}"> |
848 | 848 | <div class="flex items-center justify-between mb-4"> |
849 | 849 | <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" /> |
851 | 851 | <h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Goal Trends</h3> |
852 | 852 | </div> |
853 | 853 | <button |
854 | 854 | 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" |
856 | 856 | title="Generate SQL query for this chart" |
857 | 857 | > |
858 | 858 | <Sparkles class="w-3.5 h-3.5" /> |
|
870 | 870 | <div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20"> |
871 | 871 | <div class="flex items-center justify-between mb-4"> |
872 | 872 | <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" /> |
874 | 874 | <h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">League Table</h3> |
875 | 875 | </div> |
876 | 876 | <button |
877 | 877 | 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" |
879 | 879 | title="Generate SQL query for this chart" |
880 | 880 | > |
881 | 881 | <Sparkles class="w-3.5 h-3.5" /> |
|
891 | 891 | <div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20"> |
892 | 892 | <div class="flex items-center justify-between mb-4"> |
893 | 893 | <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" /> |
895 | 895 | <h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Results Distribution</h3> |
896 | 896 | </div> |
897 | 897 | <button |
898 | 898 | 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" |
900 | 900 | title="Generate SQL query for this chart" |
901 | 901 | > |
902 | 902 | <Sparkles class="w-3.5 h-3.5" /> |
|
912 | 912 | <div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20"> |
913 | 913 | <div class="flex items-center justify-between mb-4"> |
914 | 914 | <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" /> |
916 | 916 | <h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Goals per Match</h3> |
917 | 917 | </div> |
918 | 918 | <button |
919 | 919 | 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" |
921 | 921 | title="Generate SQL query for this chart" |
922 | 922 | > |
923 | 923 | <Sparkles class="w-3.5 h-3.5" /> |
|
933 | 933 | <div class="bg-white dark:bg-slate-900 rounded-xl p-4 sm:p-6 border border-slate-200 dark:border-green-500/20"> |
934 | 934 | <div class="flex items-center justify-between mb-4"> |
935 | 935 | <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" /> |
937 | 937 | <h3 class="text-base sm:text-lg font-bold text-slate-900 dark:text-green-400 font-mono">Team Performance</h3> |
938 | 938 | </div> |
939 | 939 | <button |
940 | 940 | 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" |
942 | 942 | title="Generate SQL query for this chart" |
943 | 943 | > |
944 | 944 | <Sparkles class="w-3.5 h-3.5" /> |
|
0 commit comments