This commit is contained in:
michael committed 2026-09-16 06:20:58 +00:00
1 parent 4f4fb0baf2
commit c5495ddffa
2 files changed
+9 -17

No files matched your search

+4 -10
View File
@@ -28,6 +28,7 @@ import {
Trash2,
UserCog,
UserCircle,
FolderGit,
X,
} from "lucide-react";
import { FormEvent, MouseEvent, useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -1245,7 +1246,7 @@ export function App() {
<SidebarMenuButton asChild>
<a href={isAdmin ? "/admin/users" : "/timer"} onClick={navHandler(isAdmin ? "/admin/users" : "/timer")}>
<Command />
<span className="font-semibold text-base">TicketTracker </span><span className="font-medium text-muted-foreground">v1.0.0-rc1</span>
<span className="font-semibold text-base">TicketTracker </span>
</a>
</SidebarMenuButton>
</SidebarMenuItem>
@@ -1373,18 +1374,11 @@ export function App() {
</SidebarContent>
<SidebarFooter>
{!isAdmin ? <div className="mx-2 rounded-lg border bg-card p-3 text-sm shadow-xs group-data-[collapsible=icon]:hidden">
<div className="mb-2 flex items-center gap-2 font-medium">
<CheckCircle2 className="size-4 text-muted-foreground" />
Abschluss
</div>
<p className="text-muted-foreground">Offene Bewertungen findest du im Monatsabschluss.</p>
</div> : null}
<SidebarMenu>
<SidebarMenuItem>
<SidebarMenuButton tooltip="Worklog">
<UserCircle />
<span>Worklog lokal</span>
<FolderGit />
<span className="text-xs text-muted-foreground">v1.0.0-rc1</span>
</SidebarMenuButton>
</SidebarMenuItem>
</SidebarMenu>
+5 -7
View File
@@ -670,12 +670,12 @@ export function AnalysisPage({ onNavigate }: AnalysisPageProps) {
<Card>
<CardHeader className="gap-3 p-4 sm:flex-row sm:items-center sm:justify-between sm:space-y-0">
<div>
<CardTitle>Tickets im Zeitraum</CardTitle>
<CardTitle>Sessions im Zeitraum</CardTitle>
<CardDescription>
{periodType === "month" ? "Sessions prüfen, bewerten und bei Bedarf Tickets öffnen." : "Tagesansicht ohne eigenen Abschluss."}
</CardDescription>
</div>
<HelpLink anchor="auswertung" label="Hilfe zu Tickets im Zeitraum" />
<HelpLink anchor="auswertung" label="Hilfe zu Sessions im Zeitraum" />
</CardHeader>
<CardContent className="px-4 pb-4">
<div className="hidden md:block">
@@ -687,7 +687,6 @@ export function AnalysisPage({ onNavigate }: AnalysisPageProps) {
<TableHead>Art</TableHead>
<TableHead>Sessions</TableHead>
<TableHead>Zeit abgerechnet</TableHead>
<TableHead>Sessions abgerechnet</TableHead>
<TableHead>Status</TableHead>
<TableHead />
</TableRow>
@@ -704,7 +703,7 @@ export function AnalysisPage({ onNavigate }: AnalysisPageProps) {
<span className="truncate text-base font-semibold">{section.label}</span>
</div>
<div className="flex flex-wrap items-center gap-2">
<Badge variant="outline">{section.ticketCount} Ticket(s)</Badge>
<Badge variant="outline">{section.ticketCount} Session(s)</Badge>
<Badge variant="outline">{formatMinutes(section.totalMinutes)}</Badge>
{section.openCount > 0 ? <Badge variant="warning">{section.openCount} offen</Badge> : <Badge variant="success">bewertet</Badge>}
</div>
@@ -728,7 +727,6 @@ export function AnalysisPage({ onNavigate }: AnalysisPageProps) {
<TableCell>{workTypeLabel(ticket.work_type)}</TableCell>
<TableCell>{ticket.session_count}</TableCell>
<TableCell>{formatMinutes(ticket.total_minutes)}</TableCell>
<TableCell>{ticket.billed_count}</TableCell>
<TableCell>
<TicketStatus ticket={ticket} />
</TableCell>
@@ -760,7 +758,7 @@ export function AnalysisPage({ onNavigate }: AnalysisPageProps) {
<span className="truncate text-base font-semibold">{section.label}</span>
</div>
<div className="flex flex-wrap items-center gap-2">
<Badge variant="outline">{section.ticketCount} Ticket(s)</Badge>
<Badge variant="outline">{section.ticketCount} Session(s)</Badge>
<Badge variant="outline">{formatMinutes(section.totalMinutes)}</Badge>
{section.openCount > 0 ? <Badge variant="warning">{section.openCount} offen</Badge> : <Badge variant="success">bewertet</Badge>}
</div>
@@ -810,7 +808,7 @@ export function AnalysisPage({ onNavigate }: AnalysisPageProps) {
{tickets.length === 0 ? (
<p className="py-8 text-center text-sm text-muted-foreground">Für diesen Zeitraum sind noch keine Sessions vorhanden.</p>
) : visibleTickets.length === 0 ? (
<p className="py-8 text-center text-sm text-muted-foreground">Keine Tickets passend zu den aktuellen Filtern.</p>
<p className="py-8 text-center text-sm text-muted-foreground">Keine Sessions passend zu den aktuellen Filtern.</p>
) : null}
</CardContent>
</Card>