-

+
diff --git a/src/components/SelectStyle/SelectStyle.tsx b/src/components/SelectStyle/SelectStyle.tsx
index be18f3f..f03fef5 100644
--- a/src/components/SelectStyle/SelectStyle.tsx
+++ b/src/components/SelectStyle/SelectStyle.tsx
@@ -9,6 +9,8 @@ import Button from "@/components/ui/Button/Button";
import Icon from "@/components/ui/Icon/Icon";
import Text from "@/components/ui/Text/Text";
+import { useRoute } from "@/hooks/common/useRoute";
+
import { useCreateReviewStore } from "@/store/useReviewStore";
interface StyleProps {
@@ -16,16 +18,16 @@ interface StyleProps {
image: string;
}
-const IMG_STYLE_DATA = [
- { name: "default", image: "/assets/img/img-graphic-logo.png" },
- { name: "친절한 미식가", image: "/assets/img/img-style-friendly.png" },
- { name: "믿음직한 미식가", image: "/assets/img/img-style-trust.png" },
- { name: "귀여운 미식가", image: "/assets/img/img-style-cute.png" },
+export const IMG_STYLE_DATA = [
+ { name: "default", image: "graphic-logo" },
+ { name: "친절한 미식가", image: "style-friendly" },
+ { name: "믿음직한 미식가", image: "style-trust" },
+ { name: "귀여운 미식가", image: "style-cute" },
];
const SelectStyle = () => {
const { send } = useAppBridge();
-
+ const { navigateToReviewResult } = useRoute();
const { createReviewData, setReviewStyle } = useCreateReviewStore();
const [selectedStyle, setSelectedStyle] = useState(IMG_STYLE_DATA[0]);
@@ -38,12 +40,12 @@ const SelectStyle = () => {
const handleCreateReview = () => {
if (selectedStyle.name !== "default") {
- setReviewStyle(selectedStyle.name);
+ setReviewStyle(selectedStyle);
+ navigateToReviewResult();
}
-
send({
type: AppBridgeMessageType.CREATE_REVIEW,
- payload: { ocrText, hashTag, reviewStyle },
+ payload: { ocrText, hashTag, reviewStyle: reviewStyle.name },
});
};
@@ -59,7 +61,7 @@ const SelectStyle = () => {
-

+
diff --git a/src/hooks/common/useRoute.ts b/src/hooks/common/useRoute.ts
index 62ebe02..c5e6044 100644
--- a/src/hooks/common/useRoute.ts
+++ b/src/hooks/common/useRoute.ts
@@ -11,6 +11,7 @@ export const useRoute = () => {
navigateToReceiptEdit: () => navigate(PATH.RECEIPT_EDIT),
navigateToSelectStyle: () => navigate(PATH.SELECT_STYLE),
navigateToSelectTag: () => navigate(PATH.SELECT_TAG),
+ navigateToReviewResult: () => navigate(PATH.REVIEW_RESULT),
};
return routes;
diff --git a/src/store/useReviewStore.ts b/src/store/useReviewStore.ts
index 82197e9..65086a4 100644
--- a/src/store/useReviewStore.ts
+++ b/src/store/useReviewStore.ts
@@ -1,22 +1,30 @@
import { create } from "zustand";
+interface ReviewStyle {
+ name: string;
+ image: string;
+}
+
interface CreateReviewData {
ocrText: string;
hashTag: string[];
- reviewStyle: string;
+ reviewStyle: ReviewStyle;
}
interface CreateReviewDataStore {
createReviewData: CreateReviewData;
setOcrText: (ocrText: string) => void;
setHashTag: (hashTag: string[]) => void;
- setReviewStyle: (reviewStyle: string) => void;
+ setReviewStyle: (reviewStyle: ReviewStyle) => void;
}
export const CREATE_REVIEW_DATA = {
ocrText: "",
hashTag: [],
- reviewStyle: "",
+ reviewStyle: {
+ name: "",
+ image: "",
+ },
};
export const useCreateReviewStore = create((set) => ({
@@ -29,7 +37,7 @@ export const useCreateReviewStore = create((set) => ({
set((state) => ({
createReviewData: { ...state.createReviewData, hashTag },
})),
- setReviewStyle: (reviewStyle: string) =>
+ setReviewStyle: (reviewStyle: ReviewStyle) =>
set((state) => ({
createReviewData: { ...state.createReviewData, reviewStyle },
})),