diff --git a/src/components/Publish/EditVideo/EditVideo.tsx b/src/components/Publish/EditVideo/EditVideo.tsx index 5735ceb..a3092bf 100644 --- a/src/components/Publish/EditVideo/EditVideo.tsx +++ b/src/components/Publish/EditVideo/EditVideo.tsx @@ -11,7 +11,7 @@ import { Typography, useTheme, } from "@mui/material"; -import { Signal, useSignal } from "@preact/signals-react"; +import { Signal, useSignal, useSignalEffect } from "@preact/signals-react"; import Compressor from "compressorjs"; import React, { useEffect, useState } from "react"; import { useDropzone } from "react-dropzone"; @@ -32,6 +32,7 @@ import { updateVideo, } from "../../../state/features/videoSlice.ts"; import { RootState } from "../../../state/store.ts"; +import BoundedNumericTextField from "../../../utils/BoundedNumericTextField.tsx"; import { objectToBase64 } from "../../../utils/PublishFormatter.ts"; import { FrameExtractor } from "../../common/FrameExtractor/FrameExtractor.tsx"; import ImageUploader from "../../common/ImageUploader.tsx"; @@ -85,6 +86,10 @@ export const EditVideo = () => { editVideoProperties?.duration || 0, ]); + useEffect(() => { + videoDuration.value[0] = Math.floor(editVideoProperties?.duration); + }, [editVideoProperties]); + const { getRootProps, getInputProps } = useDropzone({ accept: { "video/*": [], @@ -273,9 +278,9 @@ export const EditVideo = () => { videoType: file?.type || "video/mp4", filename: `${alphanumericString.trim()}.${fileExtension}`, fileSize: file?.size || 0, - duration: videoDuration.value[0], + duration: videoDuration.value[0] || editVideoProperties?.duration || 0, }; - + console.log("edit publish duration: ", videoObject?.duration); const metadescription = `**category:${category};subcategory:${subcategory};code:${editVideoProperties.code}**` + description.slice(0, 150); @@ -408,7 +413,7 @@ export const EditVideo = () => { aria-labelledby="modal-title" aria-describedby="modal-description" > - + { > )} + { + videoDuration.value[0] = +s; + }} + /> ( style={{ ...videoStyles?.video, objectFit: videoObjectFit.value, + backgroundColor: "#000000", height: isFullscreen.value && showControls ? "calc(100vh - 40px)" diff --git a/src/constants/Misc.ts b/src/constants/Misc.ts index 108d72e..189f673 100644 --- a/src/constants/Misc.ts +++ b/src/constants/Misc.ts @@ -13,7 +13,7 @@ export const fontSizeLarge = "120%"; export const fontSizeExLarge = "150%"; export const maxCommentLength = 10_000; export const minFileSize = 1_000; -export const minDuration = 5; +export const minDuration = 1; const newUIWidthDiff = 120; const smallScreenSize = 700 - newUIWidthDiff;