| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import { PermissionAction } from '@supabase/shared-types/out/constants'
- import { useEffect } from 'react'
- import { Card, CardContent, CardFooter, Form } from 'ui'
- import { AIOptInLevelSelector } from './AIOptInLevelSelector'
- import { FormActions } from '@/components/ui/Forms/FormActions'
- import { useAIOptInForm } from '@/hooks/forms/useAIOptInForm'
- import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions'
- export const DataPrivacyForm = () => {
- const { form, onSubmit, isUpdating, currentOptInLevel } = useAIOptInForm()
- const { can: canUpdateOrganization } = useAsyncCheckPermissions(
- PermissionAction.UPDATE,
- 'organizations'
- )
- const permissionsHelperText = !canUpdateOrganization
- ? "You need additional permissions to manage this organization's settings"
- : undefined
- useEffect(() => {
- form.reset({ aiOptInLevel: currentOptInLevel })
- }, [currentOptInLevel, form])
- return (
- <Form {...form}>
- <form id="org-privacy-form" onSubmit={form.handleSubmit(onSubmit)}>
- <Card>
- <CardContent className="pt-6">
- <AIOptInLevelSelector
- control={form.control}
- disabled={!canUpdateOrganization || isUpdating}
- layout="flex-row-reverse"
- label="Briven Assistant Opt-in Level"
- />
- </CardContent>
- <CardFooter className="flex justify-end p-4 md:px-8">
- <FormActions
- form="org-privacy-form"
- isSubmitting={isUpdating}
- hasChanges={form.formState.isDirty}
- handleReset={() => form.reset()}
- helper={permissionsHelperText}
- disabled={!canUpdateOrganization}
- />
- </CardFooter>
- </Card>
- </form>
- </Form>
- )
- }
|