Added: Sidebar Link styles
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
import { NavLink } from 'react-router-dom';
|
import { NavLink } from 'react-router-dom';
|
||||||
|
import SidebarDownIcon from '../../assets/icons/SidebarDown-icon';
|
||||||
|
import HomeIcon from '../../assets/icons/Home-icon';
|
||||||
import XIcon from '../../assets/icons/X-close-icon';
|
import XIcon from '../../assets/icons/X-close-icon';
|
||||||
|
import combineClasses from '../../utils/combineCssClasses';
|
||||||
import styles from './sidebar.module.css';
|
import styles from './sidebar.module.css';
|
||||||
|
|
||||||
const items = {
|
const items = {
|
||||||
@@ -11,7 +14,15 @@ const items = {
|
|||||||
subs: [
|
subs: [
|
||||||
{
|
{
|
||||||
text: 'Sub links',
|
text: 'Sub links',
|
||||||
link: '/',
|
link: '/login',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'Sub links',
|
||||||
|
link: '/login',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'Sub links',
|
||||||
|
link: '/login',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: 'Sub links',
|
text: 'Sub links',
|
||||||
@@ -19,34 +30,31 @@ const items = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: 'Sub links',
|
text: 'Sub links',
|
||||||
link: '/',
|
link: '/login',
|
||||||
},
|
|
||||||
{
|
|
||||||
text: 'Sub links',
|
|
||||||
link: '/',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: 'Sub links',
|
|
||||||
link: '/',
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
const NavGroupItems = ({ list }) => (
|
const NavGroupItems = ({ list }) => {
|
||||||
|
return (
|
||||||
<div className={styles.sidebarGroup}>
|
<div className={styles.sidebarGroup}>
|
||||||
<NavLink to={list.title.link}>
|
<div className={combineClasses(styles.sidebarMainItem)}>
|
||||||
<div className={styles.sidebarMainItem}>
|
<NavLink className={combineClasses(styles.alink, styles.mainItemContent)} to={list.title.link}>
|
||||||
<XIcon />
|
<HomeIcon className={styles.mainItemIcon} />
|
||||||
{list.title.text}
|
<div>{list.title.text}</div>
|
||||||
</div>
|
|
||||||
</NavLink>
|
</NavLink>
|
||||||
{list.subs.map((subLink) => (
|
<SidebarDownIcon className={styles.dropdownIcon} />
|
||||||
<NavLink to={subLink.link}>
|
</div>
|
||||||
<div className={styles.sidebarSubItem}>{subLink.text}</div>
|
{list.subs.map((subLink, idx) => (
|
||||||
|
<NavLink key={idx} className={styles.alink} to={subLink.link}>
|
||||||
|
{({ isActive }) => (
|
||||||
|
<div className={combineClasses(styles.sidebarSubItem, [isActive, styles.subActive])}>{subLink.text}</div>
|
||||||
|
)}
|
||||||
</NavLink>
|
</NavLink>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
};
|
||||||
|
|
||||||
export default function Sidebar({ isMobileScreen, isOpen, setOpen }) {
|
export default function Sidebar({ isMobileScreen, isOpen, setOpen }) {
|
||||||
if (!isMobileScreen && isOpen) {
|
if (!isMobileScreen && isOpen) {
|
||||||
|
|||||||
@@ -10,14 +10,10 @@
|
|||||||
} */
|
} */
|
||||||
|
|
||||||
.sidebarBrandingHeader {
|
.sidebarBrandingHeader {
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: space-between;
|
padding: 40px 0px 30px 40px;
|
||||||
align-items: baseline;
|
grid-template-columns: auto 40px;
|
||||||
padding: 40px 40px 30px 40px;
|
align-items: center;
|
||||||
}
|
|
||||||
|
|
||||||
.closeIcon {
|
|
||||||
font-size: larger;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebarBranding {
|
.sidebarBranding {
|
||||||
@@ -30,10 +26,57 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sidebarList {
|
.sidebarList {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebarGroup {
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebarMainItem {
|
.sidebarMainItem {
|
||||||
|
width: 100%;
|
||||||
|
display: grid;
|
||||||
|
align-items: center;
|
||||||
|
grid-template-columns: auto 55px;
|
||||||
|
height: 48px;
|
||||||
|
|
||||||
|
/* background: #007aff; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.mainItemContent {
|
||||||
|
display: grid;
|
||||||
|
align-items: center;
|
||||||
|
grid-template-columns: 80px auto;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mainItemIcon {
|
||||||
|
padding-left: 40px;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdownIcon {
|
||||||
|
padding-left: 20px;
|
||||||
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebarSubItem {
|
.sidebarSubItem {
|
||||||
|
width: 100%;
|
||||||
|
height: 46px;
|
||||||
|
display: grid;
|
||||||
|
align-items: center;
|
||||||
|
padding-left: 80px;
|
||||||
|
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alink:visited,
|
||||||
|
.alink:link {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subActive {
|
||||||
|
background: #1f282d;
|
||||||
|
color: #007aff !important;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user