diff --git a/src/pages/homecheck/HomeCheckFix.jsx b/src/pages/homecheck/HomeCheckFix.jsx
index 22f3302..dc95591 100644
--- a/src/pages/homecheck/HomeCheckFix.jsx
+++ b/src/pages/homecheck/HomeCheckFix.jsx
@@ -1,6 +1,6 @@
import * as S from "./styled.js";
-import React from 'react'
-import { useNavigate } from 'react-router-dom';
+import React, { useEffect, useState } from 'react';
+import { useNavigate, useLocation } from 'react-router-dom';
import card_img_r from '../../assets/icons/history/card_img_r.svg'
import card_img_l from '../../assets/icons/history/card_img_l.svg'
import plus from "/images/apply/plus.svg";
@@ -11,7 +11,11 @@ import { useSelect } from "@hooks/useSelect";
const HomeCheckFix = () => {
const navigate = useNavigate();
+ const location = useLocation(); // ✅ 데이터 받기
+ const { experienceData, startDate: initialStartDate, endDate: initialEndDate } = location.state || {};
const { SelectData, SelectHandlers } = useSelect();
+ const [startDate, setStartDate] = useState(initialStartDate || '');
+ const [endDate, setEndDate] = useState(initialEndDate || '');
const GotoDone = () => {
navigate('/home_check');
@@ -19,7 +23,7 @@ const HomeCheckFix = () => {
return (
홈 > 확인하기
-
+
혼자 여행 떠나기
@@ -29,9 +33,9 @@ const HomeCheckFix = () => {
diff --git a/src/pages/homecheck/HomeWrite.jsx b/src/pages/homecheck/HomeWrite.jsx
index 996cc03..f455cbc 100644
--- a/src/pages/homecheck/HomeWrite.jsx
+++ b/src/pages/homecheck/HomeWrite.jsx
@@ -9,6 +9,7 @@ import empty_star from '../../assets/icons/history/empty_star.svg'
import plus from "/images/apply/plus.svg";
import { InputAndTitle } from "@components/common/inputs/inputandtitle/InputAndTitle";
import { useSelect } from "@hooks/useSelect";
+import { instance } from '../../services/instance';
const HomeWrite = () => {
const navigate = useNavigate();
@@ -45,6 +46,16 @@ const HomeWrite = () => {
setStarRatings(updatedStars);
};
+
+ const calculateScore = () => {
+ let score = 0;
+ starRatings.forEach((rating) => {
+ if (rating === 'full') score += 1;
+ else if (rating === 'half') score += 0.5;
+ });
+ return score;
+ };
+
const handleImageUpload = (event) => {
const files = event.target.files;
const newImages = [];
@@ -87,6 +98,40 @@ const HomeWrite = () => {
const GotoDone = () => {
navigate('/history_detail');
}
+ const handleSubmit = async () => {
+ const formData = new FormData();
+ const score = calculateScore();
+
+ // ✅ 리뷰 정보 추가
+ formData.append(
+ 'createReviewRequest',
+ new Blob(
+ [JSON.stringify({
+ experienceId: 1, // 경험 ID
+ score: score,
+ endDate: endDate,
+ content: feelingText,
+ })],
+ { type: 'application/json' } // 명시적으로 JSON으로 설정
+ )
+ );
+
+ // ✅ 이미지 파일 추가
+ uploadedImages.forEach((img) => {
+ formData.append('images', img.file);
+ });
+
+ try {
+ const response = await instance.post('/reviews', formData);
+
+ if (response.status === 200) {
+ alert('리뷰가 성공적으로 등록되었습니다.');
+ navigate('/history_detail');
+ }
+ } catch (error) {
+ console.error('리뷰 등록 실패:', error);
+ }
+ };
return (
@@ -202,7 +247,7 @@ const HomeWrite = () => {
diff --git a/src/pages/mainpage/MainPage.jsx b/src/pages/mainpage/MainPage.jsx
index 96b00fd..3518862 100644
--- a/src/pages/mainpage/MainPage.jsx
+++ b/src/pages/mainpage/MainPage.jsx
@@ -165,7 +165,7 @@ export const MainPage = () => {
goToPage("/history")}
+ onClick={() => goToPage("/home_write")}
>
기록하기
diff --git a/src/pages/profile/Mypage.jsx b/src/pages/profile/Mypage.jsx
index e31ab4c..405e159 100644
--- a/src/pages/profile/Mypage.jsx
+++ b/src/pages/profile/Mypage.jsx
@@ -4,6 +4,7 @@ import mypage2 from '../../assets/icons/history/mypage2.svg'
import mypage3 from '../../assets/icons/history/mypage3.svg'
import mypage4 from '../../assets/icons/history/mypage4.svg'
import mypage_arrow from '../../assets/icons/history/mypage_arrow.svg'
+import { MainFooter } from '@components/layout/footer/mainfooter/MainFooter'
const Mypage = () => {
return (
@@ -40,6 +41,7 @@ const Mypage = () => {
+
)
diff --git a/vite.config.js b/vite.config.js
index 3c40baf..83293a6 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -8,7 +8,7 @@ import dotenv from 'dotenv';
dotenv.config();
-export default defineConfig(({mode}) => {
+export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd());
return {
@@ -57,10 +57,14 @@ export default defineConfig(({mode}) => {
}
},
server: process.env.NODE_ENV === 'development' ? {
- https: {
+ https:
+ {
key: fs.readFileSync(path.resolve(__dirname, 'localhost-key.pem')),
cert: fs.readFileSync(path.resolve(__dirname, 'localhost.pem')),
- },
+ }
+ ,
+ port: 5173, // 강제로 5173 포트를 사용
+ strictPort: true,
proxy: {
"/api": {
target: env.VITE_BASE_URL,
@@ -94,4 +98,4 @@ export default defineConfig(({mode}) => {
},
},
}
-});
+});
\ No newline at end of file