mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	* Reduce redundant code and don't pull new items when marking as reviewed * Chunk recording times and run playback * fix overwriting existing data * Implement scrubbing * Show refresh button * Remove old history * Fix race condition * Cleanup handling * Remove console
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import Providers from "@/context/providers";
 | 
						|
import { BrowserRouter, Routes, Route } from "react-router-dom";
 | 
						|
import { useState } from "react";
 | 
						|
import Wrapper from "@/components/Wrapper";
 | 
						|
import Sidebar from "@/components/Sidebar";
 | 
						|
import Header from "@/components/Header";
 | 
						|
import Live from "@/pages/Live";
 | 
						|
import Export from "@/pages/Export";
 | 
						|
import Storage from "@/pages/Storage";
 | 
						|
import System from "@/pages/System";
 | 
						|
import ConfigEditor from "@/pages/ConfigEditor";
 | 
						|
import Logs from "@/pages/Logs";
 | 
						|
import NoMatch from "@/pages/NoMatch";
 | 
						|
import Settings from "@/pages/Settings";
 | 
						|
import UIPlayground from "./pages/UIPlayground";
 | 
						|
import Events from "./pages/Events";
 | 
						|
import { isDesktop } from "react-device-detect";
 | 
						|
import Statusbar from "./components/Statusbar";
 | 
						|
 | 
						|
function App() {
 | 
						|
  const [sheetOpen, setSheetOpen] = useState(false);
 | 
						|
 | 
						|
  const toggleNavbar = () => {
 | 
						|
    setSheetOpen((prev) => !prev);
 | 
						|
  };
 | 
						|
 | 
						|
  return (
 | 
						|
    <Providers>
 | 
						|
      <BrowserRouter>
 | 
						|
        <Wrapper>
 | 
						|
          <Header onToggleNavbar={toggleNavbar} />
 | 
						|
          <div className="w-full h-full pt-2 overflow-hidden">
 | 
						|
            <Sidebar sheetOpen={sheetOpen} setSheetOpen={setSheetOpen} />
 | 
						|
            {isDesktop && <Statusbar />}
 | 
						|
            <div
 | 
						|
              id="pageRoot"
 | 
						|
              className="absolute left-0 md:left-16 top-16 md:top-2 right-0 bottom-0 md:bottom-8 overflow-hidden"
 | 
						|
            >
 | 
						|
              <Routes>
 | 
						|
                <Route path="/" element={<Live />} />
 | 
						|
                <Route path="/events" element={<Events />} />
 | 
						|
                <Route path="/export" element={<Export />} />
 | 
						|
                <Route path="/storage" element={<Storage />} />
 | 
						|
                <Route path="/system" element={<System />} />
 | 
						|
                <Route path="/settings" element={<Settings />} />
 | 
						|
                <Route path="/config" element={<ConfigEditor />} />
 | 
						|
                <Route path="/logs" element={<Logs />} />
 | 
						|
                <Route path="/playground" element={<UIPlayground />} />
 | 
						|
                <Route path="*" element={<NoMatch />} />
 | 
						|
              </Routes>
 | 
						|
            </div>
 | 
						|
          </div>
 | 
						|
        </Wrapper>
 | 
						|
      </BrowserRouter>
 | 
						|
    </Providers>
 | 
						|
  );
 | 
						|
}
 | 
						|
 | 
						|
export default App;
 |