1- import { MobilePickInfo , PickInfo } from '@pages/pickpickpick/components/PickInfo' ;
1+ import { MobilePickInfoV1 , PickInfoV1 } from '@pages/pickpickpick/components/PickInfo' ;
22
3- export const PickSkeleton = ( ) => {
3+ import AngleRightIcon from '@components/svgs/AngleRightIcon' ;
4+
5+ // ------------------------------픽픽픽 메인 스켈레톤 v1------------------------------
6+ export const PickSkeletonV1 = ( ) => {
47 return (
58 < div className = 'px-[2.4rem] py-[3.2rem] flex flex-col gap-[3.2rem] rounded-[1.6rem] border-gray600 border-solid border' >
69 < div className = 'h-[3.7rem] w-[100%] rounded-[1.6rem] bg-gray600 relative overflow-hidden skeleton-item' />
@@ -13,56 +16,130 @@ export const PickSkeleton = () => {
1316 ) ;
1417} ;
1518
16- interface PickSkeletonListProps {
19+ interface PickSkeletonListV1Props {
1720 rows : number ;
1821 itemsInRows : number ;
1922 hasInfo ?: boolean ;
2023}
2124
22- export const PickSkeletonList = ( { rows, itemsInRows, hasInfo } : PickSkeletonListProps ) => {
25+ export const PickSkeletonListV1 = ( { rows, itemsInRows, hasInfo } : PickSkeletonListV1Props ) => {
2326 return (
2427 < div className = 'grid grid-cols-3 gap-8' >
2528 { hasInfo ? (
2629 < >
27- < PickInfo />
30+ < PickInfoV1 />
2831 { Array . from ( { length : rows * itemsInRows - 1 } , ( _ , index ) => (
29- < PickSkeleton key = { index } />
32+ < PickSkeletonV1 key = { index } />
3033 ) ) }
3134 </ >
3235 ) : (
3336 < >
3437 { Array . from ( { length : rows * itemsInRows } , ( _ , index ) => (
35- < PickSkeleton key = { index } />
38+ < PickSkeletonV1 key = { index } />
3639 ) ) }
3740 </ >
3841 ) }
3942 </ div >
4043 ) ;
4144} ;
4245
43- export const MobilePickSkeletonList = ( { rows, hasInfo } : { rows : number ; hasInfo ?: boolean } ) => {
46+ export const MobilePickSkeletonListV1 = ( {
47+ rows,
48+ hasInfo,
49+ } : {
50+ rows : number ;
51+ hasInfo ?: boolean ;
52+ } ) => {
4453 const arr = Array . from ( { length : rows } ) ;
4554
4655 return (
4756 < div className = 'grid grid-cols-1 gap-8' >
48- { hasInfo && < MobilePickInfo /> }
57+ { hasInfo && < MobilePickInfoV1 /> }
58+
59+ { arr . map ( ( _ , index ) => (
60+ < PickSkeletonV1 key = { index } />
61+ ) ) }
62+ </ div >
63+ ) ;
64+ } ;
65+
66+ export const MyPickSkeletonListV1 = ( { rows, itemsInRows } : PickSkeletonListV1Props ) => {
67+ return (
68+ < div className = 'grid grid-cols-2 gap-8' >
69+ { Array . from ( { length : rows * itemsInRows } , ( _ , index ) => (
70+ < PickSkeletonV1 key = { index } />
71+ ) ) }
72+ </ div >
73+ ) ;
74+ } ;
75+ // -------------------------------------------------------------------------------
76+
77+ // ------------------------------픽픽픽 메인 스켈레톤 v2------------------------------
78+
79+ export const PickSkeletonV2 = ( ) => {
80+ return (
81+ < div className = 'pt-[3.2rem] pb-[2.4rem] px-[3.2rem] flex flex-col gap-[3.2rem] rounded-[1.6rem] bg-gray600' >
82+ < div className = 'flex flex-col gap-[2.4rem]' >
83+ < div className = 'flex flex-row items-start justify-between gap-[1.6rem]' >
84+ < div className = 'bg-black h-[4.3rem] w-[100%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
85+ < AngleRightIcon color = 'var(--gray300)' />
86+ </ div >
87+ < div className = 'bg-black h-[1rem] w-[40%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
88+ </ div >
4989
90+ < div className = 'flex flex-row gap-[1.6rem]' >
91+ < div className = 'bg-black flex flex-col gap-[1rem] p-[2.4rem] w-[50%] rounded-[1.6rem] relative overflow-hidden border border-gray500' >
92+ < div className = 'bg-gray500 h-[1rem] w-[50%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
93+ < div className = 'bg-gray500 h-[5rem] w-[100%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
94+ < div className = 'bg-gray500 h-[12rem] w-[100%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
95+ </ div >
96+ < div className = 'bg-black flex flex-col gap-[1rem] p-[2.4rem] w-[50%] rounded-[1.6rem] relative overflow-hidden border border-gray500' >
97+ < div className = 'bg-gray500 h-[1rem] w-[50%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
98+ < div className = 'bg-gray500 h-[5rem] w-[100%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
99+ < div className = 'bg-gray500 h-[12rem] w-[100%] rounded-[1.6rem] relative overflow-hidden skeleton-item' />
100+ </ div >
101+ </ div >
102+ </ div >
103+ ) ;
104+ } ;
105+
106+ interface PickSkeletonListV2Props {
107+ rows : number ;
108+ itemsInRows : number ;
109+ }
110+
111+ export const PickSkeletonListV2 = ( { rows, itemsInRows } : PickSkeletonListV2Props ) => {
112+ return (
113+ < div className = 'grid grid-cols-2 gap-8' >
114+ { Array . from ( { length : rows * itemsInRows } , ( _ , index ) => (
115+ < PickSkeletonV2 key = { index } />
116+ ) ) }
117+ </ div >
118+ ) ;
119+ } ;
120+
121+ export const MobilePickSkeletonListV2 = ( { rows } : { rows : number } ) => {
122+ const arr = Array . from ( { length : rows } ) ;
123+
124+ return (
125+ < div className = 'grid grid-cols-1 gap-8' >
50126 { arr . map ( ( _ , index ) => (
51- < PickSkeleton key = { index } />
127+ < PickSkeletonV2 key = { index } />
52128 ) ) }
53129 </ div >
54130 ) ;
55131} ;
56132
57- export const MyPickSkeletonList = ( { rows, itemsInRows } : PickSkeletonListProps ) => {
133+ export const MyPickSkeletonListV2 = ( { rows, itemsInRows } : PickSkeletonListV2Props ) => {
58134 return (
59135 < div className = 'grid grid-cols-2 gap-8' >
60136 { Array . from ( { length : rows * itemsInRows } , ( _ , index ) => (
61- < PickSkeleton key = { index } />
137+ < PickSkeletonV2 key = { index } />
62138 ) ) }
63139 </ div >
64140 ) ;
65141} ;
142+ // -------------------------------------------------------------------------------
66143
67144/** 메인페이지 픽픽픽 스켈레톤 */
68145export const MainPickSkeleton = ( ) => {
@@ -86,7 +163,7 @@ export const MainPickSkeletonList = ({ itemsInRows }: MainPickSkeletonListProps)
86163 return (
87164 < >
88165 { Array . from ( { length : itemsInRows } , ( _ , index ) => (
89- < MainPickSkeleton key = { index } />
166+ < PickSkeletonV2 key = { index } />
90167 ) ) }
91168 </ >
92169 ) ;
0 commit comments