Write on the margins of the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
at v0.1.13 2.7 kB view raw
1import { Routes, Route } from "react-router-dom"; 2import { AuthProvider } from "./context/AuthContext"; 3import Sidebar from "./components/Sidebar"; 4import RightSidebar from "./components/RightSidebar"; 5import MobileNav from "./components/MobileNav"; 6import Feed from "./pages/Feed"; 7import Url from "./pages/Url"; 8import Profile from "./pages/Profile"; 9import Login from "./pages/Login"; 10import New from "./pages/New"; 11import Bookmarks from "./pages/Bookmarks"; 12import Highlights from "./pages/Highlights"; 13import Notifications from "./pages/Notifications"; 14import AnnotationDetail from "./pages/AnnotationDetail"; 15import Collections from "./pages/Collections"; 16import CollectionDetail from "./pages/CollectionDetail"; 17import Privacy from "./pages/Privacy"; 18 19import Terms from "./pages/Terms"; 20 21function AppContent() { 22 return ( 23 <div className="layout"> 24 <Sidebar /> 25 <div className="main-layout"> 26 <main className="main-content-wrapper"> 27 <Routes> 28 <Route path="/" element={<Feed />} /> 29 <Route path="/url" element={<Url />} /> 30 <Route path="/new" element={<New />} /> 31 <Route path="/bookmarks" element={<Bookmarks />} /> 32 <Route path="/highlights" element={<Highlights />} /> 33 <Route path="/notifications" element={<Notifications />} /> 34 <Route path="/profile/:handle" element={<Profile />} /> 35 <Route path="/login" element={<Login />} /> 36 <Route path="/at/:did/:rkey" element={<AnnotationDetail />} /> 37 <Route path="/annotation/:uri" element={<AnnotationDetail />} /> 38 <Route path="/collections" element={<Collections />} /> 39 <Route path="/collections/:rkey" element={<CollectionDetail />} /> 40 <Route 41 path="/:handle/collection/:rkey" 42 element={<CollectionDetail />} 43 /> 44 <Route 45 path="/:handle/annotation/:rkey" 46 element={<AnnotationDetail />} 47 /> 48 <Route 49 path="/:handle/highlight/:rkey" 50 element={<AnnotationDetail />} 51 /> 52 <Route 53 path="/:handle/bookmark/:rkey" 54 element={<AnnotationDetail />} 55 /> 56 <Route path="/collection/*" element={<CollectionDetail />} /> 57 <Route path="/privacy" element={<Privacy />} /> 58 <Route path="/terms" element={<Terms />} /> 59 </Routes> 60 </main> 61 </div> 62 <RightSidebar /> 63 <MobileNav /> 64 </div> 65 ); 66} 67 68export default function App() { 69 return ( 70 <AuthProvider> 71 <Routes> 72 <Route path="/*" element={<AppContent />} /> 73 </Routes> 74 </AuthProvider> 75 ); 76}