"use client"; import { useState, useEffect, Suspense } from "react"; import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; import { InputOTP, InputOTPGroup, InputOTPSlot, } from "@/components/ui/input-otp"; import { Card, CardContent } from "@/components/ui/card"; import Image from "next/image"; import { ThemeProvider } from "next-themes"; import { Skeleton } from "@/components/ui/skeleton"; const Home = () => { const router = useRouter(); const [newRoomCode, setNewRoomCode] = useState(""); useEffect(() => { const joinRoom = () => { if (newRoomCode) { router.push(`/room?code=${newRoomCode.toUpperCase()}`); } }; if (newRoomCode.length === 6) { joinRoom(); } }, [newRoomCode, router]); const createNewRoom = () => { const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; let code = ""; for (let i = 0; i < 6; i++) { code += chars.charAt(Math.floor(Math.random() * chars.length)); } router.push(`/room?code=${code}`); }; return (
Room Logo
setNewRoomCode(value.toUpperCase())} maxLength={6} pattern="[A-Z0-9]*" inputMode="text" > {[...Array(6)].map((_, index) => ( ))} or
); }; const SkeletonHome = () => { return (
or
); }; const HomeWrapper = () => ( }> ); export default HomeWrapper;