chore: remove .angular cache directory
This commit is contained in:
@@ -168,11 +168,11 @@
|
||||
aria-label="Rechercher dans la voûte"
|
||||
/>
|
||||
</div>
|
||||
@if (activeTagFilter(); as tagFilter) {
|
||||
@if (activeTagDisplay(); as tagDisplay) {
|
||||
<div class="flex items-center justify-between rounded-lg border border-obs-l-border/60 bg-obs-l-bg-main/75 px-3 py-2 dark:border-obs-d-border/60 dark:bg-obs-d-bg-main/65">
|
||||
<div class="flex items-center gap-2 text-sm font-medium text-obs-l-text-main dark:text-obs-d-text-main">
|
||||
<span>🔖</span>
|
||||
<span class="truncate">#{{ tagFilter }}</span>
|
||||
<span class="truncate">{{ tagDisplay }}</span>
|
||||
</div>
|
||||
<button class="text-xs text-obs-l-text-muted transition hover:text-obs-l-text-main dark:text-obs-d-text-muted dark:hover:text-obs-d-text-main" (click)="clearTagFilter()">Effacer</button>
|
||||
</div>
|
||||
|
||||
@@ -167,6 +167,16 @@ export class AppComponent implements OnDestroy {
|
||||
const tag = rawTerm.slice(1).trim();
|
||||
return tag ? tag.toLowerCase() : null;
|
||||
});
|
||||
|
||||
activeTagDisplay = computed<string | null>(() => {
|
||||
const rawTerm = this.sidebarSearchTerm().trim();
|
||||
if (!rawTerm.startsWith('#')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const displayTag = rawTerm.slice(1).trim();
|
||||
return displayTag || null;
|
||||
});
|
||||
|
||||
searchResults = computed<Note[]>(() => {
|
||||
const notes = this.vaultService.allNotes();
|
||||
@@ -449,6 +459,17 @@ export class AppComponent implements OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
handleTagClick(tagName: string): void {
|
||||
const normalized = tagName.replace(/^#/, '').trim();
|
||||
if (!normalized) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.isSidebarOpen.set(true);
|
||||
this.activeView.set('search');
|
||||
this.sidebarSearchTerm.set(`#${normalized}`);
|
||||
}
|
||||
|
||||
updateSearchTerm(term: string, focusSearch = false): void {
|
||||
this.sidebarSearchTerm.set(term ?? '');
|
||||
if (focusSearch || (term && term.trim().length > 0)) {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</div>
|
||||
<div class="mt-4 flex flex-wrap gap-2">
|
||||
@for(tag of note.tags; track tag) {
|
||||
<span class="bg-blue-100 text-blue-800 dark:bg-blue-900/50 dark:text-blue-300 text-xs font-medium px-2.5 py-1 rounded-full">#{{ tag }}</span>
|
||||
<span class="bg-blue-100 text-blue-800 dark:bg-blue-900/50 dark:text-blue-300 text-xs font-medium px-2.5 py-1 rounded-full">{{ tag }}</span>
|
||||
}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@@ -56,7 +56,7 @@ interface MetadataEntry {
|
||||
data-origin="header"
|
||||
[attr.data-tag]="tag"
|
||||
(click)="tagClicked.emit(tag)">
|
||||
#{{ tag }}
|
||||
{{ tag }}
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
@@ -73,7 +73,7 @@ interface MetadataEntry {
|
||||
data-origin="frontmatter"
|
||||
[attr.data-tag]="tag"
|
||||
(click)="tagClicked.emit(tag)">
|
||||
#{{ tag }}
|
||||
{{ tag }}
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
@for (tag of tags(); track tag.name) {
|
||||
<li>
|
||||
<button (click)="tagSelected.emit(tag.name)" class="w-full flex justify-between items-center text-left p-1.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 text-sm">
|
||||
<span>#{{ tag.name }}</span>
|
||||
<span>{{ tag.name }}</span>
|
||||
<span class="text-xs bg-gray-200 dark:bg-gray-700 rounded-full px-2 py-0.5">{{ tag.count }}</span>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
@@ -109,7 +109,7 @@ interface TagSection {
|
||||
(click)="tagSelected.emit(tag.name)"
|
||||
>
|
||||
<span class="text-sm">🔖</span>
|
||||
<span class="truncate">#{{ tag.name }}</span>
|
||||
<span class="truncate">{{ tag.name }}</span>
|
||||
<span class="rounded-full bg-obs-l-bg-secondary/80 px-2 py-0.5 text-[0.65rem] text-obs-l-text-muted dark:bg-obs-d-bg-secondary/80 dark:text-obs-d-text-muted">
|
||||
{{ tag.count }}
|
||||
</span>
|
||||
|
||||
@@ -128,7 +128,7 @@ export class MarkdownService {
|
||||
return match;
|
||||
}
|
||||
const colorClass = this.getTagColorClass(trimmedTag);
|
||||
return `${prefix}<button type="button" class="md-tag-badge ${colorClass}" data-tag="${trimmedTag}" data-origin="inline">#${trimmedTag}</button>`;
|
||||
return `${prefix}<button type="button" class="md-tag-badge ${colorClass}" data-tag="${trimmedTag}" data-origin="inline">${trimmedTag}</button>`;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user