Correction bug suppression complète coté lore (et suppression dans tout ce qui est campagne de la partie lore liée).
Améliorations ux : - Bandeau en haut qui reste accessible lors de la création d'un élément (chapitre, page, scène etc...) - Mise en place d'un surlignage pour voir su quel élément on est positionné
This commit is contained in:
@@ -17,7 +17,7 @@ export interface BreadcrumbItem {
|
||||
* Utilisation type :
|
||||
* <app-breadcrumb [items]="[
|
||||
* { label: 'Mon Univers', route: ['/lore', loreId] },
|
||||
* { label: 'PNJ', route: ['/lore', loreId, 'folders', nodeId, 'edit'] },
|
||||
* { label: 'PNJ', route: ['/lore', loreId, 'folders', nodeId] },
|
||||
* { label: 'Aldric' }
|
||||
* ]"></app-breadcrumb>
|
||||
*/
|
||||
|
||||
@@ -131,7 +131,7 @@ export class GlobalSearchComponent implements OnInit, OnDestroy {
|
||||
title: n.name,
|
||||
subtitle: '',
|
||||
tag: 'Dossier',
|
||||
route: ['/lore', n.loreId, 'folders', n.id, 'edit']
|
||||
route: ['/lore', n.loreId, 'folders', n.id]
|
||||
}));
|
||||
const templateResults: SearchResult[] = templates.map(t => ({
|
||||
id: t.id,
|
||||
|
||||
@@ -43,7 +43,10 @@
|
||||
</button>
|
||||
<span *ngIf="item.isAction || !isExpandable(item)" class="chevron-spacer"></span>
|
||||
|
||||
<button type="button" class="tree-btn" [class.action]="item.isAction" (click)="clickItem(item)">
|
||||
<button type="button" class="tree-btn"
|
||||
[class.action]="item.isAction"
|
||||
[class.active]="isActive(item)"
|
||||
(click)="clickItem(item)">
|
||||
<lucide-icon
|
||||
*ngIf="iconFor(item) as icon"
|
||||
[img]="icon"
|
||||
|
||||
@@ -129,6 +129,17 @@
|
||||
&.action { color: #6b7280; font-style: italic; }
|
||||
&.action:hover { color: #a5b4fc; background: #1f2937; }
|
||||
|
||||
// Dossier / page / scène actuellement affichée : surligné avec un accent
|
||||
// violet et une barre gauche pour repérer instantanément où on se trouve,
|
||||
// utile quand plusieurs entrées partagent le même label.
|
||||
&.active {
|
||||
background: #1e1b4b;
|
||||
color: white;
|
||||
font-weight: 500;
|
||||
box-shadow: inset 3px 0 0 #6c63ff;
|
||||
}
|
||||
&.active:hover { background: #2a2558; }
|
||||
|
||||
.tree-item-meta {
|
||||
margin-left: auto;
|
||||
font-size: 0.72rem;
|
||||
|
||||
@@ -188,6 +188,22 @@ export class SecondarySidebarComponent implements OnDestroy {
|
||||
return this.hasChildren(item);
|
||||
}
|
||||
|
||||
/**
|
||||
* True si la route du node correspond exactement à l'URL courante. Utilisé
|
||||
* pour surligner le dossier / page / scène en cours dans l'arbre — utile
|
||||
* quand plusieurs entrées partagent le même label (ex : deux sous-dossiers
|
||||
* "test" dans la même arborescence).
|
||||
*/
|
||||
isActive(item: TreeItem): boolean {
|
||||
if (!item.route) return false;
|
||||
return this.router.isActive(item.route, {
|
||||
paths: 'exact',
|
||||
queryParams: 'ignored',
|
||||
fragment: 'ignored',
|
||||
matrixParams: 'ignored'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Auto-déplie la chaîne d'ancêtres du item dont `route` matche l'URL active.
|
||||
* Nécessaire car la sidebar est détruite/recréée à chaque navigation (ngIf
|
||||
|
||||
Reference in New Issue
Block a user