заменила на логотип круг в настройках
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
@ -4,7 +4,7 @@ import type React from "react"
|
|||||||
import { useEffect, useState } from "react"
|
import { useEffect, useState } from "react"
|
||||||
import { useHistory } from "react-router-dom"
|
import { useHistory } from "react-router-dom"
|
||||||
|
|
||||||
import confetti from "../assets/Confetti.gif"
|
import confetti from "../assets/img/Confetti.gif"
|
||||||
|
|
||||||
import { getRouteCourses } from "../shared/consts/router"
|
import { getRouteCourses } from "../shared/consts/router"
|
||||||
import { getRouteHome } from "../shared/consts/router"
|
import { getRouteHome } from "../shared/consts/router"
|
||||||
|
@ -6,7 +6,7 @@ import { useHistory } from "react-router-dom"
|
|||||||
|
|
||||||
import HeaderNav from "../components/HeaderNav"
|
import HeaderNav from "../components/HeaderNav"
|
||||||
import BottomNavigation from "../components/BottomNavigation"
|
import BottomNavigation from "../components/BottomNavigation"
|
||||||
import video from "../assets/video.mov"
|
import video from "../assets/img/video.mov"
|
||||||
|
|
||||||
|
|
||||||
import { getRouteExercise } from "../shared/consts/router"
|
import { getRouteExercise } from "../shared/consts/router"
|
||||||
|
@ -9,7 +9,7 @@ import { getRouteCourseExercises } from "../shared/consts/router"
|
|||||||
|
|
||||||
const ProgressLine = () => {
|
const ProgressLine = () => {
|
||||||
return (<div
|
return (<div
|
||||||
className="h-full bg-orange-400 transition-all duration-500 absolute left-0 top-0 rounded-l-xl"
|
className="h-full bg-gradient-to-r from-orange-300 to-orange-500 transition-all duration-500 absolute left-0 top-0 rounded-l-xl"
|
||||||
style={{ width: '85%' }}
|
style={{ width: '85%' }}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -6,7 +6,7 @@ import { useHistory } from "react-router-dom"
|
|||||||
import BottomNavigation from "../components/BottomNavigation"
|
import BottomNavigation from "../components/BottomNavigation"
|
||||||
import { getRouteCourseComplete } from "../shared/consts/router"
|
import { getRouteCourseComplete } from "../shared/consts/router"
|
||||||
import HeaderNav from "../components/HeaderNav"
|
import HeaderNav from "../components/HeaderNav"
|
||||||
import video from "../assets/video.mov"
|
import video from "../assets/img/video.mov"
|
||||||
|
|
||||||
|
|
||||||
const Exercise: React.FC = () => {
|
const Exercise: React.FC = () => {
|
||||||
@ -96,50 +96,6 @@ const Exercise: React.FC = () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
class User {
|
|
||||||
age = 18;
|
|
||||||
private _token = '';
|
|
||||||
|
|
||||||
constructor(age = 18, token = '') {
|
|
||||||
this.token = token
|
|
||||||
this.age = age
|
|
||||||
}
|
|
||||||
|
|
||||||
get isOld() {
|
|
||||||
return this.age > 70;
|
|
||||||
}
|
|
||||||
|
|
||||||
get isAuth() {
|
|
||||||
|
|
||||||
return this._token.length > 0 && this._token.length <= 20;
|
|
||||||
}
|
|
||||||
|
|
||||||
set token (t: string) {
|
|
||||||
if(t.length === 0) return;
|
|
||||||
|
|
||||||
this._token = t;
|
|
||||||
}
|
|
||||||
|
|
||||||
get token () {
|
|
||||||
return this._token;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const user = new User();
|
|
||||||
|
|
||||||
user.isOld // false
|
|
||||||
|
|
||||||
user.age = 71
|
|
||||||
|
|
||||||
user.isOld // true
|
|
||||||
|
|
||||||
user.isAuth // false
|
|
||||||
|
|
||||||
user.token = '123'
|
|
||||||
|
|
||||||
user.isAuth // true
|
|
||||||
|
|
||||||
user.token = '123'
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import React, { useState } from "react"
|
import React, { useState } from "react"
|
||||||
import { useHistory } from "react-router-dom"
|
import { useHistory } from "react-router-dom"
|
||||||
import manImage from "../assets/man.svg" // Reverted to original import
|
import manImage from "../assets/img/man.svg"
|
||||||
|
|
||||||
import { connect } from '../confconnect';
|
import { connect } from '../confconnect';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
@ -5,6 +5,7 @@ import { useHistory } from "react-router-dom"
|
|||||||
import BottomNavigation from "../components/BottomNavigation"
|
import BottomNavigation from "../components/BottomNavigation"
|
||||||
|
|
||||||
import { getRouteLogin } from "../shared/consts/router"
|
import { getRouteLogin } from "../shared/consts/router"
|
||||||
|
import manImage from "../assets/img/man.svg"
|
||||||
|
|
||||||
const Settings: React.FC = () => {
|
const Settings: React.FC = () => {
|
||||||
const history = useHistory()
|
const history = useHistory()
|
||||||
@ -17,17 +18,15 @@ const Settings: React.FC = () => {
|
|||||||
return (
|
return (
|
||||||
<div className=" bg-gray-50 min-h-screen mx-auto pb-50" style={{ overflow: 'auto' }}>
|
<div className=" bg-gray-50 min-h-screen mx-auto pb-50" style={{ overflow: 'auto' }}>
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
<div className="bg-gradient-to-r from-gray-600 to-gray-800 px-4 pt-20 pb-16 w-full ">
|
<div className="bg-gradient-to-r from-gray-600 to-gray-800 pt-20 pb-16 w-full ">
|
||||||
<div className="flex items-center justify-between mb-4 max-w-4xl mx-auto">
|
<div className="flex items-center justify-between mb-4 max-w-4xl mx-auto px-4">
|
||||||
<div>
|
<div>
|
||||||
<h1 className="text-2xl font-bold text-white">Настройки</h1>
|
<h1 className="text-2xl font-bold text-white">Настройки</h1>
|
||||||
<p className="text-gray-300">Профиль пациента</p>
|
<p className="text-gray-300">Профиль пациента</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="w-16 h-16 bg-white/20 backdrop-blur-lg rounded-full flex items-center justify-center border border-white/30">
|
|
||||||
<span className="text-2xl font-bold text-white">+
|
|
||||||
|
|
||||||
</span>
|
<img className="h-20 w-auto flex-shrink-0" src={manImage || "/placeholder.svg"} alt="man" />
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -38,17 +38,10 @@ const Welcome: React.FC = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="min-h-screen bg-gradient-to-br from-[#3ABBC7] to-[#0D212C] flex items-center justify-center">
|
<div className="min-h-screen bg-gradient-to-br from-[#3ABBC7] to-[#0D212C] flex items-center justify-center">
|
||||||
{/* Men Animation */}
|
{/* Men Animation */}
|
||||||
|
|
||||||
|
|
||||||
<div className="min-h-screen p-4 relative overflow-hidden max-w-2xl mx-auto">
|
<div className="min-h-screen p-4 relative overflow-hidden max-w-2xl mx-auto">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="absolute inset-0 flex items-start justify-center pt-30 w-[400px] h-[1100px]">
|
<div className="absolute inset-0 flex items-start justify-center pt-30 w-[400px] h-[1100px]">
|
||||||
{/* тело */}
|
{/* тело */}
|
||||||
<div className={`absolute left-[37%] transform duration-800 delay-300 ${animationPhase >= 1 ? "opacity-100 scale-100 top-[24%]" : "opacity-0 scale-0 top-[10%]"} `}>
|
<div className={`absolute left-[37%] transform duration-800 delay-300 ${animationPhase >= 1 ? "opacity-100 scale-100 top-[24%]" : "opacity-0 scale-0 top-[10%]"} `}>
|
||||||
@ -93,8 +86,6 @@ const Welcome: React.FC = () => {
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* мяч */}
|
{/* мяч */}
|
||||||
<div className={`z-50 absolute transition-all duration-600 delay-100 ${animationPhase >= 2 ? "opacity-100 scale-100 top-[14%] left-[22%] " : "opacity-0 scale-0 -top-[20%] right-[40%] "} ${animationPhase >= 3 ? "scale-[90%]" : "scale-100"} ${animationPhase >= 4 ? "scale-[3000%]" : "scale-100"}
|
<div className={`z-50 absolute transition-all duration-600 delay-100 ${animationPhase >= 2 ? "opacity-100 scale-100 top-[14%] left-[22%] " : "opacity-0 scale-0 -top-[20%] right-[40%] "} ${animationPhase >= 3 ? "scale-[90%]" : "scale-100"} ${animationPhase >= 4 ? "scale-[3000%]" : "scale-100"}
|
||||||
|
|
||||||
@ -106,8 +97,6 @@ const Welcome: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="text-center z-10 max-w-md">
|
<div className="text-center z-10 max-w-md">
|
||||||
|
|
||||||
{/* Main Content */}
|
{/* Main Content */}
|
||||||
|