diff --git a/CHANGELOG.md b/CHANGELOG.md index 79c074e..fd18142 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ ## 2026-07-27 +### ๐Ÿ›  [Developer] #533 Reviewer ๋ฐ˜๋ ค ์ˆ˜์ • โ€” "์ „์ฒด๋ณด๊ธฐ" ๋ฒ„ํŠผ ์–ธ๊ธ‰์ˆ˜ ํ•„ํ„ฐ ์ดˆ๊ธฐํ™” +- ํŒŒ์ผ: `frontend/src/app/page.tsx` + - ์ „์—ญ "์ „์ฒด๋ณด๊ธฐ" ๋ฒ„ํŠผ ๋…ธ์ถœ ์กฐ๊ฑด์— `|| minMentions > 0` ์ถ”๊ฐ€ โ†’ ์–ธ๊ธ‰์ˆ˜ ํ•„ํ„ฐ๋งŒ ์ผœ์ ธ ์žˆ์–ด๋„ ๋ฒ„ํŠผ ๋…ธ์ถœ + - onClick ์ดˆ๊ธฐํ™” ๋ชฉ๋ก์— `setMinMentions(0)` ์ถ”๊ฐ€ โ†’ ๋‹ค๋ฅธ ํ•„ํ„ฐ์™€ ํ•จ๊ป˜ ์ผ  ์ƒํƒœ์—์„œ๋„ ์ „์ฒด ์ดˆ๊ธฐํ™”๋จ + - "๋‚ด์œ„์น˜" ํ† ๊ธ€ ON ์ดˆ๊ธฐํ™” ๋ชฉ๋ก์—๋„ `setMinMentions(0)` ์ถ”๊ฐ€(๋‚ด์œ„์น˜ โ†” ์–ธ๊ธ‰์ˆ˜ ์ƒํ˜ธ๋ฐฐํƒ€ ์ผ๊ด€์„ฑ) +- ์„ค๊ณ„์„œ ๋™๊ธฐํ™”: `docs/design/533-min-mentions-filter/README.md` ยง7์— "ํ•„ํ„ฐ ๋ฆฌ์…‹ ์ผ๊ด€์„ฑ" ๋ช…์‹œ +- ๊ฒ€์ฆ: `tsc --noEmit` ํ†ต๊ณผ, jest 6 suites / 32 tests ํ†ต๊ณผ. ์ฝ”์–ด ํ•„ํ„ฐ ๋กœ์ง์€ ์ด์ „๊ณผ ๋™์ผ(๋ณ€๊ฒฝ ์—†์Œ) +- 03-Developer โ†’ 06-Reviewer(์žฌ๊ฒ€ํ† ) + ### ๐Ÿ›‘ [Reviewer] #533 ๋ฐ˜๋ ค โ€” ์ „์—ญ "์ „์ฒด๋ณด๊ธฐ" ๋ฒ„ํŠผ์ด ์–ธ๊ธ‰์ˆ˜ ํ•„ํ„ฐ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์Œ - ํŒŒ์ผ: `frontend/src/app/page.tsx:910`(๋…ธ์ถœ ์กฐ๊ฑด), `912-919`(onClick ์ดˆ๊ธฐํ™” ๋ชฉ๋ก) - ๋ฌธ์ œ: ์ „์—ญ ํ•„ํ„ฐ ์ดˆ๊ธฐํ™” ๋ฒ„ํŠผ("์ „์ฒด๋ณด๊ธฐ")์˜ ๋…ธ์ถœ ์กฐ๊ฑด๊ณผ ์ดˆ๊ธฐํ™” ๋กœ์ง์— `minMentions`๊ฐ€ ๋ˆ„๋ฝ๋จ diff --git a/docs/design/533-min-mentions-filter/README.md b/docs/design/533-min-mentions-filter/README.md index 8e6c08f..d77a9ad 100644 --- a/docs/design/533-min-mentions-filter/README.md +++ b/docs/design/533-min-mentions-filter/README.md @@ -30,7 +30,10 @@ ### ํ”„๋ก ํŠธ 6. `lib/api.ts` โ€” `Restaurant.video_count?: number | null`; `getRestaurants` ํŒŒ๋ผ๋ฏธํ„ฐ `min_mentions?`(๋ฏธ๋ž˜/์„œ๋ฒ„ํ•„ํ„ฐ์šฉ). -7. `app/page.tsx` โ€” ํ•„ํ„ฐ ์ƒํƒœ `minMentions`(0/2/3) + `filteredRestaurants`์— `(r.video_count ?? 0) >= minMentions` ๊ฐ€๋“œ + UI ์ปจํŠธ๋กค + useMemo deps ์ถ”๊ฐ€. +7. `app/page.tsx` โ€” ํ•„ํ„ฐ ์ƒํƒœ `minMentions`(0/2/3/5) + `filteredRestaurants`์— `(r.video_count ?? 0) >= minMentions` ๊ฐ€๋“œ + UI ์ปจํŠธ๋กค + useMemo deps ์ถ”๊ฐ€. + - **ํ•„ํ„ฐ ๋ฆฌ์…‹ ์ผ๊ด€์„ฑ**: `minMentions`๋„ ๋‹ค๋ฅธ ํ•„ํ„ฐ(์žฅ๋ฅด/๊ฐ€๊ฒฉ/์ง€์—ญ/์ฑ„๋„)์™€ ๋™์ผํ•˜๊ฒŒ ์ทจ๊ธ‰. + - ์ „์—ญ "์ „์ฒด๋ณด๊ธฐ" ๋ฒ„ํŠผ: ๋…ธ์ถœ ์กฐ๊ฑด์— `minMentions > 0` ํฌํ•จ, ํด๋ฆญ ์‹œ `setMinMentions(0)`๋กœ ํ•จ๊ป˜ ์ดˆ๊ธฐํ™”. + - "๋‚ด์œ„์น˜" ํ† ๊ธ€ ON: ๋‹ค๋ฅธ ํ•„ํ„ฐ ์ดˆ๊ธฐํ™” ๋ชฉ๋ก์— `setMinMentions(0)` ํฌํ•จ(๋‚ด์œ„์น˜์™€ ์ƒํ˜ธ๋ฐฐํƒ€). ## ์—ฃ์ง€์ผ€์ด์Šค - `video_count` ๋ฏธ์‚ฐ์ •(findById ๋“ฑ) โ†’ null. ํด๋ผ ํ•„ํ„ฐ๋Š” `?? 0`๋กœ ์•ˆ์ „. diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 7c4e2eb..b50a078 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -907,7 +907,7 @@ export default function Home() { )} {/* ํ•„ํ„ฐ ์ „์ฒด ํ•ด์ œ */} - {(channelFilter || cuisineFilter || priceFilter || countryFilter) && ( + {(channelFilter || cuisineFilter || priceFilter || countryFilter || minMentions > 0) && (