fix: partage dirigé — dossier Partage virtuel + ouverture en onglet #196
- _resolve_shared_file: home-<user>/Partage/<f> -> fichier source (/api/file, raw, download) - clic dossier Partage: dépliage sans navigation (fix Directory not found) - fichiers reçus ouverts en onglet applicatif (arbre, recherche, dashboard) - POST /api/share: path vide/null rejeté (400) — un share path:null cassait /api/shares - +2 tests (13 total)
This commit is contained in:
+18
-4
@@ -370,12 +370,19 @@ async function incrementalLoadDirectory(vaultName, dirPath, container) {
|
||||
fItem.title = t("dashboard.shared_by", { user: s.created_by || "" });
|
||||
fItem.addEventListener("click", () => {
|
||||
scrollTreeItemIntoView(fItem, false);
|
||||
window.open(`/s/${s.token}`, "_blank");
|
||||
// #196 : ouverture en onglet applicatif — /api/file résout Partage/
|
||||
// vers le fichier source (lecture seule).
|
||||
if (window.innerWidth <= 768) {
|
||||
TabManager.openPersistent(vaultName, `Partage/${(s.path || "").split("/").pop()}`);
|
||||
} else {
|
||||
TabManager.openPreview(vaultName, `Partage/${(s.path || "").split("/").pop()}`);
|
||||
}
|
||||
closeMobileSidebar();
|
||||
});
|
||||
shareSub.appendChild(fItem);
|
||||
});
|
||||
shareDir.addEventListener("click", () => {
|
||||
TabManager.openNav(vaultName, "Partage");
|
||||
// #196 : dossier virtuel — pas de navigation (pas de répertoire physique).
|
||||
const expanded = !shareSub.classList.contains("collapsed");
|
||||
shareSub.classList.toggle("collapsed", expanded);
|
||||
const chev = shareDir.querySelector("[data-lucide]");
|
||||
@@ -733,12 +740,19 @@ async function loadDirectory(vaultName, dirPath, container) {
|
||||
fItem.title = t("dashboard.shared_by", { user: s.created_by || "" });
|
||||
fItem.addEventListener("click", () => {
|
||||
scrollTreeItemIntoView(fItem, false);
|
||||
window.open(`/s/${s.token}`, "_blank");
|
||||
// #196 : ouverture en onglet applicatif — /api/file résout Partage/
|
||||
// vers le fichier source (lecture seule).
|
||||
if (window.innerWidth <= 768) {
|
||||
TabManager.openPersistent(vaultName, `Partage/${(s.path || "").split("/").pop()}`);
|
||||
} else {
|
||||
TabManager.openPreview(vaultName, `Partage/${(s.path || "").split("/").pop()}`);
|
||||
}
|
||||
closeMobileSidebar();
|
||||
});
|
||||
shareSub.appendChild(fItem);
|
||||
});
|
||||
shareDir.addEventListener("click", () => {
|
||||
TabManager.openNav(vaultName, "Partage");
|
||||
// #196 : dossier virtuel — pas de navigation (pas de répertoire physique).
|
||||
const expanded = !shareSub.classList.contains("collapsed");
|
||||
shareSub.classList.toggle("collapsed", expanded);
|
||||
const chev = shareDir.querySelector("[data-lucide]");
|
||||
|
||||
Reference in New Issue
Block a user