فهرست منبع

Add site context?

Owen Schwartz 9 ماه پیش
والد
کامیت
ab41695988
3فایلهای تغییر یافته به همراه26 افزوده شده و 12 حذف شده
  1. 14 12
      src/app/[orgId]/sites/[siteId]/layout.tsx
  2. 5 0
      src/components/appearance-form.tsx
  3. 7 0
      src/hooks/useSiteContext.ts

+ 14 - 12
src/app/[orgId]/sites/[siteId]/layout.tsx

@@ -4,7 +4,10 @@ import Image from "next/image"
 import { Separator } from "@/components/ui/separator"
 import { SidebarNav } from "@/components/sidebar-nav"
 import SiteProvider from "@app/providers/SiteProvider"
-import api from "@app/api"
+import { internal } from "@app/api"
+import { cookies } from "next/headers"
+import { GetSiteResponse } from "@server/routers/site"
+import { AxiosResponse } from "axios"
 
 export const metadata: Metadata = {
     title: "Forms",
@@ -40,20 +43,19 @@ interface SettingsLayoutProps {
 }
 
 export default async function SettingsLayout({ children, params }: SettingsLayoutProps) {
-    const res = await api
-    .get(`/site/${params.siteId}`, {})
-    .catch((e) => {
-        console.error("Failed to fetch site", e);
+    const sessionId = cookies().get("session")?.value ?? null;
+    const res = await internal
+    .get<AxiosResponse<GetSiteResponse>>(`/site/${params.siteId}`,          {
+        headers: {
+            Cookie: `session=${sessionId}`,
+        },
     });
 
-    console.log(res);
-    
-    console.log(params.siteId);
-    
-    // const site = res!.data.data;
+    if (!res || res.status !== 200) {
+        return <div>Failed to load site</div>;
+    }
 
-    // console.log(site);
-    const site: any = {};
+    const site = res.data.data;
 
     return (
         <>

+ 5 - 0
src/components/appearance-form.tsx

@@ -18,6 +18,7 @@ import {
   FormMessage,
 } from "@/components/ui/form"
 import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"
+import { useSiteContext } from "@app/hooks/useSiteContext"
 
 const appearanceFormSchema = z.object({
   theme: z.enum(["light", "dark"], {
@@ -37,6 +38,10 @@ const defaultValues: Partial<AppearanceFormValues> = {
 }
 
 export function AppearanceForm() {
+    const site = useSiteContext();
+
+    console.log(site);
+    
   const form = useForm<AppearanceFormValues>({
     resolver: zodResolver(appearanceFormSchema),
     defaultValues,

+ 7 - 0
src/hooks/useSiteContext.ts

@@ -0,0 +1,7 @@
+import { SiteContext } from "@app/contexts/siteContext";
+import { useContext } from "react";
+
+export function useSiteContext() {
+    const site = useContext(SiteContext);
+    return site;
+}