# Radio1 Player – Glassmorphism UI Redesign (Tauri + HTML) ## Objective Redesign the **Radio1 Player** UI to match a **modern glassmorphism style** inspired by high-end music player apps. The app is built with: * **Tauri** * **HTML / CSS / Vanilla JS** * Desktop-first (Windows) The UI must feel: * Premium * Lightweight * Native * Smooth * Purple / neon themed --- ## Visual Reference Style inspiration: * Frosted glass cards * Soft purple / blue gradient background * Rounded corners everywhere * Subtle glow instead of hard borders * Floating controls Target aesthetic keywords: > glassmorphism, neon glow, frosted glass, modern music player, soft gradients --- ## Layout Structure Single centered player card: ``` ┌──────────────────────────────┐ │ Radio1 Player │ │ ● Playing / Ready │ │ │ │ [ Station Artwork / Logo ] │ │ │ │ Radio 1 MB │ │ Live Stream │ │ │ │ ────────●──────── │ │ │ │ ⏮ ▶ / ⏸ ⏭ │ │ │ │ 🔊 ─────●──── 50% │ └──────────────────────────────┘ ``` --- ## Required UI Elements ### Header * Title: `Radio1 Player` * Status indicator: * `● Ready` * `● Playing` * `● Casting to ` ### Artwork Area * Square (1:1) * Rounded corners (20–24px) * Gradient or station logo * Soft glow around container ### Metadata * Station name (Radio 1 MB) * Subtitle (Live Stream / Casting Mode) ### Playback Controls * Previous (optional, visual only) * Play / Pause (primary accent button) * Next (optional, visual only) ### Volume Control * Speaker icon * Horizontal slider * Percentage text * * / – buttons optional --- ## Color Palette ```css --background-gradient: linear-gradient(135deg, #7b7fd8, #b57cf2); --glass-bg: rgba(255, 255, 255, 0.15); --glass-border: rgba(255, 255, 255, 0.25); --accent: #c77dff; --accent-glow: rgba(199, 125, 255, 0.7); --text-main: #ffffff; --text-muted: rgba(255, 255, 255, 0.65); --success: #7dffb3; --danger: #ff5f5f; ``` --- ## Styling Rules * Use **glassmorphism** * `backdrop-filter: blur(20px)` * Semi-transparent backgrounds * No hard borders * Use glow (`box-shadow`) instead of outlines * Large border radius (20–28px) * Smooth hover animations * No external UI libraries --- ## CSS Requirements * Must work inside **Tauri WebView** * Avoid heavy filters or SVG masks * Use `accent-color` for sliders * Buttons should animate on hover (`scale`, `glow`) --- ## Tauri-Specific Enhancements ### Frameless Window ```ts appWindow.setDecorations(false); ``` ### Draggable Header ```css header { -webkit-app-region: drag; } button, input { -webkit-app-region: no-drag; } ``` --- ## States to Support ### Playback States * Ready * Playing locally * Casting to Google Speaker * Stopped ### UI Feedback * Change accent glow when playing * Dim Play button when active * Update status text dynamically --- ## Accessibility & UX * Buttons ≥ 44px * Clear contrast for text * Keyboard accessible controls * Volume slider supports mouse wheel --- ## Non-Goals * No playlists * No track seeking (live stream) * No mobile layout * No heavy animations --- ## Success Criteria * UI visually matches glassmorphism inspiration * Smooth performance in Tauri * Looks premium and modern * Clean HTML & CSS * Easy to extend later --- ## Instructions for Copilot Agent * Generate **HTML + CSS only** * Keep JavaScript minimal * Prioritize visual fidelity * Avoid overengineering * Comment code where helpful