Update LibraryCreationModal

This commit is contained in:
grimsi
2025-04-05 22:37:40 +02:00
parent 9babedeba4
commit 1340c01a8f
2 changed files with 49 additions and 41 deletions
@@ -1,4 +1,4 @@
import React, {useState} from "react";
import React, {useEffect, useState} from "react";
import {addToast, Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader} from "@heroui/react";
import {Form, Formik} from "formik";
import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/LibraryDto";
@@ -46,13 +46,18 @@ export default function LibraryCreationModal({
<Modal isOpen={isOpen} onOpenChange={onOpenChange} backdrop="opaque" size="lg">
<ModalContent>
{(onClose) => (
<Formik initialValues={{name: "", path: ""}}
<Formik initialValues={{name: "", path: selectedPath}}
onSubmit={async (values: any) => {
await createLibrary(values);
onClose();
}}
>
{(formik) => (
{(formik) => {
useEffect(() => {
formik.setFieldValue("path", selectedPath);
}, [selectedPath]);
return (
<Form>
<ModalHeader className="flex flex-col gap-1">Add a new library</ModalHeader>
<ModalBody>
@@ -67,14 +72,16 @@ export default function LibraryCreationModal({
/>
<Input
name="path"
label="path"
placeholder="Enter library path"
label="Library Path"
placeholder="Select a path"
value={formik.values.path}
isDisabled
required
/>
</div>
<pre>{selectedPath}</pre>
<div className="h-64 overflow-auto">
<FileTreeView onPathChange={setSelectedPath}/>
</div>
</ModalBody>
<ModalFooter>
<Button variant="light" onPress={onClose}>
@@ -89,7 +96,8 @@ export default function LibraryCreationModal({
</Button>
</ModalFooter>
</Form>
)}
);
}}
</Formik>
)}
</ModalContent>
@@ -67,7 +67,7 @@ class FilesystemService {
.filter { !it.isHidden }
.map { FileDto(it.name, if (it.isDirectory) FileType.DIRECTORY else FileType.FILE, it.hashCode()) }
} catch (_: Exception) {
log.error { "Error reading directory contents of $path" }
log.warn { "Error reading directory contents of $path" }
emptyList()
}
}