2021-05-23 14:15:13 +05:30
|
|
|
import React, { ReactNode, useEffect } from "react";
|
2021-05-16 18:35:50 +05:30
|
|
|
|
|
|
|
|
import { Layout } from "antd";
|
|
|
|
|
import SideNav from "./Nav/SideNav";
|
|
|
|
|
import TopNav from "./Nav/TopNav";
|
2021-05-23 14:15:13 +05:30
|
|
|
import { useLocation } from "react-router-dom";
|
|
|
|
|
import { useRoute } from "./RouteProvider";
|
|
|
|
|
|
2021-05-16 18:35:50 +05:30
|
|
|
const { Content, Footer } = Layout;
|
|
|
|
|
|
|
|
|
|
interface BaseLayoutProps {
|
|
|
|
|
children: ReactNode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const BaseLayout: React.FC<BaseLayoutProps> = ({ children }) => {
|
2021-05-23 14:15:13 +05:30
|
|
|
const location = useLocation();
|
|
|
|
|
const { dispatch } = useRoute();
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
2021-05-30 19:07:37 +05:30
|
|
|
dispatch({ type: "ROUTE_IS_LOADED", payload: location.pathname });
|
2021-05-23 14:15:13 +05:30
|
|
|
}, [location]);
|
|
|
|
|
|
2021-05-16 18:35:50 +05:30
|
|
|
return (
|
|
|
|
|
<Layout style={{ minHeight: "100vh" }}>
|
|
|
|
|
<SideNav />
|
|
|
|
|
<Layout className="site-layout">
|
|
|
|
|
<Content style={{ margin: "0 16px" }}>
|
|
|
|
|
<TopNav />
|
|
|
|
|
{children}
|
|
|
|
|
</Content>
|
|
|
|
|
<Footer style={{ textAlign: "center", fontSize: 10 }}>
|
2021-07-30 11:47:58 +05:30
|
|
|
SigNoz Inc. ©2020
|
2021-05-16 18:35:50 +05:30
|
|
|
</Footer>
|
|
|
|
|
</Layout>
|
|
|
|
|
</Layout>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default BaseLayout;
|