From fe172cc1283188690ea0a4ae071f8b3ba4883f21 Mon Sep 17 00:00:00 2001 From: Hafid Nur <73023445+hafidnrzs@users.noreply.github.com> Date: Tue, 16 Dec 2025 12:33:23 +0700 Subject: [PATCH] feat(hackathon): winner certificate (#73) * update hackathon landing page * feat(hackathon): draft winner certificate * feat(hackathon): refine winner certificate --- .../public/images/blank_winner_cert.svg | 132 ++++ .../src/app/certificate/[certId]/page.tsx | 16 +- .../src/app/certificate/winner-data.json | 236 ++++++++ .../app/certificate/winner/[certId]/page.tsx | 569 ++++++++++++++++++ apps/hackathon/src/app/dashboard/page.tsx | 74 ++- apps/hackathon/src/utils/certificate.ts | 31 + 6 files changed, 1040 insertions(+), 18 deletions(-) create mode 100644 apps/hackathon/public/images/blank_winner_cert.svg create mode 100644 apps/hackathon/src/app/certificate/winner-data.json create mode 100644 apps/hackathon/src/app/certificate/winner/[certId]/page.tsx diff --git a/apps/hackathon/public/images/blank_winner_cert.svg b/apps/hackathon/public/images/blank_winner_cert.svg new file mode 100644 index 0000000..6e04da2 --- /dev/null +++ b/apps/hackathon/public/images/blank_winner_cert.svg @@ -0,0 +1,132 @@ + diff --git a/apps/hackathon/src/app/certificate/[certId]/page.tsx b/apps/hackathon/src/app/certificate/[certId]/page.tsx index 3506046..1a87e8e 100644 --- a/apps/hackathon/src/app/certificate/[certId]/page.tsx +++ b/apps/hackathon/src/app/certificate/[certId]/page.tsx @@ -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 && ( @@ -425,7 +421,7 @@ const CertificatePage: FC = (): ReactElement => { {/* Actions */} {isTeamMember && ( -
+ Anda dapat generate sertifikat penghargaan dan + membagikannya. +
+