import { useRouter } from "next/navigation"; import { APP_NAME } from "@calcom/lib/constants"; import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Avatar, Button, Icon } from "@calcom/ui"; import PageWrapper from "@components/PageWrapper"; import { PERMISSIONS_GROUPED_MAP } from "../../../../../packages/platform/constants/permissions"; import { hasPermission } from "../../../../../packages/platform/utils/permissions"; export default function Authorize() { const { t } = useLocale(); const router = useRouter(); const searchParams = useCompatSearchParams(); const queryString = searchParams?.toString(); // const { isLoading, error, data: client } = useOAuthClient(queryString); const client: { name: string; logo?: string; redirect_uris: string[]; permissions: number; } = { name: "Acme.com", redirect_uris: ["", ""], permissions: 7, }; console.log("These are the search params:", queryString); const permissions = Object.values(PERMISSIONS_GROUPED_MAP).map((value) => { let permissionsMessage = ""; const hasReadPermission = hasPermission(client.permissions, value.read); const hasWritePermission = hasPermission(client.permissions, value.write); if (hasReadPermission || hasWritePermission) { permissionsMessage = hasReadPermission ? "Read" : "Write"; } if (hasReadPermission && hasWritePermission) { permissionsMessage = "Read, write"; } return ( !!permissionsMessage && (
  • {permissionsMessage} your {`${value.label}s`.toLocaleLowerCase()}
  • ) ); }); return (
    {/* below is where the client logo will be displayed first we check if the client has a logo property and display logo if present else we take logo from user profile pic */} {client.logo ? ( } className="items-center" imageSrc={client.logo} size="lg" /> ) : ( } className="items-center" imageSrc="/cal-com-icon.svg" size="lg" /> )}
    Logo

    {t("access_cal_account", { clientName: client.name, appName: APP_NAME })}

    {t("allow_client_to", { clientName: client.name })}
    {t("allow_client_to_do", { clientName: client.name })}
    {t("oauth_access_information", { appName: APP_NAME })}
    {" "}
    ); } Authorize.PageWrapper = PageWrapper;