models
This commit is contained in:
@@ -1,51 +1,40 @@
|
||||
// /src/app/core/components/default-layout/sidebar/sidebar.component.ts
|
||||
|
||||
import { Component, OnInit, inject } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { RouterLink, RouterLinkActive } from '@angular/router'; // RouterLink und RouterLinkActive importieren
|
||||
// WICHTIG: RouterLink und RouterLinkActive importieren
|
||||
import { RouterLink, RouterLinkActive, Router } from '@angular/router';
|
||||
import { IconComponent } from '../../ui/icon/icon.component';
|
||||
import { StorageService } from '../../../../core/services/storage.service';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-sidebar',
|
||||
standalone: true,
|
||||
imports: [CommonModule, IconComponent], // RouterLink und RouterLinkActive hier hinzufügen
|
||||
// WICHTIG: Hier im Array hinzufügen
|
||||
imports: [CommonModule, IconComponent, RouterLink, RouterLinkActive],
|
||||
templateUrl: './sidebar.component.html',
|
||||
styleUrl: './sidebar.component.css',
|
||||
})
|
||||
export class SidebarComponent implements OnInit {
|
||||
// --- Abhängigkeiten mit moderner inject()-Syntax ---
|
||||
private storageService = inject(StorageService);
|
||||
|
||||
private readonly sidebarCollapsedKey = 'app-sidebar-collapsed';
|
||||
|
||||
public isCollapsed = false;
|
||||
|
||||
activeRoute = 'dashboard';
|
||||
constructor(private router: Router) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.loadCollapsedState();
|
||||
}
|
||||
|
||||
setActive(route: string): void {
|
||||
this.activeRoute = route;
|
||||
this.router.navigateByUrl('/shop/' + route);
|
||||
}
|
||||
|
||||
toggleSidebar(): void {
|
||||
this.isCollapsed = !this.isCollapsed;
|
||||
this.saveCollapsedState();
|
||||
}
|
||||
|
||||
private loadCollapsedState(): void {
|
||||
// Der Service kümmert sich um die Browser-Prüfung und gibt boolean oder null zurück
|
||||
this.isCollapsed =
|
||||
this.storageService.getItem<boolean>(this.sidebarCollapsedKey) ?? false;
|
||||
this.isCollapsed = this.storageService.getItem<boolean>(this.sidebarCollapsedKey) ?? false;
|
||||
}
|
||||
|
||||
private saveCollapsedState(): void {
|
||||
// Der Service kümmert sich um die Serialisierung des booleans
|
||||
this.storageService.setItem(this.sidebarCollapsedKey, this.isCollapsed);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user