diff --git a/apps/web/actions/organization/update-details.ts b/apps/web/actions/organization/update-details.ts index 9d04a6613..c479d6c93 100644 --- a/apps/web/actions/organization/update-details.ts +++ b/apps/web/actions/organization/update-details.ts @@ -9,6 +9,7 @@ import { revalidatePath } from "next/cache"; export async function updateOrganizationDetails( organizationName: string, allowedEmailDomain: string, + showCapBranding: boolean, organizationId: string ) { const user = await getCurrentUser(); @@ -35,6 +36,7 @@ export async function updateOrganizationDetails( .set({ name: organizationName, allowedEmailDomain: allowedEmailDomain || null, + showCapBranding, }) .where(eq(organizations.id, organizationId)); diff --git a/apps/web/app/dashboard/settings/organization/Organization.tsx b/apps/web/app/dashboard/settings/organization/Organization.tsx index fb027fde0..77a1939c0 100644 --- a/apps/web/app/dashboard/settings/organization/Organization.tsx +++ b/apps/web/app/dashboard/settings/organization/Organization.tsx @@ -23,6 +23,9 @@ export const Organization = () => { const [isInviteDialogOpen, setIsInviteDialogOpen] = useState(false); const ownerToastShown = useRef(false); const [saveLoading, setSaveLoading] = useState(false); + const [showCapBranding, setShowCapBranding] = useState( + activeOrganization?.organization.showCapBranding ?? true + ); const showOwnerToast = useCallback(() => { if (!ownerToastShown.current) { @@ -52,6 +55,7 @@ export const Organization = () => { await updateOrganizationDetails( organizationName, allowedEmailDomain, + showCapBranding, activeOrganization?.organization.id as string ); toast.success("Settings updated successfully"); @@ -63,7 +67,13 @@ export const Organization = () => { setSaveLoading(false); } }, - [isOwner, showOwnerToast, activeOrganization?.organization.id, router] + [ + isOwner, + showOwnerToast, + activeOrganization?.organization.id, + router, + showCapBranding, + ] ); const handleManageBilling = useCallback(async () => { @@ -102,6 +112,8 @@ export const Organization = () => { saveLoading={saveLoading} showOwnerToast={showOwnerToast} organizationName={organizationName} + showCapBranding={showCapBranding} + setShowCapBranding={setShowCapBranding} /> void; organizationName: string | undefined; + showCapBranding: boolean; + setShowCapBranding: (value: boolean) => void; } export const OrganizationDetailsCard = ({ isOwner, saveLoading, showOwnerToast, - organizationName + organizationName, + showCapBranding, + setShowCapBranding, }: OrganizationDetailsCardProps) => { const { activeOrganization } = useSharedContext(); @@ -68,6 +67,21 @@ export const OrganizationDetailsCard = ({ if (!isOwner) showOwnerToast(); }} /> +
+ { + if (!isOwner) { + showOwnerToast(); + return; + } + setShowCapBranding(checked); + }} + /> + +