import { ChevronRight } from 'lucide-react' import { UseFormReturn } from 'react-hook-form' import Panel from 'components/ui/Panel' import { Badge, cn, Collapsible_Shadcn_, CollapsibleContent_Shadcn_, CollapsibleTrigger_Shadcn_, FormControl_Shadcn_, FormField_Shadcn_, FormItem_Shadcn_, RadioGroupStacked, RadioGroupStackedItem, } from 'ui' import { Admonition } from 'ui-patterns' import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout' import { CreateProjectForm } from './ProjectCreation.schema' interface SecurityOptionsProps { form: UseFormReturn layout?: 'vertical' | 'horizontal' collapsible?: boolean } export const SecurityOptions = ({ form, layout = 'horizontal', collapsible = true, }: SecurityOptionsProps) => { const content = ( <> ( <> field.onChange(value === 'true')} defaultValue={field.value.toString()} > div>div>p]:text-left [&>div>div>p]:text-xs' )} onClick={() => form.setValue('useApiSchema', false)} /> {!form.getValues('dataApi') && ( PostgREST which powers the Data API will have no schemas available to it. )} )} /> {form.getValues('dataApi') && ( ( <> field.onChange(value === 'true')} > Use public schema for Data API Default } // @ts-ignore description={ <> Query all tables in the{' '} public schema } className="[&>div>div>p]:text-left [&>div>div>p]:text-xs" /> Query allowlisted tables in a dedicated{' '} api schema } className="[&>div>div>p]:text-left [&>div>div>p]:text-xs" /> )} /> )}

These two security options can be changed after your project is created

) const collapsibleContent = ( Security options {content} ) return ( {collapsible ? collapsibleContent : content} ) }