* added lockedSMS to future routes * add orgMigrations routes to future * correct metadata * small fix * add orgMigrations to future * Move components to client components * Remove tRPC element from edit user RSC * Get username for meta * Remove suspense query * Remove orgMigrations from app router * Type fix * Revert "Remove suspense query" This reverts commit eadd814f6e4a5d6856d9218342b7909c22fe62c6. * Handle suspenseQuery in app router * User edit page, fetch data server side * Update yarn.lock * Export getFixedT * Set PageWrapper as root layout for settings * Settings Layout accepts strings for shell heading * Add OOO to app router settings * Refactor layout for my-account pages * Remove instances of pages router from my-account * Refactor security pages * Add billing to app router * Add admin API link to layout * Add api keys page * Webhooks WIP * Refactor SettingsHeader to client component * Add webhook pages * Refactor API keys page * Add admin app page * Type fix * fix types * fix developer/webhooks/[id] param value type error * remove unnecessary code * do not pass t prop to CreateNewWebhookButton * fix type errors in webhook-edit-view * fix the remaining type errors * do not use prisma directly in generateMetadata * remove use client if unnecessary * Remove unused shell heading from SettingsLayoutAppDir * improve metadata * fix billing page * fix import in settings/teams * Use next `notFound()` * fix type check * fix type check * remove unused code * Fix calendar setting page * Separate settings pages into route groups * Refactor admin settings pages * Remove meta instance from billing page route * Update settings layoutAppDir * Refactor developer settings pages * Refactor out of office * Refactor my account settings * Refactor admin api page * Refactor security pages * Type fix * fix styling in settings layout --------- Co-authored-by: Somay Chauhan <somaychauhan98@gmail.com> Co-authored-by: Omar López <zomars@me.com> Co-authored-by: Benny Joo <sldisek783@gmail.com>
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
"use client";
|
|
|
|
import LicenseRequired from "@calcom/features/ee/common/components/LicenseRequired";
|
|
import { UpgradeTip } from "@calcom/features/tips";
|
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import { Button, Icon, ButtonGroup } from "@calcom/ui";
|
|
|
|
export const AdminAPIView = () => {
|
|
const { t } = useLocale();
|
|
|
|
const features = [
|
|
{
|
|
icon: <Icon name="terminal" className="h-5 w-5 text-pink-500" />,
|
|
title: t("admin_api"),
|
|
description: t("leverage_our_api"),
|
|
},
|
|
{
|
|
icon: <Icon name="folder" className="h-5 w-5 text-red-500" />,
|
|
title: `SCIM & ${t("directory_sync")}`,
|
|
description: t("directory_sync_description"),
|
|
},
|
|
{
|
|
icon: <Icon name="sparkles" className="h-5 w-5 text-blue-500" />,
|
|
title: "Cal.ai",
|
|
description: t("use_cal_ai_to_make_call_description"),
|
|
},
|
|
];
|
|
return (
|
|
<LicenseRequired>
|
|
<div className="mt-8">
|
|
<UpgradeTip
|
|
plan="enterprise"
|
|
title={t("enterprise_license")}
|
|
description={t("create_your_enterprise_description")}
|
|
features={features}
|
|
background="/tips/enterprise"
|
|
buttons={
|
|
<div className="space-y-2 rtl:space-x-reverse sm:space-x-2">
|
|
<ButtonGroup>
|
|
<Button color="primary" href="https://cal.com/sales" target="_blank">
|
|
{t("contact_sales")}
|
|
</Button>
|
|
<Button color="minimal" href="https://cal.com/enterprise" target="_blank">
|
|
{t("learn_more")}
|
|
</Button>
|
|
</ButtonGroup>
|
|
</div>
|
|
}>
|
|
<>Create Org</>
|
|
</UpgradeTip>
|
|
</div>
|
|
</LicenseRequired>
|
|
);
|
|
};
|
|
|
|
export default AdminAPIView;
|