настройка роутинга: router.ts --> AppRouters.tsx

This commit is contained in:
Tatyana 2025-08-20 11:50:00 +03:00
parent 270dc35667
commit e32ce04bb9
8 changed files with 61 additions and 45 deletions

View File

@ -6,7 +6,7 @@ const config: CapacitorConfig = {
webDir: 'dist',
server:{
androidScheme: "http",
allowNavigation: [ "10.224.10.177:8093" ],
allowNavigation: [ "localhost:8093" ],
}
};

View File

@ -1,28 +1,48 @@
import { Route } from "react-router-dom"
import Home from "./pages/Home"
import Login from "./pages/Login"
import Welcome from "./pages/Welcome"
import ForgotPassword from "./pages/ForgotPassword"
import Login from "./pages/Login"
import Home from "./pages/Home"
import ForgotPasword from "./pages/ForgotPassword"
import Courses from "./pages/Courses"
import CourseExercises from "./pages/CourseExercises"
import Exercise from "./pages/Exercise"
import Settings from "./pages/Settings"
import CourseComplete from "./pages/CourseComplete"
import { getRouteWelcome } from "./shared/consts/router"
import { getRouteLogin } from "./shared/consts/router"
import { getRouteHome } from "./shared/consts/router"
import { getRouteForgotPassword } from "./shared/consts/router"
import { getRouteCourses } from "./shared/consts/router"
import { getRouteCourseExercises } from "./shared/consts/router"
import { getRouteExercise } from "./shared/consts/router"
import { getRouteSettings } from "./shared/consts/router"
import { getRouteCourseComplete } from "./shared/consts/router"
const AppRoutes = () => (
<>
<Route exact path="/" component={Welcome} />
<Route path="/home" component={Home} exact />
<Route path={getRouteWelcome()} component={Welcome} />
<Route path={getRouteLogin()} component={Login} />
<Route path="/forgot-password" component={ForgotPassword} />
<Route path="/welcome" component={Welcome} />
<Route path="/courses" component={Courses} />
<Route path="/course/:id/exercises" component={CourseExercises} />
<Route path="/exercise/:id" component={Exercise} />
<Route path="/settings" component={Settings} />
<Route path="/course-complete" component={CourseComplete} />
<Route path={getRouteHome()} component={Home} exact />
<Route path={getRouteForgotPassword()} component={ForgotPasword} />
<Route path={getRouteCourses()} component={Courses} />
<Route path={getRouteCourseExercises(':id')} component={CourseExercises} />
<Route path={getRouteExercise(':id')} component={Exercise} />
<Route path={getRouteSettings()} component={Settings} exact />
<Route path={getRouteCourseComplete()} component={CourseComplete} />
</>
)
export default AppRoutes

View File

@ -4,7 +4,7 @@ import { AUTH_TOKEN, USER_KEY } from '@/shared/consts/localStorage';
import { getRouteLogin } from '@/shared/consts/router';
const instance = axios.create({
baseURL: 'http://10.224.10.177:8093/',
baseURL: 'http://localhost:8093/',
headers: {
'Content-type': 'application/json',
},

View File

@ -2,7 +2,7 @@
import type React from "react"
import { useState } from "react"
import { useHistory } from "react-router-dom"
import { useHistory, useParams } from "react-router-dom"
import HeaderNav from "../components/HeaderNav"
import BottomNavigation from "../components/BottomNavigation"
@ -10,7 +10,7 @@ import video from "../assets/video.mov"
const CourseExercises: React.FC = () => {
const history = useHistory()
// const { id } = useParams<{ id: string }>()
const { id } = useParams<{ id: string }>();
const [currentSlide, setCurrentSlide] = useState(0)
@ -153,10 +153,10 @@ const course = {
<button
onClick={() => history.push(`/exercise/${currentExercise.id}`)}
className="w-full bg-gradient-to-r bg-orange-400 text-white font-semibold py-4 px-6 rounded-2xl hover:shadow-2xl transition-all duration-300 transform hover:scale-105 shadow-lg backdrop-blur-sm"
>
<button
onClick={() => history.push(getExerciseRoute(currentExercise.id))}
className="w-full bg-gradient-to-r bg-orange-400 text-white font-semibold py-4 px-6 rounded-2xl hover:shadow-2xl transition-all duration-300 transform hover:scale-105 shadow-lg backdrop-blur-sm"
>
Начать упражнение
</button>
</div>

View File

@ -63,11 +63,7 @@ const Home: React.FC = () => {
className="bg-white/30 backdrop-blur-2xl rounded-3xl p-6 border border-white/20 shadow-xl cursor-pointer hover:shadow-2xl transition-all duration-300 transform hover:scale-[1.02]"
>
<div className="flex items-center space-x-5">
{/* <div
className={`w-16 h-16 bg-gradient-to-br ${course.color} rounded-2xl flex items-center justify-center shadow-lg`}
>
<span className="text-2xl text-white filter drop-shadow-sm">💪</span>
</div> */}
<div className="flex-1">
<h3 className="font-semibold text-[#5F5C5C] text-lg mb-2">{course.name}</h3>
<div className="bg-white/50 rounded-full h-3 mb-2 overflow-hidden">
@ -79,7 +75,8 @@ const Home: React.FC = () => {
<p className="text-sm text-[#5F5C5C]/70 font-semibold">{course.progress}% завершено</p>
</div>
<div className="text-[#2BACBE] transform transition-transform duration-300 hover:translate-x-1">
<span className="text-2xl font-bold"></span>
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path></svg>
</div>
</div>
</div>

View File

@ -1,7 +1,7 @@
"use client"
import { useEffect, useState } from "react"
import { useHistory } from "react-router-dom"
import { useHistory, Link } from "react-router-dom"
import HeaderNav from "../components/HeaderNav"

View File

@ -7,6 +7,8 @@ import manImage from "../assets/man.svg" // Reverted to original import
import { connect } from '../confconnect';
import axios from 'axios';
import { toast } from 'sonner';
import { getRouteHome } from '../shared/consts/router'
import { getRouteForgotPassword } from '../shared/consts/router'
export default function LoginPage() {
@ -53,7 +55,7 @@ export default function LoginPage() {
localStorage.setItem('isLoggedIn', 'true');
// Перенаправляем пользователя
history.push("/home");
history.push(getRouteHome());
} else {
console.log('Ответ:', response);
}
@ -111,7 +113,7 @@ export default function LoginPage() {
console.log('Отправляемые данные:', { email, password });
// После этого можно перейти или показать сообщение
history.push("/home")
history.push(getRouteHome())
} catch (error) {
console.error('Ошибка при регистрации:', error)
alert('Ошибка при регистрации')
@ -258,7 +260,7 @@ export default function LoginPage() {
</label>
<button
type="button"
onClick={() => history.push("/forgot-password")}
onClick={() => history.push(getRouteForgotPassword())}
className="text-[#2BACBE] font-medium hover:text-[#2099A8] transition-colors"
>
Забыли пароль?

View File

@ -1,20 +1,17 @@
export const getRouteWelcome = () => `/welcome`;
export const getRouteLogin = () => `/login`;
export const getRouteRegister = () => `/auth/register`;
export const getRouteResetPassword = () => `/auth/reset-password`;
export const getRouteLkHome = () => `/lk`;
export const getRouteHome = () => `/home`;
export const getRouteForgotPassword = () => `/forgot-password`;
export const getRouteCourses = () => `/courses`;
export const getRouteCourseExercises = (id: number | string) => `/course/${id}/exercises`;
export const getRouteExercise = (id: number | string) => `/exercise/${id}`;
export const getRouteSettings = () => `/settings`;
export const getRouteCourseComplete = () => `/course-complete`;
export const getRouteUsersList = () => `/lk/admin/users`;
export const getRouteUserEdit = (id: number | string) => `/lk/admin/users/${id}`;
export const getRouteUserCreate = () => `/lk/admin/users/create`;
export const getRouteUserRolesList = () => `/lk/admin/user-roles`;
export const getRouteUserRoleEdit = (id: number | string) => `/lk/admin/user-roles/${id}`;
export const getRouteUserRoleCreate = () => `/lk/admin/user-roles/create`;
export const getRouterExercisesList = () =>`/lk/admin/exercises`;
export const getRouterExercisesEdit = (id: number | string) =>`/lk/admin/exercises/${id}`;
export const getRouterExercisesCreate = () =>`/lk/admin/exercises/create`;
export const getRouterCoursesList = () => `/lk/admin/courses`;
export const getRouterCoursesEdit = (id: number | string) => `/lk/admin/courses/${id}`;
export const getRouterCoursesCreate = () => `/lk/admin/courses/create`;