Arbeitsblätter: Abzeichen „abgerechnet (Rechnungsnummer)“ für alle, Warnung beim Ändern der Zeit

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-07 14:45:56 +00:00
1 parent 65526ca9b3
commit f89ecec8ff
3 files changed
+48

No files matched your search

+17
View File
@@ -1,6 +1,8 @@
import { EmptyState } from './ui'
import { needsTimeEntry, isGitWorksheet } from '../lib/ticketForm'
import { parseSupporters } from '../lib/support'
import { useAbgerechnet } from '../hooks/useAbgerechnet'
import { abgerechnetText, ticketIdsOf } from '../lib/projektkontoView'
import {
showAboToggle,
statusAfterLabel,
@@ -23,6 +25,8 @@ export default function WorksheetList({
onOwnSupport,
currentUserId,
}) {
// Hooks laufen immer, auch bei den frühen Rückgaben unten; die Abzeichen sehen alle Mitarbeiter und zeigen nie Beträge
const abgerechnet = useAbgerechnet(ticketIdsOf(worksheets))
if (loading) return <div className="loading">Wird geladen …</div>
if (!worksheets || worksheets.length === 0) {
@@ -35,6 +39,7 @@ export default function WorksheetList({
const when = worksheetWhen(ws)
const kind = worksheetKindLabel(ws)
const badge = worksheetBadge(ws)
const billed = abgerechnetText(abgerechnet, ws.$id)
const lines = supportLines(ws)
const status = statusAfterLabel(ws)
const time = timeLabel(ws)
@@ -58,6 +63,18 @@ export default function WorksheetList({
{kind && <span className="muted">{kind}</span>}
<span className="faint xs num">WSID {ws.wsid}</span>
{badge && <span className={`badge ${badge.tone}`}>{badge.text}</span>}
{billed && (
<span
className="badge blue"
title={
billed === 'abgerechnet (Entwurf)'
? 'Dieses Arbeitsblatt steht in einem Rechnungsentwurf.'
: 'Dieses Arbeitsblatt ist auf einer Rechnung abgerechnet.'
}
>
{billed}
</span>
)}
{showAbo ? (
<button
type="button"