feat: round user tracker + fix INVITED status not updating on login
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
- Replace Semi-Finalist Tracker with Round User Tracker on dashboard - New getRoundUserStats query: round-aware account activation stats - Round selector dropdown to view any round's passed projects - sendAccountReminders now accepts optional roundId for scoped reminders - Fix: signIn callback now sets status=ACTIVE for INVITED users on login - DB fix: 5 users who logged in via magic link but stayed INVITED → ACTIVE Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -35,7 +35,7 @@ import { ActivityFeed } from '@/components/dashboard/activity-feed'
|
||||
import { CategoryBreakdown } from '@/components/dashboard/category-breakdown'
|
||||
import { DashboardSkeleton } from '@/components/dashboard/dashboard-skeleton'
|
||||
import { RecentEvaluations } from '@/components/dashboard/recent-evaluations'
|
||||
import { SemiFinalistTracker } from '@/components/dashboard/semi-finalist-tracker'
|
||||
import { RoundUserTracker } from '@/components/dashboard/round-user-tracker'
|
||||
|
||||
type DashboardContentProps = {
|
||||
editionId: string
|
||||
@@ -126,11 +126,7 @@ export function DashboardContent({ editionId, sessionName }: DashboardContentPro
|
||||
{ limit: 8 },
|
||||
{ enabled: !!editionId, refetchInterval: 30_000 }
|
||||
)
|
||||
const { data: semiFinalistStats } = trpc.dashboard.getSemiFinalistStats.useQuery(
|
||||
{ editionId },
|
||||
{ enabled: !!editionId, refetchInterval: 120_000 }
|
||||
)
|
||||
const { data: featureFlags } = trpc.settings.getFeatureFlags.useQuery()
|
||||
// Round User Tracker is self-contained — it fetches its own data
|
||||
|
||||
if (isLoading) {
|
||||
return <DashboardSkeleton />
|
||||
@@ -277,17 +273,9 @@ export function DashboardContent({ editionId, sessionName }: DashboardContentPro
|
||||
<SmartActions actions={nextActions} />
|
||||
</AnimatedCard>
|
||||
|
||||
{semiFinalistStats && semiFinalistStats.byCategory.length > 0 && (
|
||||
<AnimatedCard index={6}>
|
||||
<SemiFinalistTracker
|
||||
byCategory={semiFinalistStats.byCategory}
|
||||
byAward={semiFinalistStats.byAward}
|
||||
unactivatedProjects={semiFinalistStats.unactivatedProjects}
|
||||
editionId={editionId}
|
||||
reminderThresholdDays={featureFlags?.accountReminderDays}
|
||||
/>
|
||||
</AnimatedCard>
|
||||
)}
|
||||
<AnimatedCard index={6}>
|
||||
<RoundUserTracker editionId={editionId} />
|
||||
</AnimatedCard>
|
||||
|
||||
<AnimatedCard index={7}>
|
||||
<ActivityFeed activity={liveActivity ?? recentActivity} />
|
||||
|
||||
Reference in New Issue
Block a user