import { Component, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { TocService } from '../../services/toc.service'; import { Input } from '@angular/core'; @Component({ selector: 'app-toc-button', standalone: true, imports: [CommonModule], template: ` @if (tocService.hasHeadings()) { } `, styles: [` .toc-toggle-button { backdrop-filter: blur(8px); } .toc-toggle-button.active { background-color: rgba(59, 130, 246, 0.1); border-color: rgb(59, 130, 246); } .toc-toggle-button:hover { transform: scale(1.05); } .toc-toggle-button:active { transform: scale(0.95); } `] }) export class TocButtonComponent { readonly tocService = inject(TocService); @Input() mode: 'fixed' | 'header' = 'fixed'; get buttonClass(): string { const base = 'toc-toggle-button p-2.5 rounded-lg bg-surface1 dark:bg-gray-800 border border-border dark:border-gray-700 shadow-lg hover:bg-surface2 dark:hover:bg-gray-700 transition z-30'; if (this.mode === 'header') return `${base} absolute right-0 top-1`; return `${base} fixed right-4`; } }