From 7f9dd90895a752b4ea76edbb1ab17ebe14be0ded Mon Sep 17 00:00:00 2001 From: arsam Date: Fri, 18 Sep 2026 23:13:57 +0330 Subject: [PATCH] Import source: cshare-app/src/App Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality. --- cshare-app/src/App.css | 1 + cshare-app/src/App.jsx | 92 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 cshare-app/src/App.css create mode 100644 cshare-app/src/App.jsx diff --git a/cshare-app/src/App.css b/cshare-app/src/App.css new file mode 100644 index 0000000..efad942 --- /dev/null +++ b/cshare-app/src/App.css @@ -0,0 +1 @@ +/* App-level styles are in index.css */ \ No newline at end of file diff --git a/cshare-app/src/App.jsx b/cshare-app/src/App.jsx new file mode 100644 index 0000000..8c00b79 --- /dev/null +++ b/cshare-app/src/App.jsx @@ -0,0 +1,92 @@ +import { lazy, Suspense } from 'react'; +import { BrowserRouter, Routes, Route, useLocation } from 'react-router-dom'; +import Navbar from './components/Navbar'; +import Footer from './components/Footer'; +import { ToastProvider } from './components/Toast'; +import PageTransition from './components/PageTransition'; +import { useLenis } from './hooks/useLenis'; +import ErrorBoundary from './components/ErrorBoundary'; + +const LandingPage = lazy(() => import('./pages/LandingPage')); +const UploadPage = lazy(() => import('./pages/UploadPage')); +const FileViewPage = lazy(() => import('./pages/FileViewPage')); +const DashboardPage = lazy(() => import('./pages/DashboardPage')); +const PricingPage = lazy(() => import('./pages/PricingPage')); +const DocsPage = lazy(() => import('./pages/DocsPage')); +const AboutPage = lazy(() => import('./pages/AboutPage')); +const BlogPage = lazy(() => import('./pages/BlogPage')); +const CareersPage = lazy(() => import('./pages/CareersPage')); +const ContactPage = lazy(() => import('./pages/ContactPage')); +const PrivacyPage = lazy(() => import('./pages/PrivacyPage')); +const TermsPage = lazy(() => import('./pages/TermsPage')); +const SecurityPage = lazy(() => import('./pages/SecurityPage')); +const GdprPage = lazy(() => import('./pages/GdprPage')); +const NotFoundPage = lazy(() => import('./pages/NotFoundPage')); + +const HIDE_FOOTER = ['/', '/preview']; + +function PageFallback() { + return ( +
+ Loading... +
+ ); +} + +function AppShell() { + const { pathname } = useLocation(); + useLenis(); + + return ( +
+ +
+ }> + + + + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + + + +
+ {!HIDE_FOOTER.some((path) => pathname === path || pathname.startsWith(`${path}/`)) &&
} +
+ ); +} + +function App() { + return ( + + + + + + + + ); +} + +export default App;