feat(hackathon): winner certificate (#73)

* update hackathon landing page

* feat(hackathon): draft winner certificate

* feat(hackathon): refine winner certificate
This commit is contained in:
Hafid Nur
2025-12-16 12:33:23 +07:00
committed by GitHub
parent 38ee9a9549
commit fe172cc128
6 changed files with 1040 additions and 18 deletions
@@ -42,10 +42,8 @@ const CertificatePage: FC = (): ReactElement => {
}, [certId]);
// Fetch certificate data using the new endpoint
const { data: certificateData, isLoading: isLoadingCertificate } = useCertificatePublicData(
decodedInfo?.userId || '',
!!decodedInfo?.userId
);
const { data: certificateData, isLoading: isLoadingCertificate } =
useCertificatePublicData(decodedInfo?.userId || '', !!decodedInfo?.userId);
// Generate QR Code
useEffect(() => {
@@ -292,9 +290,7 @@ const CertificatePage: FC = (): ReactElement => {
{team && isTeamMember && (
<Button
variant="secondary"
onClick={() =>
navigate(`/teams/${team.id}/submission`)
}
onClick={() => navigate(`/teams/${team.id}/submission`)}
>
Back to Submission
</Button>
@@ -425,7 +421,7 @@ const CertificatePage: FC = (): ReactElement => {
{/* Actions */}
{isTeamMember && (
<div className="bg-gray-50 dark:bg-gray-800 p-6 grid grid-cols-2 xl:grid-cols-3 gap-3 justify-center no-print">
<div className="bg-gray-50 dark:bg-gray-900 p-6 grid grid-cols-2 xl:grid-cols-3 gap-3 justify-center no-print">
<Button
variant="secondary"
onClick={handleDownloadCertificate}
@@ -444,9 +440,7 @@ const CertificatePage: FC = (): ReactElement => {
</Button>
{team && (
<Button
onClick={() =>
navigate(`/teams/${team.id}/submission`)
}
onClick={() => navigate(`/teams/${team.id}/submission`)}
variant="secondary"
className="col-span-2 flex items-center gap-2 xl:col-span-1"
>