This commit is contained in:
Owen Schwartz 2024-10-13 23:42:09 -04:00
parent 95cdc3ca0f
commit 973605f541
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD
2 changed files with 41 additions and 37 deletions

View file

@ -84,7 +84,7 @@ export default async function SettingsLayout({ children, params }: SettingsLayou
<Separator className="my-6" /> <Separator className="my-6" />
<div className="flex flex-col space-y-8 lg:flex-row lg:space-x-12 lg:space-y-0"> <div className="flex flex-col space-y-8 lg:flex-row lg:space-x-12 lg:space-y-0">
<aside className="-mx-4 lg:w-1/5"> <aside className="-mx-4 lg:w-1/5">
<SidebarNav items={sidebarNavItems.map(i => { i.href = i.href.replace("{siteId}", params.siteId).replace("{orgId}", params.orgId); return i})} disabled={params.siteId == "create"} /> <SidebarNav items={sidebarNavItems} disabled={params.siteId == "create"} />
</aside> </aside>
<div className="flex-1 lg:max-w-2xl"> <div className="flex-1 lg:max-w-2xl">
<SiteProvider site={site}> <SiteProvider site={site}>

View file

@ -1,7 +1,7 @@
"use client" "use client"
import React from 'react' import React from 'react'
import Link from "next/link" import Link from "next/link"
import { usePathname } from "next/navigation" import { useParams, usePathname, useRouter } from "next/navigation"
import { cn } from "@/lib/utils" import { cn } from "@/lib/utils"
import { buttonVariants } from "@/components/ui/button" import { buttonVariants } from "@/components/ui/button"
@ -14,7 +14,11 @@ interface SidebarNavProps extends React.HTMLAttributes<HTMLElement> {
} }
export function SidebarNav({ className, items, disabled = false, ...props }: SidebarNavProps) { export function SidebarNav({ className, items, disabled = false, ...props }: SidebarNavProps) {
const pathname = usePathname() const pathname = usePathname();
const params = useParams();
const orgId = params.orgId as string;
const siteId = params.siteId as string;
const resourceId = params.resourceId as string;
return ( return (
<nav <nav
@ -27,11 +31,11 @@ export function SidebarNav({ className, items, disabled = false, ...props }: Sid
> >
{items.map((item) => ( {items.map((item) => (
<Link <Link
key={item.href} key={item.href.replace("{orgId}", orgId).replace("{siteId}", siteId).replace("{resourceId}", resourceId)}
href={item.href} href={item.href.replace("{orgId}", orgId).replace("{siteId}", siteId).replace("{resourceId}", resourceId)}
className={cn( className={cn(
buttonVariants({ variant: "ghost" }), buttonVariants({ variant: "ghost" }),
pathname === item.href pathname === item.href.replace("{orgId}", orgId).replace("{siteId}", siteId).replace("{resourceId}", resourceId)
? "bg-muted hover:bg-muted" ? "bg-muted hover:bg-muted"
: "hover:bg-transparent hover:underline", : "hover:bg-transparent hover:underline",
"justify-start", "justify-start",