diff --git a/src/app/page.tsx b/src/app/page.tsx index 96ca9ee..26f49c7 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -11,6 +11,8 @@ import StatsDashboard from "@/components/StatsDashboard"; import DramOfTheDay from "@/components/DramOfTheDay"; import LanguageSwitcher from "@/components/LanguageSwitcher"; import { useI18n } from "@/i18n/I18nContext"; +import { useSession } from "@/context/SessionContext"; +import { Sparkles } from "lucide-react"; export default function Home() { const supabase = createClient(); @@ -19,6 +21,7 @@ export default function Home() { const [user, setUser] = useState(null); const [fetchError, setFetchError] = useState(null); const { t } = useI18n(); + const { activeSession } = useSession(); useEffect(() => { // Check session @@ -160,9 +163,23 @@ export default function Home() {
-

- WHISKYVAULT -

+
+

+ WHISKYVAULT +

+ {activeSession && ( +
+
+ + +
+ + + Live: {activeSession.name} + +
+ )} +
diff --git a/src/components/ActiveSessionBanner.tsx b/src/components/ActiveSessionBanner.tsx index 713dcce..254eb6a 100644 --- a/src/components/ActiveSessionBanner.tsx +++ b/src/components/ActiveSessionBanner.tsx @@ -19,14 +19,20 @@ export default function ActiveSessionBanner() { href={`/sessions/${activeSession.id}`} className="flex items-center gap-3 flex-1 min-w-0" > -
- +
+
+ +
+
-

{t('session.activeSession')}

+
+ Live Jetzt +

{t('session.activeSession')}

+

{activeSession.name}

- + - + {isAdmin && ( +
+ + +
+ )} +
+ {activeSession && ( +
+
+ + +
+ {activeSession.name}
)}
diff --git a/src/components/SessionTimeline.tsx b/src/components/SessionTimeline.tsx index 98fdb82..f41a73a 100644 --- a/src/components/SessionTimeline.tsx +++ b/src/components/SessionTimeline.tsx @@ -45,14 +45,12 @@ export default function SessionTimeline({ tastings, sessionStart }: SessionTimel }; return ( -
+
{sortedTastings.map((tasting, index) => { const currentTime = new Date(tasting.tasted_at).getTime(); const diffMinutes = Math.round((currentTime - firstTastingTime) / (1000 * 60)); const isSmoky = checkIsSmoky(tasting); - // Palette warning logic: if this dram is peaty, warn about the NEXT one (metaphorically) - // Or if the PREVIOUS was peaty, show a warning on this one. const wasPreviousSmoky = index > 0 && checkIsSmoky(sortedTastings[index - 1]); const timeSinceLastDram = index > 0 ? Math.round((currentTime - new Date(sortedTastings[index - 1].tasted_at).getTime()) / (1000 * 60)) @@ -61,34 +59,30 @@ export default function SessionTimeline({ tastings, sessionStart }: SessionTimel return (
{/* Dot */} -
- {isSmoky && } -
- - {/* Relative Time */} -
- - {index === 0 ? 'START' : `+${diffMinutes}'`} - +
+ {isSmoky && }
- Dram #{index + 1} + Dram #{index + 1} + + {index === 0 ? 'Start' : `+${diffMinutes}m`} + {isSmoky && ( Peat Bomb )}
{tasting.bottle_name}
- {tasting.tags.slice(0, 3).map(tag => ( + {tasting.tags.slice(0, 2).map(tag => ( {tag} @@ -96,8 +90,8 @@ export default function SessionTimeline({ tastings, sessionStart }: SessionTimel
-
{tasting.rating}
-
Punkte
+
{tasting.rating}
+
Punkte