import { SetupMonitoring } from "@/components/dashboard/settings/servers/setup-monitoring"; import { WebDomain } from "@/components/dashboard/settings/web-domain"; import { WebServer } from "@/components/dashboard/settings/web-server"; import { DashboardLayout } from "@/components/layouts/dashboard-layout"; import { DialogAction } from "@/components/shared/dialog-action"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Switch } from "@/components/ui/switch"; import { appRouter } from "@/server/api/root"; import { api } from "@/utils/api"; import { getLocale, serverSideTranslations } from "@/utils/i18n"; import { IS_CLOUD, validateRequest } from "@dokploy/server"; import { createServerSideHelpers } from "@trpc/react-query/server"; import { LayoutDashboardIcon } from "lucide-react"; import type { GetServerSidePropsContext } from "next"; import React, { type ReactElement } from "react"; import { toast } from "sonner"; import superjson from "superjson"; const Page = () => { const { data, refetch } = api.admin.one.useQuery(); const { mutateAsync: update } = api.admin.update.useMutation(); return (
{/*
Paid Features Enable or disable paid features like monitoring
Enable Paid Features: { update({ enablePaidFeatures: !data?.enablePaidFeatures, }) .then(() => { toast.success( `Paid features ${ data?.enablePaidFeatures ? "disabled" : "enabled" } successfully`, ); refetch(); }) .catch(() => { toast.error("Error updating paid features"); }); }} />
{data?.enablePaidFeatures && }
*/} {/* */}
); }; export default Page; Page.getLayout = (page: ReactElement) => { return {page}; }; export async function getServerSideProps( ctx: GetServerSidePropsContext<{ serviceId: string }>, ) { const { req, res } = ctx; const locale = await getLocale(req.cookies); if (IS_CLOUD) { return { redirect: { permanent: true, destination: "/dashboard/projects", }, }; } const { user, session } = await validateRequest(ctx.req, ctx.res); if (!user) { return { redirect: { permanent: true, destination: "/", }, }; } if (user.role === "user") { return { redirect: { permanent: true, destination: "/dashboard/settings/profile", }, }; } const helpers = createServerSideHelpers({ router: appRouter, ctx: { req: req as any, res: res as any, db: null as any, session: session, user: user, }, transformer: superjson, }); await helpers.auth.get.prefetch(); return { props: { trpcState: helpers.dehydrate(), ...(await serverSideTranslations(locale, ["settings"])), }, }; }