Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
c6fecdc
feat: ์นด์นด์˜ค ๋ฒ„ํŠผ ์ˆ˜์ • (#149)
sunkiteo-o Jan 21, 2026
5d3ff99
feat: ์ด๋ฏธ์ง€ ๋น„์œจ๋Œ€๋กœ ์ž๋ฅด๊ธฐ(#149)
sunkiteo-o Jan 21, 2026
5810bff
feat: ์ด๋ฏธ์ง€ base url env ํŒŒ์ผ๋กœ ์ด๋™ (#149)
sunkiteo-o Jan 21, 2026
fec9bca
feat: ์„ ๋ฌผ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€์— ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ (#149)
sunkiteo-o Jan 21, 2026
88bdd8a
feat: ์œ„์‹œํ’€ ์ฐธ์—ฌ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ ์ˆ˜์ •(#149)
sunkiteo-o Jan 21, 2026
dba5309
feat: ์ตœ์ข… ์„ ๋ฌผ ์†ํƒ ํ™•์ธ์—์„œ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€(#149)
sunkiteo-o Jan 21, 2026
0b67738
feat: ์ตœ์ข… ์„ ํƒ ์„ ๋ฌผ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ (#149)
sunkiteo-o Jan 21, 2026
02258e4
feat: ์ธ๋„ค์ผ ์ด๋ฏธ์ง€ ๊ณ ์ • ํฌ๊ธฐ๋กœ ์ž๋ฅด๊ธฐ (#149)
sunkiteo-o Jan 21, 2026
a4d3743
feat: chosenUrl ์„ธ์…˜ ํ—ค๋” ๋‹ซ์„ ๋•Œ ์‚ญ์ œ(#149)
sunkiteo-o Jan 21, 2026
7e2a109
Merge branch 'develop' into feat/#149-add-img
sunkiteo-o Jan 21, 2026
bb57001
feat: ๋ฏธ์‚ฌ์šฉ ๋ณ€์ˆ˜ ์‚ญ์ œ (#149)
sunkiteo-o Jan 21, 2026
0c809c1
feat: inviteUrl ์›์ƒ๋ณต๊ท€(#149)
sunkiteo-o Jan 21, 2026
077aa48
feat: giftCard ์ˆ˜์ •(#149)
sunkiteo-o Jan 21, 2026
7314732
feat: imagrUrl ? ์ œ๊ฑฐ(#149)
sunkiteo-o Jan 21, 2026
db0db84
feat: final ? ์ œ๊ฑฐ (#149)
sunkiteo-o Jan 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/api/domain/detail/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export type WishpoolChosenGiftListResponse = {
giftId: number;
giftName: string;
giftImage: string;
imageUrl: string;
},
];
};
1 change: 1 addition & 0 deletions src/api/domain/pick/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export type PickGiftListResponse = {
celebrant: string;
birthDay: string;
endPickDate: string;
imageKey?: string;
};

export type PickGiftRequest = {
Expand Down
6 changes: 5 additions & 1 deletion src/app/pick/invite/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ const InviteHandler = () => {
return <Loading />;
}

const displayImageSrc = pickData?.imageKey
? `${process.env.NEXT_PUBLIC_WISHPOOL_IMAGE_BASE_URL}/${pickData.imageKey}`
: WishpoolCardImage;

return (
<>
<div className="relative mt-[6rem] w-full rounded-[16px] bg-white">
Expand All @@ -58,7 +62,7 @@ const InviteHandler = () => {

<div className="relative aspect-[353/199] w-full">
<Image
src={WishpoolCardImage}
src={displayImageSrc}
alt="์ด๋ฒคํŠธ ์นด๋“œ ์ด๋ฏธ์ง€"
fill
sizes="100vw"
Expand Down
6 changes: 3 additions & 3 deletions src/app/wishpool/(viewer)/[id]/final/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ const FinalPage = () => {
className="absolute -top-5 left-1/2 -translate-x-1/2 -translate-y-1/2"
/>
{giftData?.selectedGiftsListDto.map(
({ giftId, giftName, giftImage }) => (
({ giftId, giftName, giftImage, imageUrl }) => (
<GiftCard
key={giftId}
size="big"
giftId={giftId}
itemName={giftName}
itemUrl={giftImage}
imageUrl={giftImage}
imageUrl={imageUrl}
/>
),
)}
Expand All @@ -59,7 +59,7 @@ const FinalPage = () => {
<div className="flex flex-col gap-[1.2rem]">
<KakaoButton
shareType="complete"
linkUrl={PATH.WISHPOOL_FINAL(wishpoolId)}
linkUrl={`${origin}${PATH.WISHPOOL_FINAL(wishpoolId)}`}
name={giftData?.celebrant || ''}
/>
<Button textSize="lg" onClick={() => router.push(PATH.HOME)}>
Expand Down
15 changes: 8 additions & 7 deletions src/app/wishpool/join/[id]/info/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,15 @@ const InfoPage = () => {
celebrant={wishpoolData?.celebrant ?? ''}
birthDay={getSlashDateFmt(wishpoolData?.birthDay) ?? ''}
/>
<div className="relative h-[18.7rem] w-[35.3rem] overflow-hidden">
<Image
src={displayImg}
fill
className="object-cover"
alt="์œ„์‹œํ’€ ๋Œ€ํ‘œ ์ด๋ฏธ์ง€"
/>
</div>

<Image
src={displayImg}
width={430}
height={240}
className="w-full"
alt="์œ„์‹œํ’€ ๋Œ€ํ‘œ ์ด๋ฏธ์ง€"
/>
<div className="body2 flex gap-[1.2rem] p-[1.6rem]">
<span className="shrink-0 text-gray-600">์†Œ๊ฐœ</span>
<p className="whitespace-pre-line text-gray-800">
Expand Down
6 changes: 3 additions & 3 deletions src/app/wishpool/join/[id]/preview/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import GiftCardImage from '@/assets/images/gift-card.png';
import Button from '@/components/common/Button';
import UserTag from '@/components/common/UserTag';
import { PATH } from '@/constants/common/path';
import { WISHPOOL_IMAGE_BASE_URL } from '@/constants/wishpool/image';
import { useGetWishpoolId } from '@/hooks/common/useGetWishpoolId';

const PreviewPage = () => {
const router = useRouter();
const wishpoolId = useGetWishpoolId();
Expand Down Expand Up @@ -64,9 +64,9 @@ const PreviewPage = () => {
className="flex flex-col items-center justify-center"
>
{gift.imageUrl ? (
<div className="relative h-[15.5rem] w-[15.5rem]">
<div className="relative h-[15.5rem] w-[15.5rem] overflow-hidden">
<Image
src={`${WISHPOOL_IMAGE_BASE_URL}/${gift.imageUrl}`}
src={`${process.env.NEXT_PUBLIC_WISHPOOL_IMAGE_BASE_URL}/${gift.imageUrl}`}
alt="๋“ฑ๋ก ์„ ๋ฌผ ์ด๋ฏธ์ง€"
fill
className="object-cover"
Expand Down
5 changes: 2 additions & 3 deletions src/components/common/Form/GiftField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import { useEffect, useRef } from 'react';

import Icon from '@/components/common/Icon';
import { WISHPOOL_IMAGE_BASE_URL } from '@/constants/wishpool/image';
import { useImageUpload } from '@/hooks/wishpool/useImageUpload';
import { patchGift } from '@/utils/wishpool/viewer/manageGifts';

Expand Down Expand Up @@ -53,7 +52,7 @@
if (!imageKey) return;
onChangeImage(imageKey);
patchGift(index, { imageUrl: imageKey });
}, [imageKey]);

Check warning on line 55 in src/components/common/Form/GiftField.tsx

View workflow job for this annotation

GitHub Actions / build

React Hook useEffect has missing dependencies: 'index' and 'onChangeImage'. Either include them or remove the dependency array. If 'onChangeImage' changes too often, find the parent component that defines it and wrap that definition in useCallback

const handleDeleteImage = () => {
reset();
Expand All @@ -62,7 +61,7 @@
};

const imageSrc = valueImageUrl
? `${WISHPOOL_IMAGE_BASE_URL}/${valueImageUrl}`
? `${process.env.NEXT_PUBLIC_WISHPOOL_IMAGE_BASE_URL}/${valueImageUrl}`
: null;

const displayImageSrc = preview ?? imageSrc;
Expand Down Expand Up @@ -122,7 +121,7 @@
alt="์„ ๋ฌผ ์ด๋ฏธ์ง€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ"
width={82}
height={82}
className="h-[8.2rem] w-[8.2rem] rounded-[12px] border border-gray-400"
className="h-[8.2rem] w-[8.2rem] rounded-[12px] border border-gray-400 object-cover"
/>
<span className="absolute top-[0.6rem] left-[6rem]">
<button
Expand Down
36 changes: 20 additions & 16 deletions src/components/pick/list/GiftCard.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Image from 'next/image';
import Link from 'next/link';

import { useGetWishpoolImage } from '@/api/domain/detail/hooks';
import GiftCardImage from '@/assets/images/gift-card.png';
import type { GiftCardType } from '@/types/common/giftCardType';

Expand All @@ -14,29 +14,33 @@ const GiftCard = ({
size = 'small',
giftId,
itemName,
itemUrl,
imageUrl,
}: GiftCardProps) => {
const isSmall = size === 'small';

const { data: imageData } = useGetWishpoolImage(imageUrl);
const finalSrc = imageData && imageData.key ? imageData.key : GiftCardImage;

return (
<div
className={`bg-background-01 flex grow-1 flex-col items-center gap-[2.4rem] rounded-[16px] ${isSmall ? 'p-[2.2rem]' : 'p-[6.4rem]'}`}
>
<Image
src={finalSrc}
alt={`์„ ๋ฌผ ์นด๋“œ ์ด๋ฏธ์ง€ - ${giftId}`}
width={isSmall ? 126 : 170}
height={isSmall ? 126 : 170}
className={`rounded-[12px] object-cover`}
/>
<span
className={`subtitle2 text-text line-clamp-2 h-[4.8rem] text-center ${isSmall ? 'w-[12.6rem]' : ''}`}
>
{itemName}
</span>
<Link href={itemUrl} className="flex flex-col gap-[2.8rem]">
<Image
src={
imageUrl
? `${process.env.NEXT_PUBLIC_WISHPOOL_IMAGE_BASE_URL}/${imageUrl}`
: GiftCardImage
}
alt={`์„ ๋ฌผ ์นด๋“œ ์ด๋ฏธ์ง€ - ${giftId}`}
width={isSmall ? 126 : 170}
height={isSmall ? 126 : 170}
className={`rounded-[12px] object-cover`}
/>
<span
className={`subtitle2 text-text line-clamp-2 text-center ${isSmall ? 'w-[12.6rem]' : ''}`}
>
{itemName}
</span>
</Link>
</div>
);
};
Expand Down
20 changes: 10 additions & 10 deletions src/components/wishpool/viewer/list/ItemCard.tsx
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
import Image from 'next/image';
import Link from 'next/link';

import { useGetWishpoolImage } from '@/api/domain/detail/hooks';
import GiftCardImage from '@/assets/images/gift-card.png';
import UserTag from '@/components/common/UserTag';

type ItemCardProps = {
guest: string;
itemName: string;
itemUrl: string;
imageUrl: string;
imageUrl?: string;
};

const ItemCard = ({ guest, itemName, itemUrl, imageUrl }: ItemCardProps) => {
const { data: imageData } = useGetWishpoolImage(imageUrl);
const finalSrc = imageData && imageData.key ? imageData.key : GiftCardImage;

return (
<>
<Link href={itemUrl} className="flex grow-1 flex-col">
<Image
src={finalSrc}
alt="ํ”„๋กœํ•„ ์ด๋ฏธ์ง€"
sizes="100vw"
className="rounded-[12px] object-cover"
src={
imageUrl
? `${process.env.NEXT_PUBLIC_WISHPOOL_IMAGE_BASE_URL}/${imageUrl}`
: GiftCardImage
}
alt="์„ ๋ฌผ ์ด๋ฏธ์ง€"
width={155}
height={155}
className="h-[15.5rem] w-[15.5rem] rounded-[12px] object-cover"
/>

<div className="mt-[0.8rem] flex items-center gap-[0.8rem]">
Expand Down
1 change: 0 additions & 1 deletion src/constants/wishpool/image.ts

This file was deleted.

Loading