import React, { useEffect, useState } from 'react'; import { ActionIcon, Badge, Image, Modal } from '@mantine/core'; import style from "./Header.module.scss"; import { errorNotify, generalstats } from '../../js/utils'; import { GeneralStats, update_freq } from '../../js/models'; import { BsPlusLg } from "react-icons/bs" import { AiFillHome } from "react-icons/ai" import { useLocation, useNavigate, useParams } from 'react-router-dom'; import AddNewRegex from '../AddNewRegex'; import AddNewService from '../AddNewService'; function Header() { const [generalStats, setGeneralStats] = useState({closed:0, regexes:0, services:0}); const location = useLocation() const navigator = useNavigate() const updateInfo = () => { generalstats().then(res => { setGeneralStats(res) }).catch( err => errorNotify("General Info Auto-Update failed!", err.toString()) ) } useEffect(()=>{ updateInfo() const updater = setInterval(updateInfo, update_freq) return () => { clearInterval(updater) } }, []); const {srv_id} = useParams() const [open, setOpen] = useState(false); const closeModal = () => {setOpen(false);} return
Firegex logo
Services: {generalStats.services} Filtered Connections: {generalStats.closed} Regexes: {generalStats.regexes}
{ location.pathname !== "/"? navigator("/")}> :null} setOpen(true)} size="xl" radius="md" variant="filled"> {srv_id? : }
} export default Header;