@@ -23,14 +23,18 @@ interface SidebarProps {
2323 open : boolean ;
2424}
2525
26- const Sidebar : React . FC < SidebarProps > = ( props ) => {
26+ const Sidebar : React . FC < SidebarProps > = ( {
27+ color,
28+ logo,
29+ routes,
30+ background,
31+ rtlActive,
32+ open,
33+ handleDrawerToggle,
34+ } ) => {
2735 const classes = useStyles ( ) ;
2836
29- const activeRoute = ( routeName : string ) : boolean => {
30- return window . location . href . indexOf ( routeName ) > - 1 ;
31- } ;
32-
33- const { color, logo, routes, background, rtlActive, open, handleDrawerToggle } = props ;
37+ const activeRoute = ( routeName : string ) => window . location . href . includes ( routeName ) ;
3438
3539 const links = (
3640 < List className = { classes . list } >
@@ -39,14 +43,13 @@ const Sidebar: React.FC<SidebarProps> = (props) => {
3943 const listItemClasses = classNames ( {
4044 [ ` ${ classes [ color ] } ` ] : activeRoute ( prop . layout + prop . path ) ,
4145 } ) ;
42-
4346 const whiteFontClasses = classNames ( {
4447 [ ` ${ classes . whiteFont } ` ] : activeRoute ( prop . layout + prop . path ) ,
4548 } ) ;
4649
47- if ( ! prop . visible ) {
48- return < div key = { key } > </ div > ;
49- }
50+ if ( ! prop . visible ) return < div key = { key } /> ;
51+
52+ const IconComponent = prop . icon as React . ElementType ;
5053
5154 return (
5255 < NavLink
@@ -65,7 +68,7 @@ const Sidebar: React.FC<SidebarProps> = (props) => {
6568 { prop . icon }
6669 </ Icon >
6770 ) : (
68- < prop . icon
71+ < IconComponent
6972 className = { classNames ( classes . itemIcon , whiteFontClasses , {
7073 [ classes . itemIconRTL ] : rtlActive ,
7174 } ) }
@@ -90,10 +93,10 @@ const Sidebar: React.FC<SidebarProps> = (props) => {
9093 < a style = { { textDecoration : 'none' } } href = '/dashboard/repo' >
9194 < div style = { { textAlign : 'center' } } >
9295 < img
93- style = { { verticalAlign : 'middle' , filter : 'brightness(0) invert(1)' } }
94- width = { '105px' }
9596 src = { logo }
9697 alt = 'logo'
98+ width = { 105 }
99+ style = { { verticalAlign : 'middle' , filter : 'brightness(0) invert(1)' } }
97100 />
98101 </ div >
99102 </ a >
0 commit comments