diff --git a/server/index.ts b/server/index.ts index 1475511..029cca3 100644 --- a/server/index.ts +++ b/server/index.ts @@ -541,6 +541,11 @@ app.get('/api/browse-files', requireAuth, (req, res) => { const dirPath = (req.query.path as string) || '/' const VIDEO_EXTS = new Set(['.mkv', '.mp4', '.avi', '.m4v', '.mov', '.wmv']) try { + // Créer le dossier s'il n'existe pas (cas import manuel série non encore importée) + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath, { recursive: true }) + logger.info('api', `Dossier créé : ${dirPath}`) + } const files: { name: string; path: string; size: number }[] = [] function walk(dir: string) { let entries: fs.Dirent[] diff --git a/src/components/ManualImportModal.vue b/src/components/ManualImportModal.vue index 1aab39f..3d55a4f 100644 --- a/src/components/ManualImportModal.vue +++ b/src/components/ManualImportModal.vue @@ -7,47 +7,45 @@
- {{ step === 'folder' ? 'Sélectionnez le dossier contenant vos fichiers vidéo' : - step === 'match' ? 'Associez vos fichiers aux épisodes du catalogue' : - 'Import terminé' }} -
+{{ serieFolder }}
Scan du dossier…
Aucun fichier vidéo trouvé dans ce dossier.
+Placez vos fichiers dans {{ serieFolder }} puis réessayez.
+ +{{ scanError }}
+ +{{ items.length }} fichier{{ items.length > 1 ? 's' : '' }} - · {{ matchedCount }} associé{{ matchedCount > 1 ? 's' : '' }} · {{ alreadyImportedCount }} déjà importé{{ alreadyImportedCount > 1 ? 's' : '' }} + · {{ newMatchedCount }} nouveau{{ newMatchedCount > 1 ? 'x' : '' }} · {{ unmatchedCount }} non associé{{ unmatchedCount > 1 ? 's' : '' }}
- +{{ item.file.name }}
{{ formatSize(item.file.size) }} — déjà importé + — sera renommé