import { useEffect, useState } from 'preact/hooks'; import type { Bar, BarConfig } from '@wutzcalc/shared'; import { api } from '../api'; import { BarPicker } from './BarPicker'; import { Sale } from './Sale'; const STORAGE_KEY = 'wutz.bar_id'; export function App() { const [bars, setBars] = useState(null); const [barId, setBarId] = useState(() => { const v = localStorage.getItem(STORAGE_KEY); return v ? Number(v) : null; }); const [config, setConfig] = useState(null); const [error, setError] = useState(null); useEffect(() => { if (barId == null) { api.bars().then(setBars).catch(e => setError(String(e))); } }, [barId]); useEffect(() => { if (barId == null) return; setConfig(null); api.config(barId).then(setConfig).catch(e => setError(String(e))); }, [barId]); function pick(id: number) { localStorage.setItem(STORAGE_KEY, String(id)); setBarId(id); } function changeBar() { localStorage.removeItem(STORAGE_KEY); setBarId(null); setConfig(null); } if (error) return

Fehler

{error}

; if (barId == null) return ; if (!config) return

Lade…

; return ; }