@@ -9,28 +9,118 @@ import {
99 Badge ,
1010} from '@fmicodes/fmicodes-ui/lib/components/common/server' ;
1111import Image from 'next/image' ;
12- import { Trophy , Medal } from 'lucide-react' ;
12+ import { Trophy , Medal , Github } from 'lucide-react' ;
1313
1414// Hardcoded teams data
1515const teamsData = [
16- { id : 1 , name : 'The Commiters' , totalPoints : 74 } ,
17- { id : 2 , name : 'Kopengafen' , totalPoints : 74 } ,
18- { id : 3 , name : 'Exodia' , totalPoints : 74 } ,
19- { id : 4 , name : 'Zafira' , totalPoints : 72 } ,
20- { id : 5 , name : 'Corgi Lovers' , totalPoints : 71 } ,
21- { id : 6 , name : 'Hummingbird' , totalPoints : 70 } ,
22- { id : 7 , name : 'The Social Butterflies' , totalPoints : 70 } ,
23- { id : 8 , name : 'Жълта Книжка' , totalPoints : 69 } ,
24- { id : 9 , name : 'The Chu' , totalPoints : 69 } ,
25- { id : 10 , name : 'Kolegite' , totalPoints : 68 } ,
26- { id : 11 , name : 'Ctrl+Alt+Elite' , totalPoints : 68 } ,
27- { id : 12 , name : 'CodeBros' , totalPoints : 67 } ,
28- { id : 13 , name : 'Баланджинатор' , totalPoints : 66 } ,
29- { id : 14 , name : 'SpanakHaters' , totalPoints : 65 } ,
30- { id : 15 , name : 'PeakMotion' , totalPoints : 65 } ,
31- { id : 16 , name : 'Гвинпин' , totalPoints : 64 } ,
32- { id : 17 , name : '2^2' , totalPoints : 64 } ,
33- { id : 18 , name : 'ByteStorm' , totalPoints : 54 } ,
16+ {
17+ id : 1 ,
18+ name : 'The Commiters' ,
19+ totalPoints : 74 ,
20+ github : 'https://github.com/Alexander759/CellularAutomaton' ,
21+ } ,
22+ {
23+ id : 2 ,
24+ name : 'Kopengafen' ,
25+ totalPoints : 74 ,
26+ github : 'https://github.com/RamiHennawi/fmi-codes-2025' ,
27+ } ,
28+ {
29+ id : 3 ,
30+ name : 'Exodia' ,
31+ totalPoints : 74 ,
32+ github : 'https://github.com/ExodiaFMI/' ,
33+ } ,
34+ {
35+ id : 4 ,
36+ name : 'Zafira' ,
37+ totalPoints : 72 ,
38+ github : 'https://github.com/MartinM2304/hackathon2025/tree/main' ,
39+ } ,
40+ {
41+ id : 5 ,
42+ name : 'Corgi Lovers' ,
43+ totalPoints : 71 ,
44+ github : 'https://github.com/Hackaton-2025-ASN/ASN' ,
45+ } ,
46+ {
47+ id : 6 ,
48+ name : 'Hummingbird' ,
49+ totalPoints : 70 ,
50+ github : 'https://github.com/Hummingbird-FMI-Codes' ,
51+ } ,
52+ {
53+ id : 7 ,
54+ name : 'The Social Butterflies' ,
55+ totalPoints : 70 ,
56+ github : 'https://github.com/Alexander1022/social-flutter' ,
57+ } ,
58+ {
59+ id : 8 ,
60+ name : 'Жълта Книжка' ,
61+ totalPoints : 69 ,
62+ github : 'https://github.com/TheBookThief/yellow-note-book' ,
63+ } ,
64+ {
65+ id : 9 ,
66+ name : 'The Chu' ,
67+ totalPoints : 69 ,
68+ github : 'https://github.com/ItsRizee/fmi-codes' ,
69+ } ,
70+ {
71+ id : 10 ,
72+ name : 'Kolegite' ,
73+ totalPoints : 68 ,
74+ github : 'https://github.com/michislava/Insecta' ,
75+ } ,
76+ {
77+ id : 11 ,
78+ name : 'Ctrl+Alt+Elite' ,
79+ totalPoints : 68 ,
80+ github : 'https://github.com/MihailTs/VROOM' ,
81+ } ,
82+ {
83+ id : 12 ,
84+ name : 'CodeBros' ,
85+ totalPoints : 67 ,
86+ github : 'https://github.com/MartiHr/TimeBug' ,
87+ } ,
88+ {
89+ id : 13 ,
90+ name : 'Баланджинатор' ,
91+ totalPoints : 66 ,
92+ github : 'https://github.com/orgs/Balajinator-FMI/repositories' ,
93+ } ,
94+ {
95+ id : 14 ,
96+ name : 'SpanakHaters' ,
97+ totalPoints : 65 ,
98+ github : 'https://github.com/SuperMiro0809/FMI-Codes-2025.git' ,
99+ } ,
100+ {
101+ id : 15 ,
102+ name : 'PeakMotion' ,
103+ totalPoints : 65 ,
104+ github : 'https://github.com/VelislavP/peakmotion-front-end' ,
105+ } ,
106+ {
107+ id : 16 ,
108+ name : 'Гвинпин' ,
109+ totalPoints : 64 ,
110+ github : 'https://github.com/JivkoNushev/IoT-Firewall' ,
111+ } ,
112+ {
113+ id : 17 ,
114+ name : '2^2' ,
115+ totalPoints : 64 ,
116+ github : 'https://github.com/N1k1ta-white/StatUI' ,
117+ } ,
118+ {
119+ id : 18 ,
120+ name : 'ByteStorm' ,
121+ totalPoints : 54 ,
122+ github : 'https://github.com/polinizal/MadScientists' ,
123+ } ,
34124] ;
35125
36126export async function generateMetadata ( ) : Promise < Metadata > {
@@ -86,6 +176,16 @@ export default async function RankingPage() {
86176 < div className = "flex flex-col gap-2" >
87177 < h3 className = "text-2xl font-bold text-ellipsis overflow-hidden whitespace-nowrap" >
88178 { firstTeam . name }
179+ { firstTeam . github && (
180+ < a
181+ href = { firstTeam . github }
182+ target = "_blank"
183+ rel = "noopener noreferrer"
184+ className = "ml-2 inline-block p-1 bg-black rounded-full hover:bg-gray-800 transition-colors"
185+ >
186+ < Github className = "w-5 h-5 text-white" />
187+ </ a >
188+ ) }
89189 </ h3 >
90190 < div className = "flex items-center justify-between" >
91191 < Badge className = "bg-yellow-100 text-yellow-800 border-yellow-300 dark:bg-yellow-900 dark:text-yellow-100 dark:border-yellow-700 text-sm" >
@@ -135,6 +235,16 @@ export default async function RankingPage() {
135235 < div className = "flex flex-col gap-2" >
136236 < h3 className = "text-xl font-bold text-ellipsis overflow-hidden whitespace-nowrap" >
137237 { secondTeam . name }
238+ { secondTeam . github && (
239+ < a
240+ href = { secondTeam . github }
241+ target = "_blank"
242+ rel = "noopener noreferrer"
243+ className = "ml-2 inline-block p-1 bg-black rounded-full hover:bg-gray-800 transition-colors"
244+ >
245+ < Github className = "w-4 h-4 text-white" />
246+ </ a >
247+ ) }
138248 </ h3 >
139249 < div className = "flex items-center justify-between" >
140250 < Badge variant = "outline" className = "text-sm" >
@@ -184,6 +294,16 @@ export default async function RankingPage() {
184294 < div className = "flex flex-col gap-2" >
185295 < h3 className = "text-xl font-bold text-ellipsis overflow-hidden whitespace-nowrap" >
186296 { thirdTeam . name }
297+ { thirdTeam . github && (
298+ < a
299+ href = { thirdTeam . github }
300+ target = "_blank"
301+ rel = "noopener noreferrer"
302+ className = "ml-2 inline-block p-1 bg-black rounded-full hover:bg-gray-800 transition-colors"
303+ >
304+ < Github className = "w-4 h-4 text-white" />
305+ </ a >
306+ ) }
187307 </ h3 >
188308 < div className = "flex items-center justify-between" >
189309 < Badge variant = "outline" className = "text-sm" >
@@ -238,7 +358,19 @@ export default async function RankingPage() {
238358 </ div >
239359 < div className = "flex flex-col md:flex-row md:items-center justify-between w-full" >
240360 < div >
241- < h3 className = "font-bold text-lg" > { team . name } </ h3 >
361+ < h3 className = "font-bold text-lg" >
362+ { team . name }
363+ { team . github && (
364+ < a
365+ href = { team . github }
366+ target = "_blank"
367+ rel = "noopener noreferrer"
368+ className = "ml-2 inline-block p-1 bg-black rounded-full hover:bg-gray-800 transition-colors"
369+ >
370+ < Github className = "w-4 h-4 text-white" />
371+ </ a >
372+ ) }
373+ </ h3 >
242374 < Badge variant = "outline" className = "text-xs mt-1" >
243375 Отбор #{ team . id }
244376 </ Badge >
0 commit comments