diff --git a/package.json b/package.json index dd17a5f..4f98421 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "react-router-dom": "^6.23.1", "react-router-hash-link": "^2.4.3", "react-swipeable": "^7.0.1", + "react-usestateref": "^1.0.9", "usehooks-ts": "^3.1.0", "zustand": "^4.5.4" }, diff --git a/src/assets/projects/hangar.png b/src/assets/projects/hangar.png new file mode 100644 index 0000000..76d1122 Binary files /dev/null and b/src/assets/projects/hangar.png differ diff --git a/src/assets/projects/laboratory.png b/src/assets/projects/laboratory.png new file mode 100644 index 0000000..f9b324b Binary files /dev/null and b/src/assets/projects/laboratory.png differ diff --git a/src/assets/projects/loader.png b/src/assets/projects/loader.png new file mode 100644 index 0000000..6b5b352 Binary files /dev/null and b/src/assets/projects/loader.png differ diff --git a/src/assets/projects/operator.mp4 b/src/assets/projects/operator.mp4 new file mode 100644 index 0000000..5b7f2b0 Binary files /dev/null and b/src/assets/projects/operator.mp4 differ diff --git a/src/assets/projects/operator.png b/src/assets/projects/operator.png new file mode 100644 index 0000000..66dc2e5 Binary files /dev/null and b/src/assets/projects/operator.png differ diff --git a/src/assets/projects/plane.png b/src/assets/projects/plane.png new file mode 100644 index 0000000..a14da9a Binary files /dev/null and b/src/assets/projects/plane.png differ diff --git a/src/assets/projects/train_big.jpg b/src/assets/projects/train_big.jpg index 6a93e81..b743062 100644 Binary files a/src/assets/projects/train_big.jpg and b/src/assets/projects/train_big.jpg differ diff --git a/src/assets/projects/trains.png b/src/assets/projects/trains.png new file mode 100644 index 0000000..d71de10 Binary files /dev/null and b/src/assets/projects/trains.png differ diff --git a/src/components/Main/Efficiency.tsx b/src/components/Main/Efficiency.tsx index 129f04b..de37bb1 100644 --- a/src/components/Main/Efficiency.tsx +++ b/src/components/Main/Efficiency.tsx @@ -94,7 +94,7 @@ function Figure({ backgroundSize: 'auto,100% 100%', transition: { duration: 0.075 }, }} - className="flex px-6 2xl:max-w-[22vw] w-full rounded-2xl pt-6 bg-no-repeat bg-[position:bottom_right_24px,bottom_right] h-[262px] relative before:bg-[#14161F] before:w-full after:h-full after:-mt-6 after:-ml-6 after:absolute after:-z-[9999] after:rounded-2xl" + className="flex px-6 2xl:max-w-[22vw] w-full rounded-2xl pt-6 bg-no-repeat bg-[position:bottom_right_24px,bottom_right] h-[262px] relative" >

{title}

diff --git a/src/components/Main/Products/Products.tsx b/src/components/Main/Products/Products.tsx index d92b93b..df7e4ea 100644 --- a/src/components/Main/Products/Products.tsx +++ b/src/components/Main/Products/Products.tsx @@ -35,7 +35,7 @@ export function Products() {
+
diff --git a/src/components/Main/Projects.tsx b/src/components/Main/Projects.tsx index 8bef6b6..87c22f5 100644 --- a/src/components/Main/Projects.tsx +++ b/src/components/Main/Projects.tsx @@ -5,6 +5,21 @@ import { Title } from '../../ui/Title'; import { useSwipeable } from 'react-swipeable'; import { ArrowLeftIcon } from '../icons/ArrowLeftIcon'; import { ArrowRightIcon } from '../icons/ArrowRightIcon'; +import { PauseIcon } from '../icons/PauseIcon'; +import { PlayIcon } from '../icons/PlayIcon'; +import useStateRef from 'react-usestateref'; + +enum Media { + video, + img, +} + +interface IProject { + src: TMedia extends Media.img ? string : string[]; + title: string; + tags: string[]; + media?: TMedia; +} export function Projects() { return ( @@ -20,19 +35,49 @@ export function Projects() { , + { + src: 'src/assets/projects/plane.png', + tags: ['Симулятор', 'VR-приложение'], + title: 'L 410 NG Aircraft', + media: Media.img, + }, + { + src: 'src/assets/projects/hangar.png', + tags: ['Симулятор', 'VR-приложение'], title: 'Сборка-разборка вертолётного двигателя', + media: Media.img, + }, + { + src: 'src/assets/projects/trains.png', + tags: ['Симулятор', 'VR-приложение'], + title: 'Тренажер РЖД: ЭП2Д, Иволга, ЭП20, ТЭ33А, ТЭМ2', + media: Media.img, + }, + { + src: 'src/assets/projects/laboratory.png', + tags: ['Симулятор', 'VR-приложение'], + title: 'Учебная лаборатория определения жирности молока', + media: Media.img, }, { src: 'src/assets/projects/train_big.jpg', tags: ['Симулятор'], title: 'Симулятор машиниста', + media: Media.img, }, ]} /> @@ -40,22 +85,62 @@ export function Projects() { ); } -function Project({ - src, - title, - tags, -}: { - src: string; - title: string; - tags: string[]; -}) { +function Project({ src, title, tags, media }: IProject) { + const [buffering, setBuffering] = useState(true); + const [playing, setPlaying, playingRef] = useStateRef(false); + + const videoRef = useRef(null); + + useEffect(() => console.log(buffering), [buffering]); + useEffect(() => console.log(playingRef), [playingRef]); + useEffect(() => console.log(playing), [playing]); + return ( -
-
-
+
+ {media === Media.img ? ( +
+ ) : ( +
+