fix video froms for cndition where we are serving free cdn video

This commit is contained in:
austinkelsay 2024-11-25 17:13:01 -06:00
parent abb30364d1
commit 0b97888031
No known key found for this signature in database
GPG Key ID: 44CB4EC6D9F2FA02
2 changed files with 9 additions and 0 deletions

View File

@ -20,6 +20,8 @@ const MDEditor = dynamic(
{ ssr: false }
);
const CDN_ENDPOINT = process.env.NEXT_PUBLIC_CDN_ENDPOINT;
const CombinedResourceForm = ({ draft = null, isPublished = false }) => {
const [title, setTitle] = useState(draft?.title || '');
const [summary, setSummary] = useState(draft?.summary || '');
@ -57,6 +59,8 @@ const CombinedResourceForm = ({ draft = null, isPublished = false }) => {
} else if (url.includes('vimeo.com')) {
const videoId = url.split('/').pop();
embedCode = `<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://player.vimeo.com/video/${videoId}" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>`;
} else if (price && !price > 0 && (url.includes('.mp4') || url.includes('.mov') || url.includes('.avi') || url.includes('.wmv') || url.includes('.flv') || url.includes('.webm'))) {
embedCode = `<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><video src="${CDN_ENDPOINT}/${url}" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" controls></video></div>`;
} else if (url.includes('.mp4') || url.includes('.mov') || url.includes('.avi') || url.includes('.wmv') || url.includes('.flv') || url.includes('.webm')) {
const baseUrl = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3000";
embedCode = `<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><video src="${baseUrl}/api/get-video-url?videoKey=${encodeURIComponent(url)}" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" controls></video></div>`;

View File

@ -12,6 +12,8 @@ import 'primeicons/primeicons.css';
import { Tooltip } from 'primereact/tooltip';
import 'primereact/resources/primereact.min.css';
const CDN_ENDPOINT = process.env.NEXT_PUBLIC_CDN_ENDPOINT;
// todo need to handle case where published video is being edited and not just draft
const VideoForm = ({ draft = null }) => {
const [title, setTitle] = useState(draft?.title || '');
@ -61,6 +63,9 @@ const VideoForm = ({ draft = null }) => {
const videoId = videoUrl.split('/').pop();
embedCode = `<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://player.vimeo.com/video/${videoId}" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>`;
}
else if (price && !price > 0 && (videoUrl.includes('.mp4') || videoUrl.includes('.mov') || videoUrl.includes('.avi') || videoUrl.includes('.wmv') || videoUrl.includes('.flv') || videoUrl.includes('.webm'))) {
embedCode = `<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><video src="${CDN_ENDPOINT}/${videoUrl}" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" controls></video></div>`;
}
else if (videoUrl.includes('.mp4') || videoUrl.includes('.mov') || videoUrl.includes('.avi') || videoUrl.includes('.wmv') || videoUrl.includes('.flv') || videoUrl.includes('.webm')) {
const baseUrl = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3000";
const videoEmbed = `<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><video src="${baseUrl}/api/get-video-url?videoKey=${encodeURIComponent(videoUrl)}" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" controls></video></div>`;