Skip to content

Commit ad7877a

Browse files
EunbinJungmtm-git1018ahk0413
authored
Style/community#18 (#62)
* [chore] 메타데이터 추가 * [fix] 수정 * [fix] 스크롤 수정 * [fix] 레이아웃 수정 * [style] 커뮤니티 상세 ui * [style]레시피페이지 * [style]recipe페이지 * [style]칵테일페이지 * [style]페이지 수정사항 수정 * [style]레시피페이지 * [style]recipe페이지 * [feat]selectBox컴포넌트 다양화 * [style] select박스 정렬 * [style] 수정사항 반영 * [style] 수정 * [style]recipe페이지 * [feat]selectBox컴포넌트 다양화 * [feat] StarBg컴포넌트 * [feat] 라벨 컴포넌트 분리 * [feat]selectBox컴포넌트 다양화 * [design] 채팅 폼 ui * [feat] 레이아웃 footer 로직 추가 * [style] 취향 추천페이지 작업 * [style] layout 양옆 padding 값 수정 * [style] 라디오, input, 쑤리 챗, 나의 챗 컴포넌트 작업 * [feat] keep 버튼 이벤트 전파 막기 추가 * [feat] scrollTopbtn 취향추천 페이지에서 none 처리 * [style] 카드 컴포넌트 구현 완료 * [feat] 스크롤 탑 버튼 throttle 추가 * [design] 헤더 아이콘 hover / 페이지 이동시 추가 * [fix] 헤더아이콘 경고 이슈 해결 * [design] toast 줄바꿈 예시 추가 * [feat] auth 관련 store 생성 * [feat] 로그인 상태에 따라 로직 추가 * [feat] 로그인 시 전페이지로 이동하도록 로직 추가 / 모달 store 추가 * [feat] 소셜로그인 로직 수정 (api 대기중) * [text] 로그인 기능구현중 테스트 * [style] 불필요한 코드 제거 * [style] 커뮤니티 상세페이지 UI * [fix] 수정 * [fix] 수정 * [style] 별배경 추가 * [refactor] 닫힐때 애니메이션 나오게 수정 * [refactor] createPortal 추가 * [feat] 로그인 기능 구현 (#63) - 로그아웃 이슈는 추후 논의 필요 * [refactor] modal store 삭제 * [feat] 쿠키 저장 구현중... * [feat] 로그인 쿠키저장하여 이전페이지 이동 완료 * [docs] 의미없는 폴더 삭제 * [chore] next.config.ts파일 * [fix] 클라이언트 페이지 선언 * [fix] 빌드에러 * [fix] z-index 주기 * Squashed commit of the following: commit 643a5f2 Author: mtm-git1018 <[email protected]> Date: Fri Sep 26 09:41:04 2025 +0900 Feat/칵테일 상세페이지#17 (#59) * [style]레시피 상세페이지 * [style]레시피 상세페이지 헤더 * [style]추천리스트 * [style]레시피 상세페이지 * [style]칵테일 상세페이지 * [style] 상세페이지 컴포넌트 정리 * [fix] 경로수정 * [refactor] PageHeader 수정 commit 38cde08 Author: ahk0413 <[email protected]> Date: Fri Sep 26 00:04:49 2025 +0900 [feat] 로그인 기능 구현 (#63) - 로그아웃 이슈는 추후 논의 필요 * [refactor] modal store 삭제 * [feat] 쿠키 저장 구현중... * [feat] 로그인 쿠키저장하여 이전페이지 이동 완료 * [docs] 의미없는 폴더 삭제 * 수정 * 수정 * 오류 해결 --------- Co-authored-by: mtm1018 <[email protected]> Co-authored-by: ahk0413 <[email protected]> Co-authored-by: ahk0413 <[email protected]>
1 parent 643a5f2 commit ad7877a

33 files changed

+543
-127
lines changed

next.config.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,6 @@ import type { NextConfig } from 'next';
22

33
const nextConfig: NextConfig = {
44

5-
// TurboPack 설정
6-
experimental: {
7-
turbo: {
8-
rules: {
9-
'*.svg': {
10-
loaders: ['@svgr/webpack'],
11-
as: '*.js',
12-
},
13-
},
14-
},
15-
},
165
// webpack 설정
176
webpack: (config) => {
187
// @ts-expect-error 타입 에러 무시
@@ -42,6 +31,14 @@ const nextConfig: NextConfig = {
4231
fileLoaderRule.exclude = /\.svg$/i;
4332
return config;
4433
},
34+
turbopack: {
35+
rules: {
36+
'*.svg': {
37+
loaders: ['@svgr/webpack'],
38+
as: '*.js',
39+
},
40+
}
41+
},
4542
};
4643

4744
export default nextConfig;

src/app/community/[id]/page.tsx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import CommentList from '@/shared/components/community/detail/comment/CommentList';
2+
import DetailComment from '@/shared/components/community/detail/comment/DetailComment';
3+
import DetailContent from '@/shared/components/community/detail/DetailContent';
4+
import DetailTitle from '@/shared/components/community/detail/DetailTitle';
5+
import DetailHeader from '@/shared/components/community/detail/DetailHeader';
6+
import DetailTabDesktop from '@/shared/components/community/detail/tab/DetailTabDesktop';
7+
import StarBg from '@/shared/components/starBg/StarBg';
8+
9+
function Page() {
10+
return (
11+
<div className="w-full mb-10 flex relative">
12+
<StarBg className="w-full h-32 absolute"></StarBg>
13+
<article className="page-layout max-w-824 flex-1 z-5">
14+
<DetailHeader />
15+
<DetailTitle />
16+
<DetailContent />
17+
<section className="mb-10">
18+
<DetailComment />
19+
<CommentList />
20+
</section>
21+
</article>
22+
<div className="hidden md:block">
23+
<DetailTabDesktop />
24+
</div>
25+
</div>
26+
);
27+
}
28+
29+
export default Page;

src/app/community/page.tsx

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,45 @@
11
import CommunityFilter from '@/shared/components/community/CommunityFilter';
2-
import CommunityHeader from '@/shared/components/community/CommunityHeader';
32
import CommunityTab from '@/shared/components/community/CommunityTab';
43
import PostCard from '@/shared/components/community/PostCard';
54
import WriteBtn from '@/shared/components/community/WriteBtn';
5+
import PageHeader from '@/shared/components/pageHeader/PageHeader';
6+
import { Metadata } from 'next';
7+
8+
export const metadata: Metadata = {
9+
title: '커뮤니티',
10+
description: '칵테일에 관한 모든 이야기',
11+
};
612

713
function Page() {
814
return (
9-
<main className="page-layout max-w-1024">
10-
<div className="mt-3 mb-10 flex flex-col gap-8 ">
11-
<section aria-labelledby="community-heading">
12-
<h1 id="community-heading" className="sr-only">
13-
커뮤니티 페이지
14-
</h1>
15-
<CommunityHeader />
16-
</section>
15+
<div className="w-full">
16+
<PageHeader title="Community" description="칵테일에 관한 모든 이야기" />
17+
<div className="page-layout max-w-1024">
18+
<div className="mt-3 mb-10 flex flex-col gap-8 ">
19+
<section aria-labelledby="community-heading">
20+
<h1 id="community-heading" className="sr-only">
21+
커뮤니티 페이지
22+
</h1>
23+
</section>
1724

18-
<section
19-
aria-label="탭과 글쓰기"
20-
className="flex justify-between item-center sm:flex-row flex-col gap-4 mt-1"
21-
>
22-
<CommunityTab />
23-
<WriteBtn />
24-
</section>
25+
<section
26+
aria-label="탭과 글쓰기"
27+
className="flex justify-between item-center sm:flex-row flex-col gap-4 mt-1"
28+
>
29+
<CommunityTab />
30+
<WriteBtn />
31+
</section>
2532

26-
<section aria-label="게시물 목록">
27-
<CommunityFilter />
28-
<PostCard label="레시피" />
29-
<PostCard label="팁" />
30-
<PostCard label="질문" />
31-
<PostCard label="자유" />
32-
</section>
33+
<section aria-label="게시물 목록">
34+
<CommunityFilter />
35+
<PostCard label="레시피" />
36+
<PostCard label="팁" />
37+
<PostCard label="질문" />
38+
<PostCard label="자유" />
39+
</section>
40+
</div>
3341
</div>
34-
</main>
42+
</div>
3543
);
3644
}
3745
export default Page;

src/app/community/write/page.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function Page() {
2+
return <div className="page-layout max-w-824"></div>;
3+
}
4+
5+
export default Page;

src/app/design-system/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,12 +141,12 @@ function Page() {
141141
<h2 className="text-2xl font-semibold pb-1">Icons</h2>
142142
<div className="space-y-2">
143143
<h3 className="text-lg font-medium border-b pb-1">like</h3>
144-
<LikeBtn />
144+
<LikeBtn size="md" />
145145
</div>
146146
<div className="space-y-2">
147147
<h3 className="text-lg font-medium border-b pb-1">Share</h3>
148-
<Share />
149-
<Share variants="community" />
148+
<Share size="md" />
149+
<Share variants="community" size="md" />
150150
</div>
151151
<div className="space-y-2">
152152
<h3 className="text-lg font-medium border-b pb-1">keep</h3>

src/app/layout.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@ export default function RootLayout({
1818
<html lang="ko-KR">
1919
<body className="relative flex flex-col min-h-screen">
2020
<Header />
21-
<main className="flex flex-1 pt-[2.75rem] md:pt-[3.75rem]">
22-
<div id="observer-target" className="h-[0.5px]"></div>
23-
{children}
24-
</main>
21+
<main className="flex flex-1 pt-[2.75rem] md:pt-[3.75rem]">{children}</main>
2522
<FooterWrapper />
2623

2724
<div id="modal-root"></div>

src/app/recipe/Accordion.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
'use client';
2+
3+
import SelectBox from '@/shared/components/InputBox/SelectBox';
4+
5+
const selectOption = [
6+
{
7+
id: 'abv',
8+
option: ['', '약한 도수', '가벼운 도수', '중간 도수', '센 도수', '매우 센 도수'],
9+
title: '도수',
10+
},
11+
{
12+
id: 'base',
13+
option: ['', '위스키', '진', '럼', '보드카', '데킬라', '리큐르'],
14+
title: '베이스',
15+
},
16+
{
17+
id: 'glass',
18+
option: ['', '클래식', '롱', '슈터', '숏'],
19+
title: '글라스',
20+
},
21+
];
22+
23+
function Accordion() {
24+
return (
25+
<ul className="flex gap-6">
26+
{selectOption.map(({ id, option, title }, i) => {
27+
return (
28+
<li key={i}>
29+
<SelectBox option={option} title={title} id={id} groupKey="filter" />
30+
</li>
31+
);
32+
})}
33+
</ul>
34+
);
35+
}
36+
export default Accordion;

src/domains/recipe/details/DetailItem.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
import PostLabel from '@/shared/components/community/PostLabel';
1+
22
import Image from 'next/image';
33
import Short from '@/shared/assets/icons/short_36.svg';
44
import Example from '@/shared/assets/images/dummy/exampleCocktail.png';
5+
import Label from '@/shared/components/label/Label';
6+
57

68
function DetailItem() {
79
return (
@@ -13,7 +15,7 @@ function DetailItem() {
1315
>
1416
<div className="flex flex-col gap-1 items-center md:items-end">
1517
<span>
16-
<PostLabel title="레시피" />
18+
<Label title="레시피" />
1719
</span>
1820
<h2 className="font-serif font-bold text-3xl lg:text-4xl text-secondary">
1921
Old Fashioned

src/domains/recipe/details/DetailsHeader.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function DetailsHeader() {
77
<div className="mt-4 flex items-center justify-between ">
88
<BackBtn />
99
<div className="flex items-center gap-3">
10-
<Share />
10+
<Share size="sm" />
1111
<Keep />
1212
</div>
1313
</div>
Lines changed: 1 addition & 1 deletion
Loading

0 commit comments

Comments
 (0)