86211923db
Repository Interface Optimization: - Created IBaseRepository.ts and IPaginatedRepository.ts - Refactored all 7 repository interfaces to extend base interfaces - Eliminated ~200 lines of redundant code (70% reduction) - Improved type safety and maintainability Dependency Injection Improvements: - Added EmailService and GameTokenService to DIContainer - Updated CreateUserCommandHandler constructor for DI - Updated RequestPasswordResetCommandHandler constructor for DI - Enhanced testability and service consistency Environment Configuration: - Created comprehensive .env.example with 40+ variables - Organized into 12 logical sections (Database, Security, Email, etc.) - Added security guidelines and best practices - Documented all backend environment requirements Documentation: - Added comprehensive codebase review - Created refactoring summary report - Added frontend implementation guide Impact: Improved code quality, reduced maintenance overhead, enhanced developer experience
66 lines
2.2 KiB
React
66 lines
2.2 KiB
React
import { useState, useEffect } from "react"
|
|
import { BrowserRouter as Router, Route, Routes } from "react-router-dom"
|
|
import AuthRegister from "./pages/Auth/AuthRegister"
|
|
import AuthLogin from "./pages/Auth/AuthLogin"
|
|
import EmailVerification from "./pages/Auth/EmailVerification"
|
|
import Test from "./pages/Testing/Test"
|
|
import ForgotPassword from "./pages/Auth/ForgotPassword"
|
|
import ResetPassword from "./pages/Auth/ResetPassword"
|
|
import Landingpage from "./pages/Landing/Landingpage"
|
|
import Home from "./pages/Landing/Home"
|
|
import DeckManagerPage from "./pages/Decks/DeckManagerPage"
|
|
import CompanyHub from "./pages/Companies/Companies"
|
|
import About from "./pages/About/About"
|
|
import ScrollToTop from "./components/ScrollToTop"
|
|
import GameScreen from "./pages/Game/GameScreen"
|
|
|
|
function App() {
|
|
const [isMobile, setIsMobile] = useState(false)
|
|
|
|
useEffect(() => {
|
|
const handleResize = () => {
|
|
setIsMobile(window.innerWidth <= 1280)
|
|
}
|
|
|
|
handleResize()
|
|
window.addEventListener("resize", handleResize)
|
|
|
|
return () => window.removeEventListener("resize", handleResize)
|
|
}, [])
|
|
|
|
// if (isMobile) {
|
|
// return (
|
|
// <Router>
|
|
// <Routes>
|
|
// <Route path="/register" element={<AuthRegister />} />
|
|
// <Route path="/login" element={<AuthLogin />} />
|
|
// <Route path="/verify-email" element={<EmailVerification />} />
|
|
// </Routes>
|
|
// </Router>
|
|
// );
|
|
// }
|
|
|
|
return (
|
|
<Router>
|
|
<Routes>
|
|
<Route path="/about" element={<About />} />
|
|
<Route path="/register" element={<AuthRegister />} />
|
|
<Route path="/login" element={<AuthLogin />} />
|
|
<Route path="/verify-email" element={<EmailVerification />} />
|
|
<Route path="/forgot-password" element={<ForgotPassword />} />
|
|
<Route path="/reset-password" element={<ResetPassword />} />
|
|
<Route path="/test" element={<Test />} />
|
|
<Route path="/" element={<Landingpage />} />
|
|
<Route path="/home" element={<Home />} />
|
|
<Route path="/decks" element={<DeckManagerPage />} />
|
|
<Route path="/game" element={<GameScreen />} />
|
|
<Route path="/companies" element={<CompanyHub />} />
|
|
|
|
{/* Add more routes as needed */}
|
|
</Routes>
|
|
</Router>
|
|
)
|
|
}
|
|
|
|
export default App
|