Implement user authentication and account pages
Adds AuthContext with Orval API integration, user login/logout/register flows, and account settings page. Refactors navigation and layouts to use authentication context. Introduces new account-related pages (Login, Register, Logout, AccountSettings), updates PrivateRoute to use AuthContext, and improves error handling in Downloader. Removes obsolete context example and adds comprehensive usage documentation for AuthContext.
This commit is contained in:
@@ -9,33 +9,42 @@ import DroneServisSection from "./pages/home/components/Services/droneServis";
|
||||
|
||||
import PrivateRoute from "./routes/PrivateRoute";
|
||||
|
||||
//import { UserContextProvider } from "./context/UserContext";
|
||||
|
||||
// Pages
|
||||
import PortfolioPage from "./pages/portfolio/PortfolioPage";
|
||||
import ContactPage from "./pages/contact/ContactPage";
|
||||
import ScrollToTop from "./components/common/ScrollToTop";
|
||||
|
||||
|
||||
import AuthLayout from "./layouts/AuthLayout";
|
||||
import LogoutPage from "./pages/account/Logout";
|
||||
import LoginPage from "./pages/account/Login";
|
||||
import RegisterPage from "./pages/account/Register";
|
||||
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<Router>
|
||||
{/* <UserContextProvider> */}
|
||||
<ScrollToTop />
|
||||
<Routes>
|
||||
{/* Public routes */}
|
||||
<Route path="/" element={<HomeLayout />}>
|
||||
<Route index element={<Home />} />
|
||||
<Route path="portfolio" element={<PortfolioPage />} />
|
||||
<Route path="contact" element={<ContactPage />} />
|
||||
<ScrollToTop />
|
||||
<Routes>
|
||||
{/* Public routes */}
|
||||
<Route path="/" element={<HomeLayout />}>
|
||||
<Route index element={<Home />} />
|
||||
<Route path="portfolio" element={<PortfolioPage />} />
|
||||
<Route path="contact" element={<ContactPage />} />
|
||||
|
||||
{/* APPS */}
|
||||
<Route path="apps/downloader" element={<Downloader />} />
|
||||
{/* APPS */}
|
||||
<Route path="apps/downloader" element={<Downloader />} />
|
||||
|
||||
{/* SERVICES */}
|
||||
<Route path="services/drone" element={< DroneServisSection />} />
|
||||
<Route path="services/web" element={<Downloader />} />
|
||||
{/* SERVICES */}
|
||||
<Route path="services/drone" element={< DroneServisSection />} />
|
||||
<Route path="services/web" element={<Downloader />} />
|
||||
|
||||
|
||||
</Route>
|
||||
|
||||
<Route path="auth/" element={<AuthLayout />}>
|
||||
<Route path="login" element={<LoginPage />} />
|
||||
<Route path="register" element={<RegisterPage />} />
|
||||
<Route path="logout" element={<LogoutPage />} />
|
||||
</Route>
|
||||
|
||||
{/* Example protected route group (kept for future use) */}
|
||||
@@ -43,10 +52,8 @@ export default function App() {
|
||||
<Route path="/" element={<ChatLayout />}>
|
||||
|
||||
</Route>
|
||||
|
||||
</Route>
|
||||
</Routes>
|
||||
{/* </UserContextProvider> */}
|
||||
</Router>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user