main
tsx 33 lines 795 Bytes
Raw
1 'use server-entry';
2
3 import './client';
4 import './Todos.css';
5 import {Dialog} from './Dialog';
6 import {TodoDetail} from './TodoDetail';
7 import {TodoCreate} from './TodoCreate';
8 import {TodoList} from './TodoList';
9
10 export async function Todos({id}: {id?: number}) {
11 return (
12 <html style={{colorScheme: 'dark light'}}>
13 <head>
14 <title>Todos</title>
15 </head>
16 <body>
17 <header>
18 <h1>Todos</h1>
19 <Dialog trigger="+">
20 <h2>Add todo</h2>
21 <TodoCreate />
22 </Dialog>
23 </header>
24 <main>
25 <div className="todo-column">
26 <TodoList id={id} />
27 </div>
28 {id != null ? <TodoDetail key={id} id={id} /> : <p>Select a todo</p>}
29 </main>
30 </body>
31 </html>
32 );
33 }