diff --git a/components/carnet/navigation.tsx b/components/carnet/navigation.tsx index 25264ec..86aea9c 100644 --- a/components/carnet/navigation.tsx +++ b/components/carnet/navigation.tsx @@ -94,24 +94,28 @@ export default function Navigation({ nextcloudFolders, onFolderSelect }: Navigat const response = await fetch('/api/storage/files?folder=contacts'); if (response.ok) { const files = await response.json(); - console.log(`Received ${files.length} files from storage`); - // Filter for VCF files and map to ContactFile interface + console.log(`[Navigation] Received ${files.length} files from storage`, files); + // Filter for VCF files - API returns { key, name, size, lastModified } const vcfFiles = files - .filter((file: any) => file.basename?.endsWith('.vcf') || file.title?.endsWith('.vcf')) - .map((file: any) => ({ - id: file.etag || file.id, - filename: file.filename || file.id, - basename: file.basename || file.title, - lastmod: file.lastmod || file.lastModified - })); - console.log(`Processed ${vcfFiles.length} VCF files`); + .filter((file: any) => file.name?.endsWith('.vcf') || file.key?.endsWith('.vcf')) + .map((file: any) => { + // Extract basename from name or key + const basename = file.name || file.key?.split('/').pop() || 'Unknown'; + return { + id: file.key || file.id || '', + filename: file.name || file.key || '', + basename: basename.replace('.vcf', ''), + lastmod: file.lastModified ? new Date(file.lastModified).toISOString() : new Date().toISOString() + }; + }); + console.log(`[Navigation] Processed ${vcfFiles.length} VCF files:`, vcfFiles); setContactFiles(vcfFiles); } else { - console.error('Error fetching contact files:', await response.text()); + console.error('[Navigation] Error fetching contact files:', await response.text()); setContactFiles([]); } } catch (error) { - console.error('Error fetching contact files:', error); + console.error('[Navigation] Error fetching contact files:', error); setContactFiles([]); } finally { setIsLoadingContacts(false);