2025-01-13 21:36:52 +01:00
|
|
|
/* Copyright (C) 2024-2025 LibreWeddingPlanner contributors*/
|
2024-10-27 21:11:45 +00:00
|
|
|
|
2024-11-02 12:52:12 +01:00
|
|
|
'use client';
|
|
|
|
|
2025-01-26 13:21:20 +01:00
|
|
|
import { AbstractApi } from '@/app/api/abstract-api';
|
|
|
|
import { TableSimulation, TableSimulationSerializer } from '@/app/lib/tableSimulation';
|
2024-11-02 11:24:48 +01:00
|
|
|
import Arrangement from '@/app/ui/arrangements/arrangement';
|
2024-11-02 12:52:12 +01:00
|
|
|
import ArrangementsTable from '@/app/ui/arrangements/arrangements-table';
|
2025-01-26 13:21:20 +01:00
|
|
|
import { classNames } from '@/app/ui/components/button';
|
|
|
|
import { useState } from 'react';
|
2024-11-01 18:25:00 +01:00
|
|
|
|
|
|
|
export default function Page() {
|
2024-11-02 12:52:12 +01:00
|
|
|
const [currentArrangement, setCurrentArrangement] = useState<string | null>(null);
|
2024-11-02 11:24:48 +01:00
|
|
|
|
2025-01-26 13:21:20 +01:00
|
|
|
function createSimulation() {
|
|
|
|
const api = new AbstractApi<TableSimulation>();
|
|
|
|
const serializer = new TableSimulationSerializer();
|
|
|
|
api.create(serializer, new TableSimulation(), () => {});
|
|
|
|
}
|
|
|
|
|
2024-11-02 12:52:12 +01:00
|
|
|
return (
|
|
|
|
<>
|
2025-01-26 13:21:20 +01:00
|
|
|
<div className="flex flex-col w-full items-center justify-between">
|
|
|
|
<button onClick={createSimulation} className={classNames('primary')}>Add new</button>
|
|
|
|
</div>
|
|
|
|
|
2024-11-02 12:52:12 +01:00
|
|
|
<ArrangementsTable onArrangementSelected={setCurrentArrangement} />
|
|
|
|
{currentArrangement && <Arrangement key={currentArrangement} id={currentArrangement} />}
|
|
|
|
</>
|
2024-11-02 11:24:48 +01:00
|
|
|
)
|
2024-08-11 12:34:16 +02:00
|
|
|
}
|