// FileList.jsx - the table of entries, and the row actions.
function FileList({ entries, busy, onOpen, onPreview, onDelete, onRename, onShare, downloadURL }) {
if (busy) {
return (
);
}
function Breadcrumb({ path, onNavigate }) {
const parts = path === '/' ? [] : path.slice(1).split('/');
return (
);
}
// One progress row per file in flight. Uploads are the slowest thing here and
// the only one worth showing progress for.
function Uploads({ items }) {
if (!items.length) return null;
return (