-
-
-
-
-
- Welcome to Boundless
-
-
- Your platform for crowdfunding and grants
-
-
-
-
- This is your dashboard where you can manage your projects, view
- contributions, and access all the features of the platform. The
- authentication system is now working properly!
-
-
-
-
-
-
- );
-}
diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx
deleted file mode 100644
index 69a6c55d..00000000
--- a/app/dashboard/page.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import { DashboardContent } from '@/components/dashboard-content';
-import React from 'react';
-
-export default function Page() {
- return ;
-}
diff --git a/components/dashboard-content.tsx b/components/dashboard-content.tsx
index a8dcd2c5..2aba3177 100644
--- a/components/dashboard-content.tsx
+++ b/components/dashboard-content.tsx
@@ -7,7 +7,7 @@ import { SectionCards } from '@/components/section-cards';
import { SiteHeader } from '@/components/site-header';
import { SidebarInset, SidebarProvider } from '@/components/ui/sidebar';
import { useAuthStatus } from '@/hooks/use-auth';
-import data from '../app/dashboard/data.json';
+import data from '../data/data.json';
import React, { useState } from 'react';
import { FamilyWalletButton } from '@/components/wallet/FamilyWalletButton';
import {
diff --git a/components/hackathons/hackathonBanner.tsx b/components/hackathons/hackathonBanner.tsx
index f08d27b0..d18a9212 100644
--- a/components/hackathons/hackathonBanner.tsx
+++ b/components/hackathons/hackathonBanner.tsx
@@ -30,6 +30,7 @@ interface HackathonBannerProps {
onLeaveClick?: () => void;
isLeaving?: boolean;
participantType?: 'INDIVIDUAL' | 'TEAM' | 'TEAM_OR_INDIVIDUAL';
+ submissionDeadlineExtendedAt?: string | null;
}
export function HackathonBanner({
@@ -46,6 +47,7 @@ export function HackathonBanner({
registrationDeadline,
isLeaving,
participantType,
+ submissionDeadlineExtendedAt,
onJoinClick,
onSubmitClick,
onViewSubmissionClick,
@@ -252,6 +254,11 @@ export function HackathonBanner({
{status === 'ongoing' ? 'Ends In' : 'Starts In'}
+ {status === 'ongoing' && submissionDeadlineExtendedAt && (
+
+ Extended
+
+ )}
void;
onLeaveClick?: () => void;
participantType?: 'INDIVIDUAL' | 'TEAM' | 'TEAM_OR_INDIVIDUAL';
+ submissionDeadlineExtendedAt?: string | null;
}
export function HackathonStickyCard(props: HackathonStickyCardProps) {
@@ -54,6 +55,7 @@ export function HackathonStickyCard(props: HackathonStickyCardProps) {
onLeaveClick,
isLeaving,
participantType,
+ submissionDeadlineExtendedAt,
} = props;
const { status } = useHackathonStatus(startDate, deadline);
@@ -162,6 +164,11 @@ export function HackathonStickyCard(props: HackathonStickyCardProps) {
Deadline
{formatDateWithFallback(deadline)}
+ {submissionDeadlineExtendedAt && (
+
+ Extended
+
+ )}
)}
diff --git a/app/dashboard/data.json b/data/data.json
similarity index 100%
rename from app/dashboard/data.json
rename to data/data.json
diff --git a/lib/api/hackathon.ts b/lib/api/hackathon.ts
index b450807e..b747804f 100644
--- a/lib/api/hackathon.ts
+++ b/lib/api/hackathon.ts
@@ -55,7 +55,6 @@ export const getHackathon = async (
slug: string
): Promise => {
const res = await api.get(`/hackathons/s/${slug}`);
-
return res.data as GetHackathonResponse;
};
diff --git a/lib/api/hackathons.ts b/lib/api/hackathons.ts
index dc6e1ecc..3b63befe 100644
--- a/lib/api/hackathons.ts
+++ b/lib/api/hackathons.ts
@@ -347,6 +347,7 @@ export type Hackathon = {
startDate: string; // ISO date
submissionDeadline: string; // ISO date
+ submissionDeadlineExtendedAt?: string | null;
registrationDeadline: string; // ISO date
judgingDeadline?: string; // ISO date