mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
41 lines
1003 B
TypeScript
41 lines
1003 B
TypeScript
import React, { useEffect, useRef } from "react";
|
|
import classes from "./index.module.scss";
|
|
import { Props } from "..";
|
|
|
|
export const Video: React.FC<Props> = (props) => {
|
|
const { videoClassName, resource, onClick } = props;
|
|
|
|
const videoRef = useRef<HTMLVideoElement>(null);
|
|
|
|
useEffect(() => {
|
|
const { current: video } = videoRef;
|
|
if (video) {
|
|
video.addEventListener("suspend", () => {
|
|
// setShowFallback(true);
|
|
// console.warn('Video was suspended, rendering fallback image.')
|
|
});
|
|
}
|
|
}, []);
|
|
|
|
if (resource && typeof resource !== "string") {
|
|
const { filename } = resource;
|
|
|
|
return (
|
|
<video
|
|
playsInline
|
|
autoPlay
|
|
muted
|
|
loop
|
|
controls={false}
|
|
className={[classes.video, videoClassName].filter(Boolean).join(" ")}
|
|
onClick={onClick}
|
|
ref={videoRef}
|
|
>
|
|
<source src={`${process.env.NEXT_PUBLIC_API_URL}/media/${filename}`} />
|
|
</video>
|
|
);
|
|
}
|
|
|
|
return null;
|
|
};
|