настройка роутинга: router.ts --> AppRouters.tsx
This commit is contained in:
parent
270dc35667
commit
e32ce04bb9
@ -6,7 +6,7 @@ const config: CapacitorConfig = {
|
||||
webDir: 'dist',
|
||||
server:{
|
||||
androidScheme: "http",
|
||||
allowNavigation: [ "10.224.10.177:8093" ],
|
||||
allowNavigation: [ "localhost:8093" ],
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -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
|
||||
|
||||
|
@ -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',
|
||||
},
|
||||
|
@ -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}`)}
|
||||
<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>
|
||||
|
@ -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>
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
>
|
||||
Забыли пароль?
|
||||
|
@ -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`;
|
||||
|
Loading…
x
Reference in New Issue
Block a user