(null);
+ const handlePasswordVisibility = () => {
+ if (ref.current){
+ ref.current.type = ref.current.type === 'text'?'password' : 'text';
+ setIcon((prev) => prev === visibilityIcon ? disvisibilityIcon : visibilityIcon);
+ }
+ }
+ return {ref, icon, handlePasswordVisibility};
+}
+
+export default usePasswordVisibility;
\ No newline at end of file
diff --git a/src/pages/App.tsx b/src/pages/App.tsx
index f877ec343..e7f15a32e 100644
--- a/src/pages/App.tsx
+++ b/src/pages/App.tsx
@@ -5,24 +5,32 @@ import Products from "./products/Products";
import AddItem from "./addItem/AddItem";
import Board from "./board/Board";
import Page404 from "./error/Page404";
-import { GlobalStyles } from "core/styles/GlobalStyles";
import ProductDetail from "./products/ProductDetail";
+import { GlobalStyles } from "core/styles/GlobalStyles";
+import Auth from "./auth/Auth";
+
const App = () => {
return (
-
+
- } />
-
- } />
- } />
+ } >
+ }/>
+
+ } />
+ } />
+
+ } />
+ } />
+ } />
- } />
- } />
- } />
+ }/>
+ }/>
+
+
);
};
diff --git a/src/pages/auth/Auth.tsx b/src/pages/auth/Auth.tsx
new file mode 100644
index 000000000..1fa356433
--- /dev/null
+++ b/src/pages/auth/Auth.tsx
@@ -0,0 +1,51 @@
+import Header from 'components/auth/Header';
+import OAuth from 'components/auth/OAuth';
+import SignInForm from 'components/auth/signIn/SignInForm';
+import SignUpForm from 'components/auth/signUp/SignUpForm';
+
+import styled from 'styled-components';
+
+const Main = styled.main`
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+`;
+
+const Article = styled.article`
+ width: 64rem;
+ display: flex;
+ flex-direction: column;
+ gap: 2.4rem;
+ @media (375px <= width < 768px) {
+ max-width: 40rem;
+ width: 100%;
+ }
+`;
+
+interface AuthProps {
+ isLogin: boolean;
+}
+
+const Auth = ({isLogin}:AuthProps) => {
+ return (
+ <>
+
+
+
+
+ {
+ isLogin? (
+
+ ):(
+
+ )
+ }
+
+
+
+ >
+ );
+}
+
+export default Auth;
diff --git a/src/pages/nav/Nav.tsx b/src/pages/nav/Nav.tsx
index 8933cf7dc..352bbb38a 100644
--- a/src/pages/nav/Nav.tsx
+++ b/src/pages/nav/Nav.tsx
@@ -1,4 +1,4 @@
-import { Link } from "react-router-dom";
+import { Link, Outlet } from "react-router-dom";
import LogoImage from "../../core/assets/images/logo/logo-large@3x.png";
import TabList from "../../components/nav/TabList";
@@ -34,6 +34,7 @@ const Nav = () => {
setIsSelected(INITIAL_SELECTED);
};
return (
+ <>
+
+ >
);
};