import { useEffect, useState } from 'react'; import { databases, Query, CONFIG } from '../appwrite'; export default function ResourceList({ moduleId, sectionId }) { const [resources, setResources] = useState([]); const [loading, setLoading] = useState(true); const fetchResources = async () => { try { const res = await databases.listDocuments( CONFIG.databaseId, CONFIG.resourcesCollectionId, [ Query.equal('moduleId', moduleId), Query.equal('sectionId', sectionId), Query.orderAsc('order'), ] ); setResources(res.documents); } catch (err) { console.error('Erreur fetchResources:', err); } finally { setLoading(false); } }; useEffect(() => { setLoading(true); fetchResources(); }, [moduleId, sectionId]); if (loading) return
Chargement des ressources...
; const getFileIcon = (type) => { switch (type) { case 'pdf': return '📄'; case 'video': return '🎬'; case 'link': return '🔗'; case 'image': return '🖼️'; case 'ppt': case 'pptx': return '📊'; case 'doc': case 'docx': return '📝'; case 'xls': case 'xlsx': return '📈'; default: return '📎'; } }; const getFileSize = (url) => { return ''; }; return (
{resources.length === 0 ? (

Aucun document disponible pour cette section.

) : ( resources.map((r) => (
{getFileIcon(r.type)}
{r.title}
{r.description && (
{r.description}
)}
)) )}
); }