'use client'; import React, { useState, useEffect } from 'react'; import { useRouter } from 'next/navigation'; import { onAuthStateChanged, User } from 'firebase/auth'; import { firebaseAuth } from '../../../lib/firebase-client'; import { GroupRidesManagement } from '../../../components/group-rides/group-rides-management'; export default function GroupRidesManageRoute() { const router = useRouter(); const [currentUser, setCurrentUser] = useState(firebaseAuth?.currentUser ?? null); const [authChecked, setAuthChecked] = useState(Boolean(firebaseAuth?.currentUser)); useEffect(() => { const unsubscribe = onAuthStateChanged(firebaseAuth, (user) => { setCurrentUser(user); setAuthChecked(true); if (!user) { router.replace('/login?redirect=/group-rides/manage'); } }); return () => unsubscribe(); }, [router]); // If auth is still checking or user is not logged in (and redirecting), show clean loading skeleton if (!authChecked || !currentUser) { return (
Verifying rider credentials & permissions...
); } return ; }