diff --git a/frontend/src/components/Directory.jsx b/frontend/src/components/Directory.jsx index c939710..4cb9d2c 100644 --- a/frontend/src/components/Directory.jsx +++ b/frontend/src/components/Directory.jsx @@ -1,5 +1,5 @@ import "../index.css" -import { useState } from "react"; +import { useEffect, useState } from "react"; function FileIcon() { return <> @@ -32,8 +32,12 @@ function DirectoryIcon() { * @returns {{}} * @constructor */ -export default function Directory({ entry, showHidden, appendPath, toggleSelected, toggleEditing }) { - const [selected, setSelected] = useState(false); +export default function Directory({ entry, selected, showHidden, appendPath, toggleSelected, toggleEditing }) { + const [_selected, setSelected] = useState(false); + + useEffect(() => { + setSelected(selected); + }, [selected]); const handleClick = () => { if (entry.directory) { @@ -45,7 +49,7 @@ export default function Directory({ entry, showHidden, appendPath, toggleSelecte const handleCheck = () => { toggleSelected(entry.name); - setSelected(!selected); + setSelected(!_selected); } // This is temporary, eventually I will have a real data model that stores @@ -56,11 +60,11 @@ export default function Directory({ entry, showHidden, appendPath, toggleSelecte } return <> -