diff --git a/src/app/app.component.css b/src/app/app.component.css
index a695024..ca98cf5 100644
--- a/src/app/app.component.css
+++ b/src/app/app.component.css
@@ -1,5 +1,13 @@
@import "tailwindcss";
-:root{
-
-}
\ No newline at end of file
+/*
+ * =================================================================================
+ * STYLING GUIDELINES & GLOBALES STYLING
+ * =================================================================================
+ */
+
+/* 1. CSS Variablen (Custom Properties) für das Theming
+ * =================================================================================
+ * Hier definieren wir alle wiederverwendbaren Werte. Dies ist die "Single Source of Truth"
+ * für Ihr Design-System.
+ */
\ No newline at end of file
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index 5b64810..e2d8dae 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -1,29 +1,34 @@
-// src/app/app.routes.ts
import { Routes } from '@angular/router';
-import { LandingpageComponent } from './features/landingpage/landingpage.component';
-import { NotFoundComponent } from './core/components/not-found/not-found.component';
export const routes: Routes = [
- // REGEL 1: Für alle "normalen" Seiten, nutze das MainLayout
+ // Regel 1: Leerer Pfad (Startseite der Anwendung)
+ // Ein Benutzer, der die Haupt-URL Ihrer Seite aufruft (z.B. "http://localhost:4200/"),
+ // wird sofort und ohne Umwege zur Login-Seite weitergeleitet.
{
path: '',
- children: [
- { path: '', component: LandingpageComponent }, // ... zeige das Landing-Bild darin
- // { path: 'shop', loadChildren: ... }, // ... zeige das Shop-Bild darin
- // { path: 'cart', loadChildren: ... } // ... zeige das Warenkorb-Bild darin
- ],
+ redirectTo: 'auth', // Leitet zur /auth-Route weiter
+ pathMatch: 'full' // Wichtig: Gilt nur für den exakt leeren Pfad
+ },
+
+ // Regel 2: Authentifizierungs-Feature
+ // Alle URLs, die mit "auth/" beginnen (z.B. "/auth/login", "/auth/register"),
+ // werden von dieser Regel abgefangen und an die auth.routes.ts zur
+ // weiteren Verarbeitung übergeben.
+ {
+ path: 'auth',
+ loadChildren: () => import('./features/auth/auth.routes').then(r => r.AUTH_ROUTES)
+ },
+ {
+ path: 'demo',
+ loadChildren: () => import('./features/demo/demo.routes').then(r => r.DEMO_ROUTES)
},
- // // REGEL 2: Für alle Authentifizierungs-Seiten, nutze das AuthLayout
- // {
- // path: 'auth',
- // component: AuthLayoutComponent, // <- Hänge den "Auth"-Rahmen an die Wand
- // children: [
- // // Annahme: auth.routes.ts definiert /login, /register etc.
- // { path: '', loadChildren: () => import('./features/auth/auth.routes').then(r => r.AUTH_ROUTES) }
- // ]
- // },
-
- // REGEL 3: Die 404-Seite hat kein spezielles Layout
- { path: '**', component: NotFoundComponent },
-];
+ // Regel 3: Fallback-Route (Wildcard)
+ // JEDE ANDERE URL, die nicht von den obigen Regeln abgefangen wurde,
+ // wird als ungültig betrachtet und ebenfalls zum Auth-Feature (und von dort zum Login) umgeleitet.
+ // Das stellt sicher, dass Benutzer immer auf einer validen Seite landen.
+ {
+ path: '**',
+ redirectTo: 'auth'
+ }
+];
\ No newline at end of file
diff --git a/src/app/features/auth/auth.module.ts b/src/app/features/auth/auth.module.ts
index e69de29..235b03f 100644
--- a/src/app/features/auth/auth.module.ts
+++ b/src/app/features/auth/auth.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { ReactiveFormsModule } from '@angular/forms';
+
+import { AuthLayoutComponent } from './components/auth-layout/auth-layout.component';
+import { LoginComponent } from './components/login/login.component';
+
+@NgModule({
+ declarations: [],
+ imports: [
+ CommonModule,
+ ReactiveFormsModule,
+ AuthLayoutComponent,
+ LoginComponent,
+ ],
+})
+export class AuthModule {}
diff --git a/src/app/features/auth/auth.routes.ts b/src/app/features/auth/auth.routes.ts
new file mode 100644
index 0000000..19d09a6
--- /dev/null
+++ b/src/app/features/auth/auth.routes.ts
@@ -0,0 +1,22 @@
+import { Routes } from '@angular/router';
+
+// Importiere dein spezielles Layout für Auth-Seiten und alle Komponenten
+import { AuthLayoutComponent } from './components/auth-layout/auth-layout.component';
+import { LoginComponent } from './components/login/login.component';
+import { RegisterComponent } from './components/register/register.component';
+import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';
+import { ResetPasswordComponent } from './components/reset-password/reset-password.component';
+
+export const AUTH_ROUTES: Routes = [
+ {
+ path: '',
+ component: AuthLayoutComponent,
+ children: [
+ { path: '', redirectTo: 'login', pathMatch: 'full' },
+ { path: 'login', component: LoginComponent, title: 'Anmelden' },
+ { path: 'register', component: RegisterComponent, title: 'Registrieren' },
+ { path: 'forgot-password', component: ForgotPasswordComponent, title: 'Passwort vergessen' },
+ { path: 'reset-password/:token', component: ResetPasswordComponent, title: 'Neues Passwort' }
+ ]
+ }
+];
\ No newline at end of file
diff --git a/src/app/app-routing.module.ts b/src/app/features/auth/components/auth-layout/auth-layout.component.css
similarity index 100%
rename from src/app/app-routing.module.ts
rename to src/app/features/auth/components/auth-layout/auth-layout.component.css
diff --git a/src/app/features/auth/components/auth-layout/auth-layout.component.html b/src/app/features/auth/components/auth-layout/auth-layout.component.html
new file mode 100644
index 0000000..afdb396
--- /dev/null
+++ b/src/app/features/auth/components/auth-layout/auth-layout.component.html
@@ -0,0 +1 @@
+
auth-layout works!
diff --git a/src/app/features/auth/components/auth-layout/auth-layout.component.ts b/src/app/features/auth/components/auth-layout/auth-layout.component.ts
new file mode 100644
index 0000000..5d65cf7
--- /dev/null
+++ b/src/app/features/auth/components/auth-layout/auth-layout.component.ts
@@ -0,0 +1,9 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-auth-layout',
+ imports: [],
+ templateUrl: './auth-layout.component.html',
+ styleUrl: './auth-layout.component.css',
+})
+export class AuthLayoutComponent {}
diff --git a/src/app/features/auth/auth-routing.module.ts b/src/app/features/auth/components/forgot-password/forgot-password.component.css
similarity index 100%
rename from src/app/features/auth/auth-routing.module.ts
rename to src/app/features/auth/components/forgot-password/forgot-password.component.css
diff --git a/src/app/features/auth/components/forgot-password/forgot-password.component.html b/src/app/features/auth/components/forgot-password/forgot-password.component.html
new file mode 100644
index 0000000..3f85a0f
--- /dev/null
+++ b/src/app/features/auth/components/forgot-password/forgot-password.component.html
@@ -0,0 +1 @@
+
forgot-password works!
diff --git a/src/app/features/auth/components/forgot-password/forgot-password.component.ts b/src/app/features/auth/components/forgot-password/forgot-password.component.ts
new file mode 100644
index 0000000..3f3c834
--- /dev/null
+++ b/src/app/features/auth/components/forgot-password/forgot-password.component.ts
@@ -0,0 +1,11 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-forgot-password',
+ imports: [],
+ templateUrl: './forgot-password.component.html',
+ styleUrl: './forgot-password.component.css'
+})
+export class ForgotPasswordComponent {
+
+}
diff --git a/src/app/features/auth/components/auth.component.ts b/src/app/features/auth/components/login/login.component.css
similarity index 100%
rename from src/app/features/auth/components/auth.component.ts
rename to src/app/features/auth/components/login/login.component.css
diff --git a/src/app/features/auth/components/login/login.component.html b/src/app/features/auth/components/login/login.component.html
new file mode 100644
index 0000000..147cfc4
--- /dev/null
+++ b/src/app/features/auth/components/login/login.component.html
@@ -0,0 +1 @@
+
login works!
diff --git a/src/app/features/auth/components/login/login.component.ts b/src/app/features/auth/components/login/login.component.ts
new file mode 100644
index 0000000..b3f2e24
--- /dev/null
+++ b/src/app/features/auth/components/login/login.component.ts
@@ -0,0 +1,11 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-login',
+ imports: [],
+ templateUrl: './login.component.html',
+ styleUrl: './login.component.css'
+})
+export class LoginComponent {
+
+}
diff --git a/src/app/features/cart/cart-routing.module.ts b/src/app/features/auth/components/register/register.component.css
similarity index 100%
rename from src/app/features/cart/cart-routing.module.ts
rename to src/app/features/auth/components/register/register.component.css
diff --git a/src/app/features/auth/components/register/register.component.html b/src/app/features/auth/components/register/register.component.html
new file mode 100644
index 0000000..6b0ba2e
--- /dev/null
+++ b/src/app/features/auth/components/register/register.component.html
@@ -0,0 +1 @@
+
register works!
diff --git a/src/app/features/auth/components/register/register.component.ts b/src/app/features/auth/components/register/register.component.ts
new file mode 100644
index 0000000..e3723b8
--- /dev/null
+++ b/src/app/features/auth/components/register/register.component.ts
@@ -0,0 +1,11 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-register',
+ imports: [],
+ templateUrl: './register.component.html',
+ styleUrl: './register.component.css'
+})
+export class RegisterComponent {
+
+}
diff --git a/src/app/features/cart/cart.module.ts b/src/app/features/auth/components/reset-password/reset-password.component.css
similarity index 100%
rename from src/app/features/cart/cart.module.ts
rename to src/app/features/auth/components/reset-password/reset-password.component.css
diff --git a/src/app/features/auth/components/reset-password/reset-password.component.html b/src/app/features/auth/components/reset-password/reset-password.component.html
new file mode 100644
index 0000000..66175bb
--- /dev/null
+++ b/src/app/features/auth/components/reset-password/reset-password.component.html
@@ -0,0 +1 @@
+
reset-password works!
diff --git a/src/app/features/auth/components/reset-password/reset-password.component.ts b/src/app/features/auth/components/reset-password/reset-password.component.ts
new file mode 100644
index 0000000..d84e75e
--- /dev/null
+++ b/src/app/features/auth/components/reset-password/reset-password.component.ts
@@ -0,0 +1,11 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-reset-password',
+ imports: [],
+ templateUrl: './reset-password.component.html',
+ styleUrl: './reset-password.component.css'
+})
+export class ResetPasswordComponent {
+
+}
diff --git a/src/app/features/cart/components/cart.component.ts b/src/app/features/auth/components/verify-email/verify-email.component.css
similarity index 100%
rename from src/app/features/cart/components/cart.component.ts
rename to src/app/features/auth/components/verify-email/verify-email.component.css
diff --git a/src/app/features/auth/components/verify-email/verify-email.component.html b/src/app/features/auth/components/verify-email/verify-email.component.html
new file mode 100644
index 0000000..c39c8c0
--- /dev/null
+++ b/src/app/features/auth/components/verify-email/verify-email.component.html
@@ -0,0 +1 @@
+
verify-email works!
diff --git a/src/app/features/auth/components/verify-email/verify-email.component.ts b/src/app/features/auth/components/verify-email/verify-email.component.ts
new file mode 100644
index 0000000..4215940
--- /dev/null
+++ b/src/app/features/auth/components/verify-email/verify-email.component.ts
@@ -0,0 +1,11 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-verify-email',
+ imports: [],
+ templateUrl: './verify-email.component.html',
+ styleUrl: './verify-email.component.css'
+})
+export class VerifyEmailComponent {
+
+}
diff --git a/src/app/features/cart/services/cart.service.ts b/src/app/features/demo/components/demo/demo.component.css
similarity index 100%
rename from src/app/features/cart/services/cart.service.ts
rename to src/app/features/demo/components/demo/demo.component.css
diff --git a/src/app/features/demo/components/demo/demo.component.html b/src/app/features/demo/components/demo/demo.component.html
new file mode 100644
index 0000000..eb89925
--- /dev/null
+++ b/src/app/features/demo/components/demo/demo.component.html
@@ -0,0 +1,676 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ € 14.750Umsatz (Monat)
+
+
+
+
+
+
+
+ 1.284Neue Nutzer
+
+
+
+
+
+
+
+ 312Bestellungen
+
+
+
+
+
+
+
+ 99.8%Verfügbarkeit
+
+
+
+
+
+
Umsatzentwicklung
+
+
Jan
+
Feb
+
Mär
+
Apr
+
Mai
+
Jun
+
+
+
+
+
+
+
+
Letzte Bestellungen
+
+
+
+
+
+
+ Kunde
+
+
+
Bestell-ID
+
Status
+
Betrag
+
Aktionen
+
+
+
+
+
+
+
+
+
+
Max Mustermann
+
max.mustermannATexample.com
+
+
+
+
#10543
+
+
+ Abgeschlossen
+
+
€ 129,99
+
+
+
+
+
+
+
+
+
+
+
+
Erika Mustermann
+
erika.mATexample.com
+
+
+
+
#10542
+
+
+ In Bearbeitung
+
+
€ 49,50
+
+
+
+
+
+
+
+
+
+
+
+
Peter Pan
+
peter.panATexample.com
+
+
+
+
#10541
+
+
Storniert
+
€ 87,00
+
+
+
+
+
+
+
+
+
+
+
+
Anna Kurz
+
anna.kurzATexample.com
+
+
+
+
#10540
+
+
Versendet
+
€ 214,20
+
+
+
+
+
+
+
+
+
+
+
+
+
Moderne Formular-Elemente
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Buttons, Chips & Badges
+
+
+
+
+
+ Technologie×Design×Angular×
+
+
+
+ 3
+
+
+
+
+
+
Indikatoren & Feedback
+
+
+
+
+
+
+
+
+
+
+
+ Erfolg! Ihre Änderungen wurden gespeichert.
+
+
+ Fehler! Bitte füllen Sie alle Felder aus.
+
+
+
+
+
+
+
Navigation & Layout
+
+
+
+
+
+
Hier wäre der Inhalt für den aktiven Tab "Profil".
+
+
+
+
+
+ Weitere Details anzeigen
+
+
+
+
+ Hier steht der Inhalt, der ein- und ausgeklappt werden kann.
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+ Suspendisse malesuada lacus ex, sit amet blandit leo lobortis
+ eget.
+