- 전체삭제
+ {isModal && (
+ setIsModal(!isModal)}
+ setIsModal={setIsModal}
+ type="myBar"
+ />
+ )}
+
+ 전체삭제
+
- {myCocktail.length !== 0 ? (
+ {items.length > 0 ? (
- {myCocktail.map(
- ({ cocktailId, cocktailName, imageUrl, cocktailNameKo, alcoholStrength }) => {
+ {items.map(
+ ({
+ cocktailId,
+ cocktailName,
+ imageUrl,
+ cocktailNameKo,
+ alcoholStrength,
+ }: MyCocktail) => {
const alcohol = abvMap(alcoholStrength);
return (
diff --git a/src/domains/mypage/hook/useProfileSsury.tsx b/src/domains/mypage/hook/useProfileSsury.tsx
index d683fb66..1aa8e1d7 100644
--- a/src/domains/mypage/hook/useProfileSsury.tsx
+++ b/src/domains/mypage/hook/useProfileSsury.tsx
@@ -4,7 +4,7 @@ import Ssury3 from '@/shared/assets/ssury/ssury_level3.webp';
import Ssury4 from '@/shared/assets/ssury/ssury_level4.webp';
import Ssury5 from '@/shared/assets/ssury/ssury_level5.webp';
import Ssury6 from '@/shared/assets/ssury/ssury_level6.webp';
-import Image, { StaticImageData } from 'next/image';
+import { StaticImageData } from 'next/image';
const SSURY_MAP: Record = {
1: Ssury1,
diff --git a/src/domains/mypage/main/MyNav.tsx b/src/domains/mypage/main/MyNav.tsx
index c0579e76..e4141ba7 100644
--- a/src/domains/mypage/main/MyNav.tsx
+++ b/src/domains/mypage/main/MyNav.tsx
@@ -1,9 +1,6 @@
'use client';
import TabMenu from '@/domains/mypage/main/TabMenu';
-import TextButton from '@/shared/components/button/TextButton';
import Link from 'next/link';
-import { useState } from 'react';
-import DeleteAllModal from '../components/DeleteAllModal';
import { usePathname } from 'next/navigation';
const MAIN_TABMENU = [
@@ -49,13 +46,8 @@ function MyNav() {
const subIndex = SUB_TABMENU.findIndex((opt) => pathname.startsWith(opt.href));
const isSubActive = subIndex === -1 ? 0 : subIndex;
- const [isDeleteAll, setIsDeleteAll] = useState(false);
-
return (
- {isDeleteAll && (
- setIsDeleteAll(!isDeleteAll)} />
- )}
마이페이지 탭 메뉴
diff --git a/src/domains/recipe/api/RecipeFetch.tsx b/src/domains/recipe/api/RecipeFetch.tsx
index a86fecb5..39dbe35d 100644
--- a/src/domains/recipe/api/RecipeFetch.tsx
+++ b/src/domains/recipe/api/RecipeFetch.tsx
@@ -2,7 +2,7 @@
import { getApi } from '@/app/api/config/appConfig';
import { Cocktail } from '../types/types';
-import { Dispatch, SetStateAction, useCallback, useState } from 'react';
+import { Dispatch, SetStateAction, useCallback } from 'react';
import { useAuthStore } from '@/domains/shared/store/auth';
interface Props {
@@ -23,7 +23,7 @@ export const RecipeFetch = ({
setHasNextPage,
SIZE = 20,
}: Props) => {
- const user = useAuthStore();
+ const user = useAuthStore((state) => state.user);
const fetchData = useCallback(async () => {
// 쿼리파라미터에 값 넣기
if (!hasNextPage) return;
diff --git a/src/domains/recipe/details/DetailItem.tsx b/src/domains/recipe/components/details/DetailItem.tsx
similarity index 97%
rename from src/domains/recipe/details/DetailItem.tsx
rename to src/domains/recipe/components/details/DetailItem.tsx
index 64f10910..09302fee 100644
--- a/src/domains/recipe/details/DetailItem.tsx
+++ b/src/domains/recipe/components/details/DetailItem.tsx
@@ -1,8 +1,8 @@
import Image from 'next/image';
import Label from '@/domains/shared/components/label/Label';
import AbvGraph from '@/domains/shared/components/abv-graph/AbvGraph';
-import { labelTitle } from '../utills/labelTitle';
-import useGlass from '../hook/useGlass';
+import { labelTitle } from '../../utills/labelTitle';
+import useGlass from '../../hook/useGlass';
interface Props {
name: string;
diff --git a/src/domains/recipe/details/DetailList.tsx b/src/domains/recipe/components/details/DetailList.tsx
similarity index 95%
rename from src/domains/recipe/details/DetailList.tsx
rename to src/domains/recipe/components/details/DetailList.tsx
index 8baabfca..90e9445f 100644
--- a/src/domains/recipe/details/DetailList.tsx
+++ b/src/domains/recipe/components/details/DetailList.tsx
@@ -3,8 +3,9 @@ import { useEffect, useState } from 'react';
import DetailRecommendList from './DetailRecommendList';
import { getApi } from '@/app/api/config/appConfig';
import { useParams } from 'next/navigation';
-import { RecommendCocktail } from '../types/types';
+
import Link from 'next/link';
+import { RecommendCocktail } from '../../types/types';
function DetailList() {
const { id } = useParams();
diff --git a/src/domains/recipe/details/DetailMain.tsx b/src/domains/recipe/components/details/DetailMain.tsx
similarity index 96%
rename from src/domains/recipe/details/DetailMain.tsx
rename to src/domains/recipe/components/details/DetailMain.tsx
index de057e02..3ee858ba 100644
--- a/src/domains/recipe/details/DetailMain.tsx
+++ b/src/domains/recipe/components/details/DetailMain.tsx
@@ -8,10 +8,10 @@ import SsuryDrink from '@/shared/assets/ssury/ssury_drink.webp';
import Image from 'next/image';
import DetailList from './DetailList';
import { Suspense, useEffect, useState } from 'react';
-import SkeletonDetail from '../skeleton/SkeletonDetail';
-import RecipeComment from '../components/details/RecipeComment';
import { getApi } from '@/app/api/config/appConfig';
import { useAuthStore } from '@/domains/shared/store/auth';
+import SkeletonDetail from '../../skeleton/SkeletonDetail';
+import RecipeComment from './RecipeComment';
interface Kept {
cocktailId: number;
diff --git a/src/domains/recipe/details/DetailRecipe.tsx b/src/domains/recipe/components/details/DetailRecipe.tsx
similarity index 97%
rename from src/domains/recipe/details/DetailRecipe.tsx
rename to src/domains/recipe/components/details/DetailRecipe.tsx
index 810ce7b1..c565e2ac 100644
--- a/src/domains/recipe/details/DetailRecipe.tsx
+++ b/src/domains/recipe/components/details/DetailRecipe.tsx
@@ -1,4 +1,4 @@
-import { ozToMl } from '../hook/ozToMl';
+import { ozToMl } from '../../hook/ozToMl';
type Recipe = {
ingredientName: string;
diff --git a/src/domains/recipe/details/DetailRecommendList.tsx b/src/domains/recipe/components/details/DetailRecommendList.tsx
similarity index 100%
rename from src/domains/recipe/details/DetailRecommendList.tsx
rename to src/domains/recipe/components/details/DetailRecommendList.tsx
diff --git a/src/domains/recipe/details/DetailsHeader.tsx b/src/domains/recipe/components/details/DetailsHeader.tsx
similarity index 96%
rename from src/domains/recipe/details/DetailsHeader.tsx
rename to src/domains/recipe/components/details/DetailsHeader.tsx
index acd9e5d7..31f4bb07 100644
--- a/src/domains/recipe/details/DetailsHeader.tsx
+++ b/src/domains/recipe/components/details/DetailsHeader.tsx
@@ -1,10 +1,11 @@
'use client';
import Share from '@/domains/shared/components/share/Share';
-import BackBtn from '../components/details/BackBtn';
+
import Keep from '@/domains/shared/components/keep/Keep';
import { useEffect, useState } from 'react';
import ShareModal from '@/domains/shared/components/share/ShareModal';
import { getApi } from '@/app/api/config/appConfig';
+import BackBtn from './BackBtn';
interface Meta {
title: string;
diff --git a/src/domains/recipe/components/main/CocktailFilter.tsx b/src/domains/recipe/components/main/CocktailFilter.tsx
index 1941e240..589823c6 100644
--- a/src/domains/recipe/components/main/CocktailFilter.tsx
+++ b/src/domains/recipe/components/main/CocktailFilter.tsx
@@ -12,7 +12,7 @@ interface Props {
function CocktailFilter({ cocktailsEA, setData }: Props) {
const sortMap = {
최신순: 'recent',
- 인기순: 'popular',
+ 인기순: 'keeps',
댓글순: 'comments',
};
const searchParams = useSearchParams();
diff --git a/src/domains/recipe/components/main/Cocktails.tsx b/src/domains/recipe/components/main/Cocktails.tsx
index 4d075d04..a63dc93f 100644
--- a/src/domains/recipe/components/main/Cocktails.tsx
+++ b/src/domains/recipe/components/main/Cocktails.tsx
@@ -9,8 +9,11 @@ import { RecipeFetch } from '../../api/RecipeFetch';
import CocktailSearchBar from './CocktailSearchBar';
import useSearchControl from '../../hook/useSearchControl';
import CocktailSearch from '../../api/CocktailSearch';
+import { useAuthStore } from '@/domains/shared/store/auth';
function Cocktails() {
+ const user = useAuthStore((state) => state.user);
+
const [data, setData] = useState([]);
const [lastId, setLastId] = useState(null);
const [hasNextPage, setHasNextPage] = useState(true);
@@ -41,13 +44,13 @@ function Cocktails() {
: `전체 ${data.length}`;
// 초기 로드 시 검색어가 있으면 검색 실행
- useEffect(() => {
- const readyForFirstLoad = !isSearching && hasNextPage && lastId == null && data.length === 0;
+ // useEffect(() => {
+ // const readyForFirstLoad = !isSearching && hasNextPage && lastId == null && data.length === 0;
- if (readyForFirstLoad) {
- fetchData();
- }
- }, [hasNextPage, lastId]);
+ // if (readyForFirstLoad) {
+ // fetchData();
+ // }
+ // }, [hasNextPage, lastId]);
// 검색어 변경 시
useEffect(() => {
diff --git a/src/domains/shared/components/3d/Landing.tsx b/src/domains/shared/components/3d/Landing.tsx
index abf77bff..ceded718 100644
--- a/src/domains/shared/components/3d/Landing.tsx
+++ b/src/domains/shared/components/3d/Landing.tsx
@@ -16,7 +16,6 @@ function Landing() {
setIsLoading(false)} />
{!isLoading && }
-
>
);
diff --git a/src/shared/assets/images/main_slide.webp b/src/shared/assets/images/main_slide.webp
new file mode 100644
index 00000000..a6b0bbcf
Binary files /dev/null and b/src/shared/assets/images/main_slide.webp differ
diff --git a/src/shared/assets/images/ssuryExam1.webp b/src/shared/assets/images/ssuryExam1.webp
new file mode 100644
index 00000000..0121f9d3
Binary files /dev/null and b/src/shared/assets/images/ssuryExam1.webp differ
diff --git a/src/shared/assets/images/ssuryExam2.webp b/src/shared/assets/images/ssuryExam2.webp
new file mode 100644
index 00000000..b093d69b
Binary files /dev/null and b/src/shared/assets/images/ssuryExam2.webp differ
diff --git a/src/shared/assets/images/ssuryExam3.webp b/src/shared/assets/images/ssuryExam3.webp
new file mode 100644
index 00000000..2e4accc8
Binary files /dev/null and b/src/shared/assets/images/ssuryExam3.webp differ
diff --git a/src/shared/api/Provider.tsx b/src/shared/provider/Provider.tsx
similarity index 100%
rename from src/shared/api/Provider.tsx
rename to src/shared/provider/Provider.tsx