diff --git a/app/auth-button-client.tsx b/app/auth-button-client.tsx index 22f881a..82957cd 100644 --- a/app/auth-button-client.tsx +++ b/app/auth-button-client.tsx @@ -4,9 +4,9 @@ import { createClient } from "./utils/supabase/client"; import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; -import type { Session } from "@supabase/supabase-js"; +import type { User } from "@supabase/supabase-js"; -export default function AuthButtonClient({ session } : { session: Session | null}) { +export default function AuthButtonClient({ user } : { user: User | null}) { const supabase = createClient(); const router = useRouter(); @@ -24,9 +24,9 @@ export default function AuthButtonClient({ session } : { session: Session | null }); }; - return session ? ( - + return user ? ( + ) : ( - + ); } diff --git a/app/auth-button-server.tsx b/app/auth-button-server.tsx index 3b10ac4..52c6e4f 100644 --- a/app/auth-button-server.tsx +++ b/app/auth-button-server.tsx @@ -7,8 +7,8 @@ export default async function AuthButtonServer() { const supabase = await createClient(); const { - data: { session }, - } = await supabase.auth.getSession(); + data: { user }, + } = await supabase.auth.getUser(); - return ; + return ; } \ No newline at end of file diff --git a/app/draft/[id]/draft-queue.tsx b/app/draft/[id]/draft-queue.tsx index 626e626..8aec142 100644 --- a/app/draft/[id]/draft-queue.tsx +++ b/app/draft/[id]/draft-queue.tsx @@ -3,6 +3,7 @@ import { useEffect, useState } from 'react'; import { createClient } from '@/app/utils/supabase/client'; import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd'; +import { toast } from 'sonner'; interface DraftQueueProps { teamId: string; @@ -121,7 +122,7 @@ export default function DraftQueue({ teamId, draftId }: DraftQueueProps) { stack: error?.stack, details: error?.details }); - alert(`Failed to add player to queue: ${error?.message || 'Unknown error'}`); + toast.error(`Failed to add player to queue: ${error?.message || 'Unknown error'}`); } }; @@ -136,7 +137,7 @@ export default function DraftQueue({ teamId, draftId }: DraftQueueProps) { if (error) throw error; } catch (error) { console.error('Error removing player from queue:', error); - alert('Failed to remove player from queue.'); + toast.error('Failed to remove player from queue.'); } }; @@ -170,7 +171,7 @@ export default function DraftQueue({ teamId, draftId }: DraftQueueProps) { } } catch (error) { console.error('Error updating queue priorities:', error); - alert('Failed to update queue order.'); + toast.error('Failed to update queue order.'); } }; diff --git a/app/draft/[id]/draft-room.tsx b/app/draft/[id]/draft-room.tsx index 6a30ea7..6a2d268 100644 --- a/app/draft/[id]/draft-room.tsx +++ b/app/draft/[id]/draft-room.tsx @@ -8,6 +8,7 @@ import PicksCarousel from './picks-carousel'; import DraftBoardGrid from './draft-board-grid'; import DraftInfoPanel from './draft-info-panel'; import { makePick, startDraft, togglePause, toggleAutoPick, triggerAutoPick } from './actions'; +import { toast } from 'sonner'; import { Card, CardContent } from "@/components/ui/card"; import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"; import { getDefaultExpectedGames, parsePlayerSummary, computeProjectedTotal } from '@/app/rankings/ncaa/utils'; @@ -287,7 +288,7 @@ export default function DraftRoom({ draftSettings, currentTeam, isCommissioner, startTransition(async () => { const result = await startDraft(draftSettings.id); if (!result.success) { - alert(result.error || 'Failed to start draft'); + toast.error(result.error || 'Failed to start draft'); } }); }; @@ -296,7 +297,7 @@ export default function DraftRoom({ draftSettings, currentTeam, isCommissioner, startTransition(async () => { const result = await togglePause(draftSettings.id); if (!result.success) { - alert(result.error || 'Failed to toggle pause'); + toast.error(result.error || 'Failed to toggle pause'); } }); }; @@ -307,7 +308,7 @@ export default function DraftRoom({ draftSettings, currentTeam, isCommissioner, startTransition(async () => { const result = await toggleAutoPick(currentTeam.id); if (!result.success) { - alert(result.error || 'Failed to update auto-pick preference'); + toast.error(result.error || 'Failed to update auto-pick preference'); } else { setAutoPickEnabled(result.data.autoPickEnabled); } @@ -446,7 +447,7 @@ export default function DraftRoom({ draftSettings, currentTeam, isCommissioner, if (queueError) throw queueError; if (currentQueue?.some(item => item.player_id === player.id)) { - alert('This player is already in your queue.'); + toast.warning('This player is already in your queue.'); return; } @@ -464,10 +465,10 @@ export default function DraftRoom({ draftSettings, currentTeam, isCommissioner, if (error) throw error; - alert('Player added to your queue!'); + toast.success('Player added to your queue!'); } catch (error: any) { console.error('Error adding player to queue:', error); - alert(`Failed to add player to queue: ${error?.message || 'Unknown error'}`); + toast.error(`Failed to add player to queue: ${error?.message || 'Unknown error'}`); } }} isMyTurn={isMyTurn} diff --git a/app/globals.css b/app/globals.css index f0a658d..ac9f900 100644 --- a/app/globals.css +++ b/app/globals.css @@ -325,3 +325,11 @@ animation: slideUp 0.8s ease-out 0.2s both; } } + +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + } +} diff --git a/app/home-content.tsx b/app/home-content.tsx index 9ac086e..5490371 100644 --- a/app/home-content.tsx +++ b/app/home-content.tsx @@ -35,7 +35,7 @@ export default function HomeContent({ teams }: { teams: TeamWithLeague[] }) {
@@ -200,7 +204,7 @@ export default function LeagueHome({ teams, league_id, league, draftSettings, is {weeks.length > 0 && (
{weeks.map(week => ( - Wk {week} + Wk {week} ))} Total
@@ -234,7 +238,7 @@ export default function LeagueHome({ teams, league_id, league, draftSettings, is )} {weeks.map(week => ( - + {Number(team.weeklyScores[week] || 0).toFixed(1)} ))} diff --git a/app/loading.tsx b/app/loading.tsx index 30abc35..fc75740 100644 --- a/app/loading.tsx +++ b/app/loading.tsx @@ -1,12 +1,22 @@ export default function Loading() { return ( -
-
-
-
-
+
+
+
+
+
+
+
-

Loading...

+ {[...Array(4)].map((_, i) => ( +
+
+
+
+
+
+
+ ))}
); diff --git a/app/login/page.tsx b/app/login/page.tsx index b4674bd..ae875c2 100644 --- a/app/login/page.tsx +++ b/app/login/page.tsx @@ -15,9 +15,9 @@ export default async function Login({ searchParams }: LoginProps) { const { next: redirectPath } = await searchParams; const supabase = await createClient(); - const {data : { session }} = await supabase.auth.getSession(); + const {data : { user }} = await supabase.auth.getUser(); - if (session) { + if (user) { redirect(redirectPath || '/'); } diff --git a/app/theme-toggle.tsx b/app/theme-toggle.tsx index e7e3a9c..df925c7 100644 --- a/app/theme-toggle.tsx +++ b/app/theme-toggle.tsx @@ -80,7 +80,7 @@ export default function ThemeToggle() {