1- import React , { Fragment , useState } from "react" ;
2- import AnimatedVisibility from "./AnimatedVisibility" ;
1+ import React , { Fragment , useState } from "react" ;
2+ import { makeAnimationSlideLeft , makeAnimationSlideUpDown } from "./AnimatedVisibility" ;
33import Boxes from "./Boxes" ;
44import "./App.css" ;
55
@@ -16,45 +16,31 @@ function ToggleButton({ label, isOpen, onClick }) {
1616 ) ;
1717}
1818
19- function Navbar ( { open } ) {
19+ function Navbar ( ) {
2020 return (
21- < AnimatedVisibility
22- visible = { open }
23- animationIn = "slideInDown"
24- animationOut = "slideOutUp"
25- animationInDuration = { 300 }
26- animationOutDuration = { 600 }
27- >
28- < nav className = "bar nav" >
29- < li > Item 1</ li >
30- < li > Item 2</ li >
31- < li > Item 3</ li >
32- </ nav >
33- </ AnimatedVisibility >
21+ < nav className = "bar nav" >
22+ < li > Item 1</ li >
23+ < li > Item 2</ li >
24+ < li > Item 3</ li >
25+ </ nav >
3426 ) ;
3527}
3628
37- function Sidebar ( { open } ) {
29+ function Sidebar ( ) {
3830 return (
39- < AnimatedVisibility
40- visible = { open }
41- animationIn = "slideInLeft"
42- animationOut = "slideOutLeft"
43- animationInDuration = { 500 }
44- animationOutDuration = { 600 }
45- className = "on-top"
46- >
47- < div className = "sidebar" >
48- < ul >
49- < li > Item 1</ li >
50- < li > Item 2</ li >
51- < li > Item 3</ li >
52- </ ul >
53- </ div >
54- </ AnimatedVisibility >
31+ < div className = "sidebar" >
32+ < ul >
33+ < li > Item 1</ li >
34+ < li > Item 2</ li >
35+ < li > Item 3</ li >
36+ </ ul >
37+ </ div >
5538 ) ;
5639}
5740
41+ const AnimatedSidebar = makeAnimationSlideLeft ( Sidebar ) ;
42+ const AnimatedNavbar = makeAnimationSlideUpDown ( Navbar ) ;
43+
5844function App ( ) {
5945 const [ navIsOpen , setNavOpen ] = useState ( false ) ;
6046 const [ sidebarIsOpen , setSidebarOpen ] = useState ( false ) ;
@@ -78,10 +64,10 @@ function App() {
7864 />
7965 < ToggleButton label = "Navbar" isOpen = { navIsOpen } onClick = { toggleNav } />
8066 </ header >
81- < Navbar open = { navIsOpen } />
67+ < AnimatedNavbar open = { navIsOpen } />
8268 < Boxes />
8369 </ main >
84- < Sidebar open = { sidebarIsOpen } />
70+ < AnimatedSidebar open = { sidebarIsOpen } className = "on-top" />
8571 </ Fragment >
8672 ) ;
8773}
0 commit comments