import { useState } from 'react'; import { defineFrontComponent } from 'twenty-sdk/define'; import { openSidePanelPage, SidePanelPages } from 'twenty-sdk/front-component'; import { FrontComponentCard } from '@/__stories__/shared/front-components/front-component-card'; import { BUTTON_STYLE } from '@/__stories__/shared/front-components/styles'; const STATUS_STYLE = { fontSize: 13, color: '#1f2937', fontFamily: 'monospace', }; const HostApiSidePanelOpenFrontComponent = () => { const [status, setStatus] = useState('idle'); const handleClick = async () => { try { await openSidePanelPage({ page: SidePanelPages.ViewRecord, pageTitle: 'Test Record', }); setStatus('sidePanel:success'); } catch (error) { setStatus( `sidePanel:error:${error instanceof Error ? error.message : String(error)}`, ); } }; return ( {status} ); }; export default defineFrontComponent({ universalIdentifier: 'fc-host-spo-00000000-0000-0000-0000-000000000020', name: 'host-api-side-panel-open-front-component', description: 'Front component covering openSidePanelPage host API', component: HostApiSidePanelOpenFrontComponent, });