Source identity
| Field | Recorded value |
|---|---|
| Source type | archive member |
| Original record | App.tsx |
| Date | Not specified in source |
| Path or archive member | archives/libsrc-08bde1de6666/NETLIFY_AI_RECOVERY_AUDIT_2026-10-14_v1/additional_recovery/route_builder_sources_from_maps/embedded_sources/App.tsx |
| Original SHA-256 | 607ee312fded5c7b8d642ef40ca0951b04072ad501c93c25f4f9466dd9e7c926 |
| Reading-copy SHA-256 | 607ee312fded5c7b8d642ef40ca0951b04072ad501c93c25f4f9466dd9e7c926 |
| Archive source | {"sourceId": "libsrc-08bde1de6666", "member": "NETLIFY_AI_RECOVERY_AUDIT_2026-10-14_v1/additional_recovery/route_builder_sources_from_maps/embedded_sources/App.tsx"} |
Every recorded occurrence
These 2 records contain identical original source bytes. Their paths and revisions remain part of the archive.
| Original record | Branch or archive | Revision / identifier | Original location |
|---|---|---|---|
| App.tsx | {"sourceId": "libsrc-08bde1de6666", "member": "NETLIFY_AI_RECOVERY_AUDIT_2026-10-14_v1/additional_recovery/route_builder_sources_from_maps/embedded_sources/App.tsx"} | libsrc-cadfa280237d | archives/libsrc-08bde1de6666/NETLIFY_AI_RECOVERY_AUDIT_2026-10-14_v1/additional_recovery/route_builder_sources_from_maps/embedded_sources/App.tsx |
| Janady13/oversize-route-builder / client/src/App.tsx | main | 8630196cd162b68cf069cdabcc5487b49dcc625d | Open original |
Recovered source transcript
Download complete source text ↓32 lines · 0.8 KB
import React from 'react';
import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
import LandingPage from './LandingPage';
import Dashboard from './Dashboard';
// Protected Route Component
const ProtectedRoute: React.FC<{ children: React.ReactElement }> = ({ children }) => {
const token = localStorage.getItem('token');
return token ? children : <Navigate to="/" replace />;
};
function App() {
return (
<Router>
<Routes>
<Route path="/" element={<LandingPage />} />
<Route
path="/dashboard"
element={
<ProtectedRoute>
<Dashboard />
</ProtectedRoute>
}
/>
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
</Router>
);
}
export default App;