From 8a75cff5016b799a9a149fa80462fc0512f7a02c Mon Sep 17 00:00:00 2001 From: mukeshs Date: Fri, 25 Sep 2026 10:57:10 +0530 Subject: [PATCH] Event Detail page --- src/app/admin/AdminDashboard.tsx | 107 +++++++++++++++++++++++--- src/app/events/[id]/page.tsx | 100 +++++++++++++++++++++++++ src/app/meetings/[id]/page.tsx | 125 +++++++++++++++++++++++++++++++ src/app/page.tsx | 4 +- src/components/DetailShell.tsx | 61 +++++++++++++++ src/components/EventDetails.tsx | 12 +++ src/components/Footer.tsx | 12 +-- src/components/Header.tsx | 40 +++++++--- src/components/PastEvents.tsx | 29 +++++-- src/components/RichText.tsx | 17 +++++ src/lib/content.ts | 6 ++ src/lib/meetings.ts | 72 ++++++++++++++++++ 12 files changed, 550 insertions(+), 35 deletions(-) create mode 100644 src/app/events/[id]/page.tsx create mode 100644 src/app/meetings/[id]/page.tsx create mode 100644 src/components/DetailShell.tsx create mode 100644 src/components/RichText.tsx diff --git a/src/app/admin/AdminDashboard.tsx b/src/app/admin/AdminDashboard.tsx index d572e96..9a35bc9 100644 --- a/src/app/admin/AdminDashboard.tsx +++ b/src/app/admin/AdminDashboard.tsx @@ -146,6 +146,14 @@ function CardActions({ ); } +function ViewLink({ href }: { href: string }) { + return ( + + View page ↗ + + ); +} + /** Local draft for one card. Resets automatically when the saved item changes (card remounts via key). */ function useDraft(item: T, id: string, onDirty: (id: string, dirty: boolean) => void) { const [draft, setDraftState] = useState(item); @@ -278,6 +286,16 @@ function MeetingCard({ setDraft({ landmark: e.target.value })} className={`${input} mt-1`} /> +