diff --git a/weatherfit_refactoring/@types/feed/index.d.ts b/weatherfit_refactoring/@types/feed/index.d.ts index 7901723..dff8f2d 100644 --- a/weatherfit_refactoring/@types/feed/index.d.ts +++ b/weatherfit_refactoring/@types/feed/index.d.ts @@ -1,14 +1,17 @@ interface LIKE { - likeId : number; - nickName: string; - } - + likeId: number + nickName: string +} interface IMAGE { - imageId: number; - boardId: number; - imageUrl: string; - } + boardId: number + imageId: number + imageUrl: string +} + +interface BOARDID { + boardId: string | string[] | undefined +} interface FEEDDATA { boardId: number; @@ -24,3 +27,19 @@ interface FEEDDATA { modifiedDate: string; } +interface FEEDATA { + boardId: number + images: string + createDate: string + likeCount: number + likelist: LIKE[] + nickName: string + temperature: number + weather: string + weatherIcon: string + // 임시 detail용 + userImage: string | StaticImport + content: string + hashTag: string[] + category: string[] +} diff --git a/weatherfit_refactoring/next.config.js b/weatherfit_refactoring/next.config.js index de418b5..1add844 100644 --- a/weatherfit_refactoring/next.config.js +++ b/weatherfit_refactoring/next.config.js @@ -2,13 +2,16 @@ const nextConfig = {} module.exports = { - images: { - domains: [ - "weatherfit-board-image.s3.amazonaws.com", - "heesung-s3.s3.ap-northeast-2.amazonaws.com", - "openweathermap.org", - "cdn.peacedoorball.blog", - "cdnimg.melon.co.kr", - ], - }, - }; + images: { + domains: [ + 'weatherfit-board-image.s3.amazonaws.com', + 'heesung-s3.s3.ap-northeast-2.amazonaws.com', + 'openweathermap.org', + 'cdn.peacedoorball.blog', + 'cdnimg.melon.co.kr', + // 외부 url 이미지 로드 + 'postfiles.pstatic.net', + 'i.pinimg.com', + ], + }, +} diff --git a/weatherfit_refactoring/package-lock.json b/weatherfit_refactoring/package-lock.json index 8ae33ec..e39f1e3 100644 --- a/weatherfit_refactoring/package-lock.json +++ b/weatherfit_refactoring/package-lock.json @@ -12,6 +12,8 @@ "next": "14.0.4", "react": "^18", "react-dom": "^18", + "slick-carousel": "^1.8.1", + "sweetalert2": "^11.10.4", "zustand": "^4.4.7" }, "devDependencies": { @@ -2841,6 +2843,12 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", + "peer": true + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4107,6 +4115,14 @@ "node": ">=8" } }, + "node_modules/slick-carousel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", + "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==", + "peerDependencies": { + "jquery": ">=1.8.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -4413,6 +4429,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sweetalert2": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.4.tgz", + "integrity": "sha512-MOVRuEW/yQsyzgkaiHqAJcYKxW3vhtE5o3Skp6vZdyJejCOWo4FOicbjRfvqHAXTyTMuwDHA+0lYbO6BiHl1Gw==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/limonte" + } + }, "node_modules/tailwindcss": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.0.tgz", diff --git a/weatherfit_refactoring/package.json b/weatherfit_refactoring/package.json index b006c92..85ecab5 100644 --- a/weatherfit_refactoring/package.json +++ b/weatherfit_refactoring/package.json @@ -14,6 +14,8 @@ "next": "14.0.4", "react": "^18", "react-dom": "^18", + "slick-carousel": "^1.8.1", + "sweetalert2": "^11.10.4", "zustand": "^4.4.7" }, "devDependencies": { diff --git a/weatherfit_refactoring/public/dummy_data/feed.json b/weatherfit_refactoring/public/dummy_data/feed.json index 83b8f7f..987d914 100644 --- a/weatherfit_refactoring/public/dummy_data/feed.json +++ b/weatherfit_refactoring/public/dummy_data/feed.json @@ -1,37 +1,63 @@ { - "feed_data" : [ - { - "boardId": 1, - "images" : "https://cdn.peacedoorball.blog/wp-content/uploads/2024/01/iu-sends-uaenas-into-whiplash-with-her-new-bleached-hair-ahead-of-2024-comeback-something-big-is-coming.webp", - "createDate": "2023-08-31 04:29:55", - "likeCount": 2, - "likelist": [{"likeId":1 , "nickName":"user1"}, {"likeId":2 , "nickName":"user2"}], - "nickName": "user1", - "temperature": -6, - "weather": "clear sky", - "weatherIcon": "01d" - }, - { - "boardId": 2, - "images" : "https://cdn.peacedoorball.blog/wp-content/uploads/2024/01/iu-sends-uaenas-into-whiplash-with-her-new-bleached-hair-ahead-of-2024-comeback-something-big-is-coming.webp", - "createDate": "2023-08-30 04:29:53", - "likeCount": 1, - "likelist": [{"likeId":1 , "nickName":"user1"}], - "nickName": "user1", - "temperature": 2, - "weather": "rain", - "weatherIcon": "10d" - }, - { - "boardId": 3, - "images" : "https://cdn.peacedoorball.blog/wp-content/uploads/2024/01/iu-sends-uaenas-into-whiplash-with-her-new-bleached-hair-ahead-of-2024-comeback-something-big-is-coming.webp", - "createDate": "2023-09-01 11:30:30", - "likeCount": 2, - "likelist": [{"likeId":1 , "nickName":"user1"}, {"likeId":2 , "nickName":"user2"}], - "nickName": "user2", - "temperature": -4, - "weather": "cloud", - "weatherIcon": "03d" - } - ] - } \ No newline at end of file + "feed_data": [ + { + "boardId": 1, + "images": [ + "https://cdn.peacedoorball.blog/wp-content/uploads/2024/01/iu-sends-uaenas-into-whiplash-with-her-new-bleached-hair-ahead-of-2024-comeback-something-big-is-coming.webp", + "https://postfiles.pstatic.net/MjAyMDA1MjJfMTUy/MDAxNTkwMDg5Njk3NjEy.WzzdxiwQV_iHROSHjdQ9v1amtfFRmSUwjRoB1iqbpNEg.ruMcbiRKcGhohFv_z91YDvVyjhlCQ2W_9Q28SrhVDCAg.JPEG.knh941010/C820D450-083E-41CC-A00D-0A2F60DC804B-4331-0000014161917C89.jpg?type=w966", + "https://i.pinimg.com/564x/18/c0/a6/18c0a61d88e3d75e77039f2de8813f55.jpg" + ], + "createDate": "2023-08-31 04:29:55", + "likeCount": 2, + "likelist": [ + { "likeId": 1, "nickName": "user1" }, + { "likeId": 2, "nickName": "user2" } + ], + "nickName": "user1", + "temperature": -6, + "weather": "clear sky", + "weatherIcon": "01d", + "content": "안녕 안녕#hi 헬로 #하이 가나다라마바사아자#안녕 차카타파하 안녕안녕안녕 안녕안녕안녕안녕안녕 가나다라마바사아자차 카타파하 가나다라 마바사아자차카타파하 안녕안녕 안녕안녕안녕 안녕안녕안녕 가나다라마바사아자차카타파하", + "hashTag": ["hi", "하이", "안녕"], + "category": ["후드 집업", "가죽자켓", "컨버스", "운동화", "베레모"], + "userImage": "https://cdnimg.melon.co.kr/cm2/artistcrop/images/002/61/143/261143_20210325180240_500.jpg?61e575e8653e5920470a38d1482d7312/melon/optimize/90" + }, + { + "boardId": 2, + "images": [ + "https://cdn.peacedoorball.blog/wp-content/uploads/2024/01/iu-sends-uaenas-into-whiplash-with-her-new-bleached-hair-ahead-of-2024-comeback-something-big-is-coming.webp" + ], + "createDate": "2023-08-30 04:29:53", + "likeCount": 1, + "likelist": [{ "likeId": 1, "nickName": "user1" }], + "nickName": "user1", + "temperature": 2, + "weather": "rain", + "weatherIcon": "10d", + "content": "안녕 안녕 #hi 헬로", + "hashTag": "hi", + "category": ["후드 집업", "가죽자켓", "컨버스", "운동화", "베레모"], + "userImage": "https://cdnimg.melon.co.kr/cm2/artistcrop/images/002/61/143/261143_20210325180240_500.jpg?61e575e8653e5920470a38d1482d7312/melon/optimize/90" + }, + { + "boardId": 3, + "images": [ + "https://cdn.peacedoorball.blog/wp-content/uploads/2024/01/iu-sends-uaenas-into-whiplash-with-her-new-bleached-hair-ahead-of-2024-comeback-something-big-is-coming.webp" + ], + "createDate": "2023-09-01 11:30:30", + "likeCount": 2, + "likelist": [ + { "likeId": 1, "nickName": "user1" }, + { "likeId": 2, "nickName": "user2" } + ], + "nickName": "user2", + "temperature": -4, + "weather": "cloud", + "weatherIcon": "03d", + "content": "안녕 안녕 #hi 헬로", + "hashTag": "hi", + "category": ["후드 집업", "가죽자켓", "컨버스", "운동화", "베레모"], + "userImage": "https://cdnimg.melon.co.kr/cm2/artistcrop/images/002/61/143/261143_20210325180240_500.jpg?61e575e8653e5920470a38d1482d7312/melon/optimize/90" + } + ] +} diff --git a/weatherfit_refactoring/src/Components/Atoms/Box/BoxStore.tsx b/weatherfit_refactoring/src/Components/Atoms/Box/BoxStore.tsx index c019b93..6ac88a9 100644 --- a/weatherfit_refactoring/src/Components/Atoms/Box/BoxStore.tsx +++ b/weatherfit_refactoring/src/Components/Atoms/Box/BoxStore.tsx @@ -15,9 +15,8 @@ interface Props { onClickFunction?: MouseEventHandler | undefined children?: React.ReactNode } -//높이 조정도 필요하면 가져다 쓰세요 -export default function ButtonStore({ +export default function BoxStore({ boxStyle, children, onClickFunction, diff --git a/weatherfit_refactoring/src/Components/Atoms/Button/ButtonStore.tsx b/weatherfit_refactoring/src/Components/Atoms/Button/ButtonStore.tsx index aa3ab71..be88b8b 100644 --- a/weatherfit_refactoring/src/Components/Atoms/Button/ButtonStore.tsx +++ b/weatherfit_refactoring/src/Components/Atoms/Button/ButtonStore.tsx @@ -11,7 +11,7 @@ export enum ButtonStyle { CATEGORY_BTN_CHECKED = 'CATEGORY_BTN_CHECKED', TEXT_BTN = 'TEXT_BTN', CONFIRM_BTN = 'CONFIRM_BTN', - CANCLE_BTN = "CANCLE_BTN", + CANCEL_BTN = 'CANCEL_BTN', CATEGORY_BTN_TOP = "CATEGORY_BTN_TOP", } @@ -46,7 +46,8 @@ export default function ButtonStore({ case ButtonStyle.DEFAULT_BTN_BLUE: return ( @@ -71,7 +72,7 @@ export default function ButtonStore({ case ButtonStyle.CATEGORY_BTN_Y: return ( @@ -79,7 +80,7 @@ export default function ButtonStore({ case ButtonStyle.CATEGORY_BTN_CHECKED: return ( @@ -100,14 +101,14 @@ export default function ButtonStore({ {children} ) - case ButtonStyle.CANCLE_BTN: - return ( - - ) + case ButtonStyle.CANCEL_BTN: + return ( + + ) case ButtonStyle.GOOGLE_BTN: return (