diff --git a/CLAUDE.md b/CLAUDE.md index 6519910..d97ff65 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ The development guidelines to consider are descibed in [docs/development_guideli Blazor Server app (.NET 9.0) with Clean Architecture: Domain, Application, Infrastructure, Web layers. Uses ASP.NET Core Identity with dual DbContext pattern (AppDbContext for domain, AppIdentityDbContext for auth), MudBlazor UI, and Fluxor state management. -The name for the App is KOOGLE. Koogle is an app for club management. +The name for the App is GOODWOOD. GoodWood is an app for club management. ### Functional - Club management diff --git a/KoogleApp.sln b/KoogleApp.sln index 3a78150..a635743 100644 --- a/KoogleApp.sln +++ b/KoogleApp.sln @@ -26,6 +26,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{63E5B7FE-3 ProjectSection(SolutionItems) = preProject docs\build.md = docs\build.md CLAUDE.md = CLAUDE.md + design.md = design.md + ..\..\..\..\Users\d-chrka\Downloads\Moodboard.png = ..\..\..\..\Users\d-chrka\Downloads\Moodboard.png todos.md = todos.md EndProjectSection EndProject diff --git a/design.md b/design.md new file mode 100644 index 0000000..e69de29 diff --git a/src/Koogle.Web/Components/Layout/EmptyLayout.razor b/src/Koogle.Web/Components/Layout/EmptyLayout.razor index 41f039b..c99a6f9 100644 --- a/src/Koogle.Web/Components/Layout/EmptyLayout.razor +++ b/src/Koogle.Web/Components/Layout/EmptyLayout.razor @@ -8,7 +8,7 @@ @code { // Default theme - configurable for future theme selection - private MudTheme _theme = CustomThemes.DefaultTheme; + private MudTheme _theme = CustomThemes.GoodwoodTheme; }
diff --git a/src/Koogle.Web/Components/Layout/MainLayout.razor b/src/Koogle.Web/Components/Layout/MainLayout.razor index 0ac562e..4b63fc9 100644 --- a/src/Koogle.Web/Components/Layout/MainLayout.razor +++ b/src/Koogle.Web/Components/Layout/MainLayout.razor @@ -22,7 +22,7 @@ - + KOOGLE @@ -100,7 +100,7 @@ } // Default theme - can be changed per user in future - private MudTheme _theme = CustomThemes.DefaultTheme; + private MudTheme _theme = CustomThemes.GoodwoodTheme; private void ClearAuthError() { diff --git a/src/Koogle.Web/Components/Layout/PublicLayout.razor b/src/Koogle.Web/Components/Layout/PublicLayout.razor index e2bbe44..b602f1d 100644 --- a/src/Koogle.Web/Components/Layout/PublicLayout.razor +++ b/src/Koogle.Web/Components/Layout/PublicLayout.razor @@ -8,7 +8,7 @@ - + @* Mobile Menu Button (unter lg: 1280px) - LINKS *@ @@ -23,8 +23,8 @@ - - Dashboard + + Übersicht @@ -40,7 +40,7 @@ @* Logo - RECHTS *@ - + @@ -93,7 +93,7 @@ @code { - private MudTheme _theme = CustomThemes.DefaultTheme; + private MudTheme _theme = CustomThemes.GoodwoodTheme; private bool _drawerOpen; private void ToggleDrawer() => _drawerOpen = !_drawerOpen; diff --git a/src/Koogle.Web/Components/Pages/About.razor b/src/Koogle.Web/Components/Pages/About.razor index 86b0c5e..413aa1d 100644 --- a/src/Koogle.Web/Components/Pages/About.razor +++ b/src/Koogle.Web/Components/Pages/About.razor @@ -6,7 +6,7 @@ @* Hero Section *@ - + Von der Totenkiste zum Cloud-System Unsere Story diff --git a/src/Koogle.Web/Components/Pages/Blog.razor b/src/Koogle.Web/Components/Pages/Blog.razor index ddc0c2e..2944602 100644 --- a/src/Koogle.Web/Components/Pages/Blog.razor +++ b/src/Koogle.Web/Components/Pages/Blog.razor @@ -6,7 +6,7 @@ @* Hero Section *@ - + Blog Neuigkeiten rund um KOOGLE @@ -30,7 +30,7 @@ @* Newsletter Teaser *@ - + Bleib auf dem Laufenden! diff --git a/src/Koogle.Web/Components/Pages/Home.razor b/src/Koogle.Web/Components/Pages/Home.razor index b08da42..13ce0c6 100644 --- a/src/Koogle.Web/Components/Pages/Home.razor +++ b/src/Koogle.Web/Components/Pages/Home.razor @@ -8,7 +8,7 @@ - + @* Hero Section *@
@@ -17,7 +17,8 @@ - KOOGLE - Die smarte Lösung für Kegelclubs + + GOODWOOD - Die smarte Lösung für Kegelclubs Mehr Zeit fürs Kegeln, weniger für den Papierkram. @@ -29,7 +30,7 @@ - + zur Anwendung @@ -62,7 +63,7 @@ @* Features Section *@
- Deine Vorteile mit KOOGLE + Deine Vorteile mit GoodWood @@ -234,14 +235,14 @@ - Schon über 1 Kegelclubs vertrauen auf KOOGLE. ;-) + Schon über 1 Kegelclubs vertrauen auf GoodWood. ;-) @* Footer Slogan *@ - + "Weniger Verwaltung, mehr Kegeln!" @@ -271,12 +272,22 @@ position: relative; } - .hero-overlay { - background: linear-gradient(135deg, rgba(26, 54, 93, 0.92) 0%, rgba(45, 90, 77, 0.75) 100%); +/* .hero-overlay { + background: linear-gradient(135deg, #1B3022 0%, #4A5D4E 100%); min-height: 400px; display: flex; align-items: center; border-radius: inherit; + } */ + .hero-overlay { + /* Wir nutzen RGBA, um die Farben des Moodboards mit Transparenz zu mischen */ + /* 0.85 bedeutet 85% Deckkraft - das Bild schimmert dezent durch */ + background: linear-gradient(135deg, rgba(27, 48, 34, 0.85) 0%, rgba(74, 93, 78, 0.7) 100%); + min-height: 400px; + display: flex; + align-items: center; + border-radius: inherit; + width: 100%; /* Sicherstellen, dass es die volle Breite einnimmt */ } .hero-overlay .mud-typography { diff --git a/src/Koogle.Web/Components/Pages/Preise.razor b/src/Koogle.Web/Components/Pages/Preise.razor index 0954687..943eb43 100644 --- a/src/Koogle.Web/Components/Pages/Preise.razor +++ b/src/Koogle.Web/Components/Pages/Preise.razor @@ -6,7 +6,7 @@ @* Hero Section *@ - + Preise Faire Konditionen für alle Kegelvereine @@ -40,7 +40,7 @@ @* CTA *@ - + Worauf wartest du noch? diff --git a/src/Koogle.Web/Services/CustomThemes.cs b/src/Koogle.Web/Services/CustomThemes.cs index fd44dee..7669d34 100644 --- a/src/Koogle.Web/Services/CustomThemes.cs +++ b/src/Koogle.Web/Services/CustomThemes.cs @@ -42,6 +42,70 @@ namespace Koogle.Web.Services // } }; + public static readonly MudTheme GoodwoodTheme = new() + { + PaletteLight = new PaletteLight() + { + // Hintergrund & Oberflächen (Moodboard: Soft Sand #F5F2ED) + Background = "#F5F2ED", + Surface = "#FFFFFF", + AppbarBackground = "#1B3022", // Deep Forest Green für Kontrast + AppbarText = "#F5F2ED", + + // Markenfarben + Primary = "#1B3022", // Deep Forest Green + PrimaryContrastText = "#F5F2ED", + Secondary = "#B66D35", // Burnt Ochre / Wood + SecondaryContrastText = "#FFFFFF", + Tertiary = "#4A5D4E", // Ein weicheres Waldgrün für Akzente + + // Status & Feedback + Info = "#4A708B", + Success = "#6B8E23", // Olive-Grün passend zum Naturthema + Warning = "#D2691E", + Error = "#8B0000", + + // Texte & Linien + TextPrimary = "#1A1A1A", + TextSecondary = "#4A5D4E", + Divider = "rgba(27, 48, 34, 0.12)", + LinesDefault = "rgba(27, 48, 34, 0.2)", + + DrawerBackground = "#F5F2ED", + DrawerText = "#1B3022", + DrawerIcon = "#1B3022", + }, + PaletteDark = new PaletteDark() + { + // Dark Mode Umkehrung für professionelle Software + Background = "#121A14", // Extrem dunkles Grün/Schwarz + Surface = "#1B3022", + Primary = "#F5F2ED", // Im Darkmode wird Sand zur Kontrastfarbe + Secondary = "#B66D35", + AppbarBackground = "#0D1811", + TextPrimary = "#F5F2ED", + TextSecondary = "rgba(245, 242, 237, 0.7)", + DrawerBackground = "#0D1811", + }, + LayoutProperties = new LayoutProperties() + { + DefaultBorderRadius = "6px", // Etwas weicher als Standard, aber modern flach + AppbarHeight = "64px", + }, + Typography = new Typography() + { + Default = new DefaultTypography + { + FontFamily = new[] { "Inter", "Roboto", "Helvetica", "Arial", "sans-serif" }, + FontSize = ".875rem", + FontWeight = "400" + }, + H1 = new H1Typography { FontWeight = "700", FontSize = "3.5rem", LetterSpacing = "-.02em" }, + H2 = new H2Typography { FontWeight = "600", FontSize = "2.5rem", LetterSpacing = "-.01em" }, + Button = new ButtonTypography { FontWeight = "600", TextTransform = "none" } // "none" wirkt moderner als All-Caps + } + }; + public static readonly MudTheme SandstoneTheme = new() { PaletteLight = new PaletteLight() diff --git a/src/Koogle.Web/wwwroot/GW-removebg.png b/src/Koogle.Web/wwwroot/GW-removebg.png new file mode 100644 index 0000000..aeba266 Binary files /dev/null and b/src/Koogle.Web/wwwroot/GW-removebg.png differ diff --git a/src/Koogle.Web/wwwroot/GW.png b/src/Koogle.Web/wwwroot/GW.png new file mode 100644 index 0000000..aca82aa Binary files /dev/null and b/src/Koogle.Web/wwwroot/GW.png differ diff --git a/src/Koogle.Web/wwwroot/bg1.png b/src/Koogle.Web/wwwroot/bg1.png index 8f21507..7b8f890 100644 Binary files a/src/Koogle.Web/wwwroot/bg1.png and b/src/Koogle.Web/wwwroot/bg1.png differ diff --git a/src/Koogle.Web/wwwroot/favicon.ico b/src/Koogle.Web/wwwroot/favicon.ico index 8900942..aa3ad14 100644 Binary files a/src/Koogle.Web/wwwroot/favicon.ico and b/src/Koogle.Web/wwwroot/favicon.ico differ diff --git a/src/Koogle.Web/wwwroot/gw_app_icon2.png b/src/Koogle.Web/wwwroot/gw_app_icon2.png new file mode 100644 index 0000000..1a0f080 Binary files /dev/null and b/src/Koogle.Web/wwwroot/gw_app_icon2.png differ diff --git a/src/Koogle.Web/wwwroot/icons/android-chrome-192x192.png b/src/Koogle.Web/wwwroot/icons/android-chrome-192x192.png new file mode 100644 index 0000000..445f9b3 Binary files /dev/null and b/src/Koogle.Web/wwwroot/icons/android-chrome-192x192.png differ diff --git a/src/Koogle.Web/wwwroot/icons/android-chrome-512x512.png b/src/Koogle.Web/wwwroot/icons/android-chrome-512x512.png new file mode 100644 index 0000000..c4afef1 Binary files /dev/null and b/src/Koogle.Web/wwwroot/icons/android-chrome-512x512.png differ diff --git a/src/Koogle.Web/wwwroot/icons/apple-touch-icon.png b/src/Koogle.Web/wwwroot/icons/apple-touch-icon.png index f567554..b1ff94c 100644 Binary files a/src/Koogle.Web/wwwroot/icons/apple-touch-icon.png and b/src/Koogle.Web/wwwroot/icons/apple-touch-icon.png differ diff --git a/src/Koogle.Web/wwwroot/icons/favicon-16x16.png b/src/Koogle.Web/wwwroot/icons/favicon-16x16.png index ff61756..46508c2 100644 Binary files a/src/Koogle.Web/wwwroot/icons/favicon-16x16.png and b/src/Koogle.Web/wwwroot/icons/favicon-16x16.png differ diff --git a/src/Koogle.Web/wwwroot/icons/favicon-32x32.png b/src/Koogle.Web/wwwroot/icons/favicon-32x32.png index 756a90a..1598f66 100644 Binary files a/src/Koogle.Web/wwwroot/icons/favicon-32x32.png and b/src/Koogle.Web/wwwroot/icons/favicon-32x32.png differ diff --git a/src/Koogle.Web/wwwroot/icons/favicon.ico b/src/Koogle.Web/wwwroot/icons/favicon.ico new file mode 100644 index 0000000..aa3ad14 Binary files /dev/null and b/src/Koogle.Web/wwwroot/icons/favicon.ico differ diff --git a/src/Koogle.Web/wwwroot/icons/icon-192x192.png b/src/Koogle.Web/wwwroot/icons/icon-192x192.png index 92f9e96..d5836cb 100644 Binary files a/src/Koogle.Web/wwwroot/icons/icon-192x192.png and b/src/Koogle.Web/wwwroot/icons/icon-192x192.png differ diff --git a/src/Koogle.Web/wwwroot/icons/icon-512x512.png b/src/Koogle.Web/wwwroot/icons/icon-512x512.png index 9ebfe18..8e53454 100644 Binary files a/src/Koogle.Web/wwwroot/icons/icon-512x512.png and b/src/Koogle.Web/wwwroot/icons/icon-512x512.png differ diff --git a/src/Koogle.Web/wwwroot/logo.png b/src/Koogle.Web/wwwroot/logo.png new file mode 100644 index 0000000..b17c02a Binary files /dev/null and b/src/Koogle.Web/wwwroot/logo.png differ diff --git a/src/Koogle.Web/wwwroot/logo7.png b/src/Koogle.Web/wwwroot/logo7.png new file mode 100644 index 0000000..e21cef1 Binary files /dev/null and b/src/Koogle.Web/wwwroot/logo7.png differ diff --git a/src/Koogle.Web/wwwroot/logo7_pins.png b/src/Koogle.Web/wwwroot/logo7_pins.png new file mode 100644 index 0000000..afcb811 Binary files /dev/null and b/src/Koogle.Web/wwwroot/logo7_pins.png differ diff --git a/src/Koogle.Web/wwwroot/manifest.webmanifest b/src/Koogle.Web/wwwroot/manifest.webmanifest index e6c5382..2204f36 100644 --- a/src/Koogle.Web/wwwroot/manifest.webmanifest +++ b/src/Koogle.Web/wwwroot/manifest.webmanifest @@ -1,11 +1,11 @@ { - "name": "KOOGLE", - "short_name": "KOOGLE", - "description": "Koogle Club Management App", + "name": "GOODWOOD", + "short_name": "GOODWOOD", + "description": "GoodWood Kegel & Vereinsverwaltung", "start_url": "/", "display": "standalone", - "background_color": "#2c3e50", - "theme_color": "#2c3e50", + "background_color": "#F5F2ED", + "theme_color": "#F5F2ED", "icons": [ { "src": "/icons/icon-192x192.png",