Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 9 additions & 39 deletions app/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ export default async function SlugPage({

const topTeam = teams[0]
const secondTeam = teams[1]
const mvp = participants[0]

return (
<>
Expand All @@ -31,9 +30,17 @@ export default async function SlugPage({
name={hackathon.name}
edition={hackathon.edition}
date={hackathon.date}
status={hackathon.status}
votingOpen={hackathon.votingOpen ?? false}
criteria={hackathon.criteria}
participantCount={participants.length}
teamCount={teams.length}
criteriaCount={hackathon.criteria.length}
topTeam={
topTeam
? { name: topTeam.name, score: topTeam.totalScore ?? 0 }
: null
}
/>

{/* ── Highlights ─────────────────────────────────────────────── */}
Expand Down Expand Up @@ -77,7 +84,7 @@ export default async function SlugPage({

{/* 2nd place */}
<FadeUp delay={0.1}>
<div className="group flex items-start justify-between gap-8 border-t border-white/[0.08] py-8 transition-colors hover:border-white/[0.16]">
<div className="group flex items-start justify-between gap-8 border-t border-b border-white/[0.08] py-8 transition-colors hover:border-white/[0.16]">
<div className="flex items-start gap-8">
<span className="w-10 flex-shrink-0 text-sm font-black uppercase tracking-[0.2em] text-[#2debb1]">
02
Expand All @@ -99,43 +106,6 @@ export default async function SlugPage({
</div>
</FadeUp>

{/* MVP */}
<FadeUp delay={0.15}>
<div className="group flex items-start justify-between gap-8 border-t border-b border-white/[0.08] py-8 transition-colors hover:border-white/[0.16]">
<div className="flex items-start gap-8">
<span className="w-10 flex-shrink-0 text-sm font-black uppercase tracking-[0.2em] text-[#636363]">
MVP
</span>
<div>
<h3 className="text-2xl font-black leading-tight text-white sm:text-3xl">
{mvp?.name}
</h3>
<p className="mt-1 text-[10px] font-semibold uppercase tracking-[0.15em] text-[#636363]">
Embaixador de maior destaque
</p>
</div>
</div>
<div className="flex flex-shrink-0 items-start gap-8 text-right">
<div>
<div className="text-3xl font-black tabular-nums text-[#9810fa]">
<CountingNumber value={mvp?.metrics.totalPoints ?? 0} />
</div>
<div className="mt-1 text-[10px] font-semibold uppercase tracking-[0.15em] text-[#636363]">
pontos
</div>
</div>
<div>
<div className="text-3xl font-black tabular-nums text-white">
<CountingNumber value={mvp?.metrics.attendance ?? 0} />
<span className="text-xl">%</span>
</div>
<div className="mt-1 text-[10px] font-semibold uppercase tracking-[0.15em] text-[#636363]">
presença
</div>
</div>
</div>
</div>
</FadeUp>
</section>
</main>
</>
Expand Down
4 changes: 3 additions & 1 deletion app/[slug]/times/[id]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ export default async function SlugTeamDetailPage({
)}
<h1 className="mb-1 text-3xl font-extrabold text-white">{team.name}</h1>
<p className="mb-1 text-[10px] font-semibold uppercase tracking-[0.12em] text-[#636363]">{team.project}</p>
<p className="mb-4 text-[#b2b2b2]">{team.description}</p>
{team.description && (
<p className="mb-4 whitespace-pre-wrap text-[#b2b2b2]">{team.description}</p>
)}
<div className="flex flex-wrap gap-1">
{team.tags.map(tag => (
<span key={tag} className="rounded border border-white/15 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-[#636363]">
Expand Down
1 change: 1 addition & 0 deletions app/[slug]/votar/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ export default function VotarPage() {
<VoteCard
key={team._id}
team={team}
slug={slug}
voteCount={count}
isSelected={myVote?.teamId === team._id}
hasVoted={hasVoted}
Expand Down
6 changes: 6 additions & 0 deletions app/admin/hackathons/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { AdminLayout } from '@/components/admin/admin-layout'
import type { ReactNode } from 'react'

export default function HackathonsLayout({ children }: { children: ReactNode }) {
return <AdminLayout>{children}</AdminLayout>
}
Loading