task-managment / src / app / dashboard / layout.tsx
layout.tsx
Raw
import { serverHelpers } from "../_trpc/serverHelper";
import { dehydrate, HydrationBoundary } from "@tanstack/react-query";
import NavbarAdmin from "@/components/NavbarAdmin";
import { Sidebar } from "@/components/Sidebar";

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  serverHelpers.projects.getProjects.prefetch({
    limit: 50,
    includeTasks: true,
  });

  serverHelpers.users.getUsers.prefetch();
  const dehydratedState = dehydrate(serverHelpers.queryClient)
  return (
    <main>
      <HydrationBoundary state={dehydratedState}>
      <div className="grid md:grid-cols-[auto,1fr]">
      <Sidebar />
          <div className=" min-h-[calc(100vh-35px)] overflow-x-auto  w-full ">
            <NavbarAdmin/>
          {children}
          </div>
        </div>
      </HydrationBoundary>
    </main>
  );
}