Abo-Umschalter in der Arbeitsblatt-Liste eingebaut

Der Knopf "+ Abo" / "✓ Abo" (Arbeitszeit vom Stundenguthaben des
Wartungs-Abos abziehen) war seit cf1d653 nur in der toten Ticketzeile
angeschlossen und deshalb nie sichtbar. Jetzt hängt er an der echten
Ticketkarte: bei jedem Arbeitsblatt mit Arbeitszeit, auch bei Git-Pushes
mit nachgetragener Zeit; Kommentare und offene Pushes haben keinen.
Der Hinweis "Abo-Stunden" ist jetzt lesbar (weiße Schrift, Abstand).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-09-27 14:56:53 +00:00
1 parent 7b33e3900d
commit bf007df737
2 files changed
+7 -4

No files matched your search

+5 -1
View File
@@ -40,7 +40,7 @@ export default function TicketCard({ ticket, onUpdate }) {
const [showProjectsModal, setShowProjectsModal] = useState(false) const [showProjectsModal, setShowProjectsModal] = useState(false)
const [projectsRefreshKey, setProjectsRefreshKey] = useState(0) const [projectsRefreshKey, setProjectsRefreshKey] = useState(0)
const { worksheets, loading: worksheetsLoading, createWorksheet, updateWorksheetTimes, getTotalTime } = useWorksheets( const { worksheets, loading: worksheetsLoading, createWorksheet, updateWorksheet, updateWorksheetTimes, getTotalTime } = useWorksheets(
expanded ? ticket.woid : null expanded ? ticket.woid : null
) )
@@ -49,6 +49,9 @@ export default function TicketCard({ ticket, onUpdate }) {
const stop = (e) => e.stopPropagation() const stop = (e) => e.stopPropagation()
// Abo-Stunden: Arbeitszeit vom Stundenguthaben des Wartungs-Abos abziehen oder nicht
const handleTogglePlan = (ws) => updateWorksheet(ws.$id, { countsToPlan: !ws.countsToPlan })
const handleCreateWorksheet = async (worksheetData, currentUser) => { const handleCreateWorksheet = async (worksheetData, currentUser) => {
const result = await createWorksheet(worksheetData, currentUser) const result = await createWorksheet(worksheetData, currentUser)
if (result.success && worksheetData.newStatus !== ticket.status) { if (result.success && worksheetData.newStatus !== ticket.status) {
@@ -147,6 +150,7 @@ export default function TicketCard({ ticket, onUpdate }) {
loading={worksheetsLoading} loading={worksheetsLoading}
canEditTimes={(ws) => canEditWorksheetTimes(ws, user, employee)} canEditTimes={(ws) => canEditWorksheetTimes(ws, user, employee)}
onEditTimes={setEditTimesWorksheet} onEditTimes={setEditTimesWorksheet}
onTogglePlan={handleTogglePlan}
/> />
</div> </div>
)} )}
+2 -3
View File
@@ -133,9 +133,7 @@ export default function WorksheetList({ worksheets, totalTime, loading, onToggle
</span> </span>
)} )}
{ws.countsToPlan && !ws.isComment && ( {ws.countsToPlan && !ws.isComment && (
<span className="badge ms-2" title="Wird vom Stundenguthaben des Wartungs-Abos abgezogen" style={{ <span className="badge ms-2" title="Wird vom Stundenguthaben des Wartungs-Abos abgezogen" style={{ ...headerBadgeStyle, background: '#9d3dfe' }}>
background: '#9d3dfe'
}}>
Abo-Stunden Abo-Stunden
</span> </span>
)} )}
@@ -190,6 +188,7 @@ export default function WorksheetList({ worksheets, totalTime, loading, onToggle
borderRadius: '6px', borderRadius: '6px',
padding: '2px 10px', padding: '2px 10px',
fontSize: '0.8rem', fontSize: '0.8rem',
marginRight: '8px',
}} }}
onClick={(e) => { onClick={(e) => {
e.stopPropagation() e.stopPropagation()