import { FC, Fragment, ReactNode } from 'react'; import { observer } from 'mobx-react'; import { FieldState } from 'formstate'; import classNames from 'classnames'; import { Form, LayoutProps, Link } from '@servicetitan/design-system'; import { NumberInput, InputFieldState } from '@servicetitan/form'; import { SettingsSection } from '../settings-section'; import * as Styles from './company-details-form.module.less'; export interface CompanyDetailsProps { formState: { city: InputFieldState; companyEmail: InputFieldState; companyWebsite?: InputFieldState; companyName: InputFieldState; state: InputFieldState; street: InputFieldState; tagline: InputFieldState; unit: InputFieldState; yearEstablished: FieldState; zipCode: InputFieldState; }; logoPicker?: ReactNode; sectionDescription?: string | JSX.Element; layout?: LayoutProps['type']; className?: string; title?: ReactNode; handleCompanyEmailBlur?: () => void; } export const MERGE_TAGS_DOCUMENTATION_LINK = 'https://help.servicetitan.com/Content/Marketing/merge-tags.htm'; const DEFAULT_SECTION_DESCRIPTION = ( Enter these details as you would like them to appear in your campaign. Much of this info can be utilized as  merge tags . ); export const CompanyDetails: FC = observer( ({ formState, logoPicker, sectionDescription = DEFAULT_SECTION_DESCRIPTION, handleCompanyEmailBlur = () => {}, layout, className = '', title = 'Company Details', }: CompanyDetailsProps) => { return (
{formState.companyWebsite ? ( ) : ( )} {logoPicker}
); }, );