-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.tsx
More file actions
65 lines (60 loc) · 2.06 KB
/
App.tsx
File metadata and controls
65 lines (60 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import { Toaster } from 'react-hot-toast';
import Header from './components/Header';
import Footer from './components/Footer';
import NewHeader from './components/NewHeader';
import NewFooter from './components/NewFooter';
import ModernSpeedTest from './components/ModernSpeedTest';
import NewSpeedTest from './components/NewSpeedTest';
import PrivacyPolicy from './components/PrivacyPolicy';
import ContactPage from './components/ContactPage';
import ResultsPage from './components/ResultsPage';
import NewResultsPage from './components/NewResultsPage';
const App: React.FC = () => {
return (
<Router>
<div className="flex flex-col min-h-screen bg-gradient-to-b from-gray-50 to-gray-100">
<NewHeader />
<main className="flex-grow">
<Routes>
<Route path="/" element={<NewSpeedTest />} />
<Route path="/results/:resultId" element={<NewResultsPage />} />
<Route path="/privacy" element={<PrivacyPolicy />} />
<Route path="/contact" element={<ContactPage />} />
{/* Legacy routes */}
<Route path="/legacy" element={<ModernSpeedTest />} />
<Route path="/legacy/results/:resultId" element={<ResultsPage />} />
</Routes>
</main>
<NewFooter />
{/* Toast notifications */}
<Toaster
position="bottom-center"
toastOptions={{
duration: 3000,
style: {
background: '#363636',
color: '#fff',
borderRadius: '8px',
padding: '12px 16px',
},
success: {
iconTheme: {
primary: '#10B981',
secondary: '#fff',
},
},
error: {
iconTheme: {
primary: '#EF4444',
secondary: '#fff',
},
},
}}
/>
</div>
</Router>
);
};
export default App;