+
+ Program Privacy
+
+
+
+
+ Turn {programIsPublic ? "on" : "off"} program privacy:
+
+ {
+ updateProgram({
+ variables: {
+ programId,
+ data: {
+ public: !programIsPublic,
+ },
+ },
+ })
+ .then(() => {
+ refetchCurrentProgram();
+ console.log("refetch");
+ setSnackbarMessage({ text: "Saved settings!" });
+ })
+ .catch((err) => setError(err));
+ }}
+ />
+
+
+
+ Enabling program privacy means that those who are not part of your
+ mentorship cannot view the mentor directory. Toggling this feature
+ off allows anyone online to be able to view both the homepage and
+ the mentors under your mentorship.
+
+
);
diff --git a/src/pages/program/[slug]/mentors.tsx b/src/pages/program/[slug]/mentors.tsx
new file mode 100644
index 00000000..2165898f
--- /dev/null
+++ b/src/pages/program/[slug]/mentors.tsx
@@ -0,0 +1,227 @@
+import { Transition } from "@headlessui/react";
+import Fuse from "fuse.js";
+import React, { Fragment, ReactNode, useEffect, useRef, useState } from "react";
+import { createPortal } from "react-dom";
+import { Button, Input, Text } from "../../../components/atomic";
+import { Filter, Search } from "../../../components/icons";
+import ProfileCard from "../../../components/ProfileCard";
+import TagSelector from "../../../components/tags/TagSelector";
+import {
+ ProfileType,
+ useGetProfilesQuery,
+ useGetProfileTagsByProgramQuery,
+} from "../../../generated/graphql";
+import { AuthorizationLevel, useCurrentProgram } from "../../../hooks";
+import AuthorizationWrapper from "../../../layouts/AuthorizationWrapper";
+import ChooseTabLayout from "../../../layouts/ChooseTabLayout";
+import PageContainer from "../../../layouts/PageContainer";
+import Page from "../../../types/Page";
+
+function getAppRoot() {
+ if (typeof document === "undefined") return null;
+ return document.getElementById("__next");
+}
+
+interface DrawerProps {
+ isOpen: boolean;
+ title: string;
+ children: ReactNode;
+ onRequestClose: () => void;
+}
+const Drawer = ({
+ isOpen = false,
+ title,
+ children,
+ onRequestClose,
+}: DrawerProps) => {
+ const ref = useRef