From 0bef65ab7569cfe652479d5ce23bae579fd44243 Mon Sep 17 00:00:00 2001 From: mboehmlaender Date: Thu, 6 Aug 2026 07:43:40 +0200 Subject: [PATCH] Document monthly workflow in FAQ --- frontend/src/help-content.ts | 56 ++++++++++++++++++++++++++++++++++ frontend/src/views/FaqPage.tsx | 36 ++++++++++++++++++++++ 2 files changed, 92 insertions(+) diff --git a/frontend/src/help-content.ts b/frontend/src/help-content.ts index 9be5a1d..f53fa57 100644 --- a/frontend/src/help-content.ts +++ b/frontend/src/help-content.ts @@ -4,6 +4,8 @@ export type HelpSection = { description: string; quickItems: string[]; details: string[]; + workflow?: string[]; + diagram?: string[]; }; export const helpSections: HelpSection[] = [ @@ -25,6 +27,60 @@ export const helpSections: HelpSection[] = [ "Der Monatsabschluss sperrt den Monat gegen versehentliche Änderungen. Muss doch noch etwas korrigiert werden, kann der Monat wieder geöffnet werden." ] }, + { + id: "monatsworkflow", + title: "Monatsworkflow", + description: "Der empfohlene Ablauf vom Start einer Arbeitssession bis zum sauberen Monatsabschluss.", + quickItems: [ + "Während des Monats: Ticketnummer eingeben, Timer starten, Session beenden und Tätigkeit dokumentieren.", + "Vergessene Zeiten: Session manuell auf dem Ticket oder als neues Ticket nachtragen.", + "Am Monatsende: offene Bewertungen bearbeiten, Teamspace-Tageswerte pflegen, Kontrolle durchführen und Monat schließen." + ], + details: [ + "Der normale Einstieg ist das Ticketfeld im Kopfbereich oder die Seite Session starten. Dort gibst du die Ticketnummer ein und startest den Timer mit Timer starten.", + "Während der Arbeit läuft genau ein Timer aktiv. Wechselst du zu einem anderen Timer, pausiert TicketTracker die übrigen Timer automatisch.", + "Wenn die Arbeit erledigt ist, beendest du den Timer. Die Zeit stoppt sofort beim Klick auf Beenden; das anschließende Ausfüllen der Tätigkeit zählt nicht mehr zur Sessionzeit.", + "Im Beenden-Dialog trägst du die Tätigkeit ein. Wenn das Ticket bereits bekannt ist, übernimmt TicketTracker Organisation und Art automatisch. Bei neuen Tickets wählst du Organisation und Art zusätzlich aus.", + "Vergessene Sessions trägst du auf der Seite Session starten im Bereich Session nachtragen nach. Wenn das Ticket bereits in der Auswertung geöffnet ist, nutzt du in der Ticketdetailansicht ebenfalls Session nachtragen; dann ist die Zuordnung zum Ticket bereits vorbelegt.", + "Unter Auswertung wählst du Monat oder Tag, öffnest ein Ticket über Öffnen und siehst dort alle Sessions nach Tag gruppiert.", + "Im Ticket bewertest du jede Session mit Abgerechnet oder Nicht abrechenbar. Ein erneuter Klick auf den aktiven Status nimmt die Bewertung zurück.", + "Im Ticket steht pro Tag das Feld Teamspace. Dort trägst du die Stunden ein, die du für genau dieses Ticket an genau diesem Tag wirklich im CRM beziehungsweise Teamspace erfasst hast. Nach einer Änderung erscheint der Speichern-Button.", + "Die Teamspace-Zeit ist ein Tageswert pro Ticket und Benutzer. Monats- und Tagesansicht zeigen denselben Wert; er muss also nur einmal gepflegt werden.", + "Am Monatsende öffnest du Monatsabschluss. Dort findest du offene Bewertungen gruppiert nach Ticket, Tage ohne Teamspace-Wert und die Schaltfläche Monat abschließen.", + "Offene Bewertungen sind Pflicht: Öffne das Ticket aus der Liste, bewerte die Sessions und kehre zum Monatsabschluss zurück.", + "Tage ohne Teamspace-Wert sind eine Prüfliste. Wenn die Arbeit wirklich nicht in Teamspace eingetragen werden soll, nutzt du Zur Kenntnis. Mit Zur Kenntnis anzeigen blendest du solche Einträge wieder ein und kannst die Kenntnisnahme zurücknehmen.", + "Kontrolliere vor dem Abschluss die Kennzahl Teamspace im Monatsabschluss. Idealerweise entspricht dieser Wert der Summe, die du im CRM beziehungsweise Teamspace für den Monat eingetragen hast.", + "Wenn alle Sessions bewertet sind und die Teamspace-Kontrolle passt, schließt du den Monat mit Monat abschließen. Danach sind Bewertungen und Änderungen für den Monat geschützt, bis der Monat wieder geöffnet wird." + ], + workflow: [ + "Ticketfeld im Kopfbereich oder Session starten öffnen.", + "Ticketnummer eingeben und Timer starten.", + "Arbeit erledigen; bei Bedarf zwischen vorbereiteten Timern wechseln.", + "Timer beenden und Tätigkeit speichern.", + "Vergessene Zeiten über Session nachtragen ergänzen.", + "Auswertung öffnen, Monat wählen und Tickets prüfen.", + "Ticket öffnen, Sessions pro Tag bewerten und Teamspace-Tageswerte speichern.", + "Monatsabschluss öffnen, offene Bewertungen und Teamspace-Prüfpunkte abarbeiten.", + "Teamspace-Summe mit dem CRM vergleichen.", + "Monat abschließen." + ], + diagram: [ + "Ticketnummer eingeben", + "Timer starten", + "Arbeit am Ticket erledigen", + "Timer beenden", + "Tätigkeit eintragen", + "Session wird dem Ticket und Benutzer gespeichert", + "Optional: vergessene Session nachtragen", + "Auswertung öffnen und Ticket prüfen", + "Sessions bewerten", + "Teamspace pro Ticket-Tag eintragen", + "Monatsabschluss öffnen", + "Offene Bewertungen und Teamspace-Prüfpunkte klären", + "Teamspace-Summe mit CRM vergleichen", + "Monat abschließen" + ] + }, { id: "timer", title: "Timer", diff --git a/frontend/src/views/FaqPage.tsx b/frontend/src/views/FaqPage.tsx index daa59e2..76bc5e6 100644 --- a/frontend/src/views/FaqPage.tsx +++ b/frontend/src/views/FaqPage.tsx @@ -5,6 +5,40 @@ import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { helpSections } from "../help-content"; +function WorkflowList({ items }: { items: string[] }) { + return ( +
+

Empfohlener Ablauf

+
    + {items.map((item, index) => ( +
  1. + {index + 1} + {item} +
  2. + ))} +
+
+ ); +} + +function FlowDiagram({ items }: { items: string[] }) { + return ( +
+

Ablaufdiagramm

+
+
+ {items.map((item, index) => ( +
+
{item}
+ {index < items.length - 1 ?
: null} +
+ ))} +
+
+
+ ); +} + export function FaqPage() { return (
@@ -63,6 +97,8 @@ export function FaqPage() { ))}
+ {section.workflow ? : null} + {section.diagram ? : null}