diff --git a/src/app.css b/src/app.css index 5fb0a70..f2b2e1c 100644 --- a/src/app.css +++ b/src/app.css @@ -129,6 +129,23 @@ } } + /* Card fade-in animation with stagger support */ + .animate-card-in { + animation: cardFadeIn 0.4s ease-out forwards; + opacity: 0; + } + + @keyframes cardFadeIn { + from { + opacity: 0; + transform: translateY(20px) scale(0.95); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } + } + /* Neon Text Glow Effects */ .text-glow-sm { text-shadow: 0 0 10px currentColor; diff --git a/src/lib/components/data-display/DataTable.svelte b/src/lib/components/data-display/DataTable.svelte index 5cc8e84..6cf9200 100644 --- a/src/lib/components/data-display/DataTable.svelte +++ b/src/lib/components/data-display/DataTable.svelte @@ -10,7 +10,7 @@ render?: (value: T[keyof T], row: T) => unknown; align?: 'left' | 'center' | 'right'; class?: string; - width?: string; // e.g., '200px', '30%', 'auto' + width?: string; } interface Props { @@ -20,7 +20,7 @@ striped?: boolean; hoverable?: boolean; compact?: boolean; - fixedLayout?: boolean; // Use table-layout: fixed for consistent column widths + fixedLayout?: boolean; } let { @@ -71,19 +71,18 @@
- +
- + {#each columns as column} - {#each sortedData as row} - + {#each sortedData as row, index} + {#each columns as column} -
handleSort(column)} > @@ -94,16 +93,16 @@ > {column.label} {#if column.sortable} -
+
{/if} @@ -113,10 +112,18 @@
+ {#if column.render} {@html column.render(row[column.key], row)} {:else} @@ -129,3 +136,50 @@
+ + diff --git a/src/lib/components/landing/NeonCTA.svelte b/src/lib/components/landing/NeonCTA.svelte index 2896934..6c8b199 100644 --- a/src/lib/components/landing/NeonCTA.svelte +++ b/src/lib/components/landing/NeonCTA.svelte @@ -47,7 +47,7 @@ Browse Matches - + diff --git a/src/lib/components/match/MatchCard.svelte b/src/lib/components/match/MatchCard.svelte index 12cb8fc..cd64f29 100644 --- a/src/lib/components/match/MatchCard.svelte +++ b/src/lib/components/match/MatchCard.svelte @@ -1,15 +1,17 @@ + +
+
+ +
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+ - +
+
+
+
+
+
+
+
+
diff --git a/src/lib/components/match/ShareCodeInput.svelte b/src/lib/components/match/ShareCodeInput.svelte index b642b6c..62d6bc9 100644 --- a/src/lib/components/match/ShareCodeInput.svelte +++ b/src/lib/components/match/ShareCodeInput.svelte @@ -1,5 +1,5 @@