diff --git a/reader/src/App.jsx b/reader/src/App.jsx index 93e5a64..226c07a 100644 --- a/reader/src/App.jsx +++ b/reader/src/App.jsx @@ -21,91 +21,91 @@ import { import ResourcePage from "./ResourcePage.jsx"; import io from "socket.io-client"; -const socket = io("http://localhost:3000"); +//const socket = io("http://localhost:3000"); const DIVIDER_AT = 16; -function SocketTest() { - const [booleanArray, setBooleanArray] = useState(new Array(10).fill(false)); - const [isConnected, setIsConnected] = useState(false); - - useEffect(() => { - // Connection status - socket.on("connect", () => { - setIsConnected(true); - console.log("Connected to server"); - }); - - socket.on("disconnect", () => { - setIsConnected(false); - console.log("Disconnected from server"); - }); - - // Listen for array updates - socket.on("arrayChanged", (newArray) => { - setBooleanArray(newArray); - }); - - // Cleanup on unmount - return () => { - socket.off("connect"); - socket.off("disconnect"); - socket.off("arrayChanged"); - }; - }, []); - - const toggleValue = (index) => { - const newValue = !booleanArray[index]; - - // Emit update to server - socket.emit("setArrayValue", { index, value: newValue }); - }; - - const refreshArray = () => { - socket.emit("getArray"); - }; - - return ( -
-

Socket.IO Boolean Array

- -
- Status:{" "} - - {isConnected ? "Connected" : "Disconnected"} - -
- - - -
- {booleanArray.map((value, index) => ( - - ))} -
- -
-

Current Array:

-
{JSON.stringify(booleanArray)}
-
-
- ); -} +//function SocketTest() { +// const [booleanArray, setBooleanArray] = useState(new Array(10).fill(false)); +// const [isConnected, setIsConnected] = useState(false); +// +// useEffect(() => { +// // Connection status +// socket.on("connect", () => { +// setIsConnected(true); +// console.log("Connected to server"); +// }); +// +// socket.on("disconnect", () => { +// setIsConnected(false); +// console.log("Disconnected from server"); +// }); +// +// // Listen for array updates +// socket.on("arrayChanged", (newArray) => { +// setBooleanArray(newArray); +// }); +// +// // Cleanup on unmount +// return () => { +// socket.off("connect"); +// socket.off("disconnect"); +// socket.off("arrayChanged"); +// }; +// }, []); +// +// const toggleValue = (index) => { +// const newValue = !booleanArray[index]; +// +// // Emit update to server +// socket.emit("setArrayValue", { index, value: newValue }); +// }; +// +// const refreshArray = () => { +// socket.emit("getArray"); +// }; +// +// return ( +//
+//

Socket.IO Boolean Array

+// +//
+// Status:{" "} +// +// {isConnected ? "Connected" : "Disconnected"} +// +//
+// +// +// +//
+// {booleanArray.map((value, index) => ( +// +// ))} +//
+// +//
+//

Current Array:

+//
{JSON.stringify(booleanArray)}
+//
+//
+// ); +//} export function App() { return ( @@ -123,7 +123,6 @@ export function App() { } /> } /> - } /> ); diff --git a/reader/src/ResourcePage.jsx b/reader/src/ResourcePage.jsx index 93e1f2e..cf3c263 100644 --- a/reader/src/ResourcePage.jsx +++ b/reader/src/ResourcePage.jsx @@ -12,7 +12,7 @@ function LoadingWrapper() { return ; } -function SelectResource({ onChange }) { +function SelectResource({ onChange, refresh }) { const subjects = useStore((state) => state.subjects); const [selectedSubject, setSelectedSubject] = useState(-1); @@ -38,6 +38,10 @@ function SelectResource({ onChange }) { }); } + if (refresh) { + return null; + } + return (
{/* File Selector */} @@ -130,6 +134,7 @@ function useFileContent(file) { } const Content = () => { + const [refresh, setRefresh] = useState(false); const authToken = useStore((state) => state.config.token); const changeConfig = useStore((state) => state.changeConfig); const setAuthToken = (token) => changeConfig({ token }); @@ -157,6 +162,8 @@ const Content = () => { const handleSave = async () => { setIsSavingLoading(true); + setRefresh(true); + try { const res = await apiInstance.post( `/resources`, @@ -179,8 +186,13 @@ const Content = () => { } } finally { setTimeout(() => { - setMessage(null); - }, 8000); + //setMessage(null); + if (window) { + window.location.reload(); + } else { + console.warn("No window"); + } + }, 3000); setIsSavingLoading(false); setContent(""); @@ -251,7 +263,7 @@ const Content = () => { // Main content screen return (
- setSelected(values)} /> + setSelected(values)} refresh={refresh} /> {message &&
{message}
} {selected && !isLoading && ( @@ -303,12 +315,12 @@ const Content = () => { -
+