Skip to content

Commit 21a9de5

Browse files
committed
[docs]마이페이지 폴더구조 정리
1 parent 85c586e commit 21a9de5

File tree

8 files changed

+22
-8
lines changed

8 files changed

+22
-8
lines changed

src/domains/community/hook/useItemVirtualizer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { useVirtualizer } from '@tanstack/react-virtual';
22
import { CommentType, Post } from '../types/post';
3+
import { Cocktail } from '@/domains/recipe/types/types';
34

45
export function useItemVirtualizer(
5-
items: CommentType[] | Post[] | null,
6+
items: CommentType[] | Post[] | Cocktail[] |null,
67
parentRef: React.RefObject<HTMLElement | null>
78
) {
89
return useVirtualizer({

src/domains/mypage/main/MyAbv.tsx renamed to src/domains/mypage/components/main/MyAbv.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
'use client';
22
import Help from '@/shared/assets/icons/help_24.svg';
33
import ToolTip from '@/shared/components/tool-tip/ToolTip';
4-
import useMedia from '../hook/useMedia';
4+
import useMedia from '../../hook/useMedia';
5+
56

67
function MyAbv({ abv }: { abv: number }) {
78
const isMd = useMedia('(min-width:768px)');

src/domains/mypage/main/MyNav.tsx renamed to src/domains/mypage/components/main/MyNav.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
'use client';
2-
import TabMenu from '@/domains/mypage/main/TabMenu';
2+
33
import Link from 'next/link';
44
import { usePathname } from 'next/navigation';
5+
import TabMenu from './TabMenu';
56

67
const MAIN_TABMENU = [
78
{

src/domains/mypage/main/MyProfile.tsx renamed to src/domains/mypage/components/main/MyProfile.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
import AbvGraph from '@/domains/shared/components/abv-graph/AbvGraph';
44
import MyAbv from './MyAbv';
55
import SsuryImage from './SsuryImage';
6-
import useFetchProfile from '../api/fetchProfile';
6+
77
import { useQuery } from '@tanstack/react-query';
8+
import useFetchProfile from '../../api/fetchProfile';
89

910
function MyProfile() {
1011
const { fetchProfile } = useFetchProfile();

src/domains/mypage/main/MySetting.tsx renamed to src/domains/mypage/components/main/MySetting.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ import ToggleBtn from '@/domains/mypage/components/ToggleBtn';
44
import WithdrawModal from '@/domains/mypage/components/WithdrawModal';
55
import TextButton from '@/shared/components/button/TextButton';
66
import { useEffect, useState } from 'react';
7-
import useFetchProfile from '../api/fetchProfile';
7+
88
import { useQuery } from '@tanstack/react-query';
9+
import useFetchProfile from '../../api/fetchProfile';
910

1011
function MySetting() {
1112
const { fetchProfile } = useFetchProfile();

src/domains/mypage/main/SsuryImage.tsx renamed to src/domains/mypage/components/main/SsuryImage.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import useProfileSsury from '../hook/useProfileSsury';
1+
22
import Image from 'next/image';
3+
import useProfileSsury from '../../hook/useProfileSsury';
34

45
function SsuryImage({ abvLevel }: { abvLevel: number }) {
56
const profileImage = useProfileSsury(abvLevel);

src/domains/recipe/components/main/Cocktails.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use client';
22

3-
import { useEffect, useMemo, useState } from 'react';
3+
import { useEffect, useMemo, useRef, useState } from 'react';
44
import CocktailFilter from './CocktailFilter';
55
import CocktailList from './CocktailList';
66
import Accordion from './Accordion';
@@ -10,8 +10,10 @@ import { useInView } from 'react-intersection-observer';
1010
import { debounce } from '@/shared/utills/debounce';
1111
import { useSearchParams } from 'next/navigation';
1212
import { Sort } from '../../types/types';
13+
import { useItemVirtualizer } from '@/domains/community/hook/useItemVirtualizer';
1314

1415
function Cocktails() {
16+
1517
const searchParams = useSearchParams();
1618
const sortByParam = searchParams.get('sortBy') || 'recent';
1719
const [keyword, setKeyword] = useState('');
@@ -37,6 +39,9 @@ function Cocktails() {
3739
threshold: 0.1,
3840
});
3941

42+
const parentRef = useRef<HTMLDivElement>(null)
43+
const virtualizer = useItemVirtualizer(data,parentRef)
44+
4045
useEffect(() => {
4146
if (!isSearchMode && inView && hasNextPage) {
4247
fetchNextPage?.();
@@ -66,7 +71,10 @@ function Cocktails() {
6671

6772
<CocktailFilter cocktailsEA={data.length} />
6873

69-
<section className="mt-5">
74+
<section className="mt-5" ref={parentRef} style={{
75+
height:`${virtualizer.getTotalSize()}px`,
76+
77+
}}>
7078
{noResults ? <div>검색 결과가 없습니다.</div> : <CocktailList cocktails={data} />}
7179
</section>
7280
<div ref={ref} className="h-4"></div>

0 commit comments

Comments
 (0)