Skip to content

Conversation

@626-ju
Copy link
Collaborator

@626-ju 626-ju commented Jul 24, 2025

๐Ÿ“ฆ Pull Request

https://whyne-fe-git-fork-626-ju-feature-wineid-626-jus-projects.vercel.app/wines/123

๐Ÿ“ ์š”์•ฝ(Summary)

์™€์ธ ์ƒ์„ธํŽ˜์ด์ง€ ui ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.
api ์—ฐ๊ฒฐ์€ ์•„์ง ์•ˆ๋˜์–ด ์žˆ์–ด์š”

๐Ÿ’ฌ ๊ณต์œ ์‚ฌํ•ญ to ๋ฆฌ๋ทฐ์–ด

  1. ๊ณต์šฉ ์ปดํฌ์— ์žˆ๋˜ ๋ฆฌ๋ทฐ ์นด๋“œ ์ €๋งŒ ์“ฐ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ
    ์ˆ˜์น˜ ์กฐ์ •์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ ์กฐ๊ธˆ ๊ฑด๋“œ๋ ค๋’€์Šต๋‹ˆ๋‹ค.
    ํ˜น์‹œ ๋‹ค๋ฅธ ๋ถ„๋“ค ์“ฐ์…”์•ผ ํ•˜๋ฉด ๋ฏธ๋ฆฌ ๋ง์”€ํ•ด์ฃผ์„ธ์š”

  2. assets ํด๋” ์•ˆ์— ์“ฐ๋Š” ํŽ˜์ด์ง€ ๋ณ„๋กœ ํด๋”๋ฅผ ๋ถ„๋ฆฌํ•ด์•ผ ํ• ๊นŒ์š”?
    ์ผ๋‹จ์€ ๋ฃจํŠธ์—๋‹ค ๋’€๋Š”๋ฐ ๊ธฐ์กด์— ์žˆ๋˜ icons ์•ˆ์— ๋„ฃ์„์ง€ ์•„๋‹ˆ๋ฉด ์ƒˆ๋กœ ํด๋”๋ฅผ ๋งŒ๋“ค์ง€ ๊ฒฐ์ •ํ•ด์ฃผ์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  3. ํ…Œ์ผ์œˆ๋“œ์— ๋ฏธ๋ฆฌ ์ •์˜ ๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์‹œ์•ˆ์—๋Š” ํ‘œ๊ธฐ๋˜์–ด ์žˆ๋Š”
    -> ex) margin-bottom: 6.5px, margin-bottm:22px, width ๊ฐ’๋“ค ๋“ฑ๋“ฑ
    ๋•Œ๋ฌธ์— [ ] ํ‘œ๊ธฐ๋ฒ•๊ณผ ๊ฐ™์ด ์“ฐ๋‹ค๋ณด๋‹ˆ ๋งŽ์ด ์ง€์ €๋ถ„ํ•ด์ง„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค...
    ์ €๋ฒˆ์— ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ๋ง์”€ํ•ด์ฃผ์‹  ๋งค์ง๋„˜๋ฒ„๋ฅผ -> ์ƒ์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ์—๋Š” ์ข…๋ฅ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๊ณ 
    ์–ด๋А ์š”์†Œ์— ํ•ด๋‹น ๊ฐ’์ด ์ ์šฉ๋˜๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒŒ ์–ด๋ ค์›Œ ์งˆ ๊ฒƒ ๊ฐ™์€๋ฐ

    1. ์ฐจ๋ผ๋ฆฌ [ ] ๋กœ ํ†ต์ผํ•˜๋Š” ๊ฒŒ ๋‚˜์„์ง€?
    2. ์‹œ์•ˆ๊ณผ ๋‹ค๋ฅด๋”๋ผ๋„ ์ •์˜๋œ ํด๋ž˜์Šค์ด๋ฆ„๋งŒ ์“ธ ๊ฑด์ง€?
    3. ํฌ๋ฆฌํ‹ฐ์ปฌํ•˜์ง€ ์•Š์œผ๋ฉด ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐˆ ๊ฒƒ์ธ์ง€

    ์ด์•ผ๊ธฐํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1์ฐจ qa ๋ฐ˜์˜

  • ์ข‹์•„์š” ๋ˆŒ๋ €์„ ๋•Œ ํ•˜ํŠธ ๊ฝ‰ ์ฐฌ ํ•˜ํŠธ๋กœ ๋ฐ”๊พธ๊ธฐ
  • ์นด๋“œ ์—ด๊ธฐ ๋ฒ„ํŠผ ์•„๋ž˜ ์—ฌ๋ฐฑ ์ค„์ด๊ธฐ
  • ํƒœ๋ธ”๋ฆฟ, ๋ชจ๋ฐ”์ผ ๋ฆฌ๋ทฐ๋ชฉ๋ก ์œ„์— ๊ฐ„๊ฒฉ ๋” ์ฃผ๊ธฐ
    mb-10 md:mb-[60px]
  • ์œ ์ €๊ธฐ๋ณธ์ด๋ฏธ์ง€ ๋ฐฐ๊ฒฝ ์ƒ‰ ๊ทธ๋ ˆ์ด๋กœ ๋ฐ”๊พธ๊ธฐ
  • ์ผ€๋ฐฅsvg Path์ธ๊ฑธ๋กœ ๋ฐ”๊พธ๊ธฐ

๐Ÿ—‚๏ธ ๊ด€๋ จ ์ด์Šˆ

๐Ÿ“ธ ์Šคํฌ๋ฆฐ์ƒท

localhost_3000_wines_123 (1) localhost_3000_wines_123 (2) localhost_3000_wines_123

โœ… ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ
  • ESLint/Prettier ๊ฒ€์‚ฌ ํ†ต๊ณผ

@626-ju 626-ju requested review from llmojoll and summerDev96 July 24, 2025 04:59
@vercel
Copy link

vercel bot commented Jul 24, 2025

Someone is attempting to deploy a commit to the 626-ju's projects Team on Vercel.

A member of the Team first needs to authorize it.

@vercel
Copy link

vercel bot commented Jul 24, 2025

The latest updates on your projects. Learn more about Vercel for Git โ†—๏ธŽ

Name Status Preview Comments Updated (UTC)
whyne-fe โœ… Ready (Inspect) Visit Preview ๐Ÿ’ฌ Add feedback Jul 25, 2025 6:22am

</ImageCard>
<div className='flex flex-col xl:flex-row max-w-[1140px] w-full mx-auto justify-between '>
<div className='flex-col order-2 xl:order-1 xl:max-w-[1140px] '>
<h2 className='hidden xl:block mb-[22px] xl:custom-text-xl-bold'>๋ฆฌ๋ทฐ ๋ชฉ๋ก</h2>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hidden(display:none)์€ ์‹œ๊ฐ์ ์œผ๋กœ๋‚˜ ์ ‘๊ทผ์„ฑ์ธก๋ฉด์—์„œ๋‚˜ ์™„์ „ ๋ฌด์‹œ๋˜๊ธฐ๋•Œ๋ฌธ์— ํŠน์ •ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ฉด, ํŠนํžˆ ์ง€๊ธˆ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” sr-only๋ฅผ ์ถ”์ฒœ๋“œ๋ ค์š”. (ํŠน์ •ํ•œ ๊ฒฝ์šฐ* ํƒญui, ๋ชจ๋‹ฌui ๋“ฑ)

Suggested change
<h2 className='hidden xl:block mb-[22px] xl:custom-text-xl-bold'>๋ฆฌ๋ทฐ ๋ชฉ๋ก</h2>
<h2 className='sr-only xl:block mb-[22px] xl:custom-text-xl-bold'>๋ฆฌ๋ทฐ ๋ชฉ๋ก</h2>

<ul>
{testReviews.map((review) => (
<li key={review.id} className='mb-[16px] md:mb-[24px] xl:mb-[20px]'>
<ReviewCard
Copy link

@dwkim101 dwkim101 Jul 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

compound ํŒจํ„ด ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค
์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค

  • ReviewCard์˜ ์ธํ„ฐํŽ˜์ด์Šค(prop)์ด ๋งŽ์•„์„œ ํŒŒ์•…/์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค => ReviewCard๊ฐ€ ๋“ค๊ณ ์žˆ๋Š” ๊ด€์‹ฌ์‚ฌ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค
  • slot prop์œผ๋กœ ๋‚ด๋ ค์ค€ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฆฌ๋ Œ๋”๋ง๋˜๋ฉด์„œ (์—ฌ๊ธฐ์„  ๋‹จ์ˆœui์ง€๋งŒ)๋‚ด๋ถ€์— ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋„ต ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

626-ju added 2 commits July 24, 2025 18:28
-sr-only์˜€๋‹ค๊ฐ€ xl:not-sr-only๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๊ธฐ์กด์— ์„ค์ •ํ•ด๋‘” ๋งˆ์ง„์ด
์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋˜๋Š” ๊ฒƒ ๊ฐ™์•„ ๊ธฐ์กด๋งˆ์ง„์— ! ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
function Kebab() {
//์œ ์ง„๋‹˜์ด ๋งŒ๋“  ๊ฑฐ๋ž‘ ๊ฒน์น˜๋Š” ๊ฑฐ ๊ฐ™์€๋ฐ ๋‚˜์ค‘์— ํ•ฉ์ณ์ง€๋ฉด ๊ทธ๊ฑธ๋กœ ์ˆ˜์ •ํ•ด๋‘๊ฒ ์Šต๋‹ˆ๋‹ค.
function onSelect(value: string) {
//-> ์š”๊ฑฐ ํ˜น์‹œ ์ €๋ฒˆ์— ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์ œ๋„ค๋ฆญ ๊ด€๋ จ ํ”ผ๋“œ๋ฐฑ ํ•ด์ฃผ์‹  ๊ฑฐ ๋ฐ˜์˜๋˜์–ด ์žˆ์„๊นŒ์š”???
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์•„์ง์ž…๋‹ˆ๋‹ค! 1์ฐจ QA ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ ํ›„ ๋ฐ”๋กœ ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Comment on lines 95 to 112
ReviewCard.ToggleButton = function TogleButton({ reviewId }: ToggleButtonProps) {
const isOpen = useReviewCardStore((state) => state.allReviews[reviewId]?.isOpen);
const toggleReviewOpen = useReviewCardStore((state) => state.toggleReviewOpen);
return (
<Button
size={null} //๋ฒ„ํŠผ ๋””ํดํŠธ ๋ฎ์–ด์”Œ์šฐ๊ธฐ
width={null}
variant='onlyCancel'
onClick={() => toggleReviewOpen(reviewId)}
className={cn(
'border-0 mx-auto [&_svg]:w-[30px] [&_svg]:h-[30px] block transition-all duration-500 ease-in-out mt-[-30px]',
{
'scale-y-[-1] mt-0': isOpen,
},
)}
>
<ShowMoreBtn />
</Button>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ•ฉ์„ฑ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ณ€๊ฒฝํ•˜๋‹ˆ ์ปดํฌ๋„ŒํŠธ์˜ ์—ญํ•  ๊ตฌ๋ถ„์ด ์ž˜ ๋˜์–ด๋ณด์ด๋„ค์š”

Copy link
Collaborator

@llmojoll llmojoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๊ณ ์ƒํ•˜์…จ์Šต๋‹ˆ๋‹ค ์ ์  ์™„์„ฑ๋˜์–ด ๊ฐ€๋Š” ๋А๋‚Œ์ด ๋“œ๋„ค์š”
๋ง์”€ํ•˜์‹  assetsํด๋”๋Š” ์ €๋„ ๋ฃจํŠธ์— ๋‹ค ๋„ฃ์–ด๋†”์„œ... ์ •๋ฆฌํ•˜๊ธด ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค
ํ…Œ์ผ์œˆ๋“œ๋Š” ์ €๋„ ์ด๊ฒƒ์ €๊ฒƒ ๋ณต์žกํ•˜๊ฒŒ ์„ž์—ฌ์žˆ๋Š”๋ฐ์š” ์–ด๋А์ •๋„ ํ†ต์ผ์„ ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค

Comment on lines +36 to +57
<ReviewCard>
<ReviewCard.UserHeader
userIcon={<UserDefaultImg className='size-10 md:size-16' />}
reviewId={id}
>
<LikeButton isLike={false} />
<Kebab />
</ReviewCard.UserHeader>
<ReviewCard.TagAndRating reviewId={id}></ReviewCard.TagAndRating>
<ReviewCard.ReviewBody
reviewId={id}
flavorSliderSlot={
<FlavorSliderList
lightBold={lightBold}
smoothTannic={smoothTannic}
drySweet={drySweet}
softAcidic={softAcidic}
/>
}
></ReviewCard.ReviewBody>
<ReviewCard.ToggleButton reviewId={id} />
</ReviewCard>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

props๋ฅผ ๋งŽ์ด ์ค„์—ฌ์„œ ๊น”๋”ํ•ด๋ณด์ด๋„ค์š”! ๊ตฟ๊ตฟ ๐Ÿ‘

Comment on lines +17 to +18
className='mb-10 md:mb-[60px] md:px-[63px] xl:px-0 w-full xl:max-w-[280px] mx-auto xl:mx-0 order-1 xl:order-2
flex flex-col md:flex-row md:gap-20 xl:gap-0 xl:flex-col xl:relative'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํด๋ž˜์Šค๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์ ธ์„œ ๋ณ€์ˆ˜๋กœ ๋นผ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

Comment on lines +16 to +17
<meta property='og:image' content={defaultOGImage} />
<meta property='og:url' content={BASE_URL} />
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋ฉ”ํƒ€ํƒœ๊ทธ ์ด๋ฏธ์ง€ ์„ค์ •ํ•ด์ฃผ์‹  ๋ถ€๋ถ„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค

Comment on lines +61 to +69
//use-sync-external-store ํŒจํ‚ค์ง€ ์„ค์น˜ ํ›„ useStoreWithEqualityFn์œผ๋กœ ํƒ€์ž… ์ง€์ •ํ•ด์•ผ shallow์ œ๋Œ€๋กœ ์ธ์‹
//-> ์ด๊ฑฐ ์™ธ์— ํŒจํ‚ค์ง€ ์„ค์น˜ ์•ˆํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๊ฒƒ์ €๊ฒƒ ํ•ด๋ดค๋Š”๋ฐ ๋„๋ฌด์ง€ ๋ชป ์ฐพ๊ฒ ๋„ค์š” ใ… 
//-> ์ผ๋‹จ ์“ฐ๊ธดํ–ˆ๋Š”๋ฐ ์™œ ์ด ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•œ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „์— ๊ทธ๋ƒฅ ๋ฆฌ์•กํŠธ+js๋กœ๋งŒ ํ–ˆ์„ ๋•Œ๋Š” ์—†์–ด๋„ ์ž˜ ์ธ์‹ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ...

//์›์‹œํƒ€์ž… === ๋น„๊ต/ ๊ฐ์ฒด,๋ฐฐ์—ด ์–•์€ ๋น„๊ต
const useReviewCardStore = <T>(selector: (state: ReviewStates) => T): T =>
useStoreWithEqualityFn(reviewStore, selector, shallow);

export default useReviewCardStore;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๋ถ€๋ถ„์€ ํ•ฉ์„ฑ ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๋ฉด์„œ ํ•œ๋ฒˆ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

@626-ju 626-ju merged commit 1b87c36 into codeit-part3-7:dev Jul 25, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants