- {name} -
-- {rollNumberLabel}: {rollNumber} -
++ {name} +
+ ++ {rollNumber} +
+ + ); diff --git a/app/[locale]/contributions-for-website-development/contributor-timeline.tsx b/app/[locale]/contributions-for-website-development/contributor-timeline.tsx new file mode 100644 index 000000000..d1752d65b --- /dev/null +++ b/app/[locale]/contributions-for-website-development/contributor-timeline.tsx @@ -0,0 +1,61 @@ +'use client'; + +import { Timeline } from '~/components/ui/timeline'; + +import ContributorCard from './contributor-card'; + +interface Contributor { + id: number; + name: string; + rollNumber: string; + image: string | null; + designation: 'developer' | 'designer' | 'devops'; + githubId: string | null; + linkedinId: string | null; +} + +interface Props { + contributorsByYear: Record- {text.description} -
-+ {text.description} +
+{text.noContributors}
- ) : ( - sortedYears.map((year) => ( -{text.StudentCouncil.about}
++ No core committee members found. +
+ )} + ++ No nominated students found. +
+ )} + ++ No student representatives found. +
+ )} +-
- {placementStats.map((href, index) => (
-
- + {sessions.map((session) => ( +
-
- {text.stats.content[index] ?? - `Placement Statistics ${index + 1}`} + Academic Session {session}
))}
@@ -267,7 +271,7 @@ export default async function TrainingAndPlacement({
+ The academic session {session} is not available. +
+ + Back to Training & Placement + +-
+ {pdfs.map((pdf) => (
+
-
+
+ + {pdf.name} + +
+ ))}
+
+ {yearDropdown.title} +
+ ++