diff --git a/gameyfin/src/main/frontend/components/general/input/FileTreeView.tsx b/gameyfin/src/main/frontend/components/general/input/FileTreeView.tsx new file mode 100644 index 0000000..4737dd2 --- /dev/null +++ b/gameyfin/src/main/frontend/components/general/input/FileTreeView.tsx @@ -0,0 +1,69 @@ +import TreeView, {flattenTree} from "react-accessible-treeview"; +import {File, Folder, FolderOpen, IconContext} from "@phosphor-icons/react"; + +const folder = { + name: "", + children: [ + { + name: "src", + children: [{name: "index.js"}, {name: "styles.css"}], + }, + { + name: "node_modules", + children: [ + { + name: "react-accessible-treeview", + children: [{name: "index.js"}], + }, + {name: "react", children: [{name: "index.js"}]}, + ], + }, + { + name: ".npmignore", + }, + { + name: "package.json", + }, + { + name: "webpack.config.js", + }, + ], +}; + +const data = flattenTree(folder); + +export default function FileTreeView({}) { + return ( +
+ ( + +
+ {isBranch ? : } + {element.name} +
+
+ )} + className="w-full" + /> +
{JSON.stringify(data, null, 2)}
+
+ ); +} + +function FolderIcon({isOpen}: { isOpen: boolean }) { + return isOpen ? : ; +} + +function FileIcon({fileName}: { fileName: string }) { + return ; +} \ No newline at end of file diff --git a/gameyfin/src/main/frontend/components/general/modals/LibraryCreationModal.tsx b/gameyfin/src/main/frontend/components/general/modals/LibraryCreationModal.tsx index 79f480e..7759a57 100644 --- a/gameyfin/src/main/frontend/components/general/modals/LibraryCreationModal.tsx +++ b/gameyfin/src/main/frontend/components/general/modals/LibraryCreationModal.tsx @@ -4,6 +4,7 @@ import {Form, Formik} from "formik"; import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/LibraryDto"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; import Input from "Frontend/components/general/input/Input"; +import FileTreeView from "Frontend/components/general/input/FileTreeView"; interface LibraryCreationModalProps { libraries: LibraryDto[]; @@ -70,6 +71,8 @@ export default function LibraryCreationModal({ required /> + +