From 2d62fb7d48f0f2f42a8fbc20abadb19af722edf4 Mon Sep 17 00:00:00 2001 From: Brian Nelson Date: Sat, 5 Jul 2025 10:07:17 -0400 Subject: [PATCH] event dashbaord --- app/(auth)/events/[eventId]/page.tsx | 14 +- components/EventInfoDisplay.tsx | 2 +- components/EventNotesEditor.tsx | 3 - components/ToDoList.tsx | 203 +++++++++++++----------- components/events/EventDashboard.tsx | 40 +++++ components/events/EventInfo.tsx | 50 ++++++ components/events/EventRsvpTracking.tsx | 36 +++++ types.d.ts | 34 +++- 8 files changed, 278 insertions(+), 104 deletions(-) create mode 100644 components/events/EventDashboard.tsx create mode 100644 components/events/EventInfo.tsx create mode 100644 components/events/EventRsvpTracking.tsx diff --git a/app/(auth)/events/[eventId]/page.tsx b/app/(auth)/events/[eventId]/page.tsx index a6a2a57..c6d2f28 100644 --- a/app/(auth)/events/[eventId]/page.tsx +++ b/app/(auth)/events/[eventId]/page.tsx @@ -1,20 +1,24 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -import EventInfoDisplay from '@/components/EventInfoDisplay' +import EventDashboard from '@/components/events/EventDashboard' import { queries } from '@/lib/queries' import React from 'react' export default async function SingleEventPage({ params }: { params: { eventId: string }}) { const data = await queries.singleEvent(params.eventId) - console.log(data) return ( -
+ <> + + {/*
+ {data ? ( // @ts-ignore ) : (

Event not found.

)} -
+
*/} + ) } diff --git a/components/EventInfoDisplay.tsx b/components/EventInfoDisplay.tsx index 59f757e..7b56fcd 100644 --- a/components/EventInfoDisplay.tsx +++ b/components/EventInfoDisplay.tsx @@ -50,7 +50,7 @@ export default function EventInfoDisplay({ event }: Props) { const [todos, setTodos] = useState(event.todos) const eventGuests = event.eventGuests - console.log(eventGuests) + // console.log(eventGuests) const [saving, setSaving] = useState(false) const [error, setError] = useState('') diff --git a/components/EventNotesEditor.tsx b/components/EventNotesEditor.tsx index 95e2748..d7cba0d 100644 --- a/components/EventNotesEditor.tsx +++ b/components/EventNotesEditor.tsx @@ -66,9 +66,6 @@ export default function EventNotesEditor({ eventId, initialNotes, canEdit }: Pro return (
-

- Notes -

{ diff --git a/components/ToDoList.tsx b/components/ToDoList.tsx index 27495f4..893e1d1 100644 --- a/components/ToDoList.tsx +++ b/components/ToDoList.tsx @@ -1,5 +1,7 @@ 'use client' import React, { useState } from 'react' +import { Card, CardContent } from './ui/card' +import { Tabs, TabsContent, TabsList, TabsTrigger } from './ui/tabs' interface Todo { id: string @@ -15,7 +17,7 @@ interface Props { onUpdate: () => void } -export default function ToDoList({ eventId, initialTodos, onUpdate }: Props) { +export default function ToDoList({ eventId, initialTodos, onUpdate }: Props) { const [todos, setTodos] = useState(initialTodos) const [newName, setNewName] = useState('') const [newDueDate, setNewDueDate] = useState('') @@ -88,104 +90,117 @@ export default function ToDoList({ eventId, initialTodos, onUpdate }: Props) { } return ( -
-

To Do List

- -
- setNewName(e.target.value)} - /> - setNewDueDate(e.target.value)} - /> - -
- -
    - {todos.map(todo => ( -
  • -
    -
    - toggleComplete(todo.id, e.target.checked)} - /> - - {todo.name} - - {todo.dueDate && ( - - (Due {new Date(todo.dueDate).toLocaleDateString()}) - - )} -
    - -
    - - {/* Notes Section */} -
    - {editingNoteId === todo.id ? ( -
    -