UNPKG

@react95/gatsby-theme

Version:

A React95 theme for your Gatsby blog

43 lines (37 loc) 1.05 kB
import { List, TaskBar as R95TaskBar } from '@react95/core'; import { navigate } from 'gatsby'; import React from 'react'; import { isEmpty } from '../utils'; import IconRenderer from './icon-renderer'; const NavList = ({ nav }) => ( <List> {Object.values(nav).map( ({ slug, icon = {}, title, description, image, modal, ...restNavs }) => { if (!isEmpty(restNavs)) { return ( <List.Item key={slug} icon={<IconRenderer {...icon} title={description} />} > {title} <NavList nav={restNavs} /> </List.Item> ); } return ( <List.Item key={slug} onClick={() => navigate(slug)} icon={<IconRenderer {...icon} />} role="button" title={description} > {title} </List.Item> ); }, )} </List> ); const TaskBar = ({ nav }) => <R95TaskBar list={<NavList nav={nav} />} />; export default TaskBar;