From b96be3b64991c2a44fa5df8214f91be6be85d578 Mon Sep 17 00:00:00 2001 From: Milo Schwartz Date: Sat, 4 Jan 2025 23:08:45 -0500 Subject: [PATCH] center code in email --- .../templates/components/CopyCodeBox.tsx | 2 +- src/app/[orgId]/settings/general/page.tsx | 33 ++++++++++++++++++- .../[resourceId]/authentication/page.tsx | 1 + .../settings/sites/[niceId]/general/page.tsx | 14 +++++++- src/app/invite/InviteStatusCard.tsx | 6 ++-- 5 files changed, 50 insertions(+), 6 deletions(-) diff --git a/server/emails/templates/components/CopyCodeBox.tsx b/server/emails/templates/components/CopyCodeBox.tsx index 686a6444..ef48b383 100644 --- a/server/emails/templates/components/CopyCodeBox.tsx +++ b/server/emails/templates/components/CopyCodeBox.tsx @@ -2,7 +2,7 @@ import React from "react"; export default function CopyCodeBox({ text }: { text: string }) { return ( -
+
{text} diff --git a/src/app/[orgId]/settings/general/page.tsx b/src/app/[orgId]/settings/general/page.tsx index e71dd337..7e173416 100644 --- a/src/app/[orgId]/settings/general/page.tsx +++ b/src/app/[orgId]/settings/general/page.tsx @@ -59,6 +59,9 @@ export default function GeneralPage() { const { toast } = useToast(); const api = createApiClient(useEnvContext()); + const [loadingDelete, setLoadingDelete] = useState(false); + const [loadingSave, setLoadingSave] = useState(false); + const form = useForm({ resolver: zodResolver(GeneralFormSchema), defaultValues: { @@ -68,10 +71,17 @@ export default function GeneralPage() { }); async function deleteOrg() { + setLoadingDelete(true); try { const res = await api.delete>( `/org/${org?.org.orgId}` ); + + toast({ + title: "Organization deleted", + description: "The organization and its data has been deleted." + }); + if (res.status === 200) { pickNewOrgAndNavigate(); } @@ -85,6 +95,8 @@ export default function GeneralPage() { "An error occurred while deleting the org." ) }); + } finally { + setLoadingDelete(false); } } @@ -116,10 +128,19 @@ export default function GeneralPage() { } async function onSubmit(data: GeneralFormValues) { + setLoadingSave(true); await api .post(`/org/${org?.org.orgId}`, { name: data.name }) + .then(() => { + toast({ + title: "Organization updated", + description: "The organization has been updated." + }); + + router.refresh(); + }) .catch((e) => { toast({ variant: "destructive", @@ -129,6 +150,9 @@ export default function GeneralPage() { "An error occurred while updating the org." ) }); + }) + .finally(() => { + setLoadingSave(false); }); } @@ -201,7 +225,12 @@ export default function GeneralPage() { - @@ -224,6 +253,8 @@ export default function GeneralPage() { variant="destructive" onClick={() => setIsDeleteModalOpen(true)} className="flex items-center gap-2" + loading={loadingDelete} + disabled={loadingDelete} > Delete Organization Data diff --git a/src/app/[orgId]/settings/resources/[resourceId]/authentication/page.tsx b/src/app/[orgId]/settings/resources/[resourceId]/authentication/page.tsx index 0f5ff963..b563616f 100644 --- a/src/app/[orgId]/settings/resources/[resourceId]/authentication/page.tsx +++ b/src/app/[orgId]/settings/resources/[resourceId]/authentication/page.tsx @@ -736,6 +736,7 @@ export default function ResourceAuthenticationPage() { onClick={saveWhitelist} form="whitelist-form" loading={loadingSaveWhitelist} + disabled={loadingSaveWhitelist} > Save Whitelist diff --git a/src/app/[orgId]/settings/sites/[niceId]/general/page.tsx b/src/app/[orgId]/settings/sites/[niceId]/general/page.tsx index 95f025cf..fb00d88f 100644 --- a/src/app/[orgId]/settings/sites/[niceId]/general/page.tsx +++ b/src/app/[orgId]/settings/sites/[niceId]/general/page.tsx @@ -30,6 +30,7 @@ import { import { formatAxiosError } from "@app/lib/api"; import { createApiClient } from "@app/lib/api"; import { useEnvContext } from "@app/hooks/useEnvContext"; +import { useState } from "react"; const GeneralFormSchema = z.object({ name: z.string() @@ -43,6 +44,8 @@ export default function GeneralPage() { const api = createApiClient(useEnvContext()); + const [loading, setLoading] = useState(false); + const router = useRouter(); const form = useForm({ @@ -54,6 +57,8 @@ export default function GeneralPage() { }); async function onSubmit(data: GeneralFormValues) { + setLoading(true); + await api .post(`/site/${site?.siteId}`, { name: data.name @@ -71,6 +76,8 @@ export default function GeneralPage() { updateSite({ name: data.name }); + setLoading(false); + router.refresh(); } @@ -117,7 +124,12 @@ export default function GeneralPage() { - diff --git a/src/app/invite/InviteStatusCard.tsx b/src/app/invite/InviteStatusCard.tsx index 11b37621..8957fd3e 100644 --- a/src/app/invite/InviteStatusCard.tsx +++ b/src/app/invite/InviteStatusCard.tsx @@ -86,15 +86,15 @@ export default function InviteStatusCard({ router.push("/"); }} > - Go home + Go Home ); } else if (type === "wrong_user") { return ( - + ); } else if (type === "user_does_not_exist") { - return ; + return ; } }