bb-plane-fork/apps/web/app/(all)/layout.preload.tsx
sriram veeraghanta 6ce700fd5d
chore: format files using prettier (#7364)
* chore: format files using prettier

* chore: api server files formatted
2025-07-08 20:41:11 +05:30

28 lines
895 B
TypeScript

"use client";
import { useEffect } from "react";
import ReactDOM from "react-dom";
// https://nextjs.org/docs/app/api-reference/functions/generate-metadata#link-relpreload
export const usePreloadResources = () => {
useEffect(() => {
const preloadItem = (url: string) => {
ReactDOM.preload(url, { as: "fetch", crossOrigin: "use-credentials" });
};
const urls = [
`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/instances/`,
`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/users/me/`,
`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/users/me/profile/`,
`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/users/me/settings/`,
`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/users/me/workspaces/?v=${Date.now()}`,
];
urls.forEach((url) => preloadItem(url));
}, []);
};
export const PreloadResources = () => {
usePreloadResources();
return null;
};