import { useEffect, useState } from 'react' import { Dialog } from '#/components/dialog' import { Icon } from '#/components/icon' import type { DeckView } from './model' export function DeckSwitcher({ decks, activeId, ready, onSelect, onCreate, onDelete, onEditingChange, }: { decks: DeckView[] activeId: string ready: boolean onSelect: (id: string) => void onCreate: (title: string) => Promise onDelete: () => Promise onEditingChange: (editing: boolean) => void }) { const [creating, setCreating] = useState(false) const [deleting, setDeleting] = useState(false) useEffect(() => { onEditingChange(creating || deleting) return () => onEditingChange(false) }, [creating, deleting, onEditingChange]) return (
{creating ? ( setCreating(false)}>
{ event.preventDefault() const title = String( new FormData(event.currentTarget).get('title') ?? '', ).trim() if (!title) return if (await onCreate(title)) setCreating(false) }} >
) : null} {deleting ? ( setDeleting(false)}>

このデッキとカラムの設定を削除します。

) : null}
) }