diff --git a/components/Layout/Layout.tsx b/components/Layout/Layout.tsx
new file mode 100644
index 000000000..1cd758adf
--- /dev/null
+++ b/components/Layout/Layout.tsx
@@ -0,0 +1,31 @@
+import { ReactNode, useEffect, useState } from 'react';
+
+import Header from '../Header/Header';
+import Footer from '../Footer/Footer';
+
+import BASE_PATH from '../../pages/api/codeit';
+
+interface LayoutProps {
+ children: ReactNode;
+}
+
+export default function Layout({ children }: LayoutProps) {
+ // 유저 로그인(임시)
+ const [profile, setProfile] = useState('');
+
+ useEffect(() => {
+ const fetchData = async () => {
+ const { data } = await BASE_PATH.get(`users/1`);
+ setProfile(data.data[0]);
+ };
+ fetchData();
+ }, []);
+
+ return (
+ <>
+
+ {children}
+
+ >
+ );
+}
diff --git a/components/Sign/Input.module.css b/components/Sign/Input.module.css
index d6c5d2893..425f7c737 100644
--- a/components/Sign/Input.module.css
+++ b/components/Sign/Input.module.css
@@ -1,5 +1,5 @@
.default {
- width: 35rem;
+ width: 100%;
padding: 1.8rem 1.5rem;
border: 1px solid var(--color-gray60);
border-radius: 8px;
diff --git a/components/Sign/InputForm.module.css b/components/Sign/InputForm.module.css
index f36789197..0b5d047ee 100644
--- a/components/Sign/InputForm.module.css
+++ b/components/Sign/InputForm.module.css
@@ -2,4 +2,5 @@
display: flex;
flex-direction: column;
row-gap: 1rem;
+ width: 400px;
}
diff --git a/components/Sign/Layout.module.css b/components/Sign/Layout.module.css
new file mode 100644
index 000000000..4ce4e9d9d
--- /dev/null
+++ b/components/Sign/Layout.module.css
@@ -0,0 +1,107 @@
+.body {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ padding-top: 23.8rem;
+ padding-bottom: 25.2rem;
+}
+
+.header {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ row-gap: 1.6rem;
+ margin-bottom: 3rem;
+}
+.headerSignTextForm {
+ display: flex;
+ column-gap: 0.8rem;
+ font-size: 1.6rem;
+}
+.headerSignText {
+ color: var(--Black-normal-1);
+ font-weight: 400;
+ line-height: 2.4rem;
+}
+.headerLoginLink {
+ color: var(--Purple-light-1);
+ font-weight: 600;
+}
+.headerLoginHr {
+ border: 0.1rem solid var(--Purple-light-1);
+}
+.headerLogo {
+ width: 21rem;
+ height: 3.8rem;
+}
+
+/* section */
+.sectionInputWrap {
+ margin-bottom: 2.4rem;
+}
+
+.section {
+ display: flex;
+ flex-direction: column;
+ width: 40rem;
+}
+
+.sectionInputCheckText {
+ color: var(--Red-normal-1);
+}
+.sectionInput {
+ position: relative;
+}
+
+/* social */
+.socialForm {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background-color: #e7effb;
+ padding: 1.2rem 2.4rem;
+ border-radius: 0.8rem;
+}
+
+.socialSnsText {
+ color: #373740;
+}
+
+.socialLinkForm {
+ display: flex;
+ column-gap: 1.6rem;
+}
+
+.socialLinkBackground {
+ background-repeat: no-repeat;
+ width: 4.2rem;
+ height: 4.2rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.snsBg1 {
+ background-image: url('/images/googlebg.svg');
+}
+.snsBg2 {
+ background-image: url('/images/kakaobg.svg');
+}
+
+/* tablet */
+@media (max-width: 1199px) {
+ .body {
+ padding-top: 20rem;
+ padding-bottom: 29rem;
+ }
+}
+/* mobile */
+@media (max-width: 767px) {
+ .body {
+ padding: 12rem 3.2rem 23.2rem 3.3rem;
+ }
+ .socialForm {
+ margin-top: 0.2rem;
+ }
+}
diff --git a/components/Sign/Layout.tsx b/components/Sign/Layout.tsx
new file mode 100644
index 000000000..48db953f0
--- /dev/null
+++ b/components/Sign/Layout.tsx
@@ -0,0 +1,70 @@
+import Link from 'next/link';
+
+import { FormEvent, ReactNode } from 'react';
+
+import styles from './Layout.module.css';
+import SubmitButton from './submitButton';
+
+interface LayoutProps {
+ questionText?: string;
+ linkText?: string;
+ href: string;
+ submitBtnText: string;
+ snsText: string;
+ children?: ReactNode;
+}
+
+export default function Layout({ questionText, linkText, href, submitBtnText, snsText, children }: LayoutProps) {
+ const handleOnSubmit = (e: FormEvent) => {
+ e.preventDefault();
+ console.log('submitTest');
+ };
+
+ return (
+
+ );
+}
diff --git a/components/Sign/passwordInput.module.css b/components/Sign/passwordInput.module.css
index 228e98108..d65a9589d 100644
--- a/components/Sign/passwordInput.module.css
+++ b/components/Sign/passwordInput.module.css
@@ -3,7 +3,7 @@
}
.default {
- width: 35rem;
+ width: 100%;
padding: 1.8rem 1.5rem;
border: 1px solid var(--color-gray60);
border-radius: 8px;
diff --git a/components/Sign/submitButton.module.css b/components/Sign/submitButton.module.css
new file mode 100644
index 000000000..7ec94214c
--- /dev/null
+++ b/components/Sign/submitButton.module.css
@@ -0,0 +1,16 @@
+.signBtn {
+ padding: 1.6rem 2rem;
+ border-radius: 0.8rem;
+ width: 100%;
+ color: var(--color-white);
+
+ font-size: 1.8rem;
+ font-weight: 600;
+ border: 0;
+ margin-top: 0.6rem;
+ margin-bottom: 3.2rem;
+}
+
+.gradation1 {
+ background-image: linear-gradient(135deg, #6d6afe 0%, #6ae3fe 100%);
+}
diff --git a/components/Sign/submitButton.tsx b/components/Sign/submitButton.tsx
new file mode 100644
index 000000000..018ed230a
--- /dev/null
+++ b/components/Sign/submitButton.tsx
@@ -0,0 +1,15 @@
+import styles from './submitButton.module.css';
+
+interface submitProps {
+ text: string;
+}
+
+export default function SubmitButton({ text }: submitProps) {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/pages/_app.tsx b/pages/_app.tsx
index c98883295..259235bf2 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -1,34 +1,21 @@
import type { AppProps } from 'next/app';
-import { useEffect, useState } from 'react';
import Head from 'next/head';
-import Header from '../components/Header/Header';
-import Footer from '../components/Footer/Footer';
+import Layout from '../components/Layout/Layout';
import '@/styles/global.css';
-import BASE_PATH from './api/codeit';
export default function App({ Component, pageProps }: AppProps) {
- // 유저 로그인(임시)
- const [profile, setProfile] = useState('');
-
- useEffect(() => {
- const fetchData = async () => {
- const { data } = await BASE_PATH.get(`users/1`);
- setProfile(data.data[0]);
- };
- fetchData();
- }, []);
-
return (
<>
Linkbrary
-
-
-
+
+
+
+
>
);
}
diff --git a/pages/folder/index.tsx b/pages/folder/index.tsx
index a5a1b7e70..315c6601c 100644
--- a/pages/folder/index.tsx
+++ b/pages/folder/index.tsx
@@ -1,7 +1,7 @@
import { useState } from 'react';
import CardList from '../../components/CardList/CardList';
-import SearchBar from '../../components/SearchBar/SearchBar.xsx';
+import SearchBar from '../../components/SearchBar/SearchBar';
import Folder from '../../components/Folder/Folder';
import CardReadOnly from '../../components/CardReadOnly/CardReadOnly';
import LinkAddBar from '../../components/LinkAddBar/LinkAddBar';
@@ -34,24 +34,26 @@ export default function FolderPage({ folderNav }: any) {
};
return (
- }
- searchBar={}
- folderFeature={}
- folderNavList={
-
- {folderNav?.map((data: any) => (
-
- ))}
-
- }
- cardList={
-
- {navData?.map((data: any) => (
-
- ))}
-
- }
- />
+ <>
+ }
+ searchBar={}
+ folderFeature={}
+ folderNavList={
+
+ {folderNav?.map((data: any) => (
+
+ ))}
+
+ }
+ cardList={
+
+ {navData?.map((data: any) => (
+
+ ))}
+
+ }
+ />
+ >
);
}
diff --git a/pages/index.tsx b/pages/index.tsx
index b9fccd116..056ec71d9 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -10,10 +10,10 @@ export default function Home() {
folder
-
+
signIn
-
+
signUp
diff --git a/pages/signIn/index.tsx b/pages/signIn/index.tsx
index e10271eee..04617ad03 100644
--- a/pages/signIn/index.tsx
+++ b/pages/signIn/index.tsx
@@ -1,5 +1,18 @@
import InputForm from '../../components/Sign/InputForm';
+import Layout from '../../components/Sign/Layout';
export default function signInPage() {
- return ;
+ return (
+ <>
+
+ ;
+
+ >
+ );
}
diff --git a/pages/signUp/index.tsx b/pages/signUp/index.tsx
index 5748c8e83..385673e39 100644
--- a/pages/signUp/index.tsx
+++ b/pages/signUp/index.tsx
@@ -1,5 +1,18 @@
import InputForm from '../../components/Sign/InputForm';
+import Layout from '../../components/Sign/Layout';
export default function signUpPage() {
- return ;
+ return (
+ <>
+
+ ;
+
+ >
+ );
}
diff --git a/public/images/google.png b/public/images/google.png
new file mode 100644
index 000000000..554841e82
Binary files /dev/null and b/public/images/google.png differ
diff --git a/public/images/googlebg.svg b/public/images/googlebg.svg
new file mode 100644
index 000000000..75c873ae7
--- /dev/null
+++ b/public/images/googlebg.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/images/kakako.svg b/public/images/kakako.svg
new file mode 100644
index 000000000..7a6062bc6
--- /dev/null
+++ b/public/images/kakako.svg
@@ -0,0 +1,13 @@
+
diff --git a/public/images/kakaobg.svg b/public/images/kakaobg.svg
new file mode 100644
index 000000000..f0da6389e
--- /dev/null
+++ b/public/images/kakaobg.svg
@@ -0,0 +1,5 @@
+
diff --git a/styles/reset.css b/styles/reset.css
index dfd7eaad1..74c8ed69e 100644
--- a/styles/reset.css
+++ b/styles/reset.css
@@ -3,7 +3,7 @@
* {
box-sizing: border-box;
margin: 0;
- font-family: "Pretendard";
+ font-family: 'Pretendard';
word-break: keep-all;
}
@@ -25,10 +25,10 @@ input {
input:focus {
outline: none;
}
-input[type="search"]::-webkit-search-decoration,
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-results-button,
-input[type="search"]::-webkit-search-results-decoration {
+input[type='search']::-webkit-search-decoration,
+input[type='search']::-webkit-search-cancel-button,
+input[type='search']::-webkit-search-results-button,
+input[type='search']::-webkit-search-results-decoration {
display: none;
}