fix(ui): Emoji-Reste im Profil-Modal + Wunschliste-Icon → Kochtopf
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m18s

Profil-Modal:
- Default-Emoji '🍳' im "Neues Profil"-Input entfernt (war ein ver-
  sehentlicher Platzhalter, den die meisten nicht überschrieben haben
  → alle Profile sahen gleich aus). Jetzt leer, mit 🙂 als Hint im
  placeholder.
- Profil-Liste: avatar_emoji wird nur gezeigt, wenn wirklich gesetzt.
  Sonst CircleUser-Lucide statt 🙂-Fallback.

Migration 006_clear_default_profile_emoji.sql räumt bestehende DB-
Einträge auf: UPDATE profile SET avatar_emoji = NULL WHERE avatar_emoji
= '🍳'. User, die wirklich einen Pfannen-Avatar wollten, können das in
/admin/profiles neu setzen.

Wunschliste-Header-Icon: Heart → CookingPot. Der Kontext ist "was wir
essen wollen", also passt ein Topf besser als ein Herz. Heart bleibt
im Rezept als "Favorit" und in der Wunschliste als "ich will auch"-
Toggle, keine Kollision.

Ungenutzten Heart-Import aus +layout.svelte entfernt.
This commit is contained in:
hsiegeln
2026-04-17 19:31:24 +02:00
parent 5e7e37cc3c
commit dd52e44f67
3 changed files with 21 additions and 5 deletions

View File

@@ -5,7 +5,7 @@
let showModal = $state(false);
let newName = $state('');
let newEmoji = $state('🍳');
let newEmoji = $state('');
async function createAndSelect() {
if (!newName.trim()) return;
@@ -57,7 +57,11 @@
showModal = false;
}}
>
<span class="emoji-lg">{p.avatar_emoji ?? '🙂'}</span>
{#if p.avatar_emoji}
<span class="emoji-lg">{p.avatar_emoji}</span>
{:else}
<span class="icon-lg"><CircleUser size={28} strokeWidth={1.5} /></span>
{/if}
<span>{p.name}</span>
</button>
</li>
@@ -69,7 +73,8 @@
<div class="new-row">
<input
type="text"
placeholder="Emoji"
placeholder="🙂"
aria-label="Emoji (optional)"
bind:value={newEmoji}
maxlength="8"
class="emoji-input"
@@ -171,6 +176,11 @@
.emoji-lg {
font-size: 1.6rem;
}
.icon-lg {
display: inline-flex;
align-items: center;
color: #2b6a3d;
}
hr {
border: none;
border-top: 1px solid #e4eae7;

View File

@@ -0,0 +1,6 @@
-- Frühere Versionen haben '🍳' als Default im "Neues Profil"-Emoji-Feld
-- vorausgefüllt — die meisten User haben das einfach so stehen lassen,
-- ohne bewusst ein Emoji zu wählen. Ergebnis: alle Profile sehen gleich aus.
-- Wir räumen das auf: alle avatar_emoji='🍳'-Einträge werden zu NULL,
-- was die UI als "kein Emoji, Lucide-Icon nehmen" interpretiert.
UPDATE profile SET avatar_emoji = NULL WHERE avatar_emoji = '🍳';

View File

@@ -2,7 +2,7 @@
import { onMount } from 'svelte';
import { page } from '$app/stores';
import { goto, afterNavigate } from '$app/navigation';
import { Heart, Settings, CookingPot, Globe, Utensils } from 'lucide-svelte';
import { Settings, CookingPot, Globe, Utensils } from 'lucide-svelte';
import { profileStore } from '$lib/client/profile.svelte';
import { wishlistStore } from '$lib/client/wishlist.svelte';
import ProfileSwitcher from '$lib/components/ProfileSwitcher.svelte';
@@ -225,7 +225,7 @@
? `Wunschliste (${wishlistStore.count})`
: 'Wunschliste'}
>
<Heart size={20} strokeWidth={2} />
<CookingPot size={20} strokeWidth={2} />
{#if wishlistStore.count > 0}
<span class="badge">{wishlistStore.count}</span>
{/if}