import React from 'react'; import Icon from "./icon"; import {Link, NavLink} from "react-router-dom"; export default function Sidebar(props) { let parent = { showDialog: props.showDialog || function() {}, api: props.api, notifications: props.notifications || [ ], contactRequests: props.contactRequests || [ ] }; function onLogout() { parent.api.logout().then(obj => { if (obj.success) { document.location = "/admin"; } else { parent.showDialog("Error logging out: " + obj.msg, "Error logging out"); } }); } const menuItems = { "dashboard": { "name": "Dashboard", "icon": "tachometer-alt" }, "visitors": { "name": "Visitor Statistics", "icon": "chart-bar", }, "users": { "name": "Users & Groups", "icon": "users" }, "pages": { "name": "Pages & Routes", "icon": "copy", }, "settings": { "name": "Settings", "icon": "tools" }, "logs": { "name": "Logs & Notifications", "icon": "file-medical-alt" }, "contact": { "name": "Contact Requests", "icon": "comments" }, "help": { "name": "Help", "icon": "question-circle" }, }; let numNotifications = parent.notifications.length; if (numNotifications > 0) { if (numNotifications > 9) numNotifications = "9+"; menuItems["logs"]["badge"] = { type: "warning", value: numNotifications }; } console.log("sidebar", parent.contactRequests); let numUnreadContactMessages = 0; for (const contactRequest of parent.contactRequests) { numUnreadContactMessages += contactRequest.unread; } if (numUnreadContactMessages > 0) { menuItems["contact"]["badge"] = { type: "info", value: numUnreadContactMessages }; } let li = []; for (let id in menuItems) { let obj = menuItems[id]; const badge = (obj.badge ? {obj.badge.value} : <>>); li.push(
{obj.name}{badge}
Logout