@@ -6,34 +6,66 @@ interface Props {
66}
77
88const ImageStack = ( props : Props ) => {
9- const [ transformArgs , setTransformArgs ] = useState ( '' )
10-
11- useEffect ( ( ) => {
12- if ( props . images . length === 2 ) setTransformArgs ( 'transform scale-[0.85]' )
13- if ( props . images . length === 3 ) setTransformArgs ( 'transform scale-[0.7]' )
14- } , [ ] )
15-
169 return (
1710 < div className = 'img relative' >
1811 { props . images . map ( ( img , index ) => {
19- let transformOrigin = ''
12+ let transformArgs = ''
13+ let transformOrigin = 'origin-center'
2014 let zIndex = ''
15+ let bgPosition = 'bg-center'
2116
2217 if ( props . type === 'desktop' ) {
2318 if ( props . images . length === 2 ) {
19+ transformArgs = 'transform scale-[0.85]'
20+ if ( index === 0 ) {
21+ transformOrigin = 'origin-top-left'
22+ zIndex = 'z-10'
23+ } else {
24+ transformOrigin = 'origin-bottom-right'
25+ zIndex = 'z-1'
26+ }
27+ } else if ( props . images . length === 3 ) {
28+ transformArgs = 'transform scale-[0.7]'
2429 if ( index === 0 ) {
30+ zIndex = 'z-20'
31+ } else if ( index === 1 ) {
2532 transformOrigin = 'origin-top-left'
2633 zIndex = 'z-10'
2734 } else {
2835 transformOrigin = 'origin-bottom-right'
2936 zIndex = 'z-1'
3037 }
3138 }
39+ } else if ( props . type === 'mobile' ) {
40+ if ( props . images . length === 2 ) {
41+ transformArgs = 'transform scale-[0.85]'
42+ if ( index === 0 ) {
43+ transformOrigin = 'origin-top-left'
44+ zIndex = 'z-10'
45+ } else {
46+ transformOrigin = 'origin-bottom-right'
47+ zIndex = 'z-1'
48+ }
49+ } else if ( props . images . length === 3 ) {
50+ if ( index === 0 ) {
51+ zIndex = 'z-20'
52+ } else if ( index === 1 ) {
53+ transformOrigin = 'origin-left'
54+ zIndex = 'z-10'
55+ transformArgs = 'transform scale-[0.7]'
56+ bgPosition = 'bg-[center_left_3rem]'
57+ } else {
58+ transformOrigin = 'origin-right'
59+ zIndex = 'z-1'
60+ transformArgs = 'transform scale-[0.7]'
61+ bgPosition = 'bg-[center_right_3rem]'
62+ }
63+ }
3264 }
3365
3466 return (
3567 < div
36- className = { `absolute ${ transformArgs } ${ transformOrigin } ${ zIndex } flex w-full h-full bg-contain bg-no-repeat bg-center drop-shadow-lg` }
68+ className = { `absolute ${ bgPosition } ${ transformArgs } ${ transformOrigin } ${ zIndex } flex w-full h-full bg-contain bg-no-repeat drop-shadow-lg` }
3769 style = { {
3870 backgroundImage : `url(${ img } )` ,
3971 } }
0 commit comments