From 95cdc3ca0f8900979bfe0d72ff501e9965ab6b41 Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Sun, 13 Oct 2024 23:16:52 -0400 Subject: [PATCH] Messing with sites --- server/routers/site/getSite.ts | 8 +++- .../[orgId]/resources/[resourceId]/layout.tsx | 16 +++---- src/app/[orgId]/sites/[siteId]/layout.tsx | 43 +++++++++---------- src/providers/SiteProvider.tsx | 2 +- 4 files changed, 34 insertions(+), 35 deletions(-) diff --git a/server/routers/site/getSite.ts b/server/routers/site/getSite.ts index 4eb8ea9d..85afe11f 100644 --- a/server/routers/site/getSite.ts +++ b/server/routers/site/getSite.ts @@ -18,7 +18,6 @@ export type GetSiteResponse = { siteId: number; name: string; subdomain: string; - pubKey: string; subnet: string; } @@ -59,7 +58,12 @@ export async function getSite(req: Request, res: Response, next: NextFunction): } return response(res, { - data: site[0], + data: { + siteId: site[0].siteId, + name: site[0].name, + subdomain: site[0].subdomain, + subnet: site[0].subnet, + }, success: true, error: false, message: "Site retrieved successfully", diff --git a/src/app/[orgId]/resources/[resourceId]/layout.tsx b/src/app/[orgId]/resources/[resourceId]/layout.tsx index 3a443db7..58d6ef64 100644 --- a/src/app/[orgId]/resources/[resourceId]/layout.tsx +++ b/src/app/[orgId]/resources/[resourceId]/layout.tsx @@ -12,29 +12,25 @@ export const metadata: Metadata = { const sidebarNavItems = [ { title: "Profile", - href: "/configuration/resources/{resourceId}/", - }, - { - title: "Account", - href: "/configuration/resources/{resourceId}/account", + href: "/{orgId}/resources/{resourceId}/", }, { title: "Appearance", - href: "/configuration/resources/{resourceId}/appearance", + href: "/{orgId}/resources/{resourceId}/appearance", }, { title: "Notifications", - href: "/configuration/resources/{resourceId}/notifications", + href: "/{orgId}/resources/{resourceId}/notifications", }, { title: "Display", - href: "/configuration/resources/{resourceId}/display", + href: "/{orgId}/resources/{resourceId}/display", }, ] interface SettingsLayoutProps { children: React.ReactNode, - params: { resourceId: string } + params: { resourceId: string, orgId: string } } export default function SettingsLayout({ children, params }: SettingsLayoutProps) { @@ -66,7 +62,7 @@ export default function SettingsLayout({ children, params }: SettingsLayoutProps
{children}
diff --git a/src/app/[orgId]/sites/[siteId]/layout.tsx b/src/app/[orgId]/sites/[siteId]/layout.tsx index da421e1e..dae1a54a 100644 --- a/src/app/[orgId]/sites/[siteId]/layout.tsx +++ b/src/app/[orgId]/sites/[siteId]/layout.tsx @@ -17,46 +17,45 @@ export const metadata: Metadata = { const sidebarNavItems = [ { title: "Profile", - href: "/configuration/sites/{siteId}/", - }, - { - title: "Account", - href: "/configuration/sites/{siteId}/account", + href: "/{orgId}/sites/{siteId}/", }, { title: "Appearance", - href: "/configuration/sites/{siteId}/appearance", + href: "/{orgId}/sites/{siteId}/appearance", }, { title: "Notifications", - href: "/configuration/sites/{siteId}/notifications", + href: "/{orgId}/sites/{siteId}/notifications", }, { title: "Display", - href: "/configuration/sites/{siteId}/display", + href: "/{orgId}/sites/{siteId}/display", }, ] interface SettingsLayoutProps { children: React.ReactNode, - params: { siteId: string } + params: { siteId: string, orgId: string } } export default async function SettingsLayout({ children, params }: SettingsLayoutProps) { - const sessionId = cookies().get("session")?.value ?? null; - const res = await internal - .get>(`/site/${params.siteId}`, { - headers: { - Cookie: `session=${sessionId}`, - }, - }); + let site = null; + if (params.siteId !== "create") { + try { + const sessionId = cookies().get("session")?.value ?? null; + const res = await internal + .get>(`/site/${params.siteId}`, { + headers: { + Cookie: `session=${sessionId}`, + }, + }); - if (!res || res.status !== 200) { - return
Failed to load site
; + site = res.data.data; + } catch { + return null; + } } - - const site = res.data.data; - + return ( <>
@@ -85,7 +84,7 @@ export default async function SettingsLayout({ children, params }: SettingsLayou
diff --git a/src/providers/SiteProvider.tsx b/src/providers/SiteProvider.tsx index b570c19f..2a01bcb5 100644 --- a/src/providers/SiteProvider.tsx +++ b/src/providers/SiteProvider.tsx @@ -5,7 +5,7 @@ import { GetSiteResponse } from "@server/routers/site/getSite"; import { ReactNode } from "react"; type LandingProviderProps = { - site: GetSiteResponse; + site: GetSiteResponse | null; children: ReactNode; };