import { FormControl, FormLabel, HStack, Stack, Tag, Text, useColorModeValue, } from '@chakra-ui/react' import { Settings } from '@typebot.io/schemas' import React from 'react' import { isDefined } from '@typebot.io/lib' import { SwitchWithLabel } from '@/components/inputs/SwitchWithLabel' import { SwitchWithRelatedSettings } from '@/components/SwitchWithRelatedSettings' import { DropdownList } from '@/components/DropdownList' import { MoreInfoTooltip } from '@/components/MoreInfoTooltip' import { defaultSettings, rememberUserStorages, } from '@typebot.io/schemas/features/typebot/settings/constants' type Props = { generalSettings: Settings['general'] | undefined onGeneralSettingsChange: (generalSettings: Settings['general']) => void } export const GeneralSettingsForm = ({ generalSettings, onGeneralSettingsChange, }: Props) => { const keyBg = useColorModeValue(undefined, 'gray.600') const toggleRememberUser = (isEnabled: boolean) => onGeneralSettingsChange({ ...generalSettings, rememberUser: { ...generalSettings?.rememberUser, isEnabled, }, }) const handleInputPrefillChange = (isInputPrefillEnabled: boolean) => onGeneralSettingsChange({ ...generalSettings, isInputPrefillEnabled, }) const handleHideQueryParamsChange = (isHideQueryParamsEnabled: boolean) => onGeneralSettingsChange({ ...generalSettings, isHideQueryParamsEnabled, }) const updateRememberUserStorage = ( storage: NonNullable< NonNullable['rememberUser'] >['storage'] ) => onGeneralSettingsChange({ ...generalSettings, rememberUser: { ...generalSettings?.rememberUser, storage, }, }) return ( Storage:  Choose{' '} session {' '} to remember the user as long as he does not closes the tab or the browser. Choose{' '} local {' '} to remember the user forever on the same device. ) }