GoodDrive
Fichier partagé publiquement
{error}
: data && <>{data.root.name}
{data.root.is_folder && <>Ce dossier est vide.
}import { useCallback, useEffect, useState } from 'react' import { ArrowLeft, Download, File, Folder, LoaderCircle } from 'lucide-react' import { Button } from '@/components/ui/button' import { drive, message, publicFileUrl } from '@/api/client' export default function PublicSharePage({token}) { const [parent,setParent] = useState(null) const [data,setData] = useState(null) const [error,setError] = useState('') const [loading,setLoading] = useState(true) const load = useCallback(async()=>{ setLoading(true) try {setData(await drive.publicBrowse(token,parent));setError('')} catch(e){setError(e?.response?.status===404 ? 'Ce lien est invalide ou n’est plus disponible.' : message(e))} finally{setLoading(false)} },[token,parent]) useEffect(()=>{load()},[load]) const folderBack = () => { if(!data?.breadcrumb?.length || data.breadcrumb.length<=1) {setParent(null);return} setParent(data.breadcrumb.at(-2).id) } return
Fichier partagé publiquement
{error}
: data && <>Ce dossier est vide.
}