diff --git a/components/UserInputWrap.tsx b/components/UserInputWrap.tsx new file mode 100644 index 0000000..068c974 --- /dev/null +++ b/components/UserInputWrap.tsx @@ -0,0 +1,40 @@ +import React from "react"; + +const UserInputWrap = ({ children, setUser }) => { + const [inputUser, setInputUser] = React.useState(""); + const [begin, setBegin] = React.useState(false); + + React.useEffect(() => { + setInputUser(localStorage.getItem("user") || ""); + }, []); + + return ( + <> + {!begin && ( +
+ setInputUser(event.target.value)} + /> + +
+ )} + {begin && children} + + ); +}; + +export default UserInputWrap; diff --git a/pages/index.tsx b/pages/index.tsx index 1031de7..05bbd9d 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,14 +1,10 @@ import React from "react"; import Head from "next/head"; import Timetable from "@/components/Timetable"; +import UserInputWrap from "@/components/UserInputWrap"; export default function Home() { const [user, setUser] = React.useState(""); - const [begin, setBegin] = React.useState(false); - - React.useEffect(() => { - setUser(localStorage.getItem("user") || ""); - }, []); return ( <> @@ -19,29 +15,9 @@ export default function Home() {
- {!begin && ( -
- setUser(event.target.value)} - /> - -
- )} - {begin && } + + +
);