diff options
| author | real-zephex <[email protected]> | 2024-05-19 08:08:57 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-05-19 08:08:57 +0530 |
| commit | a8e9ca0c14bcd6a8b2aa8cfe5b95a4e98dbcebfe (patch) | |
| tree | 98fa3f6cbdd690648c7d31a79c7d381624f38530 /src/app/web-series/components/videoPlayer.jsx | |
| parent | minor changes to the manga page (diff) | |
| parent | added series support (diff) | |
| download | dramalama-a8e9ca0c14bcd6a8b2aa8cfe5b95a4e98dbcebfe.tar.xz dramalama-a8e9ca0c14bcd6a8b2aa8cfe5b95a4e98dbcebfe.zip | |
Merge pull request #28 from real-zephex/improvement-2
added series support
Diffstat (limited to 'src/app/web-series/components/videoPlayer.jsx')
| -rw-r--r-- | src/app/web-series/components/videoPlayer.jsx | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/app/web-series/components/videoPlayer.jsx b/src/app/web-series/components/videoPlayer.jsx new file mode 100644 index 0000000..cc8feb3 --- /dev/null +++ b/src/app/web-series/components/videoPlayer.jsx @@ -0,0 +1,66 @@ +"use client"; + +import { useState } from "react"; +import styles from "../styles/videoPlayer.module.css"; + +const SeriesPlayer = ({ id: id }) => { + const [iframe, iframeContent] = useState(null); + const [episode, setEpisode] = useState(""); + const [season, setSeason] = useState(""); + + async function VideoPlayerInitialize() { + if (!episode || !season) { + alert("Please provide the required episode and season number."); + return; + } + iframeContent(await iframeGenerator(id, season, episode)); + document.getElementById("video-player").style.display = "none"; + } + + return ( + <main className={styles.Main}> + <div className={styles.EpisodeSeasonInput}> + <input + name="Season" + type="number" + placeholder="Season Number" + onChange={(e) => { + if (Number(e.target.value) > 0) { + setSeason(e.target.value); + } + }} + ></input> + <input + name="Episode" + type="number" + placeholder="Episode Number" + onChange={(e) => { + if (Number(e.target.value) > 0) { + setEpisode(e.target.value); + } + }} + ></input> + + <button onClick={() => VideoPlayerInitialize(id)}> + Search + </button> + </div> + + <div className={styles.VideoPlayer}> + {iframe} + <p id="video-player"> + Please use adblockers to prevent ads and redirects. We have + no control over the amount of ads or the type of ads which + you might encounter. + </p> + </div> + </main> + ); +}; + +const iframeGenerator = async (id, seasonNumber, episodeNumber) => { + const url = `https://vidsrc.pro/embed/tv/${id}/${seasonNumber}/${episodeNumber}`; + return <iframe src={url} allowFullScreen referrerPolicy="origin"></iframe>; +}; + +export default SeriesPlayer; |