import { Component, EventEmitter, Input, Output } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; import { FileExplorerComponent } from '../../../components/file-explorer/file-explorer.component'; import { QuickLinksComponent } from '../quick-links/quick-links.component'; import { ScrollableOverlayDirective } from '../../shared/overlay-scrollbar/scrollable-overlay.directive'; import type { VaultNode, TagInfo } from '../../../types'; import { environment } from '../../../environments/environment'; @Component({ selector: 'app-nimbus-sidebar', standalone: true, imports: [CommonModule, RouterModule, FileExplorerComponent, QuickLinksComponent, ScrollableOverlayDirective], host: { class: 'block h-full' }, template: `
{{ vaultName }} - ObsiViewer
  • {{ t.count }}
Empty
ObsiViewer
` }) export class NimbusSidebarComponent { @Input() vaultName = ''; @Input() effectiveFileTree: VaultNode[] = []; @Input() selectedNoteId: string | null = null; @Input() tags: TagInfo[] = []; @Output() toggleSidebarRequest = new EventEmitter(); @Output() folderSelected = new EventEmitter(); @Output() fileSelected = new EventEmitter(); @Output() tagSelected = new EventEmitter(); @Output() quickLinkSelected = new EventEmitter(); @Output() markdownPlaygroundSelected = new EventEmitter(); env = environment; open = { quick: true, folders: true, tags: false, trash: false, tests: true }; onQuickLink(id: string) { this.quickLinkSelected.emit(id); } onMarkdownPlaygroundClick(): void { this.markdownPlaygroundSelected.emit(); } }