feat: dossier perso (#194) — vaults home-* en tête de l'arborescence, icône maison, compose de test
- frontend/js/sidebar.js : tri stable _homeFirst appliqué à la source des deux listes de vaults (loadVaults + soft refresh) → les vaults home-<user> passent en premier, arborescence et sélecteurs cohérents. - frontend/js/viewer.js : getVaultIcon renvoie l'icône lucide "home" pour home-* (même safeCreateIcons / stroke currentColor que les autres). - docker-compose.test-win.yml : montage test_home:/vaults/Home + OBSIGATE_HOME_ROOT=/vaults/Home pour tester la feature en local ; test_home/ ajouté au .gitignore. - Tests : sidebar-filters.test.mjs +2 (icône maison, gemme violette inchangée), vérifié live sur l'instance 2020 (ordre + svg.lucide-home).
This commit is contained in:
@@ -176,6 +176,19 @@ await test("filterSavedSearches combines with the type pills", async () => {
|
||||
assert.equal(visibleSaved(), 3, "clearing both filters restores everything");
|
||||
});
|
||||
|
||||
// ── #194 : icône du dossier personnel ──
|
||||
await test("getVaultIcon returns the lucide house icon for home-* vaults", async () => {
|
||||
const homeIcon = viewerMod.getVaultIcon("home-bruno", 16);
|
||||
assert.equal(homeIcon.tagName.toLowerCase(), "i", "placeholder lucide (comme les autres icônes)");
|
||||
assert.equal(homeIcon.getAttribute("data-lucide"), "home", "icône maison lucide");
|
||||
assert.equal(homeIcon.style.width, "16px", "taille demandée respectée");
|
||||
});
|
||||
|
||||
await test("getVaultIcon is unchanged for regular vaults", async () => {
|
||||
const vaultIcon = viewerMod.getVaultIcon("Recettes", 16);
|
||||
assert.equal(vaultIcon.tagName.toLowerCase(), "svg", "gemme violette SVG d'origine");
|
||||
});
|
||||
|
||||
// ── Summary ──
|
||||
console.log(`\n${passCount}/${testCount} tests passed`);
|
||||
if (passCount !== testCount) {
|
||||
|
||||
Reference in New Issue
Block a user