Compact preview list below form on desktop; Beginn/Ende/Besucher in one row

- Eingabe tab shows last 5 entries below form on lg+ screens (compact mode
  hides Objekte and Bemerkungen columns); Liste tab shows full 20 entries
- Beginn, Ende, Besucher fields moved into a single flex row
- LogbuchList accepts limit and compact props

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-28 07:55:46 +02:00
parent aea5cc08d6
commit 34a2c6b90d
3 changed files with 61 additions and 34 deletions

View File

@@ -172,43 +172,43 @@ export default function LogbuchForm({ kuppel, currentUserBeo, editEntry, onSaved
/>
</div>
{/* Beginn / Ende — nebeneinander auf Desktop, untereinander auf Mobile */}
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
<div>
{/* Beginn / Ende / Besucher — eine Zeile */}
<div className="flex flex-wrap gap-3 items-end">
<div className="flex-1 min-w-0">
<label className={labelCls}>Beginn</label>
<input
type="datetime-local"
value={beginn}
onChange={(e) => setBeginn(e.target.value)}
required
className={inputCls}
className="w-full px-2 py-2 border-2 border-gray-400 rounded-lg bg-white text-sm focus:border-blue-500 focus:outline-none"
/>
</div>
<div>
<div className="flex-1 min-w-0">
<label className={labelCls}>Ende</label>
<input
type="datetime-local"
value={ende}
onChange={(e) => setEnde(e.target.value)}
required
className={inputCls}
className="w-full px-2 py-2 border-2 border-gray-400 rounded-lg bg-white text-sm focus:border-blue-500 focus:outline-none"
/>
</div>
{showBesucher && (
<div className="shrink-0">
<label className={labelCls}>Besucher</label>
<input
type="number"
value={besucher}
onChange={(e) => setBesucher(parseInt(e.target.value) || 0)}
min={0}
max={9999}
className="w-20 px-2 py-2 border-2 border-gray-400 rounded-lg bg-white text-base focus:border-blue-500 focus:outline-none"
/>
</div>
)}
</div>
{/* Besucher */}
{showBesucher && <div>
<label className={labelCls}>Anzahl Besucher</label>
<input
type="number"
value={besucher}
onChange={(e) => setBesucher(parseInt(e.target.value) || 0)}
min={0}
max={9999}
className="w-32 px-3 py-2 border-2 border-gray-400 rounded-lg bg-white text-base focus:border-blue-500 focus:outline-none"
/>
</div>}
{/* BEOs */}
<div>
<label className={labelCls}>BEOs</label>