feat(breadcrumb): build breadcrumb in 1 API call

add /api/folders/{id}/ancestors

    this API to iterate parent up to the drive root or the shared folder
    this will help UI to build the breadcrumb in 1 API call
    and to identify the root element (is it a drive users has access to or
    a shared folder ?)

    ui: now only 1 API call is now required to build the breadcrumb
This commit is contained in:
Edouard Vanbelle
2026-07-26 21:31:04 +02:00
parent 0efbf0ff85
commit 3b31b8911b
33 changed files with 1342 additions and 221 deletions
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "توجد بالفعل مجموعة بهذا الاسم."
},
"breadcrumb": {
"home": "الرئيسية"
"home": "الرئيسية",
"aria": "مسار التنقل",
"root": {
"personal_drive": "قرص شخصي: {{name}}",
"shared_drive": "قرص مشترك: {{name}}",
"direct_share": "تمت مشاركته معك",
"token": "عبر رابط مشترك"
}
},
"trash": {
"empty_trash": "تفريغ سلة المهملات",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "Eine Gruppe mit diesem Namen existiert bereits."
},
"breadcrumb": {
"home": "Startseite"
"home": "Startseite",
"aria": "Brotkrumen",
"root": {
"personal_drive": "Persönliches Laufwerk: {{name}}",
"shared_drive": "Geteiltes Laufwerk: {{name}}",
"direct_share": "Für Sie freigegeben",
"token": "Über freigegebenen Link"
}
},
"trash": {
"empty_trash": "Papierkorb leeren",
+8 -1
View File
@@ -605,7 +605,14 @@
"forbidden": "Could not load files"
},
"breadcrumb": {
"home": "Home"
"home": "Home",
"aria": "Breadcrumb",
"root": {
"personal_drive": "Personal drive: {{name}}",
"shared_drive": "Shared drive: {{name}}",
"direct_share": "Shared with you",
"token": "Via shared link"
}
},
"trash": {
"empty_trash": "Empty Trash",
+8 -1
View File
@@ -464,7 +464,14 @@
"group_name_taken": "Ya existe un grupo con este nombre."
},
"breadcrumb": {
"home": "Inicio"
"home": "Inicio",
"aria": "Ruta de navegación",
"root": {
"personal_drive": "Unidad personal: {{name}}",
"shared_drive": "Unidad compartida: {{name}}",
"direct_share": "Compartido contigo",
"token": "A través de enlace compartido"
}
},
"trash": {
"empty_trash": "Vaciar papelera",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "گروهی با این نام پیش‌از این وجود دارد."
},
"breadcrumb": {
"home": "صفحه اصلی"
"home": "صفحه اصلی",
"aria": "مسیر ناوبری",
"root": {
"personal_drive": "درایو شخصی: {{name}}",
"shared_drive": "درایو اشتراکی: {{name}}",
"direct_share": "با شما به اشتراک گذاشته شده",
"token": "از طریق پیوند اشتراکی"
}
},
"trash": {
"empty_trash": "خالی کردن سطل زباله",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "Un groupe portant ce nom existe déjà."
},
"breadcrumb": {
"home": "Accueil"
"home": "Accueil",
"aria": "Fil d’Ariane",
"root": {
"personal_drive": "Disque personnel : {{name}}",
"shared_drive": "Disque partagé : {{name}}",
"direct_share": "Partagé avec vous",
"token": "Via un lien partagé"
}
},
"trash": {
"empty_trash": "Vider la corbeille",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "इस नाम का एक समूह पहले से मौजूद है।"
},
"breadcrumb": {
"home": "होम"
"home": "होम",
"aria": "ब्रेडक्रम्ब",
"root": {
"personal_drive": "निजी ड्राइव: {{name}}",
"shared_drive": "साझा ड्राइव: {{name}}",
"direct_share": "आपके साथ साझा किया गया",
"token": "साझा लिंक के माध्यम से"
}
},
"trash": {
"empty_trash": "रद्दी खाली करें",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "Un gruppo con questo nome esiste già."
},
"breadcrumb": {
"home": "Home"
"home": "Home",
"aria": "Percorso di navigazione",
"root": {
"personal_drive": "Unità personale: {{name}}",
"shared_drive": "Unità condivisa: {{name}}",
"direct_share": "Condiviso con te",
"token": "Tramite link condiviso"
}
},
"trash": {
"empty_trash": "Svuota il cestino",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "この名前のグループはすでに存在します。"
},
"breadcrumb": {
"home": "ホーム"
"home": "ホーム",
"aria": "パンくずリスト",
"root": {
"personal_drive": "個人ドライブ: {{name}}",
"shared_drive": "共有ドライブ: {{name}}",
"direct_share": "あなたに共有されました",
"token": "共有リンク経由"
}
},
"trash": {
"empty_trash": "ゴミ箱を空にする",
+8 -1
View File
@@ -570,7 +570,14 @@
"forbidden": "파일을 불러올 수 없습니다"
},
"breadcrumb": {
"home": "홈"
"home": "홈",
"aria": "탐색 경로",
"root": {
"personal_drive": "개인 드라이브: {{name}}",
"shared_drive": "공유 드라이브: {{name}}",
"direct_share": "내게 공유됨",
"token": "공유 링크로"
}
},
"trash": {
"empty_trash": "휴지통 비우기",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "Er bestaat al een groep met deze naam."
},
"breadcrumb": {
"home": "Start"
"home": "Start",
"aria": "Kruimelpad",
"root": {
"personal_drive": "Persoonlijke schijf: {{name}}",
"shared_drive": "Gedeelde schijf: {{name}}",
"direct_share": "Met u gedeeld",
"token": "Via gedeelde link"
}
},
"trash": {
"empty_trash": "Prullenbak legen",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "Grupa o tej nazwie już istnieje."
},
"breadcrumb": {
"home": "Strona główna"
"home": "Strona główna",
"aria": "Ścieżka nawigacji",
"root": {
"personal_drive": "Dysk osobisty: {{name}}",
"shared_drive": "Dysk współdzielony: {{name}}",
"direct_share": "Udostępniono Tobie",
"token": "Przez udostępniony link"
}
},
"trash": {
"empty_trash": "Opróżnij kosz",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "Já existe um grupo com este nome."
},
"breadcrumb": {
"home": "Início"
"home": "Início",
"aria": "Trilha de navegação",
"root": {
"personal_drive": "Unidade pessoal: {{name}}",
"shared_drive": "Unidade compartilhada: {{name}}",
"direct_share": "Compartilhado com você",
"token": "Via link compartilhado"
}
},
"trash": {
"empty_trash": "Esvaziar lixeira",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "Группа с таким именем уже существует."
},
"breadcrumb": {
"home": "Главная"
"home": "Главная",
"aria": "Хлебные крошки",
"root": {
"personal_drive": "Личный диск: {{name}}",
"shared_drive": "Общий диск: {{name}}",
"direct_share": "Поделено с вами",
"token": "Через общую ссылку"
}
},
"trash": {
"empty_trash": "Очистить корзину",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "已存在同名群組。"
},
"breadcrumb": {
"home": "主頁"
"home": "主頁",
"aria": "導覽路徑",
"root": {
"personal_drive": "個人雲端硬碟:{{name}}",
"shared_drive": "共用雲端硬碟:{{name}}",
"direct_share": "已分享給您",
"token": "透過分享連結"
}
},
"trash": {
"empty_trash": "清空回收站",
+8 -1
View File
@@ -459,7 +459,14 @@
"group_name_taken": "同名组已存在。"
},
"breadcrumb": {
"home": "主页"
"home": "主页",
"aria": "面包屑",
"root": {
"personal_drive": "个人云盘:{{name}}",
"shared_drive": "共享云盘:{{name}}",
"direct_share": "已共享给您",
"token": "通过共享链接"
}
},
"trash": {
"empty_trash": "清空回收站",