Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use client"
- import Conditional from "@/components/Conditional"
- import { useSupabase } from "@/components/SupabaseProvider"
- import { ServerProvider } from "@/context/ServerContext"
- import { Button, Link } from "@nextui-org/react"
- import { useEffect, useState } from "react"
- import ControlPanel from "./components/ControlPanel"
- import SideBar from "./components/SideBar"
- import Loading from "./loading"
- export default function ServerLayout({ children, params }) {
- const [initialized, setInitialized] = useState(false)
- const [initialServer, setInitialServer] = useState(null)
- // const [currentPage, setCurrentPage] = useState(usePathname())
- const { supabase, session } = useSupabase()
- if (!session) {
- redirect("/login")
- }
- useEffect(() => {
- const fetchInitialServer = async () => {
- try {
- console.log(initialized)
- const { data, error } = await supabase.from("servers").select().eq("id", params.id)
- if (error) {
- throw new Error(error.message)
- }
- const server = data ? data[0] : null
- if (!server) {
- throw new ResourceNotFoundError()
- }
- setInitialServer(server)
- setInitialized(true)
- } catch (error) {
- console.error("Error fetching initial server data:", error)
- }
- }
- if (!initialized) {
- fetchInitialServer()
- }
- }, [params.id, supabase, initialized])
- ...
Advertisement
Add Comment
Please, Sign In to add comment