diff --git a/app/(saas)/discover/_components/page-banner/page-banner.tsx b/app/(saas)/discover/_components/page-banner/page-banner.tsx
new file mode 100644
index 000000000..f6cf78ac9
--- /dev/null
+++ b/app/(saas)/discover/_components/page-banner/page-banner.tsx
@@ -0,0 +1,58 @@
+import { Target } from "lucide-react";
+import Link from "next/link";
+import { useCallback } from "react";
+
+import { LiveHackathonCard } from "@/app/(saas)/osw/_components/live-hackathon-card/live-hackathon-card";
+
+import { HackathonReactQueryAdapter } from "@/core/application/react-query-adapter/hackathon";
+
+import { ErrorState } from "@/shared/components/error-state/error-state";
+import { NEXT_ROUTER } from "@/shared/constants/router";
+import { ListBanner } from "@/shared/features/list-banner/list-banner";
+import { Button } from "@/shared/ui/button";
+import { Skeleton } from "@/shared/ui/skeleton";
+
+export function PageBanner() {
+ const { data, isLoading, isError } = HackathonReactQueryAdapter.client.useGetHackathons({});
+
+ const renderLiveHackathon = useCallback(() => {
+ if (isLoading) {
+ return ;
+ }
+
+ if (isError) return ;
+
+ if (!data)
+ return (
+
+ Embark on an ODQuest Adventure
+ >
+ ),
+ }}
+ subtitle={{
+ children:
+ "Unlock epic rewards by conquering challenges and join a thriving community of adventurers on an exciting Quest!",
+ }}
+ logo={}
+ classNames={{
+ base: "bg-gradient-to-br from-indigo-900 to-transparent to-80%",
+ }}
+ >
+
+
+ );
+
+ const liveHackathon = data.hackathons.find(hackathon => hackathon.isLive());
+
+ if (!liveHackathon) return null;
+
+ return ;
+ }, [data, isError, isLoading]);
+
+ return renderLiveHackathon();
+}
diff --git a/app/(saas)/discover/_features/page-header/page-header.tsx b/app/(saas)/discover/_features/page-header/page-header.tsx
index 52ef08c59..a3aa74755 100644
--- a/app/(saas)/discover/_features/page-header/page-header.tsx
+++ b/app/(saas)/discover/_features/page-header/page-header.tsx
@@ -11,7 +11,7 @@ export function PageHeader() {
diff --git a/app/(saas)/discover/v2.tsx b/app/(saas)/discover/v2.tsx
index 3321999f3..b0c342c79 100644
--- a/app/(saas)/discover/v2.tsx
+++ b/app/(saas)/discover/v2.tsx
@@ -1,8 +1,8 @@
+import { PageBanner } from "@/app/(saas)/discover/_components/page-banner/page-banner";
+
import { NavigationBreadcrumb } from "@/shared/features/navigation/navigation.context";
import { PageContainer } from "@/shared/features/page/page-container/page-container";
import { PageInner } from "@/shared/features/page/page-inner/page-inner";
-import { Card, CardContent, CardHeader, CardTitle } from "@/shared/ui/card";
-import { TypographyP } from "@/shared/ui/typography";
import { IssueCard } from "./_components/issue-card/issue-card";
import { NewProjectCard } from "./_components/new-project-card/new-project-card";
@@ -57,6 +57,9 @@ export default function DiscoverPageV2() {
/>
))}
+
+
+
+
-
-
-
+
+
+
+
+
+
+ {children ?
{children}
: null}
;
subtitle: TypoPort<"p">;
logo?: ReactNode;
-};
+ classNames?: {
+ base?: string;
+ };
+}