diff --git a/app/images/projectPlaceholder.png b/app/images/projectPlaceholder.png new file mode 100644 index 00000000..eaf56eb3 Binary files /dev/null and b/app/images/projectPlaceholder.png differ diff --git a/app/waves/[waveId]/applications/[applicationId]/page.tsx b/app/waves/[waveId]/applications/[applicationId]/page.tsx index 78537cbc..c1ae0692 100644 --- a/app/waves/[waveId]/applications/[applicationId]/page.tsx +++ b/app/waves/[waveId]/applications/[applicationId]/page.tsx @@ -1,11 +1,13 @@ +import { type ReactNode } from "react"; +import Image from "next/image"; import { notFound } from "next/navigation"; import { getApplicationWithComments } from "@/drizzle/queries/applications"; -import { formatDate } from "@/lib/dates"; +import { cn } from "@/lib/cn"; import { parseMarkdown } from "@/lib/parseMarkdown"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; -import { Card } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; +import projectPlaceholder from "@/app/images/projectPlaceholder.png"; import { AddCommentForm } from "./addCommentForm/addCommentForm"; @@ -22,7 +24,6 @@ export default async function Application({ return notFound(); } - const applicationHtml = await parseMarkdown(application.description); const commentsHtml = await Promise.all( application.comments.map((comment) => parseMarkdown(comment.content)), ); @@ -30,33 +31,58 @@ export default async function Application({ return (

{application.name}

- - - - - - -
-
-
{application.users.name}
-
{formatDate(application.createdAt)}
-
-
-
-
+
+
+ +
+ + + + +
+ {application.users.name} + Member +
+
+
+ + + + + Wallfacer + + + + + + 3 months + + + + + + 1,025,000.00 WLD + + + + + + + Work towards decentralized governance app for Worldcoin Grants + using Worldcoin ID, featuring forums, committees, and voting, + ensuring fair, sybil-proof engagement. + +
- + +
@@ -97,3 +123,25 @@ export default async function Application({
); } + +function ContentRow({ + children, + label, + vertical, +}: { + children: ReactNode; + label: string; + vertical?: boolean; +}) { + return ( +
+ {label} + {children} +
+ ); +}