Kundenseite: Reiter in der Adresse, Uebersicht mit Umlaut, Protokoll der Kundenansicht
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8c7a3fcced
commit
370724a9a7
6 files changed
+120
-7
No files matched your search
@@ -2,10 +2,12 @@
|
||||
// die nur Admins freigibt: für alle anderen gibt es den Reiter nicht.
|
||||
|
||||
const BASE_TABS = [
|
||||
{ id: 'overview', label: 'Uebersicht' },
|
||||
{ id: 'overview', label: 'Übersicht' },
|
||||
{ id: 'tickets', label: 'Tickets' },
|
||||
{ id: 'invoices', label: 'Rechnungen', adminOnly: true },
|
||||
{ id: 'projects', label: 'Projekte' },
|
||||
// Protokoll der Kundenansicht (wer wann das Portal des Kunden geöffnet oder darin etwas geändert hat): alle Mitarbeiter
|
||||
{ id: 'protokoll', label: 'Protokoll' },
|
||||
]
|
||||
|
||||
/** Reiter für Tabs: [{ id, label }]; „Rechnungen“ nur für Admins. */
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
// Protokoll der Kundenansicht (Portal-Collection customerViewLog): Beschriftung und Zeit. Rein, unter Node testbar.
|
||||
|
||||
const LABELS = {
|
||||
geoeffnet: 'Kundenansicht geöffnet',
|
||||
beendet: 'Kundenansicht beendet',
|
||||
abgelaufen: 'Kundenansicht abgelaufen',
|
||||
news_angelegt: 'News angelegt',
|
||||
news_bild: 'News-Foto hochgeladen',
|
||||
news_geaendert: 'News geändert',
|
||||
news_geloescht: 'News gelöscht',
|
||||
}
|
||||
|
||||
/** Deutsche Beschriftung einer Aktion; unbekannte Aktionen erscheinen roh. */
|
||||
export const viewLogLabel = (action) => LABELS[action] || action
|
||||
|
||||
/** ISO-Zeit -> "dd.mm.yyyy hh:mm" in deutscher Zeit; leer bleibt leer. */
|
||||
export function formatViewLogTime(iso) {
|
||||
if (!iso) return ''
|
||||
const parts = Object.fromEntries(
|
||||
new Intl.DateTimeFormat('de-DE', {
|
||||
timeZone: 'Europe/Berlin', day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit', hourCycle: 'h23',
|
||||
}).formatToParts(new Date(iso)).map((p) => [p.type, p.value])
|
||||
)
|
||||
return `${parts.day}.${parts.month}.${parts.year} ${parts.hour}:${parts.minute}`
|
||||
}
|
||||
Reference in new issue
Block a user