From 2da42f240cf39e7cb629c3a17766cf80c4718de2 Mon Sep 17 00:00:00 2001 From: Kalidou Diagne Date: Thu, 11 Sep 2025 16:30:46 +0800 Subject: [PATCH] feat: graduated projects section (#554) * feat: graduated projects section --- app/(pages)/projects/page.tsx | 33 +-- app/labels.ts | 14 ++ app/layout.tsx | 4 - app/providers/ProjectsProvider.tsx | 29 ++- components/CSSLoader.tsx | 24 --- components/blog/article-in-evidance-card.tsx | 4 +- components/icons.tsx | 30 +++ components/project/project-graduated.tsx | 55 +++++ components/sections/HomepageBanner.tsx | 83 +++++-- components/site-footer.tsx | 2 +- components/slider.tsx | 214 +++++++++++++++++++ components/ui/checkbox.tsx | 7 +- config/site.ts | 3 + content/projects/README.md | 1 + content/projects/cursive.md | 3 +- content/projects/openpassport.md | 3 +- content/projects/zk-email.md | 1 + content/projects/zkp2p.md | 1 + globals.css | 2 +- lib/critical-css.ts | 89 -------- lib/types.ts | 1 + 21 files changed, 430 insertions(+), 173 deletions(-) delete mode 100644 components/CSSLoader.tsx create mode 100644 components/project/project-graduated.tsx create mode 100644 components/slider.tsx delete mode 100644 lib/critical-css.ts diff --git a/app/(pages)/projects/page.tsx b/app/(pages)/projects/page.tsx index 404de00..46963f1 100644 --- a/app/(pages)/projects/page.tsx +++ b/app/(pages)/projects/page.tsx @@ -1,9 +1,9 @@ import { LABELS } from "@/app/labels" import ProjectFiltersBar from "@/components/project/project-filters-bar" +import { ProjectGraduated } from "@/components/project/project-graduated" import { ProjectList } from "@/components/project/project-list" import { ProjectResultBar } from "@/components/project/project-result-bar" import { AppContent } from "@/components/ui/app-content" -import { Label } from "@/components/ui/label" import { Metadata } from "next" import { Suspense } from "react" @@ -16,26 +16,27 @@ export const metadata: Metadata = { export default async function ProjectsPage() { return (
- -
-
-
-

- {LABELS.PROJECTS_PAGE.TITLE} -

+ +
+
+
+
+

+ {LABELS.PROJECTS_PAGE.TITLE} +

+ Loading...
}> + + +
-
- Loading...
}> -
- -
- - -
+ Loading...
}> + +
+
) } diff --git a/app/labels.ts b/app/labels.ts index 5a916b6..676b89d 100644 --- a/app/labels.ts +++ b/app/labels.ts @@ -122,6 +122,18 @@ export const LABELS = { ERROR_LOADING_VIDEOS: "Error loading videos", CHECK_OUT_OUR_YOUTUBE: "Check out our YouTube to learn the latest in advanced cryptography.", + LEARN_AND_CONNECT: { + TITLE: "Learn & Connect", + DESCRIPTION: + "Join the Ethereum R&D discord to get updates on PSE projects and talk with other privacy builders and researchers about the future of privacy on Ethereum.", + ACTION: "Join the ETH R&D Discord", + }, + COLLABORATE_AND_CONTRIBUTE: { + TITLE: "Collaborate & Contribute", + DESCRIPTION: + "Connect with us on the Ethereum Magicians to dive into technical discussions, give feedback, make proposals, and collaborate on research and development.", + ACTION: "Join Ethereum Magicians", + }, }, NEWS_SECTION: { RECENT_UPDATES: "Recent Updates", @@ -221,6 +233,8 @@ export const LABELS = { }, PROJECTS_PAGE: { TITLE: "Explore Our Projects", + GRADUATED_PROJECTS: + "Explore graduated projects that have spun out into the ecosystem", }, RESEARCH_PAGE: { TITLE: "Explore Our Research", diff --git a/app/layout.tsx b/app/layout.tsx index e0fa131..0fca8fb 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,4 +1,3 @@ -import { criticalCSS } from "@/lib/critical-css" import "@/globals.css" import { ThemeProvider } from "./components/layouts/ThemeProvider" import { GlobalProviderLayout } from "@/components/layouts/GlobalProviderLayout" @@ -131,9 +130,6 @@ export default function RootLayout({ children }: RootLayoutProps) { `} - {/* Inline critical CSS for immediate render */} -