tracks lexicons and how many times they appeared on the jetstream
at main 1.8 kB view raw
1<script lang="ts"> 2 import { formatNumber } from "$lib/format"; 3 4 const colorClasses = { 5 green: { 6 bg: "from-green-50 to-green-100 dark:from-green-900 dark:to-green-800", 7 border: "border-green-200 dark:border-green-800", 8 titleText: "text-green-700 dark:text-green-400", 9 valueText: "text-green-900 dark:text-green-200", 10 }, 11 red: { 12 bg: "from-red-50 to-red-100 dark:from-red-900 dark:to-red-800", 13 border: "border-red-200 dark:border-red-800", 14 titleText: "text-red-700 dark:text-red-400", 15 valueText: "text-red-900 dark:text-red-200", 16 }, 17 turqoise: { 18 bg: "from-teal-50 to-teal-100 dark:from-teal-900 dark:to-teal-800", 19 border: "border-teal-200 dark:border-teal-800", 20 titleText: "text-teal-700 dark:text-teal-400", 21 valueText: "text-teal-900 dark:text-teal-200", 22 }, 23 orange: { 24 bg: "from-orange-50 to-orange-100 dark:from-orange-900 dark:to-orange-800", 25 border: "border-orange-200 dark:border-orange-800", 26 titleText: "text-orange-700 dark:text-orange-400", 27 valueText: "text-orange-900 dark:text-orange-200", 28 }, 29 }; 30 31 interface Props { 32 title: string; 33 value: number; 34 colorScheme: keyof typeof colorClasses; 35 } 36 37 let { title, value, colorScheme }: Props = $props(); 38 39 const colors = $derived(colorClasses[colorScheme]); 40</script> 41 42<div class="bg-gradient-to-r {colors.bg} p-3 rounded-lg border {colors.border}"> 43 <h3 class="text-base font-medium {colors.titleText} mb-2"> 44 {title} 45 </h3> 46 <p class="text-xl md:text-2xl font-bold {colors.valueText}"> 47 {formatNumber(value)} 48 </p> 49</div>