Files
ShopSolution-frontend/src/app/shared/components/layout/sidebar/sidebar.component.ts
Tizian.Breuch ec6e6bdd7a models
2025-12-04 13:43:45 +01:00

40 lines
1.3 KiB
TypeScript

import { Component, OnInit, inject } from '@angular/core';
import { CommonModule } from '@angular/common';
// 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';
@Component({
selector: 'app-sidebar',
standalone: true,
// WICHTIG: Hier im Array hinzufügen
imports: [CommonModule, IconComponent, RouterLink, RouterLinkActive],
templateUrl: './sidebar.component.html',
styleUrl: './sidebar.component.css',
})
export class SidebarComponent implements OnInit {
private storageService = inject(StorageService);
private readonly sidebarCollapsedKey = 'app-sidebar-collapsed';
public isCollapsed = false;
constructor(private router: Router) {}
ngOnInit(): void {
this.loadCollapsedState();
}
toggleSidebar(): void {
this.isCollapsed = !this.isCollapsed;
this.saveCollapsedState();
}
private loadCollapsedState(): void {
this.isCollapsed = this.storageService.getItem<boolean>(this.sidebarCollapsedKey) ?? false;
}
private saveCollapsedState(): void {
this.storageService.setItem(this.sidebarCollapsedKey, this.isCollapsed);
}
}