diff --git a/src/components/Publish/PublishVideo/PublishVideo.tsx b/src/components/Publish/PublishVideo/PublishVideo.tsx
index 1b2a529..3d1fc55 100644
--- a/src/components/Publish/PublishVideo/PublishVideo.tsx
+++ b/src/components/Publish/PublishVideo/PublishVideo.tsx
@@ -741,8 +741,8 @@ export const PublishVideo = ({
Supported File Containers:{" "}
- MP4, Ogg, WebM,
- WAV
+ MP4, M4V, OGG,
+ WEBM, WAV
Audio Codecs: Opus
diff --git a/src/components/common/Notification/Notification.tsx b/src/components/common/Notification/Notification.tsx
index 501f081..3d835d5 100644
--- a/src/components/common/Notification/Notification.tsx
+++ b/src/components/common/Notification/Notification.tsx
@@ -1,52 +1,52 @@
-import { useDispatch, useSelector } from 'react-redux'
-import { toast, ToastContainer, Zoom, Slide } from 'react-toastify'
-import { removeNotification } from '../../../state/features/notificationsSlice'
-import 'react-toastify/dist/ReactToastify.css'
-import { RootState } from '../../../state/store'
+import { useDispatch, useSelector } from "react-redux";
+import { toast, ToastContainer, Zoom, Slide } from "react-toastify";
+import { removeNotification } from "../../../state/features/notificationsSlice";
+import "react-toastify/dist/ReactToastify.css";
+import { RootState } from "../../../state/store";
const Notification = () => {
- const dispatch = useDispatch()
+ const dispatch = useDispatch();
- const { alertTypes } = useSelector((state: RootState) => state.notifications)
+ const { alertTypes } = useSelector((state: RootState) => state.notifications);
if (alertTypes.alertError) {
toast.error(`❌ ${alertTypes?.alertError}`, {
- position: 'bottom-right',
+ position: "bottom-right",
autoClose: 4000,
hideProgressBar: false,
closeOnClick: true,
pauseOnHover: true,
draggable: true,
progress: undefined,
- icon: false
- })
- dispatch(removeNotification())
+ icon: false,
+ });
+ dispatch(removeNotification());
}
if (alertTypes.alertSuccess) {
toast.success(`✔️ ${alertTypes?.alertSuccess}`, {
- position: 'bottom-right',
+ position: "bottom-right",
autoClose: 4000,
hideProgressBar: false,
closeOnClick: true,
pauseOnHover: true,
draggable: true,
progress: undefined,
- icon: false
- })
- dispatch(removeNotification())
+ icon: false,
+ });
+ dispatch(removeNotification());
}
if (alertTypes.alertInfo) {
toast.info(`${alertTypes?.alertInfo}`, {
- position: 'top-right',
+ position: "top-right",
autoClose: 1300,
hideProgressBar: false,
closeOnClick: true,
pauseOnHover: true,
draggable: true,
progress: undefined,
- theme: 'light'
- })
- dispatch(removeNotification())
+ theme: "light",
+ });
+ dispatch(removeNotification());
}
if (alertTypes.alertInfo) {
@@ -62,10 +62,10 @@ const Notification = () => {
draggable
pauseOnHover
theme="light"
- toastStyle={{ fontSize: '16px' }}
+ toastStyle={{ fontSize: "16px" }}
transition={Slide}
/>
- )
+ );
}
return (
@@ -80,7 +80,7 @@ const Notification = () => {
draggable
pauseOnHover
/>
- )
-}
+ );
+};
-export default Notification
+export default Notification;
diff --git a/src/components/common/VideoPlayer/Components/MobileControlsBar.tsx b/src/components/common/VideoPlayer/Components/MobileControlsBar.tsx
index 81a677b..f3e4350 100644
--- a/src/components/common/VideoPlayer/Components/MobileControlsBar.tsx
+++ b/src/components/common/VideoPlayer/Components/MobileControlsBar.tsx
@@ -14,9 +14,15 @@ import {
} from "./VideoControls.tsx";
export const MobileControlsBar = () => {
- const { handleMenuOpen, handleMenuClose, anchorEl } = useVideoContext();
+ const { handleMenuOpen, handleMenuClose, anchorEl, controlsHeight } =
+ useVideoContext();
- const controlGroupSX = { display: "flex", gap: "5px", alignItems: "center" };
+ const controlGroupSX = {
+ display: "flex",
+ gap: "5px",
+ alignItems: "center",
+ height: controlsHeight,
+ };
return (
<>
@@ -36,7 +42,7 @@ export const MobileControlsBar = () => {
color="inherit"
aria-label="menu"
onClick={handleMenuOpen}
- sx={{ minWidth: "30px", paddingLeft: "0px" }}
+ sx={{ paddingLeft: "0px", marginRight: "0px" }}
>
diff --git a/src/components/common/VideoPlayer/Components/VideoControls-State.ts b/src/components/common/VideoPlayer/Components/VideoControls-State.ts
index 838c079..fa1119f 100644
--- a/src/components/common/VideoPlayer/Components/VideoControls-State.ts
+++ b/src/components/common/VideoPlayer/Components/VideoControls-State.ts
@@ -42,6 +42,7 @@ export const useVideoControlsState = (
(state: RootState) => state.global.videoPlaying
);
+ const controlsHeight = "42px";
const minSpeed = 0.25;
const maxSpeed = 4.0;
const speedChange = 0.25;
@@ -372,5 +373,6 @@ export const useVideoControlsState = (
isFullscreen,
toggleObjectFit,
setObjectFit,
+ controlsHeight,
};
};
diff --git a/src/components/common/VideoPlayer/Components/VideoControls.tsx b/src/components/common/VideoPlayer/Components/VideoControls.tsx
index d655279..6ec6f3d 100644
--- a/src/components/common/VideoPlayer/Components/VideoControls.tsx
+++ b/src/components/common/VideoPlayer/Components/VideoControls.tsx
@@ -15,13 +15,17 @@ import {
} from "@mui/icons-material";
import { useSignalEffect } from "@preact/signals-react";
+const buttonPaddingBig = "6px";
+const buttonPaddingSmall = "4px";
+
export const PlayButton = () => {
- const { togglePlay, playing } = useVideoContext();
+ const { togglePlay, playing, isScreenSmall } = useVideoContext();
return (
togglePlay()}
>
@@ -32,12 +36,13 @@ export const PlayButton = () => {
};
export const ReloadButton = () => {
- const { reloadVideo } = useVideoContext();
+ const { reloadVideo, isScreenSmall } = useVideoContext();
return (
@@ -164,6 +169,7 @@ export const VolumeControl = ({ sliderWidth }: { sliderWidth: string }) => {
);
};
+
export const PlaybackRate = () => {
const { playbackRate, increaseSpeed, isScreenSmall } = useVideoContext();
return (
@@ -175,22 +181,37 @@ export const PlaybackRate = () => {
increaseSpeed()}
>
-
- {playbackRate}x
-
+ {playbackRate}x
+
+
+ );
+};
+
+export const ObjectFitButton = () => {
+ const { toggleObjectFit, isScreenSmall } = useVideoContext();
+ return (
+
+ toggleObjectFit()}
+ >
+
);
};
export const PictureInPictureButton = () => {
- const { isFullscreen, toggleRef, togglePictureInPicture } = useVideoContext();
+ const { isFullscreen, toggleRef, togglePictureInPicture, isScreenSmall } =
+ useVideoContext();
return (
<>
{!isFullscreen.value && (
@@ -202,6 +223,7 @@ export const PictureInPictureButton = () => {
{
);
};
-export const ObjectFitButton = () => {
- const { toggleObjectFit } = useVideoContext();
- return (
-
- toggleObjectFit()}
- >
-
-
-
- );
-};
-
export const FullscreenButton = () => {
- const { toggleFullscreen } = useVideoContext();
+ const { toggleFullscreen, isScreenSmall } = useVideoContext();
return (
toggleFullscreen()}
>
diff --git a/src/components/common/VideoPlayer/Components/VideoControlsBar.tsx b/src/components/common/VideoPlayer/Components/VideoControlsBar.tsx
index 2aa5663..ad938f8 100644
--- a/src/components/common/VideoPlayer/Components/VideoControlsBar.tsx
+++ b/src/components/common/VideoPlayer/Components/VideoControlsBar.tsx
@@ -15,11 +15,10 @@ import {
} from "./VideoControls.tsx";
export const VideoControlsBar = () => {
- const { from, canPlay, showControlsFullScreen, isScreenSmall, progress } =
- useVideoContext();
+ const { canPlay, isScreenSmall, controlsHeight } = useVideoContext();
const showMobileControls = isScreenSmall && canPlay.value;
- const controlsHeight = "42px";
+
const controlGroupSX = {
display: "flex",
gap: "5px",