MCPcopy
hub / github.com/Dokploy/dokploy / Page

Function Page

apps/dokploy/components/layouts/side.tsx:884–1216  ·  view source on GitHub ↗
({ children }: Props)

Source from the content-addressed store, hash-verified

882}
883
884export default function Page({ children }: Props) {
885 const [defaultOpen, setDefaultOpen] = useState<boolean | undefined>(
886 undefined,
887 );
888 const [isLoaded, setIsLoaded] = useState(false);
889
890 useEffect(() => {
891 const cookieValue = document.cookie
892 .split("; ")
893 .find((row) => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`))
894 ?.split("=")[1];
895
896 setDefaultOpen(cookieValue === undefined ? true : cookieValue === "true");
897 setIsLoaded(true);
898 }, []);
899
900 const pathname = usePathname();
901 const { data: auth } = api.user.get.useQuery();
902 const { data: permissions } = api.user.getPermissions.useQuery();
903 const { data: dokployVersion } = api.settings.getDokployVersion.useQuery();
904 const { data: whitelabeling } = api.whitelabeling.get.useQuery(undefined, {
905 staleTime: 5 * 60 * 1000,
906 refetchOnWindowFocus: false,
907 });
908
909 const includesProjects = pathname?.includes("/dashboard/project");
910 const { data: isCloud } = api.settings.isCloud.useQuery();
911
912 const {
913 home: filteredHome,
914 settings: filteredSettings,
915 help,
916 } = createMenuForAuthUser({
917 auth,
918 permissions,
919 isCloud: !!isCloud,
920 whitelabeling,
921 });
922
923 const activeItem = findActiveNavItem(
924 [...filteredHome, ...filteredSettings],
925 pathname,
926 );
927
928 if (!isLoaded) {
929 return <div className="w-full h-screen bg-background" />; // Placeholder mientras se carga
930 }
931
932 return (
933 <SidebarProvider
934 defaultOpen={defaultOpen}
935 open={defaultOpen}
936 onOpenChange={(open) => {
937 setDefaultOpen(open);
938
939 // biome-ignore lint/suspicious/noDocumentCookie: this sets the cookie to keep the sidebar state.
940 document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}`;
941 }}

Callers

nothing calls this directly

Calls 4

cnFunction · 0.90
createMenuForAuthUserFunction · 0.85
findActiveNavItemFunction · 0.85
isActiveRouteFunction · 0.85

Tested by

no test coverage detected