Skip to content
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6b7ea7c
Feat: μŠ€μΌˆλ ˆν†€ μ»΄ν¬λ„ŒνŠΈ μΆ”κ°€
yulrang Nov 20, 2024
3257b25
πŸ› Fix: 컬럼 μˆ˜μ •
yulrang Nov 20, 2024
536f3b2
✨ Feat: λ§ˆμ΄νŽ˜μ΄μ§€ ν”„λ‘œν•„ μŠ€μΌˆλ ˆν†€ μΆ”κ°€
yulrang Nov 20, 2024
17d4514
✨ Feat: μž‘μ„±κ°€λŠ₯ν•œλ¦¬λ·° μŠ€μΌˆλ ˆν†€ μΆ”κ°€
yulrang Nov 20, 2024
59ac630
✨ Feat: λ‚˜μ˜ 리뷰 μŠ€μΌˆλ ˆν†€ μΆ”κ°€κ°€
yulrang Nov 20, 2024
e0e83ee
♿️ Fix: μ ‘κ·Όμ„± κ°œμ„ 
yulrang Nov 20, 2024
0878802
✨ Feat: λ‚˜μ˜ 약속 λ‘œλ”© μŠ€μΌˆλ ˆν†€ μΆ”κ°€
yulrang Nov 20, 2024
ff82386
πŸ’„ Design: ν˜Έλ²„μ‹œ 그림자 적용
yulrang Nov 20, 2024
f8f4f95
🚨 Fix: λΉŒλ“œ 였λ₯˜ μˆ˜μ •
yulrang Nov 20, 2024
52eb474
πŸ› Fix: DateTimePicker λ™μž‘κ°œμ„ 
yulrang Nov 20, 2024
013fde3
♿️ Fix: 크루 폼 μ ‘κ·Όμ„± κ°œμ„ 
yulrang Nov 20, 2024
8ecaabf
♿️ Fix : 약속 폼 μ ‘κ·Όμ„± κ°œμ„ 
yulrang Nov 20, 2024
fef8165
♿️ Fix: 크루찾기 μ ‘κ·Όμ„± κ°œμ„ 
yulrang Nov 20, 2024
fea5c28
πŸ› Fix: 이미지 fill, cover μ›Œλ‹ μ—†μ• κΈ°
yulrang Nov 20, 2024
de86036
Merge branch 'develop' into Fix/YoulBugFix
yulrang Nov 20, 2024
4dc9e50
Merge branch 'develop' into Fix/YoulBugFix
yulrang Nov 20, 2024
3ce5331
🍱 Fix: μƒ˜ν”Œ 이미지 ꡐ체
yulrang Nov 21, 2024
cbb4d4e
✨ Feat: 메타 μ„€μ •
yulrang Nov 21, 2024
2656c9c
Merge branch 'Fix/YoulBugFix' of https://github.com/CodeitFESI4-Team1…
yulrang Nov 21, 2024
43a4179
Merge branch 'develop' into Fix/YoulBugFix
yulrang Nov 21, 2024
43fd284
⬇️ Chore: package install
yulrang Nov 21, 2024
9260be9
πŸ› Fix: νŒŒμΌμΈν’‹ λ™μž‘ κ°œμ„ 
yulrang Nov 21, 2024
96f1e22
Co-authored-by: JEP <[email protected]>
yulrang Nov 21, 2024
0a5ab41
πŸ› Fix: FileInput λ™μž‘ κ°œμ„ 
yulrang Nov 21, 2024
5e014cf
🚨 Fix: λΉŒλ“œμ˜€λ₯˜ μˆ˜μ •
yulrang Nov 21, 2024
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
Binary file modified public/assets/images/crew-sample/crew-sample-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion public/assets/images/crew-sample/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import ImgCrewSample03 from './crew-sample-3.jpg';
const ImgCrewSamples = [ImgCrewSample01, ImgCrewSample02, ImgCrewSample03];
const ImgCrewSampleUrls = [
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/0e05d971-15a8-4a32-bf03-80d12cae392e',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/eb35c35d-829a-402b-8019-29e42f91589f',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/817dac5a-f5e7-43c4-b32e-50d1ad2983aa',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/471b3b3b-b23c-48e8-8e6b-9a7ec31e1917',
];

Expand Down
Binary file modified public/assets/images/gathering-sample/gathering-sample-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/images/gathering-sample/gathering-sample-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/images/gathering-sample/gathering-sample-3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions public/assets/images/gathering-sample/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import ImgGatheringSample03 from './gathering-sample-3.jpg';

const ImgGatheringSamples = [ImgGatheringSample01, ImgGatheringSample02, ImgGatheringSample03];
const ImgGatheringSampleUrls = [
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/1ff61110-e238-4fd6-8736-e6f03483f4df',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/85ad6a48-a1cb-4c8f-b713-94b9e18b023a',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/60bc093c-cb3a-4628-93b9-fbf19e47a1ac',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/e276276c-c79e-4654-a2b2-279bccb7ca05',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/69d4f72f-8bad-4e9e-894c-9e8c9b57db2d',
'https://crewcrew.s3.ap-northeast-2.amazonaws.com/crew/d3c507f4-0391-4acb-8bc3-ae5379bdb058',
];

export default ImgGatheringSampleUrls;
Binary file added public/assets/images/og.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 20 additions & 6 deletions src/app/(crew)/crew/create/_components/create-crew-form/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ export default function CreateCrewForm({
</div>
<div className="flex flex-col gap-3">
<label
htmlFor="crew-category"
htmlFor="crew-mainCategory"
className="text-base font-semibold text-gray-800 md:text-xl"
>
μΉ΄ν…Œκ³ λ¦¬λ₯Ό μ„ νƒν•΄μ£Όμ„Έμš”.
Expand All @@ -167,6 +167,7 @@ export default function CreateCrewForm({
render={({ field }) => (
<DropDown
{...field}
id="crew-mainCategory"
variant="default"
inWhere="form"
placeholder={isEdit && field.value ? field.value : '메인 μΉ΄ν…Œκ³ λ¦¬'}
Expand All @@ -180,12 +181,16 @@ export default function CreateCrewForm({
/>
)}
/>
<label htmlFor="crew-subCategory" className="sr-only">
μ„ΈλΆ€ μΉ΄ν…Œκ³ λ¦¬λ₯Ό μ„ νƒν•΄μ£Όμ„Έμš”.
</label>
<Controller
name="subCategory"
control={control}
render={({ field }) => (
<DropDown
{...field}
id="crew-subCategory"
variant="default"
inWhere="form"
placeholder={isEdit && field.value ? field.value : 'μ„ΈλΆ€ μΉ΄ν…Œκ³ λ¦¬'}
Expand All @@ -199,9 +204,9 @@ export default function CreateCrewForm({
</div>

<div className="flex flex-col gap-3">
<label htmlFor="crew-image" className="text-base font-semibold text-gray-800 md:text-xl">
<span className="text-base font-semibold text-gray-800 md:text-xl">
λŒ€ν‘œμ΄λ―Έμ§€λ₯Ό μ„ νƒν•˜κ±°λ‚˜ μ²¨λΆ€ν•΄μ£Όμ„Έμš”.
</label>
</span>
Comment on lines +230 to +232
Copy link

Choose a reason for hiding this comment

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

πŸ› οΈ Refactor suggestion

이미지 선택 UI의 μ‹œλ§¨ν‹± λ§ˆν¬μ—… κ°œμ„ μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

label μ—˜λ¦¬λ¨ΌνŠΈλ₯Ό span으둜 λ³€κ²½ν•˜λ©΄ 접근성이 μ €ν•˜λ  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒκ³Ό 같이 μˆ˜μ •ν•˜λŠ” 것을 μ œμ•ˆλ“œλ¦½λ‹ˆλ‹€:

-          <span className="text-base font-semibold text-gray-800 md:text-xl">
+          <label htmlFor="crew-image" className="text-base font-semibold text-gray-800 md:text-xl">
            λŒ€ν‘œμ΄λ―Έμ§€λ₯Ό μ„ νƒν•˜κ±°λ‚˜ μ²¨λΆ€ν•΄μ£Όμ„Έμš”.
-          </span>
+          </label>

Committable suggestion skipped: line range outside the PR's diff.

<Controller
name="imageUrl"
control={control}
Expand Down Expand Up @@ -237,7 +242,7 @@ export default function CreateCrewForm({

<div className="flex flex-col gap-3">
<label
htmlFor="crew-category"
htmlFor="crew-mainLocation"
className="text-base font-semibold text-gray-800 md:text-xl"
>
지역을 μ„ νƒν•΄μ£Όμ„Έμš”.
Expand All @@ -250,6 +255,7 @@ export default function CreateCrewForm({
render={({ field }) => (
<DropDown
{...field}
id="crew-mainLocation"
variant="default"
inWhere="form"
placeholder={isEdit && field.value ? field.value : 'νŠΉλ³„μ‹œ/도'}
Expand All @@ -263,13 +269,17 @@ export default function CreateCrewForm({
/>
)}
/>
<label htmlFor="crew-subLocation" className="sr-only">
μ„ΈλΆ€ 지역을 μ„ νƒν•΄μ£Όμ„Έμš”.
</label>
<Controller
name="subLocation"
control={control}
rules={{ required: 'μ‹œ/κ΅°/ꡬλ₯Ό μ„ νƒν•΄μ£Όμ„Έμš”.' }}
render={({ field }) => (
<DropDown
{...field}
id="crew-subLocation"
variant="default"
inWhere="form"
placeholder={isEdit && field.value ? field.value : 'μ‹œ/κ΅°/ꡬ'}
Expand Down Expand Up @@ -314,11 +324,14 @@ export default function CreateCrewForm({
</div>
<div className="flex flex-col gap-3">
<div className="flex justify-between">
<label htmlFor="gathering-introduce" className="text-base font-semibold text-gray-800">
<label
htmlFor="crew-introduce"
className="text-base font-semibold text-gray-800 md:text-xl"
>
크루 μ†Œκ°œ
</label>
<span>
<span className="text-blue-500">{introduce?.length}</span>/100
<span className="text-blue-500">{introduce.length}</span>/100
</span>
</div>
<Controller
Expand All @@ -327,6 +340,7 @@ export default function CreateCrewForm({
render={({ field }) => (
<Textarea
{...field}
id="crew-introduce"
placeholder="크루 μ†Œκ°œκΈ€μ„ 100자 μ΄λ‚΄λ‘œ μž…λ ₯ν•΄μ£Όμ„Έμš”."
maxLength={100}
inputClassNames="h-40 py-2.5 px-4 bg-gray-100 placeholder:text-gray-400 font-pretendard text-base font-medium rounded-xl"
Expand Down
3 changes: 2 additions & 1 deletion src/app/(crew)/crew/create/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ export default function CreateCrewPage() {
<Image
src={IcoCreateCrew}
fill
style={{ width: '100%', height: '100%', objectFit: 'cover' }}
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full object-cover"
alt=""
/>
</figure>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,7 @@ export default function CreateGatheringForm({
/>
</div>
<div className="flex flex-col gap-3">
<label htmlFor="gathering-image" className="text-base font-semibold text-gray-800">
이미지 선택/첨뢀
</label>
<span className="text-base font-semibold text-gray-800">이미지 선택/첨뢀</span>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

μ ‘κ·Όμ„± κ°œμ„ μ„ μœ„ν•΄ 의미둠적 νƒœκ·Έ μ‚¬μš© ν•„μš”

이미지 선택 λ ˆμ΄λΈ”μ΄ <span> νƒœκ·Έλ‘œ λ³€κ²½λ˜μ–΄ 접근성이 μ €ν•˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 슀크린 리더 μ‚¬μš©μžλ₯Ό μœ„ν•΄ <label> νƒœκ·Έλ‘œ λ˜λŒλ¦¬λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

λ‹€μŒκ³Ό 같이 μˆ˜μ •ν•˜λŠ” 것을 μ œμ•ˆν•©λ‹ˆλ‹€:

-<span className="text-base font-semibold text-gray-800">이미지 선택/첨뢀</span>
+<label htmlFor="gathering-image" className="text-base font-semibold text-gray-800">이미지 선택/첨뢀</label>

Committable suggestion skipped: line range outside the PR's diff.

<div className="flex">
<Controller
name="imageUrl"
Expand Down Expand Up @@ -161,9 +159,7 @@ export default function CreateGatheringForm({
</div>
<div className="flex flex-col gap-3">
<div className="flex justify-between">
<label htmlFor="gathering-dateTime" className="text-base font-semibold text-gray-800">
λ‚ μ§œ
</label>
<span className="text-base font-semibold text-gray-800">λ‚ μ§œ</span>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

λ‚ μ§œ 선택 λ ˆμ΄λΈ”μ˜ 의미둠적 λ§ˆν¬μ—… κ°œμ„  ν•„μš”

λ‚ μ§œ 선택 λ ˆμ΄λΈ”λ„ <span> νƒœκ·Έλ‘œ λ³€κ²½λ˜μ–΄ 접근성이 μ €ν•˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 슀크린 리더 μ‚¬μš©μžλ₯Ό μœ„ν•΄ <label> νƒœκ·Έλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‹€μŒκ³Ό 같이 μˆ˜μ •ν•˜λŠ” 것을 μ œμ•ˆν•©λ‹ˆλ‹€:

-<span className="text-base font-semibold text-gray-800">λ‚ μ§œ</span>
+<label htmlFor="gathering-datetime" className="text-base font-semibold text-gray-800">λ‚ μ§œ</label>

Committable suggestion skipped: line range outside the PR's diff.

</div>
<Controller
name="dateTime"
Expand Down Expand Up @@ -223,6 +219,7 @@ export default function CreateGatheringForm({
render={({ field }) => (
<Textarea
{...field}
id="gathering-introduce"
placeholder="λͺ¨μ§‘ μ„€λͺ…/곡지λ₯Ό 100자 μ΄λ‚΄λ‘œ μž…λ ₯ν•΄μ£Όμ„Έμš”."
maxLength={100}
inputClassNames="h-40 py-2.5 px-4 bg-gray-100 placeholder:text-gray-400 font-pretendard text-base font-medium rounded-xl"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,13 @@ export default function DetailCrewPresenter({
<div className="mx-auto flex max-w-[1200px] flex-col gap-6">
{/* 상단 이미지와 정보 μ˜μ—­ */}
<div className="relative h-96 w-full overflow-hidden rounded-lg p-6 shadow-sm">
<Image src={imageUrl} alt={title} layout="fill" objectFit="cover" className="rounded-lg" />
<Image
src={imageUrl}
alt={title}
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full rounded-lg object-cover"
/>
<div className="absolute inset-0 bg-gradient-to-b from-[rgba(0,0,0,0.0)] via-transparent to-[rgba(0,0,0,0.8)]" />

{/* μ˜€λ²„λ ˆμ΄ μ»¨ν…Œμ΄λ„ˆ */}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ export default function GatheringDetailModalPresenter({
src={data?.imageUrl}
alt="λͺ¨μž„ 이미지"
fill
style={{ width: '100%', height: '100%', objectFit: 'cover' }}
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full object-cover"
/>
{isToday(data?.dateTime) && (
<strong className="absolute right-0 top-0 flex items-center gap-2 bg-blue-600 px-4 py-2 text-base font-medium text-white">
Expand Down
3 changes: 2 additions & 1 deletion src/app/(crew)/crew/detail/[id]/edit/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ export default function EditCrewPage() {
<Image
src={IcoCreateCrew}
fill
style={{ width: '100%', height: '100%', objectFit: 'cover' }}
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full object-cover"
alt=""
/>
</figure>
Expand Down
8 changes: 8 additions & 0 deletions src/app/(crew)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,11 @@ export default function HomePage() {
</Button>
</div>
<div className="flex-0 flex justify-between gap-2 md:gap-4">
<label htmlFor="region" className="sr-only">
μ§€μ—­ 선택
</label>
<DropDown
id="region"
name="region"
variant="default"
data={regionData.map((dataItem) => dataItem.main)}
Expand All @@ -114,7 +118,11 @@ export default function HomePage() {
setRegion(newValue as string);
}}
/>
<label htmlFor="sort" className="sr-only">
μ •λ ¬ 선택
</label>
<DropDown
id="sort"
name="sort"
variant="sort"
data={[
Expand Down
9 changes: 8 additions & 1 deletion src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { theme } from '@/src/styles/theme';

export const metadata: Metadata = {
title: 'CrewCrew',
description: 'Generated by CODEIT TEAM1',
description: 'λ‚΄ 크루와 ν•¨κ»˜ μ•½μ†ν•˜κ³  λ§Œλ‚˜λŠ” μš΄λ™ μ†Œλͺ¨μž„ μ›Ήμ‚¬μ΄νŠΈ',
};

export default function RootLayout({
Expand All @@ -20,6 +20,13 @@ export default function RootLayout({
return (
<html lang="en" className={pretendard.variable}>
<head>
<meta property="og:image" content="/assets/images/og.png" />
<meta property="og:title" content="CrewCrew" />
<meta
property="og:description"
content="λ‚΄ 크루와 ν•¨κ»˜ μ•½μ†ν•˜κ³  λ§Œλ‚˜λŠ” μš΄λ™ μ†Œλͺ¨μž„ μ›Ήμ‚¬μ΄νŠΈ"
/>
<meta property="og:url" content="https://crewcrew.vercel.app" />
Comment on lines +24 to +30
Copy link

Choose a reason for hiding this comment

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

πŸ’‘ Codebase verification

Open Graph 메타 νƒœκ·Έ 섀정이 λΆ€λΆ„μ μœΌλ‘œ ν™•μΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  1. /assets/images/og.png 이미지 파일이 public 디렉토리에 μ •μƒμ μœΌλ‘œ μ‘΄μž¬ν•¨μ„ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.
  2. og:url은 ν˜„μž¬ ν•˜λ“œμ½”λ”©λ˜μ–΄ 있으며, ν™˜κ²½ λ³€μˆ˜λ₯Ό ν†΅ν•œ URL 섀정이 이루어지지 μ•Šκ³  μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 κ°œμ„ μ΄ ν•„μš”ν•©λ‹ˆλ‹€:
    • 배포 ν™˜κ²½μ— 따라 λ‹€λ₯Έ URL을 μ‚¬μš©ν•  수 μžˆλ„λ‘ ν™˜κ²½ λ³€μˆ˜ 기반으둜 μˆ˜μ •
    • NEXT_PUBLIC_API_BASE_URLκ³Ό 같이 ν™˜κ²½λ³„ URL μ„€μ • 방식 ν™œμš© ꢌμž₯
πŸ”— Analysis chain

Open Graph 메타 νƒœκ·Έ 섀정을 ν™•μΈν•΄μ£Όμ„Έμš”.

λ‹€μŒ 사항듀을 κ²€μ¦ν•΄μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€:

  1. /assets/images/og.png 이미지 파일이 μ‹€μ œλ‘œ μ‘΄μž¬ν•˜λŠ”μ§€ 확인
  2. og:url이 ν™˜κ²½(개발/μŠ€ν…Œμ΄μ§•/ν”„λ‘œλ•μ…˜)에 따라 μ˜¬λ°”λ₯΄κ²Œ μ„€μ •λ˜λŠ”μ§€ 확인
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# og:image 파일 쑴재 μ—¬λΆ€ 확인
fd "og.png" public/assets/images

# og:url μ„€μ • κ΄€λ ¨ ν™˜κ²½ λ³€μˆ˜ μ‚¬μš© μ—¬λΆ€ 확인
rg -A 2 "NEXT_PUBLIC.*URL|VERCEL_URL" .env*

Length of output: 154


Script:

#!/bin/bash
# Check if there are any environment-related configurations in the codebase
rg -g "!{.git,node_modules}" "process\.env|NEXT_PUBLIC|VERCEL_URL" 

# Check if there are any URL configurations in Next.js config files
fd -e config.js -e config.ts | xargs cat

# Look for any environment configuration patterns in the codebase
ast-grep --pattern 'process.env.$_'

Length of output: 6571

<ColorSchemeScript />
</head>
<body>
Expand Down
8 changes: 7 additions & 1 deletion src/components/common/crew-list/crew-card.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,13 @@ export default function CrewCard({
>
{/* 썸넀일 */}
<div className="relative h-[203px] w-full flex-shrink-0 md:w-[230px]">
<Image fill style={{ objectFit: 'cover' }} alt={title} src={imageUrl} />
<Image
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
alt={title}
src={imageUrl}
className="h-full w-full object-cover"
/>
</div>

<div className="flex min-h-[203px] w-full flex-col justify-between p-6 sm:px-4 sm:pt-4">
Expand Down
4 changes: 2 additions & 2 deletions src/components/common/gathering-card/presenter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ export default function GatheringCardPresenter({
src={imageUrl}
alt={title}
fill
style={{ objectFit: 'cover' }}
className="rounded-t-lg"
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full rounded-t-lg object-cover"
/>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,15 @@ export default function ScheduledGatheringCardPresenter({
tabIndex={0}
className="h-80 cursor-pointer items-center rounded-xl bg-white shadow-xs md:flex md:h-44"
>
<div className="relative h-1/2 w-full flex-shrink-0 overflow-hidden rounded-t-lg md:h-full md:w-1/3 md:rounded-l-lg md:rounded-r-none">
<Image src={imageUrl} alt={title} layout="fill" className="object-cover" />
{/* Image Section */}
<div className="relative h-28 w-28 flex-shrink-0 overflow-hidden rounded-lg md:h-32 md:w-32 lg:h-32 lg:w-32">
<Image
src={imageUrl}
alt={title}
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full object-cover"
/>
</div>
<div className="flex h-1/2 w-full min-w-0 flex-grow flex-col justify-between p-4 md:h-full">
<div className="overflow-hidden text-ellipsis whitespace-nowrap">
Expand Down
3 changes: 3 additions & 0 deletions src/components/common/input/drop-down/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { ComboboxData, Select } from '@mantine/core';
import IconArrow from '@/public/assets/icons/ic-arrow';

export interface DropDownProps {
id?: string;
variant: 'default' | 'sort';
data: ComboboxData;
name: string;
Expand All @@ -16,6 +17,7 @@ export interface DropDownProps {
}

export default function DropDown({
id,
inWhere = 'default',
name,
variant,
Expand Down Expand Up @@ -73,6 +75,7 @@ export default function DropDown({

return (
<Select
id={id}
error={error}
mt="md"
data={data}
Expand Down
11 changes: 9 additions & 2 deletions src/components/common/input/file-input-wrap/file-input/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,10 @@ export default function FileInput({ value, isBlur, onChange }: FileInputProps) {
<figure className="relative flex h-3.5 w-3.5 md:h-5 md:w-5">
<Image
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
src={IcoPlus}
alt="이미지 μΆ”κ°€"
style={{ width: '100%', height: '100%', objectFit: 'cover' }}
className="h-full w-full object-cover"
/>
</figure>
<span className="text-xs font-medium text-gray-400 md:text-base lg:text-lg">
Expand All @@ -118,7 +119,13 @@ export default function FileInput({ value, isBlur, onChange }: FileInputProps) {

{preview && (
<div className="absolute inset-0 overflow-hidden rounded-xl bg-neutral-100">
<Image src={preview} fill alt="이미지 미리보기" className="h-full w-full object-cover" />
<Image
src={preview}
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
alt="이미지 미리보기"
className="h-full w-full object-cover"
/>
<button
type="button"
onClick={handleClearClick}
Expand Down
4 changes: 2 additions & 2 deletions src/components/common/profile/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ export function Profile({
src={imageUrl && imageUrl.trim() ? imageUrl : defaultImage}
alt="ν”„λ‘œν•„ 이미지"
fill
style={{ objectFit: 'cover' }}
className="rounded-full"
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full rounded-full object-cover"
priority={priority}
/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,13 @@ export default function ReviewableGatheringCard({
return (
<div className="flex w-full max-w-[1200px] gap-[20px] border-b-[2px] border-b-gray-200 py-[24px]">
<span className="relative h-[166px] w-[294px] overflow-hidden rounded-[12px]">
<Image src={imageUrl} alt={gatheringName} fill />
<Image
src={imageUrl}
alt={gatheringName}
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full object-cover"
/>
</span>
<div className="flex w-full items-end justify-between">
<div className="flex h-full flex-col items-start justify-between">
Expand All @@ -60,7 +66,13 @@ export default function ReviewableGatheringCard({
</div>
<div className="flex w-fit items-center">
<span className="relative inline-block h-[20px] w-[20px]">
<Image alt="μ°Έμ—¬ 인원" src={person} fill />
<Image
alt="μ°Έμ—¬ 인원"
src={person}
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full object-contain"
/>
Comment on lines +69 to +75
Copy link

Choose a reason for hiding this comment

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

πŸ› οΈ Refactor suggestion

μ•„μ΄μ½˜ 이미지 μ΅œμ ν™” ν•„μš”

μž‘μ€ μ•„μ΄μ½˜ 이미지에 λΆˆν•„μš”ν•œ λ°˜μ‘ν˜• 속성이 μ μš©λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. κ³ μ • 크기의 μ•„μ΄μ½˜μ΄λ―€λ‘œ sizes 속성은 μ œκ±°ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

 <Image
   alt="μ°Έμ—¬ 인원"
   src={person}
   fill
-  sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
   className="h-full w-full object-contain"
 />
πŸ“ Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<Image
alt="μ°Έμ—¬ 인원"
src={person}
fill
sizes="(max-width: 744px) 100vw, (max-width: 1200px) 50vw, 33vw"
className="h-full w-full object-contain"
/>
<Image
alt="μ°Έμ—¬ 인원"
src={person}
fill
className="h-full w-full object-contain"
/>

</span>
<span className="mr-[22px] text-base font-medium text-gray-700">
{currentCount}/{totalCount}
Expand Down
Loading