/* Copyright (C) 2024-2025 LibreWeddingPlanner contributors*/ 'use client'; import { AbstractApi } from '@/app/api/abstract-api'; import { TableSimulation, TableSimulationSerializer } from '@/app/lib/tableSimulation'; import Arrangement from '@/app/ui/arrangements/arrangement'; import ArrangementsTable from '@/app/ui/arrangements/arrangements-table'; import { classNames } from '@/app/ui/components/button'; import { Toast } from 'primereact/toast'; import React, { useRef, useState } from 'react'; export default function Page() { const toast = useRef<Toast>(null); const show = () => { toast.current?.show({ severity: 'success', summary: 'Simulation created', detail: 'Table distributions will be calculated shortly, please come back in some minutes' }); }; const [currentArrangement, setCurrentArrangement] = useState<string | null>(null); function createSimulation() { const api = new AbstractApi<TableSimulation>(); const serializer = new TableSimulationSerializer(); api.create(serializer, new TableSimulation(), show); } return ( <> <div className="flex flex-col w-full items-center justify-between"> <Toast ref={toast} /> <button onClick={createSimulation} className={classNames('primary')}>Add new</button> </div> <ArrangementsTable onArrangementSelected={setCurrentArrangement} /> {currentArrangement && <Arrangement key={currentArrangement} id={currentArrangement} />} </> ) }