Skip to content

Commit 0c6fd06

Browse files
committed
feat: 리뷰 생성 결과 UI구현
1 parent 1bf0178 commit 0c6fd06

File tree

5 files changed

+177
-0
lines changed

5 files changed

+177
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
.ReceiptResult {
2+
padding: 1.25rem;
3+
height: calc(100vh - 2.75rem);
4+
overflow: hidden;
5+
position: relative;
6+
display: flex;
7+
flex-direction: column;
8+
background: var(--color-bg-gradient);
9+
justify-content: space-between;
10+
}
11+
.ReceiptResult::before {
12+
content: "";
13+
background: url("/src/assets/svg/img-graphic-main.svg") center no-repeat;
14+
background-size: 100% 16.375rem;
15+
filter: blur(4.625rem);
16+
position: absolute;
17+
top: 0;
18+
left: 0;
19+
right: 0;
20+
bottom: 0;
21+
z-index: 0;
22+
}
23+
24+
.Top {
25+
z-index: 1;
26+
}
27+
.Top .TitleBox {
28+
display: flex;
29+
justify-content: center;
30+
margin: 1.875rem 0;
31+
}
32+
33+
.Bottom {
34+
align-items: center;
35+
gap: 0.875rem;
36+
z-index: 1;
37+
display: grid;
38+
grid-template-columns: 30% 1fr;
39+
}
40+
41+
.ReceiptImage {
42+
display: flex;
43+
justify-content: center;
44+
align-items: center;
45+
z-index: 1;
46+
}
47+
.ReceiptImage > img {
48+
width: 7.5rem;
49+
height: 7.5rem;
50+
}
51+
52+
.IconBtn {
53+
width: 98.5px;
54+
margin-top: 10px;
55+
margin-left: auto;
56+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
.ReceiptResult {
2+
padding: 1.25rem;
3+
4+
height: calc(100vh - 2.75rem);
5+
overflow: hidden;
6+
position: relative;
7+
display: flex;
8+
flex-direction: column;
9+
background: var(--color-bg-gradient);
10+
justify-content: space-between;
11+
&::before {
12+
content: "";
13+
background: url("/src/assets/svg/img-graphic-main.svg") center no-repeat;
14+
background-size: 100% 16.375rem;
15+
filter: blur(4.625rem);
16+
position: absolute;
17+
top: 0;
18+
left: 0;
19+
right: 0;
20+
bottom: 0;
21+
z-index: 0;
22+
}
23+
}
24+
25+
.Top {
26+
z-index: 1;
27+
28+
.TitleBox {
29+
display: flex;
30+
justify-content: center;
31+
margin: 1.875rem 0;
32+
}
33+
}
34+
35+
.Bottom {
36+
align-items: center;
37+
gap: 0.875rem;
38+
z-index: 1;
39+
display: grid;
40+
grid-template-columns: 30% 1fr;
41+
}
42+
43+
.ReceiptImage {
44+
display: flex;
45+
justify-content: center;
46+
align-items: center;
47+
z-index: 1;
48+
49+
& > img {
50+
width: 7.5rem;
51+
height: 7.5rem;
52+
}
53+
}
54+
55+
.IconBtn {
56+
width: 98.5px;
57+
margin-top: 10px;
58+
margin-left: auto;
59+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { handleConfetti } from "@/components/ReceiptResult/Confetti";
2+
import styles from "@/components/ReceiptResult/ReceiptResult.module.scss";
3+
import Button from "@/components/ui/Button/Button";
4+
import IconButton from "@/components/ui/IconButton/IconButton";
5+
import Text from "@/components/ui/Text/Text";
6+
7+
const ReceiptResult = () => {
8+
handleConfetti();
9+
10+
return (
11+
<div className={styles.ReceiptResult}>
12+
<div className={styles.Top}>
13+
<div className={styles.ReceiptImage}>
14+
<img src="/src/assets/img/img-grahic-receipt.png" alt="mainLogo" />
15+
</div>
16+
<div className={styles.TitleBox}>
17+
<Text variant="titleM" color="gradient" as="h1" truncated>
18+
리뷰를 만들었어요!
19+
</Text>
20+
</div>
21+
22+
<Text variant="bodyLg" color="primary">
23+
오늘 처음으로 청담커피 앤 토스트에서 주문했어요.. 매장도 깔끔하고 직원들도 친절해요!
24+
음료랑 토스트 세트 시켰는데 가성비가 좋네요… 맛도 좋고 양도 많아요!! 다음에도 또 시켜먹을
25+
거예요.
26+
</Text>
27+
<div className={styles.IconBtn}>
28+
<IconButton text="복사하기" iconName="paste" size="sm" />
29+
</div>
30+
</div>
31+
32+
<div className={styles.Bottom}>
33+
<>
34+
<Button text="다시생성" variant="secondary" />
35+
<Button text="홈으로 가기" />
36+
</>
37+
</div>
38+
</div>
39+
);
40+
};
41+
42+
export default ReceiptResult;

src/pages/ReceiptResultPage.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import React from "react";
2+
3+
import { handleConfetti } from "../components/ReceiptResult/Confetti";
4+
5+
import ReceiptResult from "@/components/ReceiptResult/ReceiptResult";
6+
// import ArrowNavbar from "@/components/ui/ArrowNavbar/ArrowNavbar";
7+
8+
export default function ReceiptResultPage() {
9+
return (
10+
<>
11+
{/* <ArrowNavbar /> */}
12+
<ReceiptResult />
13+
</>
14+
);
15+
}

src/router/AppRouter.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import App from "@/App";
44

55
import HomePage from "@/pages/HomePage";
66
import ReceiptEditPage from "@/pages/ReceiptEditPage";
7+
import ReceiptResultPage from "@/pages/ReceiptResultPage";
78
import RecognitionFailPage from "@/pages/RecognitionFailPage";
89

910
const AppRouter = () => {
@@ -24,6 +25,10 @@ const AppRouter = () => {
2425
path: "/receipt-edit",
2526
element: <ReceiptEditPage />,
2627
},
28+
{
29+
path: "/receipt-result",
30+
element: <ReceiptResultPage />,
31+
},
2732
],
2833
},
2934
]);

0 commit comments

Comments
 (0)