import React, {lazy, Suspense, useCallback, useState} from "react"; import {BrowserRouter, Route, Routes} from "react-router-dom"; import Header from "./elements/header"; import Sidebar from "./elements/sidebar"; import Dialog from "./elements/dialog"; import Footer from "./elements/footer"; import {useContext, useEffect} from "react"; import {LocaleContext} from "shared/locale"; // css import './res/adminlte.min.css'; // views const Overview = lazy(() => import('./views/overview')); export default function AdminDashboard(props) { const api = props.api; const info = props.info; const [dialog, setDialog] = useState({show: false}); const {currentLocale, requestModules, translate: L} = useContext(LocaleContext); const showDialog = useCallback((message, title, options=["Close"], onOption = null) => { setDialog({ show: true, message: message, title: title, options: options, onOption: onOption }); }, []); const hideDialog = useCallback(() => { setDialog({show: false}); }, []); useEffect(() => { requestModules(api, ["general", "admin"], currentLocale).then(data => { if (!data.success) { alert(data.msg); } }); }, [currentLocale]); const controlObj = { ...props, showDialog: showDialog, hideDialog: hideDialog }; return
{L("general.loading")}...
}> }/> {/* { let newProps = {...props, ...this.controlObj}; return }}/> */}