'use client' import { createClient } from '@/utils/supabase/client' import { redirect } from 'next/navigation' import { SubmitButton } from './submit-button' import { useEffect, useState } from 'react' import { RealtimeChannel } from '@supabase/supabase-js' export default function CreateRoomModal({ channel }: { channel: RealtimeChannel | null }) { const supabase = createClient() const createRoom = async (formData: FormData) => { const topic = formData.get('topic') as string const user = await supabase.auth.getUser() const token = (await supabase.auth.getSession()).data.session!.access_token supabase.realtime.setAuth(token) const rooms_response = await supabase.from('rooms').insert({ topic }).select('topic') if (rooms_response.data) { await supabase .from('rooms_users') .insert({ user_id: user.data.user!.id, room_topic: rooms_response.data![0].topic }) await channel?.send({ type: 'broadcast', event: 'new_room', payload: {}, }) return redirect(`/protected`) } } const close = async () => { return redirect(`/protected`) } return (