From 19e4aac62e165e6d8cab54000adeb3ba1ae0f6af Mon Sep 17 00:00:00 2001 From: "Hermes (Server)" Date: Fri, 31 Jul 2026 15:34:04 +0200 Subject: [PATCH] Feature: Login-Effekte pro Person (Akzentfarbe + Sound + Begruessung) - UserEffekt: Baka = rot + Fanfare, Tinker = tuerkis + Chime, Standard-Ping - MeloTheme: dynamische Akzentfarbe via ValueNotifier (Theme wechselt live) - Ausloeser: App-Start (wenn Token vorhanden) + nach erfolgreichem Login - Assets: 3 kurze WAV-Sounds (assets/sounds/) - Web: /whoami-Endpoint (Caddy) + Willkommens-Banner auf baka-net.de --- assets/sounds/baka_fanfare.wav | Bin 0 -> 62664 bytes assets/sounds/tinker_chime.wav | Bin 0 -> 44142 bytes assets/sounds/willkommen_ping.wav | Bin 0 -> 22094 bytes lib/main.dart | 29 +++++++++++---- lib/screens/home_screen.dart | 19 +++++++++- lib/utils/farb_theme.dart | 18 ++++++--- lib/utils/user_effekte.dart | 59 ++++++++++++++++++++++++++++++ pubspec.yaml | 2 + 8 files changed, 113 insertions(+), 14 deletions(-) create mode 100644 assets/sounds/baka_fanfare.wav create mode 100644 assets/sounds/tinker_chime.wav create mode 100644 assets/sounds/willkommen_ping.wav create mode 100644 lib/utils/user_effekte.dart diff --git a/assets/sounds/baka_fanfare.wav b/assets/sounds/baka_fanfare.wav new file mode 100644 index 0000000000000000000000000000000000000000..2ae4b70dfe99ef749e6379df728ae6b8fe400079 GIT binary patch literal 62664 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

I{iD~@zfptL=NNBVj@b9Q z_5%B1yOFCg!|_<+Yf>a-hu?Mo0|5zv_drVWD|1HhhhS0g(O_tB8j}^257ysPXalGg z%5HKE5ldiV=_mxe1Ni5_8jfYP?L4u#u&>S`)#nZj)t#7-NJq&eDOZ-Gr;ekKZfqdPz0?B ze$BccGCcHN=(Etdp*bOqtY^Uy%=wI|bR6xNU#U;GcRk?+c0LLQzXc?@3T*4l5eB

*$oI>~Hm+%EXui~XrM;nJt}>t(r;5<7G8CEz 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/tinker_chime.wav b/assets/sounds/tinker_chime.wav new file mode 100644 index 0000000000000000000000000000000000000000..c1bb25612ef97360165d1fa495ace5ec87acd68b GIT binary patch literal 44142 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 MeloAudioHandler(), + config: const AudioServiceConfig( + androidNotificationChannelId: 'de.baka.melo.audio', + androidNotificationChannelName: 'Melo Wiedergabe', + androidNotificationOngoing: true, + ), + ); + MeloLogger().zustand('start_ok', {'db': 'ok', 'audio': 'ok'}); } catch (e, stack) { MeloLogger().fehler('App-Start', e, stack); } @@ -27,11 +38,15 @@ class MeloApp extends StatelessWidget { @override Widget build(BuildContext context) { - return MaterialApp( - title: 'Melo', - debugShowCheckedModeBanner: false, - theme: MeloTheme.theme, - home: const Scaffold(body: MeloHome()), + // Reagiert live auf Akzent-Änderungen (Login-Effekt pro Person) + return ValueListenableBuilder( + valueListenable: MeloTheme.akzentNotifier, + builder: (context, akzent, _) => MaterialApp( + title: 'Melo', + debugShowCheckedModeBanner: false, + theme: MeloTheme.theme, + home: const Scaffold(body: MeloHome()), + ), ); } } diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index 0754a81..2482583 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -6,6 +6,8 @@ import '../viewmodels/melo_home_viewmodel.dart'; import '../models/song.dart'; import '../models/playlist.dart'; import '../utils/farb_theme.dart'; +import '../utils/user_effekte.dart'; +import '../services/cloud_service.dart'; import '../widgets/mini_player.dart'; import '../widgets/melo_header.dart'; import '../widgets/statistik_card.dart'; @@ -18,7 +20,6 @@ import 'cloud_screen.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:permission_handler/permission_handler.dart'; import '../widgets/cloud_einstellungen.dart'; -import '../services/cloud_service.dart'; import '../config/app_config.dart'; class MeloHome extends StatefulWidget { @@ -50,6 +51,15 @@ class _MeloHomeState extends State { setState(() => _nutzer = n); _vm.setzeNutzer(n); } + // Login-Effekt beim App-Start: nur wenn ein Token vorhanden ist (eingeloggt) + final ok = await CloudService().restoreLogin(); + if (ok && mounted) { + UserEffekt.anwenden(_nutzer); + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(UserEffekt.fuer(_nutzer).begruessung), + duration: const Duration(seconds: 3), + )); + } } void _zeigeProfil() { @@ -153,6 +163,13 @@ class _MeloHomeState extends State { await p.setString('melo_nutzer', name); if (mounted) setState(() => _nutzer = name); _vm.setzeNutzer(name); + // Login-Effekt: Akzentfarbe + Sound + Begrüßung pro Person + UserEffekt.anwenden(name); + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(UserEffekt.fuer(name).begruessung), + duration: const Duration(seconds: 3))); + } } else { if (mounted) { ScaffoldMessenger.of(context).showSnackBar(const SnackBar( diff --git a/lib/utils/farb_theme.dart b/lib/utils/farb_theme.dart index 956ea97..a0e2259 100644 --- a/lib/utils/farb_theme.dart +++ b/lib/utils/farb_theme.dart @@ -9,12 +9,18 @@ class MeloTheme { static const Color textPrimaer = Color(0xFFFFFFFF); static const Color textSekundaer = Color(0xFF888888); + /// Akzentfarbe – wechselt pro angemeldeter Person (Login-Effekt). + /// UI hängt per ValueListenableBuilder an [akzentNotifier]. + static final ValueNotifier akzentNotifier = ValueNotifier(rot); + static Color get akzent => akzentNotifier.value; + static set akzent(Color farbe) => akzentNotifier.value = farbe; + static ThemeData get theme => ThemeData( brightness: Brightness.dark, scaffoldBackgroundColor: schwarz, - colorScheme: const ColorScheme.dark( - primary: rot, - secondary: rot, + colorScheme: ColorScheme.dark( + primary: akzent, + secondary: akzent, surface: schwarz, ), appBarTheme: const AppBarTheme( @@ -22,9 +28,9 @@ class MeloTheme { foregroundColor: textPrimaer, elevation: 0, ), - bottomNavigationBarTheme: const BottomNavigationBarThemeData( + bottomNavigationBarTheme: BottomNavigationBarThemeData( backgroundColor: schwarz, - selectedItemColor: rot, + selectedItemColor: akzent, unselectedItemColor: textSekundaer, ), cardTheme: CardThemeData( @@ -35,7 +41,7 @@ class MeloTheme { ), chipTheme: ChipThemeData( backgroundColor: dunkel1, - selectedColor: rot, + selectedColor: akzent, labelStyle: const TextStyle(color: textPrimaer), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), diff --git a/lib/utils/user_effekte.dart b/lib/utils/user_effekte.dart new file mode 100644 index 0000000..cd8e355 --- /dev/null +++ b/lib/utils/user_effekte.dart @@ -0,0 +1,59 @@ +import 'dart:async'; +import 'package:flutter/material.dart'; +import 'package:just_audio/just_audio.dart'; +import 'farb_theme.dart'; + +/// Login-Effekte: Pro Person eigener Akzent, Willkommens-Sound und Begrüßung. +/// Wird nach erfolgreichem Login und beim App-Start (wenn Token vorhanden) ausgelöst. +class UserEffekt { + final Color akzent; + final String begruessung; + final String soundAsset; + + const UserEffekt(this.akzent, this.begruessung, this.soundAsset); + + /// Baka = königlich-rot + Fanfare 👑 + static const baka = UserEffekt( + Color(0xFFCC0000), + 'Willkommen zurück, Baka! 👑', + 'assets/sounds/baka_fanfare.wav', + ); + + /// Tinker = türkis + heller Chime 🐱 + static const tinker = UserEffekt( + Color(0xFF00B8A9), + 'Tinker ist da! 🐱✨', + 'assets/sounds/tinker_chime.wav', + ); + + static const standard = UserEffekt( + Color(0xFFCC0000), + 'Willkommen! 🎵', + 'assets/sounds/willkommen_ping.wav', + ); + + static UserEffekt fuer(String? user) { + final u = (user ?? '').toLowerCase().trim(); + if (u == 'baka' || u == 'dustin') return baka; + if (u == 'tinker') return tinker; + return standard; + } + + /// Setzt die Akzentfarbe (Thema wechselt live) und spielt den Sound ab. + static Future anwenden(String? user) async { + final e = fuer(user); + MeloTheme.akzent = e.akzent; + try { + final p = AudioPlayer(); + await p.setAsset(e.soundAsset); + unawaited(p.play()); + // Player nach dem Abspielen sauber freigeben (kein Memory-Leak) + Future.delayed(const Duration(seconds: 4), () { + if (p.playing) p.stop(); + p.dispose(); + }); + } catch (_) { + // Sound-Fehler ignorieren – Akzent bleibt trotzdem aktiv + } + } +} diff --git a/pubspec.yaml b/pubspec.yaml index b020b7d..4f1ccad 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,3 +37,5 @@ dev_dependencies: flutter: uses-material-design: true + assets: + - assets/sounds/