From b5bb600d01020bc1f0e08307f78ae2118efa35f3 Mon Sep 17 00:00:00 2001 From: dev Date: Wed, 17 Jan 2024 13:01:32 -0500 Subject: [PATCH] video input states works, simplified code further --- .../components/tabContentUpload.tsx | 13 +++++- .../uploadFieldVideo/UploadFieldVideo.tsx | 24 ++++++----- .../components/uploadFieldVideo/style.scss | 43 ++++++++----------- 3 files changed, 43 insertions(+), 37 deletions(-) diff --git a/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/tabContentUpload.tsx b/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/tabContentUpload.tsx index d0ac23ad4c..0cadc513f7 100644 --- a/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/tabContentUpload.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/tabContentUpload.tsx @@ -1,10 +1,17 @@ -import React from "react"; +import React, {useState} from "react"; + +import { useFile } from "hooks"; + import VideoInput from "v2/view/pages/video_mocap/components/uploadFieldVideo"; export default function TabContentUpload(props:{ t: Function }){ const { t } = props + const videoProps = useFile({}) + const [videoReady, videoReadySet] = useState(false); + + // contains upload inout state and controls, see docs return(
- + videoReadySet(videoProps.file ? true : false), + }}/>
diff --git a/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/UploadFieldVideo.tsx b/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/UploadFieldVideo.tsx index 6ba51c7b02..16db9dec23 100644 --- a/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/UploadFieldVideo.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/UploadFieldVideo.tsx @@ -1,7 +1,8 @@ import React, { useState } from "react"; import { a, useSpring } from '@react-spring/web'; import { FileDetails, FileWrapper, FileLabel } from "components/common"; -import { faImagePortrait } from "@fortawesome/pro-solid-svg-icons"; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { faFileVideo, faVideo } from "@fortawesome/pro-solid-svg-icons"; import "./style.scss"; interface Props { @@ -41,20 +42,23 @@ export default function UploadFieldVideo({ const fileTypes = ["MP4"]; - return + return
-
- { !file && } -
{ file ? <> - - + + : <> - - - +
+ +
+ }
diff --git a/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/style.scss b/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/style.scss index 8d71ae13fe..fced9bebb9 100644 --- a/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/style.scss +++ b/packages/fakeyou.com/src/v2/view/pages/video_mocap/components/uploadFieldVideo/style.scss @@ -1,36 +1,29 @@ @import "scss/colours.scss"; @import "scss/_breakpoint.scss"; +//TODO: PUSH TO TOP +.fill-secondary { + fill: $secondary; +} -.image-upload-frame { +//TODO: PUSH TO TOP, given in BS5 +.object-fit-cover{ + object-fit: cover; +} + +.video-upload-frame { // aspect-ratio: 4/3; @include breakpoint(min-width 992px) { aspect-ratio: 1/1; } } +.image-upload-label, .upload-details { + background-color: rgba($panel, .85); +} -.fy-image-uploader { - border-radius: .5rem .5rem 0 0; - - .image-upload-label, .upload-details { - background-color: rgba($panel, .85); - } - - .upload-details { - top: 0; - width: 100%; - padding: 1rem; - border-radius: 0; - } - - .file-preview { - height: 100%; - width: 100%; - border-radius: .5rem; - object-fit: cover; - } - - .image-placeholder { - fill: $secondary; - } +.upload-details { + top: 0; + width: 100%; + padding: 1rem; + border-radius: 0; } \ No newline at end of file