feat(web): sélecteur de répertoire (parcourir au lieu de taper le chemin)
Ajoute un navigateur de dossiers réutilisable sur les deux champs qui exigeaient un chemin absolu tapé à la main : « Répertoire de travail » (nouvelle session) et « Chemin du dépôt » (ajout de repo). Un bouton « Parcourir… » déplie un panneau inline ; le champ texte reste pour taper/coller un chemin connu. Pour l'ajout de repo, les sous-dossiers qui sont des dépôts git sont signalés par un badge. Serveur : nouvel endpoint GET /api/v1/fs/list (authentifié par le hook preValidation global), ne renvoie que des noms de sous-dossiers (jamais de contenu de fichier). Valide le chemin via resolve() (clampe à la racine, neutralise « .. »), masque les dotfiles par défaut (showHidden), annote les dépôts git (markRepos), tolère les entrées illisibles. Tests : packages/server/test/fs-routes.test.ts (10 cas — listing, tri, hidden, markRepos, rejets 400/404, auth 401). Suite : 185/185 verts.
This commit is contained in:
@@ -103,6 +103,15 @@ export default {
|
||||
denied: 'Notification permission denied — enable it in your browser settings.',
|
||||
unsupported: 'Push needs HTTPS (e.g. Tailscale Serve); on iOS, install the app to your home screen first.',
|
||||
},
|
||||
fs: {
|
||||
browse: 'Browse…',
|
||||
up: 'Up',
|
||||
useFolder: 'Use this folder',
|
||||
showHidden: 'Show hidden',
|
||||
loading: 'Loading…',
|
||||
empty: 'No subfolders',
|
||||
repoBadge: 'repo',
|
||||
},
|
||||
ws: {
|
||||
reconnecting: 'Connection lost — reconnecting…',
|
||||
},
|
||||
|
||||
@@ -106,6 +106,15 @@ const fr: typeof en = {
|
||||
denied: 'Permission de notification refusée — activez-la dans les réglages du navigateur.',
|
||||
unsupported: 'Le push nécessite HTTPS (ex. Tailscale Serve) ; sur iOS, installez d’abord l’app sur l’écran d’accueil.',
|
||||
},
|
||||
fs: {
|
||||
browse: 'Parcourir…',
|
||||
up: 'Remonter',
|
||||
useFolder: 'Utiliser ce dossier',
|
||||
showHidden: 'Afficher les cachés',
|
||||
loading: 'Chargement…',
|
||||
empty: 'Aucun sous-dossier',
|
||||
repoBadge: 'dépôt',
|
||||
},
|
||||
ws: {
|
||||
reconnecting: 'Connexion perdue — reconnexion…',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user