Skip to content

Commit dc4cd9c

Browse files
authored
Fix error in which curator sidebars were hitting kg-exposed endpoint (#4938)
1 parent 3272050 commit dc4cd9c

File tree

3 files changed

+25
-9
lines changed

3 files changed

+25
-9
lines changed

web/src/app/admin/kg/page.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import { PopupSpec, usePopup } from "@/components/admin/connectors/Popup";
3939
import Title from "@/components/ui/title";
4040
import { redirect } from "next/navigation";
4141
import Link from "next/link";
42+
import { useIsKGExposed } from "./utils";
4243

4344
function createDomainField(
4445
name: string,
@@ -516,10 +517,7 @@ function Main() {
516517
}
517518

518519
export default function Page() {
519-
const { data: kgExposed, isLoading } = useSWR<boolean>(
520-
"/api/admin/kg/exposed",
521-
errorHandlingFetcher
522-
);
520+
const { kgExposed, isLoading } = useIsKGExposed();
523521

524522
if (isLoading) {
525523
return <></>;

web/src/app/admin/kg/utils.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { useUser } from "@/components/user/UserProvider";
2+
import { errorHandlingFetcher } from "@/lib/fetcher";
3+
import useSWR from "swr";
4+
5+
export type KgExposedStatus = { kgExposed: boolean; isLoading: boolean };
6+
7+
export function useIsKGExposed(): KgExposedStatus {
8+
const { isAdmin } = useUser();
9+
const { data: kgExposedRaw, isLoading } = useSWR<boolean>(
10+
isAdmin ? "/api/admin/kg/exposed" : null,
11+
errorHandlingFetcher,
12+
{
13+
revalidateOnFocus: false,
14+
revalidateIfStale: false,
15+
revalidateOnReconnect: false,
16+
}
17+
);
18+
return { kgExposed: kgExposedRaw ?? false, isLoading };
19+
}

web/src/components/admin/ClientLayout.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import Link from "next/link";
4242
import { Button } from "../ui/button";
4343
import useSWR from "swr";
4444
import { errorHandlingFetcher } from "@/lib/fetcher";
45+
import { useIsKGExposed } from "@/app/admin/kg/utils";
4546

4647
const connectors_items = () => [
4748
{
@@ -153,7 +154,7 @@ const collections = (
153154
enableCloud: boolean,
154155
enableEnterprise: boolean,
155156
settings: CombinedSettings | null,
156-
kgExposed?: boolean | null
157+
kgExposed: boolean
157158
) => [
158159
{
159160
name: "Connectors",
@@ -392,13 +393,11 @@ export function ClientLayout({
392393
enableEnterprise: boolean;
393394
enableCloud: boolean;
394395
}) {
395-
const { data: kgExposed, isLoading } = useSWR<boolean>(
396-
"/api/admin/kg/exposed",
397-
errorHandlingFetcher
398-
);
396+
const { kgExposed, isLoading } = useIsKGExposed();
399397

400398
const isCurator =
401399
user?.role === UserRole.CURATOR || user?.role === UserRole.GLOBAL_CURATOR;
400+
402401
const pathname = usePathname();
403402
const settings = useContext(SettingsContext);
404403
const [userSettingsOpen, setUserSettingsOpen] = useState(false);

0 commit comments

Comments
 (0)