- {/* Breadcrumb */}
-
- {new URL(origin).hostname}
-
-
- {crumbs.map((c, i) => (
-
-
-
-
- ))}
-
-
- {/* Toolbar */}
-
-
-
-
-
- {/* Listagem */}
-
- {loading ? (
-
-
- Carregando…
-
- ) : visible.length === 0 ? (
-
- Pasta vazia ou sem arquivos suportados
-
- ) : (
-
- {dirs.map((it) => (
-
- ))}
- {files.map((it) => {
- const supported = isSupportedModel(it);
- const selected = selectedName === it.name;
- return (
-
- );
- })}
-
- )}
-
-
- );
-}
diff --git a/src/lib/filebrowser.ts b/src/lib/filebrowser.ts
deleted file mode 100644
index fdb4158..0000000
--- a/src/lib/filebrowser.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- * Cliente leve para instâncias FileBrowser (https://filebrowser.org).
- * Suporta NoAuth (POST /api/login vazio) e listagem de pastas via /api/resources.
- */
-
-export const SUPPORTED_EXT = ['glb', 'obj', 'stl', 'ifc'] as const;
-export type SupportedFolderExt = (typeof SUPPORTED_EXT)[number];
-
-export interface FBItem {
- name: string;
- isDir: boolean;
- size: number;
- extension: string; // ".ifc" (com ponto) — normalizamos
- modified?: string;
-}
-
-export interface FolderListing {
- origin: string;
- /** Caminho da pasta sempre começando e terminando com "/" (ex.: "/modelos/aco/") */
- path: string;
- token: string | null;
- items: FBItem[];
-}
-
-/** Tenta obter um JWT de uma instância FileBrowser NoAuth. */
-export async function getFileBrowserToken(origin: string): Promise