This repository has no description
1import React from 'react';
2import { Analytics } from '@vercel/analytics/react';
3import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
4import Navbar from './components/Navbar/Navbar';
5import Footer from './components/Footer/Footer';
6import Newsletter from './components/Newsletter/Newsletter';
7import About from './components/About/About';
8import Home from './components/Home/Home';
9import Leaderboard from './components/Leaderboard/Leaderboard';
10import Supporter from './components/Supporter/Supporter';
11import Definitions from './components/Definitions/Definitions';
12import Shortcut from './components/Shortcut/Shortcut';
13import Resources from './components/Resources/Resources';
14import ScoringMethodology from './components/ScoringMethodology/ScoringMethodology';
15import Terms from './components/PrivacyTerms/Terms';
16import Privacy from './components/PrivacyTerms/Privacy';
17import AltTextRatingTool from './components/AltTextRating/AltTextRatingTool';
18import UserProfile from './components/UserProfile/UserProfile';
19import ZenPage from './components/ZenPage';
20import CompareScores from './components/CompareScores/CompareScores';
21import AdminRoute from './components/Admin/AdminRoute';
22import "./App.css";
23
24const App = () => {
25 return (
26 <>
27 <Router>
28 <div className="app-container" style={{ display: 'flex', flexDirection: 'column', minHeight: '100vh' }}>
29 <Navbar />
30 <div className="main-container" style={{ flex: 1 }}>
31 <Routes>
32 {/* All routes are now public */}
33 <Route path="/home" element={<Home />} />
34 <Route path="/compare/:username1/:username2" element={<CompareScores />} />
35 <Route path="/compare" element={<CompareScores />} />
36 <Route path="/alt-text" element={<AltTextRatingTool />} />
37 <Route path="/about" element={<About />} />
38 <Route path="/privacy" element={<Privacy />} />
39 <Route path="/terms" element={<Terms />} />
40 <Route path="/newsletter" element={<Newsletter />} />
41 <Route path="/supporter" element={<Supporter />} />
42 <Route path="/definitions" element={<Definitions />} />
43 <Route path="/leaderboard" element={<Leaderboard />} />
44 <Route path="/resources" element={<Resources />} />
45 <Route path="/shortcut" element={<Shortcut />} />
46 <Route path="/zen" element={<ZenPage />} />
47 <Route path="/methodology" element={<ScoringMethodology />} />
48
49 {/* Handle both DIDs and regular usernames */}
50 <Route path="/:username" element={<UserProfile />} />
51
52 {/* Default routes */}
53 <Route path="/" element={<Navigate to="/home" replace />} />
54 <Route path="*" element={<Navigate to="/home" replace />} />
55 </Routes>
56 </div>
57 <Footer />
58 </div>
59 </Router>
60 <Analytics />
61 </>
62 );
63};
64
65export default App;