import { useEffect } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import styled from '@emotion/styled'; import { useObjectMetadata } from '@/metadata/hooks/useObjectMetadata'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { SettingsObjectFieldItemTableRow, StyledObjectFieldTableRow, } from '@/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow'; import { AppPath } from '@/types/AppPath'; import { IconMinus, IconPlus, IconSettings } from '@/ui/display/icon'; import { H2Title } from '@/ui/display/typography/components/H2Title'; import { Button } from '@/ui/input/button/components/Button'; import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; import { SubMenuTopBarContainer } from '@/ui/layout/page/SubMenuTopBarContainer'; import { Section } from '@/ui/layout/section/components/Section'; import { Table } from '@/ui/layout/table/components/Table'; import { TableHeader } from '@/ui/layout/table/components/TableHeader'; import { TableSection } from '@/ui/layout/table/components/TableSection'; import { Breadcrumb } from '@/ui/navigation/bread-crumb/components/Breadcrumb'; const StyledSection = styled(Section)` display: flex; flex-direction: column; `; const StyledAddCustomFieldButton = styled(Button)` align-self: flex-end; margin-top: ${({ theme }) => theme.spacing(2)}; `; export const SettingsObjectNewFieldStep1 = () => { const navigate = useNavigate(); const { objectSlug = '' } = useParams(); const { activeObjects, findActiveObjectBySlug } = useObjectMetadata(); const activeObject = findActiveObjectBySlug(objectSlug); useEffect(() => { if (activeObjects.length && !activeObject) { navigate(AppPath.NotFound); } }, [activeObject, activeObjects.length, navigate]); const activeFields = activeObject?.fields.filter( (fieldItem) => fieldItem.isActive, ); const disabledFields = activeObject?.fields.filter( (fieldItem) => !fieldItem.isActive, ); return ( { navigate(`/settings/objects/${objectSlug}`); }} onSave={() => undefined} /> Name Field type Data type {!!activeFields?.length && ( {activeFields.map((fieldItem) => ( } /> ))} )} {!!disabledFields?.length && ( {disabledFields.map((fieldItem) => ( } /> ))} )}
navigate(`/settings/objects/${objectSlug}/new-field/step-2`) } />
); };