заменила на логотип круг в настройках
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 { 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 { getRouteHome } from "../shared/consts/router"
|
||||
|
@ -6,7 +6,7 @@ import { useHistory } from "react-router-dom"
|
||||
|
||||
import HeaderNav from "../components/HeaderNav"
|
||||
import BottomNavigation from "../components/BottomNavigation"
|
||||
import video from "../assets/video.mov"
|
||||
import video from "../assets/img/video.mov"
|
||||
|
||||
|
||||
import { getRouteExercise } from "../shared/consts/router"
|
||||
|
@ -9,7 +9,7 @@ import { getRouteCourseExercises } from "../shared/consts/router"
|
||||
|
||||
const ProgressLine = () => {
|
||||
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%' }}
|
||||
/>
|
||||
);
|
||||
|
@ -6,7 +6,7 @@ import { useHistory } from "react-router-dom"
|
||||
import BottomNavigation from "../components/BottomNavigation"
|
||||
import { getRouteCourseComplete } from "../shared/consts/router"
|
||||
import HeaderNav from "../components/HeaderNav"
|
||||
import video from "../assets/video.mov"
|
||||
import video from "../assets/img/video.mov"
|
||||
|
||||
|
||||
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 (
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
import React, { useState } from "react"
|
||||
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 axios from 'axios';
|
||||
|
@ -5,6 +5,7 @@ import { useHistory } from "react-router-dom"
|
||||
import BottomNavigation from "../components/BottomNavigation"
|
||||
|
||||
import { getRouteLogin } from "../shared/consts/router"
|
||||
import manImage from "../assets/img/man.svg"
|
||||
|
||||
const Settings: React.FC = () => {
|
||||
const history = useHistory()
|
||||
@ -17,17 +18,15 @@ const Settings: React.FC = () => {
|
||||
return (
|
||||
<div className=" bg-gray-50 min-h-screen mx-auto pb-50" style={{ overflow: 'auto' }}>
|
||||
{/* Header */}
|
||||
<div className="bg-gradient-to-r from-gray-600 to-gray-800 px-4 pt-20 pb-16 w-full ">
|
||||
<div className="flex items-center justify-between mb-4 max-w-4xl mx-auto">
|
||||
<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 px-4">
|
||||
<div>
|
||||
<h1 className="text-2xl font-bold text-white">Настройки</h1>
|
||||
<p className="text-gray-300">Профиль пациента</p>
|
||||
</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>
|
||||
</div>
|
||||
<img className="h-20 w-auto flex-shrink-0" src={manImage || "/placeholder.svg"} alt="man" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -38,17 +38,10 @@ const Welcome: React.FC = () => {
|
||||
|
||||
return (
|
||||
|
||||
|
||||
|
||||
<div className="min-h-screen bg-gradient-to-br from-[#3ABBC7] to-[#0D212C] flex items-center justify-center">
|
||||
{/* Men Animation */}
|
||||
|
||||
|
||||
<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 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>
|
||||
</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"}
|
||||
|
||||
@ -106,8 +97,6 @@ const Welcome: React.FC = () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="text-center z-10 max-w-md">
|
||||
|
||||
{/* Main Content */}
|
||||
|