@@ -71,7 +71,7 @@ export default function LandingPage() {
7171 useEffect ( ( ) => {
7272 setIsLoaded ( true ) ;
7373 lenisRef . current = new Lenis ( {
74- duration : 0.8 , // 1.2에서 0.8로 변경
74+ duration : 0.8 , // 1.2에�� 0.8로 변경
7575 easing : ( t : number ) => Math . min ( 1 , 1.001 - Math . pow ( 2 , - 10 * t ) ) ,
7676 smoothWheel : true ,
7777 wheelMultiplier : 2 ,
@@ -267,59 +267,64 @@ export default function LandingPage() {
267267 < AnimatePresence mode = "wait" >
268268 { currentSlide > 0 && (
269269 < motion . div
270- key = { currentSlide }
271- className = { `relative z-40 flex ${
272- isLargeScreen ? "w-1/2" : "h-1/2 w-full"
273- } flex-col items-center justify-center p-4 pb-6 pt-4 max-[640px]:px-12 max-[640px]:py-3 md:p-6 md:pb-8 md:pt-6`}
270+ className = { `relative z-40 flex ${ isLargeScreen ? "w-1/2" : "h-1/2 w-full" } ` }
274271 style = { {
275272 background : "linear-gradient(135deg, #71db77 0%, #56c45d 100%)" ,
276273 display : "flex" ,
277274 flexDirection : "column" ,
278275 justifyContent : "center" ,
279276 alignItems : "center" ,
280277 height : isLargeScreen ? "100%" : "50%" ,
278+ overflow : "hidden" ,
281279 } }
282- initial = { { opacity : 0 , [ isLargeScreen ? "y" : "x" ] : isLargeScreen ? "100%" : "100%" } }
283- animate = { { opacity : 1 , [ isLargeScreen ? "y" : "x" ] : 0 } }
284- exit = { { opacity : 0 , [ isLargeScreen ? "y" : "x" ] : isLargeScreen ? "-100%" : "-100%" } }
285- transition = { { duration : 0.4 , ease : "easeInOut" } } // Updated transition duration
286280 >
287- < motion . h2
288- className = "mb-2 mt-0 text-center text-xl font-semibold text-[#1a1a1a] max-[640px]:mb-1 max-[640px]:px-4 md:mb-4 md:mt-0 md:text-3xl"
289- initial = { { opacity : 0 , y : 20 } }
290- animate = { { opacity : 1 , y : 0 } }
291- transition = { { delay : 0.05 , duration : 0.3 } } // Updated transition
292- >
293- { slides [ currentSlide ] . title }
294- </ motion . h2 >
295- < motion . div
296- initial = { { opacity : 0 , y : 20 } }
297- animate = { { opacity : 1 , y : 0 } }
298- transition = { { delay : 0.1 , duration : 0.3 } } // Updated transition
299- className = "mb-2 w-full max-w-[600px] max-[640px]:max-w-[75%] max-[640px]:px-4 md:mb-4"
300- style = { { maxHeight : "calc(100% - 12rem)" } }
301- >
302- < div
303- className = "relative w-full overflow-hidden rounded-lg shadow-lg"
304- style = { { paddingBottom : "56.25%" } }
281+ < AnimatePresence mode = "wait" >
282+ < motion . div
283+ key = { currentSlide }
284+ className = "flex h-full w-full flex-col items-center justify-center p-4 pb-6 pt-4 max-[640px]:px-12 max-[640px]:py-3 md:p-6 md:pb-8 md:pt-6"
285+ initial = { { y : "100%" } }
286+ animate = { { y : 0 } }
287+ exit = { { y : "-100%" } }
288+ transition = { { duration : 0.4 , ease : "easeInOut" } }
305289 >
306- < Image
307- src = { slides [ currentSlide ] . image || "" }
308- alt = { slides [ currentSlide ] . title || "" }
309- fill
310- style = { { objectFit : "cover" } }
311- sizes = "(max-width: 768px) 100vw, 600px"
312- />
313- </ div >
314- </ motion . div >
315- < motion . p
316- className = "mb-0 max-w-[600px] whitespace-pre-wrap text-center text-sm text-[#1a1a1a] max-[640px]:mt-1 max-[640px]:px-4 md:text-xl"
317- initial = { { opacity : 0 , y : 20 } }
318- animate = { { opacity : 1 , y : 0 } }
319- transition = { { delay : 0.15 , duration : 0.3 } } // Updated transition
320- >
321- { slides [ currentSlide ] . content }
322- </ motion . p >
290+ < motion . h2
291+ className = "mb-2 mt-0 text-center text-xl font-semibold text-[#1a1a1a] max-[640px]:mb-1 max-[640px]:px-4 md:mb-4 md:mt-0 md:text-3xl"
292+ initial = { { opacity : 0 , y : 20 } }
293+ animate = { { opacity : 1 , y : 0 } }
294+ transition = { { delay : 0.05 , duration : 0.3 } }
295+ >
296+ { slides [ currentSlide ] . title }
297+ </ motion . h2 >
298+ < motion . div
299+ initial = { { opacity : 0 , y : 20 } }
300+ animate = { { opacity : 1 , y : 0 } }
301+ transition = { { delay : 0.1 , duration : 0.3 } }
302+ className = "mb-2 w-full max-w-[600px] max-[640px]:max-w-[75%] max-[640px]:px-4 md:mb-4"
303+ style = { { maxHeight : "calc(100% - 12rem)" } }
304+ >
305+ < div
306+ className = "relative w-full overflow-hidden rounded-lg shadow-lg"
307+ style = { { paddingBottom : "56.25%" } }
308+ >
309+ < Image
310+ src = { slides [ currentSlide ] . image || "" }
311+ alt = { slides [ currentSlide ] . title || "" }
312+ fill
313+ style = { { objectFit : "cover" } }
314+ sizes = "(max-width: 768px) 100vw, 600px"
315+ />
316+ </ div >
317+ </ motion . div >
318+ < motion . p
319+ className = "mb-0 max-w-[600px] whitespace-pre-wrap text-center text-sm text-[#1a1a1a] max-[640px]:mt-1 max-[640px]:px-4 md:text-xl"
320+ initial = { { opacity : 0 , y : 20 } }
321+ animate = { { opacity : 1 , y : 0 } }
322+ transition = { { delay : 0.15 , duration : 0.3 } }
323+ >
324+ { slides [ currentSlide ] . content }
325+ </ motion . p >
326+ </ motion . div >
327+ </ AnimatePresence >
323328 </ motion . div >
324329 ) }
325330 </ AnimatePresence >
0 commit comments