From 27c83946df29f95892c164858ef4f292ab5098ba Mon Sep 17 00:00:00 2001 From: Daniel Michelberger Date: Wed, 2 Sep 2026 13:13:22 +0200 Subject: [PATCH] feat: Erzeugte Avatare und Verfasser an Kommentaren Ohne hinterlegtes Bild stehen Initialen auf einem Farbton, der sich aus der User-ID errechnet: Derselbe Mensch bekommt ueberall dasselbe Bild, ohne dass es irgendwo gespeichert werden muss. Bewusst kein externer Avatar-Dienst - der wuerde bei jedem Seitenaufruf verraten, wer hier unterwegs ist. Kommentare zeigen jetzt ihren Verfasser, aber nur als Bild; der Name steht im Tooltip. In einer schmalen Spalte neben der Karte ist fuer mehr kein Platz. Verwendet wird der Avatar ausserdem in der Kopfzeile, im Profil und in der Mitgliederliste. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_014dh9W1i7aLSdPYJzQPid5o --- frontend/src/lib/components/Avatar.svelte | 78 +++++++++++++++++++ frontend/src/routes/dashboard/+layout.svelte | 15 +++- .../routes/dashboard/settings/+page.svelte | 18 ++--- .../dashboard/settings/team/+page.svelte | 2 + 4 files changed, 97 insertions(+), 16 deletions(-) create mode 100644 frontend/src/lib/components/Avatar.svelte diff --git a/frontend/src/lib/components/Avatar.svelte b/frontend/src/lib/components/Avatar.svelte new file mode 100644 index 0000000..459b9bd --- /dev/null +++ b/frontend/src/lib/components/Avatar.svelte @@ -0,0 +1,78 @@ + + +{#if src} + {label} +{:else} + +{/if} diff --git a/frontend/src/routes/dashboard/+layout.svelte b/frontend/src/routes/dashboard/+layout.svelte index 41162cb..20cf648 100644 --- a/frontend/src/routes/dashboard/+layout.svelte +++ b/frontend/src/routes/dashboard/+layout.svelte @@ -15,6 +15,7 @@ import { Separator } from '@/components/ui/separator' import Logo from '$lib/components/Logo.svelte' import TeamSwitcher from '$lib/components/TeamSwitcher.svelte' + import Avatar from '$lib/components/Avatar.svelte' import RunningTimesToast from '$lib/components/RunningTimesToast.svelte' import { Home, Calendar, LogOut, Menu, X, Moon, Sun, Route, Settings, Bike } from 'lucide-svelte' import { toggleMode, mode } from 'mode-watcher' @@ -123,7 +124,10 @@ Zeile, das Team-Dropdown darunter. -->