From 7ed9d777affa3af98f27e89a75f40ddc56f48f5c Mon Sep 17 00:00:00 2001
From: KKangHHee <137751841+KKangHHee@users.noreply.github.com>
Date: Tue, 13 Feb 2024 13:58:47 +0900
Subject: [PATCH 1/5] =?UTF-8?q?Feat:=20=EB=A9=A4=EB=B2=84=EC=8B=AD=20?=
=?UTF-8?q?=ED=8F=AC=EC=9D=B8=ED=8A=B8=20UI=20=EB=94=94=EC=9E=90=EC=9D=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.js | 4 +
.../views/PageComponent/OrderStorage.jsx | 4 +-
.../views/PointStateBox/PointStateBox.css | 79 +++++++++++++++
.../views/PointStateBox/PointStateBox.jsx | 34 +++++++
src/pages/MembershipPage/MembershipPage.css | 82 ++++++++++++++--
src/pages/MembershipPage/MembershipPage.jsx | 98 ++++++++++++++++---
src/pages/TestPage/TestPage.jsx | 15 ---
7 files changed, 278 insertions(+), 38 deletions(-)
create mode 100644 src/components/views/PointStateBox/PointStateBox.css
create mode 100644 src/components/views/PointStateBox/PointStateBox.jsx
delete mode 100644 src/pages/TestPage/TestPage.jsx
diff --git a/src/App.js b/src/App.js
index dd520d3..0bf4d11 100644
--- a/src/App.js
+++ b/src/App.js
@@ -8,6 +8,7 @@ import MyPage from "../src/pages/MyPage/MyPage";
import StoreDetailPage from "../src/pages/StoreDetailPage/StoreDetailPage";
import "./App.css";
// import loading from "./assets/animation/loading.json";
+import MembershipPage from "../src/pages/MembershipPage/MembershipPage";
import ic_berry from "./assets/images/ic_berry.png";
import Auth from "./hoc/auth";
import useInterval from "./hooks/useInterval";
@@ -57,6 +58,7 @@ function App() {
const NewMyprofilePage = Auth(MyprofilePage, true);
const NewOrderProcessPage = Auth(OrderProcessPage, true);
+ const NewMembershipPage = Auth(MembershipPage, true);
const NewCouponPage = Auth(CouponPage, true);
const NewCartPage = Auth(CartPage, true);
const NewPaymentPage = Auth(PaymentPage, true);
@@ -147,6 +149,8 @@ function App() {
} />
{/* 마이페이지-쿠폰 확인 페이지 */}
} />
+ {/* 멤버쉽 포인트 페이지 */}
+ } />
{/* 장바구니 페이지 */}
} />
{/* 결제 페이지 */}
diff --git a/src/components/views/PageComponent/OrderStorage.jsx b/src/components/views/PageComponent/OrderStorage.jsx
index 7a81a5a..99c4b06 100644
--- a/src/components/views/PageComponent/OrderStorage.jsx
+++ b/src/components/views/PageComponent/OrderStorage.jsx
@@ -1,12 +1,12 @@
import React from "react";
import { useNavigate } from "react-router-dom";
-import "./OrderStorage.css";
+import { IMAGES } from "../../../constants/images";
import useFetchNewOrderHistory from "../../../hooks/useFetchNewOrderHistory";
import useFetchOldOrderHistory from "../../../hooks/useFetchOldOrderHistory";
import Header from "../Header/Header";
import NavBar from "../NavBar/NavBar";
import StateBox from "../StateBox/StateBox";
-import { IMAGES } from "../../../constants/images";
+import "./OrderStorage.css";
function OrderStorage() {
const navigate = useNavigate();
diff --git a/src/components/views/PointStateBox/PointStateBox.css b/src/components/views/PointStateBox/PointStateBox.css
new file mode 100644
index 0000000..6b72774
--- /dev/null
+++ b/src/components/views/PointStateBox/PointStateBox.css
@@ -0,0 +1,79 @@
+.membership-box-container {
+ width: 100%;
+ height: 7.5rem;
+ background-color: #fff;
+ border-bottom: 0.25rem solid #dadada;
+ display: flex;
+ align-items: center;
+}
+
+.membership-box {
+ display: flex;
+ align-items: center;
+ flex-direction: row;
+ width: 87.8%;
+ margin-left: auto;
+ margin-right: auto;
+ height: 70%;
+ margin: 0 auto;
+}
+
+/* 이미지 박스 뒷배경 */
+.membership-box-img {
+ width: 3.25rem;
+ height: 3.25rem;
+ background-color: #d82356;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 50%;
+}
+.membership-box-img img {
+ width: 1.62431rem;
+ height: 1.62431rem;
+}
+.membership-box-img-accumulate-color {
+ background-color: #d82356;
+}
+.membership-box-img-use-color {
+ background-color: #d9d9d9;
+}
+
+.point-box-content {
+ height: 100%;
+ margin-left: 0.75rem;
+ margin-right: auto;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+}
+
+.point-box-use-name {
+ display: flex;
+ color: #000;
+ font-size: 0.9375rem;
+ text-decoration: none;
+ align-items: center;
+ white-space: nowrap;
+ font-family: "Pretendard Variable";
+ font-weight: 700;
+}
+
+.point-box-span {
+ color: #838383;
+ font-size: 0.5rem;
+ text-decoration: none;
+ white-space: nowrap;
+ font-family: "Pretendard Variable";
+ font-weight: 600;
+ line-height: 130%; /* 0.65rem */
+ letter-spacing: 0.015rem;
+}
+
+.point-box-point-span {
+ color: #4f4f4f;
+
+ text-align: right;
+ font-size: 1.25rem;
+ font-weight: 700;
+}
diff --git a/src/components/views/PointStateBox/PointStateBox.jsx b/src/components/views/PointStateBox/PointStateBox.jsx
new file mode 100644
index 0000000..5923409
--- /dev/null
+++ b/src/components/views/PointStateBox/PointStateBox.jsx
@@ -0,0 +1,34 @@
+import berryWhite from "../../../assets/images/ic_berry_white.png";
+import "./PointStateBox.css";
+
+const PointStateBox = ({ status, point, store, date }) => {
+ const stateText = status ? "적립" : "사용";
+ return (
+
+
+
+
+
+
+
+
{stateText}
+
+ {stateText}일자: {date}
+
+
+ {stateText}매장: {store}
+
+
+
{point} P
+
+
+ );
+};
+
+export default PointStateBox;
diff --git a/src/pages/MembershipPage/MembershipPage.css b/src/pages/MembershipPage/MembershipPage.css
index e766fc3..baeaa6f 100644
--- a/src/pages/MembershipPage/MembershipPage.css
+++ b/src/pages/MembershipPage/MembershipPage.css
@@ -1,31 +1,44 @@
.membershippage-div {
width: 100%;
- height: 100%;
+ height: 93vh;
background-color: #ffffff;
/* 수정된 헤더 기준으로 */
- margin-top: 8.44rem;
+ /* 8.44-1.5rem */
display: flex;
align-items: center;
flex-direction: column;
-}
+ white-space: nowrap;
+ padding-top: 4.44rem;
+ padding-bottom: 5.0625rem;
+}
+.membershippage-point-box-container {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ margin-top: 1.5rem;
+ border-top: 0.3rem solid #d82356;
+ overflow-y: auto;
+}
+/* 포인트 박스 */
.membershippage-point-box-wrapper {
display: flex;
align-items: center;
flex-direction: column;
width: 87.8%;
height: 10.5rem;
- margin: 0 auto;
+ margin-top: 2.5rem;
+ margin-left: auto;
+ margin-right: auto;
border-radius: 0.625rem;
background: #d82356;
box-shadow: 0px 0px 8px 2px rgba(216, 35, 86, 0.3);
}
-
.membershippage-point-box-top-wrapper {
display: flex;
justify-content: space-between;
margin-top: 2.19rem;
- width: 90%;
+ width: 80%;
color: #fff;
font-family: "Pretendard";
font-size: 2rem;
@@ -33,11 +46,60 @@
font-weight: 700;
line-height: normal;
}
-/* .membershippage-point-box-top-img-wrapper{
- width: 6.125rem;
- height: 1.5rem;
-} */
+
.membershippage-point-box-wrapper img {
height: 1.22294rem;
padding-top: 0.44rem;
}
+
+.membershippage-point-box-bottom-wrapper {
+ margin-top: 1.31rem;
+ margin-bottom: 1.56rem;
+ width: 80%;
+ height: 3.0625rem;
+ border-radius: 0.3125rem;
+ background: rgba(255, 255, 255, 0.2);
+ backdrop-filter: blur(10px);
+ color: var(--838383, #fff);
+ text-align: center;
+ font-size: 0.75rem;
+ font-weight: 500;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.membershippage-point-box-bottom-wrapper ul {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ list-style: none;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+}
+/* .membershippage-point-box-bottom-wrapper li{
+ margin: 0 1.735rem;
+} */
+/* 사용내역 */
+.membershippage-use-point-box-wrapper {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ width: 100%;
+ margin-top: 2.44rem;
+ border-radius: 0.625rem;
+}
+.membershippage-use-point-box-title {
+ width: 87.8%;
+ margin-left: auto;
+ margin-right: auto;
+ color: var(--title, #2e2d2d);
+ font-size: 1rem;
+ font-weight: 700;
+ line-height: 130%; /* 1.3rem */
+ letter-spacing: -0.01rem;
+}
+
+.membershippage-use-point-box-content {
+ width: 100%;
+}
diff --git a/src/pages/MembershipPage/MembershipPage.jsx b/src/pages/MembershipPage/MembershipPage.jsx
index 07a073e..3347089 100644
--- a/src/pages/MembershipPage/MembershipPage.jsx
+++ b/src/pages/MembershipPage/MembershipPage.jsx
@@ -5,14 +5,15 @@ import Header from "../../components/views/Header/Header";
import NavBar from "../../components/views/NavBar/NavBar";
import { IMAGES } from "../../constants/images";
// import useFetchUserInfo from "../../hooks/useFetchUserInfo";
+import PointStateBox from "../../components/views/PointStateBox/PointStateBox";
import "./MembershipPage.css";
function MembershipPage() {
// const [isAuth] = useRecoilState(isAuthenticatedState);
// const { name: userName } = useFetchUserInfo();
-
+ const point = 10000;
return (
-
+
-
-
-
-
+
+ {/* 멤버쉽 박스 */}
+
+ {/* 맵버쉽 박스 윗부분_로고&포인트 */}
+
+
+
+
+
{point} P
+
+ {/* 멤버쉽 박스 아랫부분_쿠폰함&FAQ */}
+
-
P
- dk
-
- dldd
+ {/* 포인트 사용 내역 */}
+
+
+ 포인트 사용내역
+
+ {/* {newStorageList?.length ? (
+ newStorageList?.map((e, i) => (
+
+ handleNavigation(event, e.orderId, e.progress)
+ }
+ style={{ textDecoration: "none" }}
+ > */}
+ {/* 매핑될 요소 */}
+
+
+
+
+
+
+ {/*
+ ))
+ ) : (
+
+
+
비어있습니다
+
+ )} */}
+
+
+
-
+
);
}
diff --git a/src/pages/TestPage/TestPage.jsx b/src/pages/TestPage/TestPage.jsx
deleted file mode 100644
index 02df1cb..0000000
--- a/src/pages/TestPage/TestPage.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import React from "react";
-import Header from "../../components/views/Header/Header";
-import NavBar from "../../components/views/NavBar/NavBar";
-
-function TestPage() {
- return (
-
- );
-}
-
-export default TestPage;
From 67553222554abf9ae115369f1dab1460b568a5d0 Mon Sep 17 00:00:00 2001
From: KKangHHee <137751841+KKangHHee@users.noreply.github.com>
Date: Tue, 13 Feb 2024 14:13:05 +0900
Subject: [PATCH 2/5] =?UTF-8?q?Feat:=20=EB=A9=A4=EB=B2=84=EC=8B=AD=20?=
=?UTF-8?q?=ED=8F=AC=EC=9D=B8=ED=8A=B8=20=EB=B9=88=20=EB=82=B4=EC=97=AD?=
=?UTF-8?q?=EC=9D=BC=20=EA=B2=BD=EC=9A=B0=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/PointStateBox/PointStateBox.jsx | 5 +-
src/pages/MembershipPage/MembershipPage.css | 29 ++++++
src/pages/MembershipPage/MembershipPage.jsx | 90 ++++++++-----------
3 files changed, 68 insertions(+), 56 deletions(-)
diff --git a/src/components/views/PointStateBox/PointStateBox.jsx b/src/components/views/PointStateBox/PointStateBox.jsx
index 5923409..7556bbe 100644
--- a/src/components/views/PointStateBox/PointStateBox.jsx
+++ b/src/components/views/PointStateBox/PointStateBox.jsx
@@ -1,6 +1,5 @@
-import berryWhite from "../../../assets/images/ic_berry_white.png";
+import { IMAGES } from "../../../constants/images";
import "./PointStateBox.css";
-
const PointStateBox = ({ status, point, store, date }) => {
const stateText = status ? "적립" : "사용";
return (
@@ -13,7 +12,7 @@ const PointStateBox = ({ status, point, store, date }) => {
: "membership-box-img-use-color"
}`}
>
-
+
diff --git a/src/pages/MembershipPage/MembershipPage.css b/src/pages/MembershipPage/MembershipPage.css
index baeaa6f..24ec687 100644
--- a/src/pages/MembershipPage/MembershipPage.css
+++ b/src/pages/MembershipPage/MembershipPage.css
@@ -103,3 +103,32 @@
.membershippage-use-point-box-content {
width: 100%;
}
+
+/* 빈 포인트 내역*/
+
+/* 빈 주문 내역 */
+.membershippage-empty-order-wrapper {
+ display: flex;
+ width: fit-content;
+ height: fit-content;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.membershippage-empty-img {
+ display: flex;
+ width: 8.625rem;
+ height: 8.625rem;
+}
+
+.membershippage-empty-text {
+ color: var(--title, #2e2d2d);
+ text-align: center;
+ font-family: "Pretendard";
+ font-size: 1.25rem;
+ font-style: normal;
+ font-weight: 800;
+ line-height: 130%; /* 1.625rem */
+ letter-spacing: -0.0125rem;
+}
diff --git a/src/pages/MembershipPage/MembershipPage.jsx b/src/pages/MembershipPage/MembershipPage.jsx
index 3347089..f6fb33b 100644
--- a/src/pages/MembershipPage/MembershipPage.jsx
+++ b/src/pages/MembershipPage/MembershipPage.jsx
@@ -12,6 +12,20 @@ function MembershipPage() {
// const [isAuth] = useRecoilState(isAuthenticatedState);
// const { name: userName } = useFetchUserInfo();
const point = 10000;
+ const membershipList = [
+ // {
+ // status: true,
+ // point: "+1000",
+ // store: "오르다",
+ // date: "2023-11-25 19:09",
+ // },
+ // {
+ // status: false,
+ // point: "-1000",
+ // store: "오르다",
+ // date: "2023-11-25 19:09",
+ // },
+ ];
return (
- {/* {newStorageList?.length ? (
- newStorageList?.map((e, i) => (
+ {membershipList?.length ? (
+ membershipList?.map((e, i) => (
+ // {/* 매핑될 요소 */}
- handleNavigation(event, e.orderId, e.progress)
- }
+ className="membershippage-use-point-box-content"
+ // onClick={(event) =>
+ // handleNavigation(event, e.orderId, e.progress)
+ // }
style={{ textDecoration: "none" }}
- > */}
- {/* 매핑될 요소 */}
-
-
-
-
-
-
- {/*
+ >
+
+
))
) : (
-
-
-
비어있습니다
+
+
+
내역이 없습니다.
- )} */}
+ )}
From 9d66955acec9a5d5ed607c0b71aeb5a1d4005a13 Mon Sep 17 00:00:00 2001
From: KKangHHee <137751841+KKangHHee@users.noreply.github.com>
Date: Tue, 13 Feb 2024 14:34:25 +0900
Subject: [PATCH 3/5] =?UTF-8?q?Docs:=201000=EC=9B=90=EB=8B=A8=EC=9C=84=20,?=
=?UTF-8?q?=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/PointStateBox/PointStateBox.jsx | 4 +-
src/pages/MembershipPage/MembershipPage.jsx | 44 ++++++++++---------
2 files changed, 27 insertions(+), 21 deletions(-)
diff --git a/src/components/views/PointStateBox/PointStateBox.jsx b/src/components/views/PointStateBox/PointStateBox.jsx
index 7556bbe..1db8a1c 100644
--- a/src/components/views/PointStateBox/PointStateBox.jsx
+++ b/src/components/views/PointStateBox/PointStateBox.jsx
@@ -24,7 +24,9 @@ const PointStateBox = ({ status, point, store, date }) => {
{stateText}매장: {store}
- {point} P
+
+ {point.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")} P
+
);
diff --git a/src/pages/MembershipPage/MembershipPage.jsx b/src/pages/MembershipPage/MembershipPage.jsx
index f6fb33b..34039a1 100644
--- a/src/pages/MembershipPage/MembershipPage.jsx
+++ b/src/pages/MembershipPage/MembershipPage.jsx
@@ -13,18 +13,18 @@ function MembershipPage() {
// const { name: userName } = useFetchUserInfo();
const point = 10000;
const membershipList = [
- // {
- // status: true,
- // point: "+1000",
- // store: "오르다",
- // date: "2023-11-25 19:09",
- // },
- // {
- // status: false,
- // point: "-1000",
- // store: "오르다",
- // date: "2023-11-25 19:09",
- // },
+ {
+ status: true,
+ point: "+1000",
+ store: "오르다",
+ date: "2023-11-25 19:09",
+ },
+ {
+ status: false,
+ point: "-1000",
+ store: "오르다",
+ date: "2023-11-25 19:09",
+ },
];
return (
@@ -43,7 +43,9 @@ function MembershipPage() {
- {point} P
+
+ {point.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")} P
+
{/* 멤버쉽 박스 아랫부분_쿠폰함&FAQ */}
@@ -78,13 +80,15 @@ function MembershipPage() {
))
) : (
-
-
-
내역이 없습니다.
+
+
+
+ 내역이 없습니다.
+
)}
From cebf0a6783ed9ecde9b8097aa1fbd5a35fbde046 Mon Sep 17 00:00:00 2001
From: KKangHHee <137751841+KKangHHee@users.noreply.github.com>
Date: Tue, 13 Feb 2024 17:58:58 +0900
Subject: [PATCH 4/5] =?UTF-8?q?Docs:=20homepage=20=ED=91=B8=ED=84=B0=20?=
=?UTF-8?q?=EB=82=B4=EC=9A=A9=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/HomePage/Homepage.jsx | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/pages/HomePage/Homepage.jsx b/src/pages/HomePage/Homepage.jsx
index 90489e9..658127f 100644
--- a/src/pages/HomePage/Homepage.jsx
+++ b/src/pages/HomePage/Homepage.jsx
@@ -122,10 +122,9 @@ const HomePage = () => {
사업자등록번호: 738-32-01406
- 대표: 오남택 | 고객센터: 010-9295-5340
+ 대표: 오남택 | 고객센터: 070-8064-6199
- 주소: 서울특별시 서대문구 세검정로1길 95, 115동 203호(홍은동,
- 벽산아파트)
+ 주소: 경기도 부천시 원미구 지봉로 43, 산학협력관 창업 랩실(역곡동, 가톨릭대학교 성심교정)
E-Mail: ohnt0307@gmail.com
From ddb3150f01127d165a98fdaec8bd399249e3cd5e Mon Sep 17 00:00:00 2001
From: KKangHHee <137751841+KKangHHee@users.noreply.github.com>
Date: Tue, 13 Feb 2024 20:24:36 +0900
Subject: [PATCH 5/5] =?UTF-8?q?Docs:=20homepage=20=EA=B0=80=EB=A1=9C=20?=
=?UTF-8?q?=EC=A0=95=EB=A0=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/HomePage/Homepage.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/pages/HomePage/Homepage.css b/src/pages/HomePage/Homepage.css
index 031c4b6..20f230c 100644
--- a/src/pages/HomePage/Homepage.css
+++ b/src/pages/HomePage/Homepage.css
@@ -109,6 +109,7 @@
box-shadow: 0.25px 0.25rem 0.2rem rgba(0, 0, 0, 0.2);
border-radius: 0.5rem;
text-decoration: none;
+ flex-direction: row;
}
.home_individual_quick_order_item {