From 5d5a63554c1bb9f5d0f18b1f06b0d9dff4c9c654 Mon Sep 17 00:00:00 2001
From: urjimyu <92876819+urjimyu@users.noreply.github.com>
Date: Thu, 9 May 2024 00:21:48 +0900
Subject: [PATCH 1/6] chore: updated assets
---
public/svg/feeling_L_blank.svg | 18 +++++++++++++++++
src/assets/svg/FeelingLBlank.tsx | 34 ++++++++++++++++++++++++++++++++
src/assets/svg/index.ts | 1 +
src/style/reset.ts | 2 +-
src/style/theme.ts | 5 +++--
5 files changed, 57 insertions(+), 3 deletions(-)
create mode 100644 public/svg/feeling_L_blank.svg
create mode 100644 src/assets/svg/FeelingLBlank.tsx
diff --git a/public/svg/feeling_L_blank.svg b/public/svg/feeling_L_blank.svg
new file mode 100644
index 0000000..97c3c24
--- /dev/null
+++ b/public/svg/feeling_L_blank.svg
@@ -0,0 +1,18 @@
+
diff --git a/src/assets/svg/FeelingLBlank.tsx b/src/assets/svg/FeelingLBlank.tsx
new file mode 100644
index 0000000..71fe462
--- /dev/null
+++ b/src/assets/svg/FeelingLBlank.tsx
@@ -0,0 +1,34 @@
+import * as React from "react";
+import type { SVGProps } from "react";
+const SvgFeelingLBlank = (props: SVGProps) => (
+
+);
+export default SvgFeelingLBlank;
diff --git a/src/assets/svg/index.ts b/src/assets/svg/index.ts
index 0ba1209..c2b737b 100644
--- a/src/assets/svg/index.ts
+++ b/src/assets/svg/index.ts
@@ -1,4 +1,5 @@
export { default as Favicon } from "./Favicon";
+export { default as IcFeelingLBlank } from "./FeelingLBlank";
export { default as IcPcKakaotalk } from "./PcKakaotalk";
export { default as IcPcBackgrHalfstars } from "./PcBackgrHalfstars";
export { default as IcPcBackgrStars } from "./PcBackgrStars";
diff --git a/src/style/reset.ts b/src/style/reset.ts
index a187040..d91393b 100644
--- a/src/style/reset.ts
+++ b/src/style/reset.ts
@@ -27,7 +27,7 @@ export const reset = css`
overflow-wrap: break-word;
tab-size: 4;
- background-color: ${({ theme }) => theme.colors.grey_200};
+ background-color: #000000;
-webkit-tap-highlight-color: transparent;
}
diff --git a/src/style/theme.ts b/src/style/theme.ts
index 2a48089..6edfe09 100644
--- a/src/style/theme.ts
+++ b/src/style/theme.ts
@@ -13,11 +13,12 @@ const colors = {
dark: "#02040F",
purple: "#7F75EE",
red: "#FF5F5F",
+ black: "#000000",
};
const fonts = {
Title: css`
- font-family: pretendard;
+ font-family: "pretendard";
font-size: 2.4rem;
font-weight: 600;
font-style: normal;
@@ -166,6 +167,6 @@ const fonts = {
`,
};
-const theme = { mixin, colors, fonts };
+const theme = { colors, fonts, mixin };
export default theme;
From c9aa3309429a6c0cb37061cbe7622eed4a0b0c42 Mon Sep 17 00:00:00 2001
From: urjimyu <92876819+urjimyu@users.noreply.github.com>
Date: Thu, 9 May 2024 00:23:16 +0900
Subject: [PATCH 2/6] feat: created page layouts and common components
---
src/App.tsx | 13 +++++++----
src/components/Button.tsx | 21 +++++++++++++++++
src/pages/DeletePage.tsx | 5 ++++
src/pages/LoginPage.tsx | 42 +++++++++++++++++++++++++++++++++-
src/pages/RecordreamLayout.tsx | 34 +++++++++++++++++++++++++++
src/router/Router.tsx | 4 ----
6 files changed, 109 insertions(+), 10 deletions(-)
create mode 100644 src/components/Button.tsx
create mode 100644 src/pages/DeletePage.tsx
create mode 100644 src/pages/RecordreamLayout.tsx
diff --git a/src/App.tsx b/src/App.tsx
index 4f14940..0db6579 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,21 +1,24 @@
import { RouterProvider } from "react-router-dom";
-import styled from "styled-components";
+import styled, { ThemeProvider } from "styled-components";
import router from "./router/Router";
import GlobalStyle from "./style/GlobalStyle";
-import { IcPcBackgrStars } from "./assets/svg/index";
+// import { IcPcBackgrStars } from "./assets/svg";
+import theme from "./style/theme";
function App() {
return (
-
-
+
+
+
+
);
}
export default App;
-const AppWrapper = styled(IcPcBackgrStars)`
+const AppWrapper = styled.div`
border: none;
object-fit: cover;
`;
diff --git a/src/components/Button.tsx b/src/components/Button.tsx
new file mode 100644
index 0000000..1faa64b
--- /dev/null
+++ b/src/components/Button.tsx
@@ -0,0 +1,21 @@
+import styled from "styled-components";
+
+interface ButtonInterface {
+ color: string;
+ message: string;
+}
+
+const Button = ({ color, message }: ButtonInterface) => {
+ return {message};
+};
+
+export default Button;
+
+const ButtonWrapper = styled.div<{ $color: string }>`
+ width: 38rem;
+ height: 7.8rem;
+ font-size: 2.2rem;
+ border-radius: 1.8rem;
+ border-color: ${({ theme, $color }) => theme.colors[$color]};
+ color: ${({ theme, $color }) => theme.colors[$color]};
+`;
diff --git a/src/pages/DeletePage.tsx b/src/pages/DeletePage.tsx
new file mode 100644
index 0000000..f9be49d
--- /dev/null
+++ b/src/pages/DeletePage.tsx
@@ -0,0 +1,5 @@
+const DeletePage = () => {
+ return ;
+};
+
+export default DeletePage;
diff --git a/src/pages/LoginPage.tsx b/src/pages/LoginPage.tsx
index 3aff564..b64a474 100644
--- a/src/pages/LoginPage.tsx
+++ b/src/pages/LoginPage.tsx
@@ -1,5 +1,45 @@
+import styled from "styled-components";
+import { IcPcLogo } from "../assets/svg";
+
const LoginPage = () => {
- return LOGINPAGE
;
+ const onClickLoginBtn = () => {};
+ // console.log("LOGINPAGE!");
+ return (
+
+
+
+
+ {/* */}
+ 카카오로 시작하기
+ 로그인 후 이용이 가능합니다.
+
+ );
};
export default LoginPage;
+
+const LoginPageWrapper = styled.div`
+ margin: 0 auto;
+`;
+
+const LogoSection = styled.section`
+ width: 62.3rem;
+ height: 62.2rem;
+ margin-top: 10.3rem;
+ margin-right: 2.8rem;
+`;
+
+const LoginBtn = styled.button`
+ width: 46rem;
+ height: 3.6rem;
+ border-radius: 1.8rem;
+ color: ${({ theme }) => theme.colors.white};
+ font-size: 2.2rem;
+ border-color: ${({ theme }) => theme.colors.white};
+ margin-bottom: 1.5rem;
+`;
+
+const LoginMessage = styled.span`
+ color: ${({ theme }) => theme.colors.grey02};
+ font-size: 1.8rem;
+`;
diff --git a/src/pages/RecordreamLayout.tsx b/src/pages/RecordreamLayout.tsx
new file mode 100644
index 0000000..da42662
--- /dev/null
+++ b/src/pages/RecordreamLayout.tsx
@@ -0,0 +1,34 @@
+import styled from "styled-components";
+import { IcFeelingLBlank, IcPcBlank, IcPcRecordream } from "../assets/svg";
+import Button from "../components/Button";
+
+interface RecordreamLayoutInterface {
+ iconOn: boolean;
+ btnColor: string;
+ btnMessage: string;
+ children: React.ReactNode;
+}
+
+const RecordreamLayout = ({
+ iconOn,
+ btnColor,
+ btnMessage,
+ children,
+}: RecordreamLayoutInterface) => {
+ return (
+
+
+ {iconOn ? : }
+ {children}
+
+
+ );
+};
+
+export default RecordreamLayout;
+
+const RecordreamLayoutWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+`;
diff --git a/src/router/Router.tsx b/src/router/Router.tsx
index dbf5abb..6883126 100644
--- a/src/router/Router.tsx
+++ b/src/router/Router.tsx
@@ -11,10 +11,6 @@ const router = createBrowserRouter([
path: "/",
element: ,
},
- // {
- // path: "/error",
- // element: ,
- // },
],
},
]);
From 62bdae920dea21f90c8d5cc34bafc3b6fd27eea5 Mon Sep 17 00:00:00 2001
From: urjimyu <92876819+urjimyu@users.noreply.github.com>
Date: Fri, 10 May 2024 20:48:09 +0900
Subject: [PATCH 3/6] =?UTF-8?q?chore:=20svg=20=EB=B0=8F=20style=20?=
=?UTF-8?q?=EC=84=A4=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...ing_L_blank.svg => ic_feeling_L_blank.svg} | 0
.../{pc_Kakaotalk.svg => ic_pc_Kakaotalk.svg} | 0
...lfstars.svg => ic_pc_backgr_halfstars.svg} | 0
...ackgr_stars.svg => ic_pc_backgr_stars.svg} | 0
public/svg/{pc_blank.svg => ic_pc_blank.svg} | 0
public/svg/{pc_logo.svg => ic_pc_logo.svg} | 0
...pc_recordream.svg => ic_pc_recordream.svg} | 0
public/svg/kakao.svg | 10 ++++++++
...{FeelingLBlank.tsx => IcFeelingLBlank.tsx} | 12 +++++-----
src/assets/svg/IcKakao.tsx | 19 +++++++++++++++
...rHalfstars.tsx => IcPcBackgrHalfstars.tsx} | 9 +++----
...{PcBackgrStars.tsx => IcPcBackgrStars.tsx} | 9 +++----
src/assets/svg/{PcBlank.tsx => IcPcBlank.tsx} | 9 +++----
.../{PcKakaotalk.tsx => IcPcKakaotalk.tsx} | 5 ++--
src/assets/svg/{PcLogo.tsx => IcPcLogo.tsx} | 24 +++++++++----------
.../{PcRecordream.tsx => IcPcRecordream.tsx} | 5 ++--
src/assets/svg/index.ts | 15 ++++++------
src/style/reset.ts | 4 ++--
src/style/theme.ts | 1 +
19 files changed, 79 insertions(+), 43 deletions(-)
rename public/svg/{feeling_L_blank.svg => ic_feeling_L_blank.svg} (100%)
rename public/svg/{pc_Kakaotalk.svg => ic_pc_Kakaotalk.svg} (100%)
rename public/svg/{pc_backgr_halfstars.svg => ic_pc_backgr_halfstars.svg} (100%)
rename public/svg/{pc_backgr_stars.svg => ic_pc_backgr_stars.svg} (100%)
rename public/svg/{pc_blank.svg => ic_pc_blank.svg} (100%)
rename public/svg/{pc_logo.svg => ic_pc_logo.svg} (100%)
rename public/svg/{pc_recordream.svg => ic_pc_recordream.svg} (100%)
create mode 100644 public/svg/kakao.svg
rename src/assets/svg/{FeelingLBlank.tsx => IcFeelingLBlank.tsx} (79%)
create mode 100644 src/assets/svg/IcKakao.tsx
rename src/assets/svg/{PcBackgrHalfstars.tsx => IcPcBackgrHalfstars.tsx} (95%)
rename src/assets/svg/{PcBackgrStars.tsx => IcPcBackgrStars.tsx} (98%)
rename src/assets/svg/{PcBlank.tsx => IcPcBlank.tsx} (83%)
rename src/assets/svg/{PcKakaotalk.tsx => IcPcKakaotalk.tsx} (91%)
rename src/assets/svg/{PcLogo.tsx => IcPcLogo.tsx} (97%)
rename src/assets/svg/{PcRecordream.tsx => IcPcRecordream.tsx} (96%)
diff --git a/public/svg/feeling_L_blank.svg b/public/svg/ic_feeling_L_blank.svg
similarity index 100%
rename from public/svg/feeling_L_blank.svg
rename to public/svg/ic_feeling_L_blank.svg
diff --git a/public/svg/pc_Kakaotalk.svg b/public/svg/ic_pc_Kakaotalk.svg
similarity index 100%
rename from public/svg/pc_Kakaotalk.svg
rename to public/svg/ic_pc_Kakaotalk.svg
diff --git a/public/svg/pc_backgr_halfstars.svg b/public/svg/ic_pc_backgr_halfstars.svg
similarity index 100%
rename from public/svg/pc_backgr_halfstars.svg
rename to public/svg/ic_pc_backgr_halfstars.svg
diff --git a/public/svg/pc_backgr_stars.svg b/public/svg/ic_pc_backgr_stars.svg
similarity index 100%
rename from public/svg/pc_backgr_stars.svg
rename to public/svg/ic_pc_backgr_stars.svg
diff --git a/public/svg/pc_blank.svg b/public/svg/ic_pc_blank.svg
similarity index 100%
rename from public/svg/pc_blank.svg
rename to public/svg/ic_pc_blank.svg
diff --git a/public/svg/pc_logo.svg b/public/svg/ic_pc_logo.svg
similarity index 100%
rename from public/svg/pc_logo.svg
rename to public/svg/ic_pc_logo.svg
diff --git a/public/svg/pc_recordream.svg b/public/svg/ic_pc_recordream.svg
similarity index 100%
rename from public/svg/pc_recordream.svg
rename to public/svg/ic_pc_recordream.svg
diff --git a/public/svg/kakao.svg b/public/svg/kakao.svg
new file mode 100644
index 0000000..89e24cd
--- /dev/null
+++ b/public/svg/kakao.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/assets/svg/FeelingLBlank.tsx b/src/assets/svg/IcFeelingLBlank.tsx
similarity index 79%
rename from src/assets/svg/FeelingLBlank.tsx
rename to src/assets/svg/IcFeelingLBlank.tsx
index 71fe462..9703027 100644
--- a/src/assets/svg/FeelingLBlank.tsx
+++ b/src/assets/svg/IcFeelingLBlank.tsx
@@ -1,22 +1,22 @@
import * as React from "react";
import type { SVGProps } from "react";
-const SvgFeelingLBlank = (props: SVGProps) => (
+const SvgIcFeelingLBlank = (props: SVGProps) => (
);
-export default SvgFeelingLBlank;
+export default SvgIcFeelingLBlank;
diff --git a/src/assets/svg/IcKakao.tsx b/src/assets/svg/IcKakao.tsx
new file mode 100644
index 0000000..c01f19d
--- /dev/null
+++ b/src/assets/svg/IcKakao.tsx
@@ -0,0 +1,19 @@
+import type { SVGProps } from "react";
+const SvgKakao = (props: SVGProps) => (
+
+);
+export default SvgKakao;
diff --git a/src/assets/svg/PcBackgrHalfstars.tsx b/src/assets/svg/IcPcBackgrHalfstars.tsx
similarity index 95%
rename from src/assets/svg/PcBackgrHalfstars.tsx
rename to src/assets/svg/IcPcBackgrHalfstars.tsx
index ff39d49..0b8a164 100644
--- a/src/assets/svg/PcBackgrHalfstars.tsx
+++ b/src/assets/svg/IcPcBackgrHalfstars.tsx
@@ -1,17 +1,18 @@
+import * as React from "react";
import type { SVGProps } from "react";
-const SvgPcBackgrHalfstars = (props: SVGProps) => (
+const SvgIcPcBackgrHalfstars = (props: SVGProps) => (
);
-export default SvgPcBackgrHalfstars;
+export default SvgIcPcBackgrHalfstars;
diff --git a/src/assets/svg/PcBackgrStars.tsx b/src/assets/svg/IcPcBackgrStars.tsx
similarity index 98%
rename from src/assets/svg/PcBackgrStars.tsx
rename to src/assets/svg/IcPcBackgrStars.tsx
index 9717f0d..33dbd25 100644
--- a/src/assets/svg/PcBackgrStars.tsx
+++ b/src/assets/svg/IcPcBackgrStars.tsx
@@ -1,17 +1,18 @@
+import * as React from "react";
import type { SVGProps } from "react";
-const SvgPcBackgrStars = (props: SVGProps) => (
+const SvgIcPcBackgrStars = (props: SVGProps) => (
);
-export default SvgPcBackgrStars;
+export default SvgIcPcBackgrStars;
diff --git a/src/assets/svg/PcBlank.tsx b/src/assets/svg/IcPcBlank.tsx
similarity index 83%
rename from src/assets/svg/PcBlank.tsx
rename to src/assets/svg/IcPcBlank.tsx
index 322bc8c..6d9bd67 100644
--- a/src/assets/svg/PcBlank.tsx
+++ b/src/assets/svg/IcPcBlank.tsx
@@ -1,16 +1,17 @@
+import * as React from "react";
import type { SVGProps } from "react";
-const SvgPcBlank = (props: SVGProps) => (
+const SvgIcPcBlank = (props: SVGProps) => (
);
-export default SvgPcBlank;
+export default SvgIcPcBlank;
diff --git a/src/assets/svg/PcKakaotalk.tsx b/src/assets/svg/IcPcKakaotalk.tsx
similarity index 91%
rename from src/assets/svg/PcKakaotalk.tsx
rename to src/assets/svg/IcPcKakaotalk.tsx
index d14b9e6..2d75c8b 100644
--- a/src/assets/svg/PcKakaotalk.tsx
+++ b/src/assets/svg/IcPcKakaotalk.tsx
@@ -1,5 +1,6 @@
+import * as React from "react";
import type { SVGProps } from "react";
-const SvgPcKakaotalk = (props: SVGProps) => (
+const SvgIcPcKakaotalk = (props: SVGProps) => (
);
-export default SvgPcKakaotalk;
+export default SvgIcPcKakaotalk;
diff --git a/src/assets/svg/PcLogo.tsx b/src/assets/svg/IcPcLogo.tsx
similarity index 97%
rename from src/assets/svg/PcLogo.tsx
rename to src/assets/svg/IcPcLogo.tsx
index e0c1f6f..8d6ba1e 100644
--- a/src/assets/svg/PcLogo.tsx
+++ b/src/assets/svg/IcPcLogo.tsx
@@ -1,18 +1,18 @@
import type { SVGProps } from "react";
-const SvgPcLogo = (props: SVGProps) => (
+const SvgIcPcLogo = (props: SVGProps) => (
);
-export default SvgPcLogo;
+export default SvgIcPcLogo;
diff --git a/src/assets/svg/PcRecordream.tsx b/src/assets/svg/IcPcRecordream.tsx
similarity index 96%
rename from src/assets/svg/PcRecordream.tsx
rename to src/assets/svg/IcPcRecordream.tsx
index c5a2f73..21cd6a8 100644
--- a/src/assets/svg/PcRecordream.tsx
+++ b/src/assets/svg/IcPcRecordream.tsx
@@ -1,5 +1,6 @@
+import * as React from "react";
import type { SVGProps } from "react";
-const SvgPcRecordream = (props: SVGProps) => (
+const SvgIcPcRecordream = (props: SVGProps) => (
);
-export default SvgPcRecordream;
+export default SvgIcPcRecordream;
diff --git a/src/assets/svg/index.ts b/src/assets/svg/index.ts
index c2b737b..a3a8a0c 100644
--- a/src/assets/svg/index.ts
+++ b/src/assets/svg/index.ts
@@ -1,8 +1,9 @@
export { default as Favicon } from "./Favicon";
-export { default as IcFeelingLBlank } from "./FeelingLBlank";
-export { default as IcPcKakaotalk } from "./PcKakaotalk";
-export { default as IcPcBackgrHalfstars } from "./PcBackgrHalfstars";
-export { default as IcPcBackgrStars } from "./PcBackgrStars";
-export { default as IcPcBlank } from "./PcBlank";
-export { default as IcPcLogo } from "./PcLogo";
-export { default as IcPcRecordream } from "./PcRecordream";
+export { default as IcFeelingLBlank } from "./IcFeelingLBlank";
+export { default as IcPcKakaotalk } from "./IcPcKakaotalk";
+export { default as IcPcBackgrHalfstars } from "./IcPcBackgrHalfstars";
+export { default as IcPcBackgrStars } from "./IcPcBackgrStars";
+export { default as IcPcBlank } from "./IcPcBlank";
+export { default as IcPcLogo } from "./IcPcLogo";
+export { default as IcPcRecordream } from "./IcPcRecordream";
+export { default as IcKakao } from "./IcKakao";
diff --git a/src/style/reset.ts b/src/style/reset.ts
index d91393b..56a5478 100644
--- a/src/style/reset.ts
+++ b/src/style/reset.ts
@@ -17,10 +17,10 @@ export const reset = css`
}
:root {
- overflow: hidden scroll;
+ overflow-x: hidden;
+ overflow-y: scroll;
width: 100%;
-
line-height: 1.5;
text-size-adjust: 100%;
word-break: break-word;
diff --git a/src/style/theme.ts b/src/style/theme.ts
index 6edfe09..2e65256 100644
--- a/src/style/theme.ts
+++ b/src/style/theme.ts
@@ -14,6 +14,7 @@ const colors = {
purple: "#7F75EE",
red: "#FF5F5F",
black: "#000000",
+ kakao: "#FEE500",
};
const fonts = {
From ad7b9d171e48cbcefb322d42e75a308c81d7e049 Mon Sep 17 00:00:00 2001
From: urjimyu <92876819+urjimyu@users.noreply.github.com>
Date: Fri, 10 May 2024 20:48:29 +0900
Subject: [PATCH 4/6] feat: created components
---
src/App.tsx | 9 ++++++--
src/components/Button.tsx | 29 +++++++++++++++++++-------
src/components/KakaoButton.tsx | 38 ++++++++++++++++++++++++++++++++++
src/components/Subtitle.tsx | 21 +++++++++++++++++++
src/components/Title.tsx | 17 +++++++++++++++
5 files changed, 104 insertions(+), 10 deletions(-)
create mode 100644 src/components/KakaoButton.tsx
create mode 100644 src/components/Subtitle.tsx
create mode 100644 src/components/Title.tsx
diff --git a/src/App.tsx b/src/App.tsx
index 0db6579..c8c3dde 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -2,7 +2,6 @@ import { RouterProvider } from "react-router-dom";
import styled, { ThemeProvider } from "styled-components";
import router from "./router/Router";
import GlobalStyle from "./style/GlobalStyle";
-// import { IcPcBackgrStars } from "./assets/svg";
import theme from "./style/theme";
function App() {
@@ -19,6 +18,12 @@ function App() {
export default App;
const AppWrapper = styled.div`
+ position: relative;
+
+ max-width: var(--app-max-width, 375px);
+ min-height: calc(var(--vh, 1vh) * 100);
+ margin-right: auto;
+ margin-left: auto;
+
border: none;
- object-fit: cover;
`;
diff --git a/src/components/Button.tsx b/src/components/Button.tsx
index 1faa64b..718ea3f 100644
--- a/src/components/Button.tsx
+++ b/src/components/Button.tsx
@@ -2,20 +2,33 @@ import styled from "styled-components";
interface ButtonInterface {
color: string;
+ borderColor?: string;
message: string;
}
-const Button = ({ color, message }: ButtonInterface) => {
- return {message};
+const Button = ({ color, borderColor, message }: ButtonInterface) => {
+ return (
+
+ {message}
+
+ );
};
export default Button;
-const ButtonWrapper = styled.div<{ $color: string }>`
- width: 38rem;
- height: 7.8rem;
- font-size: 2.2rem;
- border-radius: 1.8rem;
- border-color: ${({ theme, $color }) => theme.colors[$color]};
+const ButtonWrapper = styled.div<{ $color: string; $borderColor?: string }>`
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ width: 26rem;
+ height: 5.2rem;
+
+ font-size: 1.6rem;
+ text-align: center;
color: ${({ theme, $color }) => theme.colors[$color]};
+
+ border-radius: 1.8rem;
+ border: 1px solid
+ ${({ theme, $borderColor }) => ($borderColor ? theme.colors[$borderColor] : "white")};
`;
diff --git a/src/components/KakaoButton.tsx b/src/components/KakaoButton.tsx
new file mode 100644
index 0000000..126b63a
--- /dev/null
+++ b/src/components/KakaoButton.tsx
@@ -0,0 +1,38 @@
+import styled from "styled-components";
+import { IcKakao } from "../assets/svg";
+
+interface KakaoBtnInterface {
+ onClickBtn: VoidFunction;
+}
+
+const KakaoButton = ({ onClickBtn }: KakaoBtnInterface) => {
+ return (
+
+
+ 카카오 로그인
+
+ );
+};
+
+export default KakaoButton;
+
+const KakaoButtonWrapper = styled.div`
+ width: 31rem;
+ height: 5.2rem;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ border-radius: 1.2rem;
+ background-color: ${({ theme }) => theme.colors.kakao};
+`;
+
+const KakaoIcon = styled(IcKakao)`
+ width: 1.8rem;
+ height: 1.8rem;
+`;
+
+const KakaoText = styled.span`
+ font-size: 1.4rem;
+`;
diff --git a/src/components/Subtitle.tsx b/src/components/Subtitle.tsx
new file mode 100644
index 0000000..7136c48
--- /dev/null
+++ b/src/components/Subtitle.tsx
@@ -0,0 +1,21 @@
+import { PropsWithChildren } from "react";
+import styled from "styled-components";
+
+const Subtitle = ({ children }: PropsWithChildren) => {
+ return {children};
+};
+
+export default Subtitle;
+
+const SubtitleWrapper = styled.p`
+ margin-top: 1.8rem;
+
+ font-size: 2.4rem;
+ font-style: normal;
+ font-weight: 200;
+ line-height: 125%;
+ letter-spacing: -0.48px;
+ text-align: center;
+
+ color: ${({ theme }) => theme.colors.white};
+`;
diff --git a/src/components/Title.tsx b/src/components/Title.tsx
new file mode 100644
index 0000000..74861f7
--- /dev/null
+++ b/src/components/Title.tsx
@@ -0,0 +1,17 @@
+import { PropsWithChildren } from "react";
+import styled from "styled-components";
+
+const Title = ({ children }: PropsWithChildren) => {
+ return {children};
+};
+
+export default Title;
+
+const TitleWrapper = styled.p`
+ font-size: 2.4rem;
+ font-style: normal;
+ font-weight: 600;
+ line-height: 125%; /* 30px */
+ letter-spacing: -0.48px;
+ color: ${({ theme }) => theme.colors.white};
+`;
From e7d19ec462684ea78b7c9d9186e6850468917404 Mon Sep 17 00:00:00 2001
From: urjimyu <92876819+urjimyu@users.noreply.github.com>
Date: Fri, 10 May 2024 20:48:41 +0900
Subject: [PATCH 5/6] feat: created pages and layouts
---
src/pages/CompletePage.tsx | 24 ++++++++++++++++++++++
src/pages/DeletePage.tsx | 21 ++++++++++++++++++-
src/pages/LoginPage.tsx | 37 +++++++++++++++++-----------------
src/pages/RecordreamLayout.tsx | 22 +++++++++++---------
src/pages/UnregisteredPage.tsx | 20 ++++++++++++++++++
src/router/Router.tsx | 24 ++++++++++++++++++++++
6 files changed, 119 insertions(+), 29 deletions(-)
create mode 100644 src/pages/CompletePage.tsx
create mode 100644 src/pages/UnregisteredPage.tsx
diff --git a/src/pages/CompletePage.tsx b/src/pages/CompletePage.tsx
new file mode 100644
index 0000000..a0082af
--- /dev/null
+++ b/src/pages/CompletePage.tsx
@@ -0,0 +1,24 @@
+import styled from "styled-components";
+import Subtitle from "../components/Subtitle";
+import Title from "../components/Title";
+
+const CompletePage = () => {
+ return (
+
+ 서비스를 탈퇴 완료
+
+ 그동안 레코드림을 이용해주셔서
감사합니다.
+
+
+ );
+};
+
+export default CompletePage;
+
+const CompletePageWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+
+ align-items: center;
+ margin-bottom: 7.4rem;
+`;
diff --git a/src/pages/DeletePage.tsx b/src/pages/DeletePage.tsx
index f9be49d..08b2a08 100644
--- a/src/pages/DeletePage.tsx
+++ b/src/pages/DeletePage.tsx
@@ -1,5 +1,24 @@
+import styled from "styled-components";
+import Title from "../components/Title";
+import Subtitle from "../components/Subtitle";
+
const DeletePage = () => {
- return ;
+ return (
+
+ 서비스를 탈퇴하시나요?
+
+ 서비스 탈퇴 시 저장된 기록은
복구되지 않습니다.
+
+
+ );
};
export default DeletePage;
+
+const DeletePageWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+
+ align-items: center;
+ margin-bottom: 7.4rem;
+`;
diff --git a/src/pages/LoginPage.tsx b/src/pages/LoginPage.tsx
index b64a474..4701138 100644
--- a/src/pages/LoginPage.tsx
+++ b/src/pages/LoginPage.tsx
@@ -1,6 +1,7 @@
import styled from "styled-components";
import { IcPcLogo } from "../assets/svg";
-
+import KakaoButton from "../components/KakaoButton";
+import IcPcBackgrStars from "../../public/svg/ic_pc_backgr_stars.svg";
const LoginPage = () => {
const onClickLoginBtn = () => {};
// console.log("LOGINPAGE!");
@@ -9,8 +10,7 @@ const LoginPage = () => {
- {/* */}
- 카카오로 시작하기
+
로그인 후 이용이 가능합니다.
);
@@ -19,27 +19,28 @@ const LoginPage = () => {
export default LoginPage;
const LoginPageWrapper = styled.div`
- margin: 0 auto;
+ height: 100dvh;
+ display: flex;
+ flex-direction: column;
+
+ background-image: url(${IcPcBackgrStars});
+ object-fit: cover;
+ background-repeat: no-repeat;
`;
const LogoSection = styled.section`
- width: 62.3rem;
- height: 62.2rem;
- margin-top: 10.3rem;
- margin-right: 2.8rem;
-`;
+ position: relative;
+ left: -11.2rem;
-const LoginBtn = styled.button`
- width: 46rem;
- height: 3.6rem;
- border-radius: 1.8rem;
- color: ${({ theme }) => theme.colors.white};
- font-size: 2.2rem;
- border-color: ${({ theme }) => theme.colors.white};
- margin-bottom: 1.5rem;
+ width: 43.4rem;
+ height: 41.5rem;
+ margin-top: 2.4rem;
+ margin-bottom: 7.1rem;
`;
const LoginMessage = styled.span`
+ margin-top: 1rem;
+
color: ${({ theme }) => theme.colors.grey02};
- font-size: 1.8rem;
+ font-size: 1.2rem;
`;
diff --git a/src/pages/RecordreamLayout.tsx b/src/pages/RecordreamLayout.tsx
index da42662..b8989c6 100644
--- a/src/pages/RecordreamLayout.tsx
+++ b/src/pages/RecordreamLayout.tsx
@@ -1,25 +1,24 @@
import styled from "styled-components";
import { IcFeelingLBlank, IcPcBlank, IcPcRecordream } from "../assets/svg";
import Button from "../components/Button";
+import { Outlet } from "react-router-dom";
interface RecordreamLayoutInterface {
iconOn: boolean;
btnColor: string;
btnMessage: string;
- children: React.ReactNode;
}
-const RecordreamLayout = ({
- iconOn,
- btnColor,
- btnMessage,
- children,
-}: RecordreamLayoutInterface) => {
+const RecordreamLayout = ({ iconOn, btnColor, btnMessage }: RecordreamLayoutInterface) => {
return (
-
- {iconOn ? : }
- {children}
+
+ {iconOn ? (
+
+ ) : (
+
+ )}
+
);
@@ -28,7 +27,10 @@ const RecordreamLayout = ({
export default RecordreamLayout;
const RecordreamLayoutWrapper = styled.div`
+ height: 100dvh;
+
display: flex;
flex-direction: column;
align-items: center;
+ justify-content: center;
`;
diff --git a/src/pages/UnregisteredPage.tsx b/src/pages/UnregisteredPage.tsx
new file mode 100644
index 0000000..6f65eb9
--- /dev/null
+++ b/src/pages/UnregisteredPage.tsx
@@ -0,0 +1,20 @@
+import styled from "styled-components";
+import Title from "../components/Title";
+
+const UnregisteredPage = () => {
+ return (
+
+ 가입된 회원이 아닙니다.
+
+ );
+};
+
+export default UnregisteredPage;
+
+const UnregisteredPageWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+
+ align-items: center;
+ margin-bottom: 7.4rem;
+`;
diff --git a/src/router/Router.tsx b/src/router/Router.tsx
index 6883126..5cfca19 100644
--- a/src/router/Router.tsx
+++ b/src/router/Router.tsx
@@ -1,6 +1,10 @@
import { createBrowserRouter } from "react-router-dom";
import Layout from "../layouts/Layout";
import LoginPage from "../pages/LoginPage";
+import RecordreamLayout from "../pages/RecordreamLayout";
+import DeletePage from "../pages/DeletePage";
+import CompletePage from "../pages/CompletePage";
+import UnregisteredPage from "../pages/UnregisteredPage";
const router = createBrowserRouter([
{
@@ -11,6 +15,26 @@ const router = createBrowserRouter([
path: "/",
element: ,
},
+ {
+ path: "/",
+ element: ,
+ },
+ {
+ element: ,
+ children: [
+ {
+ path: "/delete",
+ element: ,
+ },
+ ],
+ },
+ {
+ element: ,
+ children: [
+ { path: "/complete", element: },
+ { path: "/unregistered", element: },
+ ],
+ },
],
},
]);
From 3a9a6dfab944add1e230c74066a6af825ac1cbce Mon Sep 17 00:00:00 2001
From: urjimyu <92876819+urjimyu@users.noreply.github.com>
Date: Fri, 10 May 2024 20:57:22 +0900
Subject: [PATCH 6/6] =?UTF-8?q?chore:=20=EB=B9=8C=EB=93=9C=20=EC=97=90?=
=?UTF-8?q?=EB=9F=AC=20=ED=95=B4=EA=B2=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/svg/IcFeelingLBlank.tsx | 1 -
src/assets/svg/IcPcBackgrHalfstars.tsx | 1 -
src/assets/svg/IcPcBackgrStars.tsx | 1 -
src/assets/svg/IcPcBlank.tsx | 1 -
src/assets/svg/IcPcKakaotalk.tsx | 1 -
src/assets/svg/IcPcRecordream.tsx | 1 -
src/pages/RecordreamLayout.tsx | 2 +-
7 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/src/assets/svg/IcFeelingLBlank.tsx b/src/assets/svg/IcFeelingLBlank.tsx
index 9703027..3b341cc 100644
--- a/src/assets/svg/IcFeelingLBlank.tsx
+++ b/src/assets/svg/IcFeelingLBlank.tsx
@@ -1,4 +1,3 @@
-import * as React from "react";
import type { SVGProps } from "react";
const SvgIcFeelingLBlank = (props: SVGProps) => (