diff --git a/apps/hackathon/src/app/404.tsx b/apps/hackathon/src/app/404.tsx index 2db4df6..3a2e703 100644 --- a/apps/hackathon/src/app/404.tsx +++ b/apps/hackathon/src/app/404.tsx @@ -2,13 +2,13 @@ import { Link } from 'react-router-dom'; export default function NotFoundPage() { return ( -
+
The page you are looking for doesn't exist or has been moved.
{ const { teamId } = useParams<{ teamId: string }>(); @@ -13,16 +20,54 @@ const TeamChatPage: FC = (): ReactElement => { const { data: teamData } = useTeamById(teamId || ''); const { data: messages, isLoading } = useTeamMessages(teamId || ''); - const { mutateAsync: sendMessage, isPending: isSending } = useSendMessage(teamId || ''); + const { mutateAsync: sendMessage, isPending: isSending } = useSendMessage( + teamId || '' + ); const { mutateAsync: deleteMessage } = useDeleteMessage(teamId || ''); const team = teamData?.data; const currentUserId = session?.user?.id; + // Message type used for UI rendering + interface ChatMessage { + id: string; + user_id: string; + user?: { + avatar?: string; + fullname?: string; + }; + message: string; + created_at: string; + } + + // Inline delete confirmation UI state + const [deleteTargetId, setDeleteTargetId] = useState{team?.name}
++ {team?.name} +
{msg.message}
++ {msg.message} +
{/* Delete button */} {canDelete && (+
Be the first to start the conversation!
Only the team leader can edit team information
-+ Only the team leader can edit team information +
+Update your team details
++ Update your team details +