From 9497598754c5a810974c6040e78c295ff0a4ed6f Mon Sep 17 00:00:00 2001 From: real-zephex Date: Wed, 29 May 2024 01:00:42 +0530 Subject: =?UTF-8?q?=E2=9C=A8=20feat(series):=20rewrite=20series=20page=20a?= =?UTF-8?q?nd=20drop=20manga=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/components/header/header.jsx | 18 +-- src/app/page.jsx | 41 ++--- src/app/page.module.css | 9 ++ src/app/web-series/[id]/page.jsx | 144 ++++++----------- src/app/web-series/components/HomePageModules.jsx | 56 ------- src/app/web-series/components/descriptionTabs.jsx | 129 ++++++++++++++++ src/app/web-series/components/search.jsx | 57 +++++++ src/app/web-series/components/searchBar.jsx | 49 ------ src/app/web-series/components/searchResults.jsx | 35 ----- .../components/seriesSearchFormatter.jsx | 49 ++++++ src/app/web-series/components/videoPlayer.jsx | 100 ++++++------ src/app/web-series/page.jsx | 107 ++++++++++--- src/app/web-series/styles/info.module.css | 170 --------------------- src/app/web-series/styles/pages.module.css | 49 ------ src/app/web-series/styles/search.module.css | 80 ---------- src/app/web-series/styles/videoPlayer.module.css | 76 --------- src/app/web-series/styles/web-series.module.css | 4 - utils/movie_urls.js | 1 + 18 files changed, 445 insertions(+), 729 deletions(-) delete mode 100644 src/app/web-series/components/HomePageModules.jsx create mode 100644 src/app/web-series/components/descriptionTabs.jsx create mode 100644 src/app/web-series/components/search.jsx delete mode 100644 src/app/web-series/components/searchBar.jsx delete mode 100644 src/app/web-series/components/searchResults.jsx create mode 100644 src/app/web-series/components/seriesSearchFormatter.jsx delete mode 100644 src/app/web-series/styles/info.module.css delete mode 100644 src/app/web-series/styles/pages.module.css delete mode 100644 src/app/web-series/styles/search.module.css delete mode 100644 src/app/web-series/styles/videoPlayer.module.css delete mode 100644 src/app/web-series/styles/web-series.module.css diff --git a/src/app/components/header/header.jsx b/src/app/components/header/header.jsx index c420888..104911b 100644 --- a/src/app/components/header/header.jsx +++ b/src/app/components/header/header.jsx @@ -8,33 +8,23 @@ export default async function Header() {

Dramalama

-
- -

Anime

Kdrama

- -

Manga

- - +

Series

Movies

-
+ */} + ); } diff --git a/src/app/page.jsx b/src/app/page.jsx index b6fdd75..9565872 100644 --- a/src/app/page.jsx +++ b/src/app/page.jsx @@ -2,7 +2,7 @@ import { Card, CardHeader, CardBody, Divider, Link } from "@nextui-org/react"; import Image from "next/image"; export default async function Home() { - const homePageCards = (title, message, url) => { + const homePageCards = (title) => { return ( // // @@ -27,41 +27,22 @@ export default async function Home() { // // // - -
- section image -

{title}

-
+ + + +

{title}

+
+
); }; return (
- {homePageCards( - "anime", - "Gravity of anime constant state of falling into the depths of happiness and joy", - "https://cdn3.iconfinder.com/data/icons/letters-and-numbers-1/32/letter_A_red-256.png" - )} - {homePageCards( - "kdrama", - "Infinity loop I'll watch just one k-drama, ok one more, ok wait...", - "https://cdn3.iconfinder.com/data/icons/letters-and-numbers-1/32/letter_K_red-512.png" - )} - {homePageCards( - "movies", - "Dive into a world of thrilling adventure and heart-pounding suspense", - "https://cdn3.iconfinder.com/data/icons/letters-and-numbers-1/32/letter_M_red-512.png" - )} + {homePageCards("anime")} + {homePageCards("movies")} + {homePageCards("kdrama")} + {homePageCards("web-series")}
); } diff --git a/src/app/page.module.css b/src/app/page.module.css index 6620bc9..4c14adf 100644 --- a/src/app/page.module.css +++ b/src/app/page.module.css @@ -5,4 +5,13 @@ .ScrollBarAdjuster::-webkit-scrollbar-thumb { background-color: rgb(95, 95, 95); border-radius: 1rem; +} + +.ScrollBarAdjuster2::-webkit-scrollbar { + height: 0.1rem; +} + +.ScrollBarAdjuster2::-webkit-scrollbar-thumb { + background-color: rgb(95, 95, 95); + border-radius: 1rem; } \ No newline at end of file diff --git a/src/app/web-series/[id]/page.jsx b/src/app/web-series/[id]/page.jsx index 3d36883..06902b1 100644 --- a/src/app/web-series/[id]/page.jsx +++ b/src/app/web-series/[id]/page.jsx @@ -1,111 +1,63 @@ -import Image from "next/image"; -import { SERIES_INFO, CREW_DETAILS } from "../components/data-fetch"; -import styles from "../styles/info.module.css"; -import { BiSolidUpvote } from "react-icons/bi"; -import { LiaStarSolid } from "react-icons/lia"; -import SeriesPlayer from "../components/videoPlayer"; +import { Image, Chip } from "@nextui-org/react"; + +import { SERIES_INFO } from "../components/data-fetch"; +import Questions from "@/app/movies/components/faqs"; +import SeriesDescriptionTabs from "../components/descriptionTabs"; +import SeriesVideoPlayer from "../components/videoPlayer"; const SeriesInfoPage = async ({ params }) => { - const id = params.id; - const data = await FetchSeriesInfo(id); - const crew_data = await CREW_DETAILS(id); + const { id } = params; + + const data = await SERIES_INFO(id); + return ( -
-
-
-
+
+
+ +
Series Poster -
-

{data.name}

-

- {data.original_name} -

-

- {data.tagline || "not found"} -

-

- {" "} - {data.overview} -

-
-

- Genres:{" "} - {data.genres.map((item, index) => ( - - {item.name} - {index !== data.genres.length - 1 && - ", "} - - ))} -

-

- Seasons: {data.number_of_seasons} -

-

- Episodes: {data.number_of_episodes} -

-
-
- {" "} -

{data.vote_count}

-
-
- {" "} -

{data.vote_average}

-
+ width={180} + height={300} + alt="Anime Title Poster" + className="m-2" + > +
+

+ {data.name} +

+
+ {data.genres && + data.genres.map((item, index) => ( + +

+ {item.name} +

+
+ ))}
-
-
-
-

Crew

-
- {crew_data && - crew_data.cast.map((item, index) => ( -
- Crew Poster -

{item.name}

-

- {item.character} -

-
- ))}
-
- -
- -
+
+ +
-
-
+ + ); }; -const FetchSeriesInfo = async (id) => { - const data = SERIES_INFO(id); - return data; -}; - export default SeriesInfoPage; diff --git a/src/app/web-series/components/HomePageModules.jsx b/src/app/web-series/components/HomePageModules.jsx deleted file mode 100644 index 91d90bf..0000000 --- a/src/app/web-series/components/HomePageModules.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import { POPULAR_SHOWS, TRENDING_SHOWS, TOP_SHOWS } from "./data-fetch"; -import styles from "../styles/pages.module.css"; -import Image from "next/image"; -import Link from "next/link"; -import PreFecthSeriesInfo from "./cacher"; - -const HomepageUtils = async (type) => { - const fetchFunctions = { - popular: POPULAR_SHOWS, - trending: TRENDING_SHOWS, - top: TOP_SHOWS, - }; - - const fetchData = fetchFunctions[type]; - - if (fetchData) { - return await fetchData(); - } else { - return; - } -}; - -const Pages = async ({ type: type }) => { - const data = await HomepageUtils(type); - PreFecthSeriesInfo(data); - return ( -
-

{type} series

-
- {data && - data.results.length > 0 && - data.results.map((item, index) => ( - -
- Series Poster -

{item.name || "Not sure"}

-
- - ))} -
-
- ); -}; - -export default Pages; diff --git a/src/app/web-series/components/descriptionTabs.jsx b/src/app/web-series/components/descriptionTabs.jsx new file mode 100644 index 0000000..ec6a78b --- /dev/null +++ b/src/app/web-series/components/descriptionTabs.jsx @@ -0,0 +1,129 @@ +"use client"; + +import { + Tabs, + Tab, + Card, + CardBody, + Link, + Image, + Chip, +} from "@nextui-org/react"; +import { FiThumbsUp } from "react-icons/fi"; +import { TiStarFullOutline } from "react-icons/ti"; + +import { lexend, atkinson } from "../../../../config/fonts"; + +export default function SeriesDescriptionTabs({ data: data }) { + return ( +
+ + + + + {data.overview || "No description found"} + + + + + + +

+ Tagline:{" "} + {data.tagline || "not sure"} +

+

+ Homepage:{" "} + + + {data.homepage || "not sure"} + + +

+

+ + Episodes: + {" "} + + {data.number_of_episodes || "not sure"} + +

+

+ + Seasons: + {" "} + + {data.number_of_seasons || "not sure"} + +

+

+ Status:{" "} + {data.status || "not sure"} +

+

+ Released on:{" "} + {data.first_air_date || "not sure"} +

+

+ + + + + {data.vote_count || "not sure"} + + + + + + {data.vote_average || "not sure"} + +

+
+
+
+ + + + {data.seasons && + data.seasons.map((item, index) => ( + + + +

+ {item.name} +

+ + {item.air_date + ? item.air_date + : "TBD "} + +
+
+ ))} +
+
+
+
+
+ ); +} diff --git a/src/app/web-series/components/search.jsx b/src/app/web-series/components/search.jsx new file mode 100644 index 0000000..ecf392c --- /dev/null +++ b/src/app/web-series/components/search.jsx @@ -0,0 +1,57 @@ +"use client"; + +import { useState } from "react"; +import { Input, Progress } from "@nextui-org/react"; + +import { SEARCH_TV } from "./data-fetch"; +import SeriesSearchFormatter from "./seriesSearchFormatter"; +import PreFecthSeriesInfo from "./cacher"; +// import { SearchMovie } from "./requestsHandler"; +// import MovieSearchFormatter from "./searchFormatter"; + +const SeriesSearchBar = () => { + const [seriesTitle, setSeriesTitle] = useState(""); + const [loading, setLoading] = useState(<>); + const [seriesResults, setSeriesResults] = useState(<>); + + async function handleInputChange() { + setLoading( + + ); + const data = await SEARCH_TV(seriesTitle); + PreFecthSeriesInfo(data); + setLoading(<>); + setSeriesResults(await SeriesSearchFormatter(data)); + } + + return ( +
+
+ { + if (event.target.value.trim() !== "") { + setSeriesTitle(event.target.value); + } + }} + onKeyDown={async (event) => { + if (event.key === "Enter" || event.code === "Enter") { + await handleInputChange(); + } + }} + /> + {loading} +
+
{seriesResults}
+
+ ); +}; + +export default SeriesSearchBar; diff --git a/src/app/web-series/components/searchBar.jsx b/src/app/web-series/components/searchBar.jsx deleted file mode 100644 index 42531bc..0000000 --- a/src/app/web-series/components/searchBar.jsx +++ /dev/null @@ -1,49 +0,0 @@ -"use client"; -import styles from "../styles/search.module.css"; -import { FaSearch } from "react-icons/fa"; -import { useState } from "react"; - -import { SEARCH_TV } from "./data-fetch"; -import SearchResults from "./searchResults"; - -const SearchBar = () => { - const [title, setTitle] = useState(""); - const [result, setResults] = useState(null); - const [loading, setloading] = useState(false); - - const fetch_results = async (title) => { - setloading(true); - setResults(await SearchResults(await SEARCH_TV(title))); - setloading(false); - }; - - return ( -
-
- - setTitle(event.target.value)} - onKeyDown={async (e) => { - if ((e.key === "Enter" || e.code === 13) && title) { - await fetch_results(e.target.value); - } - }} - > -
- - {loading && ( -

- Please wait while we crunch up all the data -

- )} -
{result}
-
- ); -}; - -export default SearchBar; diff --git a/src/app/web-series/components/searchResults.jsx b/src/app/web-series/components/searchResults.jsx deleted file mode 100644 index d1564e0..0000000 --- a/src/app/web-series/components/searchResults.jsx +++ /dev/null @@ -1,35 +0,0 @@ -"use server"; - -import Link from "next/link"; -import Image from "next/image"; -import styles from "../styles/search.module.css"; -import PreFecthSeriesInfo from "./cacher"; - -const SearchResults = async (data) => { - PreFecthSeriesInfo(data); - return ( -
- {data && - data.results.map((item, index) => ( - -
- Searched Series Poster -

{item.name}

-
- - ))} -
- ); -}; - -export default SearchResults; diff --git a/src/app/web-series/components/seriesSearchFormatter.jsx b/src/app/web-series/components/seriesSearchFormatter.jsx new file mode 100644 index 0000000..408e7c0 --- /dev/null +++ b/src/app/web-series/components/seriesSearchFormatter.jsx @@ -0,0 +1,49 @@ +import { Card, CardHeader, CardBody } from "@nextui-org/react"; +import Link from "next/link"; +import Image from "next/image"; + +import styles from "../../page.module.css"; + +const SeriesSearchFormatter = async (data) => { + return ( +
+ {data && + data.results.map((item, index) => { + if (item.poster_path) { + return ( + + + + Searched Movie Poster + + +

+ {item.name} +

+
+
+ + ); + } + })} +
+ ); +}; + +export default SeriesSearchFormatter; diff --git a/src/app/web-series/components/videoPlayer.jsx b/src/app/web-series/components/videoPlayer.jsx index cc8feb3..50a703d 100644 --- a/src/app/web-series/components/videoPlayer.jsx +++ b/src/app/web-series/components/videoPlayer.jsx @@ -1,66 +1,76 @@ "use client"; -import { useState } from "react"; -import styles from "../styles/videoPlayer.module.css"; +import { useEffect, useState } from "react"; -const SeriesPlayer = ({ id: id }) => { - const [iframe, iframeContent] = useState(null); - const [episode, setEpisode] = useState(""); - const [season, setSeason] = useState(""); +import { Input } from "@nextui-org/react"; - async function VideoPlayerInitialize() { - if (!episode || !season) { - alert("Please provide the required episode and season number."); +const SeriesVideoPlayer = ({ id: id }) => { + const [seasonNumber, setSeasonNumber] = useState(""); + const [episodeNumber, setEpisodeNumber] = useState(""); + const [videoFrame, setVideoFrame] = useState(<>); + + useEffect(() => { + setVideoFrame(VideoFrameGenerator(1, 1)); + }, []); + + const VideoFrameGenerator = (sea, epi) => { + return ( + + ); + }; + + function renderVideoFrame() { + if (seasonNumber === "" || episodeNumber === "") { + alert( + "Make sure that you have entered the episode number and the season number." + ); return; } - iframeContent(await iframeGenerator(id, season, episode)); - document.getElementById("video-player").style.display = "none"; + + setVideoFrame(VideoFrameGenerator(seasonNumber, episodeNumber)); } return ( -
-
- + {videoFrame} +
+ { - if (Number(e.target.value) > 0) { - setSeason(e.target.value); + isRequired + onChange={(event) => { + setSeasonNumber(event.target.value); + }} + onKeyDown={(event) => { + if (event.key === "Enter" || event.code === "Enter") { + renderVideoFrame(); } }} - > - + { - if (Number(e.target.value) > 0) { - setEpisode(e.target.value); + isRequired + onChange={(event) => { + setEpisodeNumber(event.target.value); + }} + onKeyDown={(event) => { + if (event.key === "Enter" || event.code === "Enter") { + renderVideoFrame(); } }} - > - - -
- -
- {iframe} -

- 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. -

+ />
-
+ ); }; -const iframeGenerator = async (id, seasonNumber, episodeNumber) => { - const url = `https://vidsrc.pro/embed/tv/${id}/${seasonNumber}/${episodeNumber}`; - return ; -}; - -export default SeriesPlayer; +export default SeriesVideoPlayer; diff --git a/src/app/web-series/page.jsx b/src/app/web-series/page.jsx index 63fcd05..1adac80 100644 --- a/src/app/web-series/page.jsx +++ b/src/app/web-series/page.jsx @@ -1,28 +1,85 @@ -import styles from "./styles/web-series.module.css"; -import Pages from "./components/HomePageModules"; -import SearchBar from "./components/searchBar"; +import { Card, CardHeader, CardBody } from "@nextui-org/react"; +import Image from "next/image"; +import Link from "next/link"; + +import { + TOP_SHOWS, + TRENDING_SHOWS, + POPULAR_SHOWS, +} from "./components/data-fetch"; +import PreFecthSeriesInfo from "./components/cacher"; +import SeriesSearchBar from "./components/search"; +import styles from "../page.module.css"; + +const SeriesHomepage = async () => { + const top_data = await TOP_SHOWS(); + const trending_data = await TRENDING_SHOWS(); + const popular_data = await POPULAR_SHOWS(); + + const dataToBeLoaded = [top_data, trending_data, popular_data]; + + for (let item of dataToBeLoaded) { + PreFecthSeriesInfo(item); + } + + const HomepageDataFormatter = (title, data) => { + return ( +
+

{title}

+ +
+ {data && + data.results.map((item, index) => ( + + + + Movie Poster + + +

+ {item.name} +

+
+
+ + ))} +
+
+ ); + }; -export default async function SeriesHomepage() { return ( -
- - -
- -
- -
+
+
+ +
+
+ {HomepageDataFormatter("Popular Series", popular_data)} +
+ {HomepageDataFormatter("Trending Series", trending_data)} +
+
+ {HomepageDataFormatter("Top Rated Series", top_data)} +
+
+
); -} +}; + +export default SeriesHomepage; diff --git a/src/app/web-series/styles/info.module.css b/src/app/web-series/styles/info.module.css deleted file mode 100644 index d60023d..0000000 --- a/src/app/web-series/styles/info.module.css +++ /dev/null @@ -1,170 +0,0 @@ -.Main { - margin-top: 60px; - -} - -.Main::-webkit-scrollbar { - width: 0; -} - -.AnimeInfo { - backdrop-filter: blur(10px); - background-color: #1f1f1fcb; - -} - -.AnimeInfoContainer { - width: 50%; - height: 100vh; - margin: 0px auto; -} - -.TitleContainer { - display: flex; - align-items: center; -} - -.TitleContainer img { - border-radius: 0.8rem; - padding: 0.5rem; -} - -.SideTitleContainer { - margin: 0.4rem; - color: white; -} - -.title { - margin: 0; -} - -.secondTitle { - margin: 0; - font-size: small; -} - -.tagline { - margin: 0; -} - -.tagline span { - background-color: #121212b7; - padding: 0.2rem; - border-radius: 0.5rem; - font-size: 12px; -} - -.description { - margin: 0.2rem 0 0 0; - height: auto; - max-height: 100px; - overflow: auto; -} - -.description::-webkit-scrollbar { - width: 3px; -} - -.description::-webkit-scrollbar-thumb { - background-color: var(--neon-yellow); - border-radius: 1rem; -} - - -.genres { - margin: 0; - color: var(--nord-yellow); -} - -.genres span { - color: white; -} - -.epiInfo { - margin: 0; - color: var(--nord-yellow); -} - -.epiInfo span { - color: white; -} - -.votes { - display: flex; -} - -.votes p { - margin: 0 0 0 0; -} - -.vote { - display: flex; - align-items: center; - margin: 0 0.2rem 0 0; -} - -.CrewContainer { - color: white; - margin-top: -1rem; -} - -.CrewEntry { - display: flex; - align-items: center; - overflow: auto; -} - -.CrewEntry h2 { - margin: 0; - color: white; -} - -.CastEntry { - display: flex; - flex-direction: column; - align-items: center; - margin: 0 0 0 0.4rem; -} - -.CastEntry img { - border-radius: 0.5rem; -} - -.CastEntry p { - margin: 0; - width: 140px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - text-align: center; -} - -.CrewEntry::-webkit-scrollbar { - height: 3px; -} - -.CrewEntry::-webkit-scrollbar-thumb { - background-color: var(--neon-yellow); - border-radius: 1rem; -} - - -@media screen and (max-width: 1024px) { - .AnimeInfoContainer { - width: 100%; - } - - .title { - font-size: 20px; - } - - .description { - font-size: 14px; - max-height: 100px; - overflow: auto; - } - - .SideTitleContainer { - font-size: 14px; - } -} \ No newline at end of file diff --git a/src/app/web-series/styles/pages.module.css b/src/app/web-series/styles/pages.module.css deleted file mode 100644 index 8f15de2..0000000 --- a/src/app/web-series/styles/pages.module.css +++ /dev/null @@ -1,49 +0,0 @@ -.main h2 { - color: white; - /* margin: 0.4rem 0 0 0; */ - text-transform: uppercase; - font-size: 30px; -} - -.SeriesContainer { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - grid-gap: 0.5rem; - align-items: center; - margin: -1rem 0 0 0; -} - -.SeriesEntry { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - background-color: #1f1f1fce; - border-radius: 0.5rem; - padding: 0.4rem; - color: white; - cursor: pointer; -} - -.SeriesEntry p { - width: 170px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - text-align: center; - margin: 0.3rem 0 0 0; - font-family: "Lexend Deca", serif; -} - -.SeriesEntry img { - border-radius: 0.5rem; -} - -@media screen and (max-width: 768px) { - .SeriesContainer { - display: flex; - align-items: center; - overflow-x: auto; - overflow-y: hidden; - } -} \ No newline at end of file diff --git a/src/app/web-series/styles/search.module.css b/src/app/web-series/styles/search.module.css deleted file mode 100644 index fdf46e3..0000000 --- a/src/app/web-series/styles/search.module.css +++ /dev/null @@ -1,80 +0,0 @@ -.InputContainer { - display: flex; - align-items: center; - background-color: #1f1f1f; - width: 40vw; - border-radius: 0.5rem; - padding: 0.4rem; -} - -.SearchIcon { - margin-left: 0.4rem; -} - -.InputContainer input { - background-color: transparent; - outline: none; - border: none; - padding: 0.4rem; - font-family: "Lexend Deca", serif; - font-size: 20px; - margin-left: 0.2rem; - font-size: large; - color: white; - width: 100%; -} - -.SearchedSeriesContainer { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); - grid-gap: 0.7rem; - align-items: center; - margin-top: 0.8rem; -} - -.SearchedSeriesEntry { - display: flex; - align-items: center; - flex-direction: column; - background-color: #1f1f1f; - border-radius: 0.5rem; - padding: 0.2rem; - transition: opacity 200ms ease; - -} - -.SearchedSeriesContainer:hover .SearchedSeriesEntry { - opacity: 0.5; -} - -.SearchedSeriesContainer .SearchedSeriesEntry:hover { - opacity: 1; -} - -.SearchedSeriesEntry p { - width: 150px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - text-align: center; - margin: 0.2rem 0 0.2rem 0; -} - -.SearchedSeriesEntry img { - border-radius: 0.5rem; - padding: 0.2rem 0.2rem 0 0.2rem; -} - -@media screen and (max-width: 768px) { - - .InputContainer { - width: 100%; - } - - .SearchedSeriesContainer { - display: flex; - overflow: auto; - } - - -} \ No newline at end of file diff --git a/src/app/web-series/styles/videoPlayer.module.css b/src/app/web-series/styles/videoPlayer.module.css deleted file mode 100644 index f44776f..0000000 --- a/src/app/web-series/styles/videoPlayer.module.css +++ /dev/null @@ -1,76 +0,0 @@ -.Main { - margin: 1.5rem 0 0 0; -} - -.EpisodeSeasonInput { - display: flex; - align-items: center; - justify-content: center; -} - -.EpisodeSeasonInput input { - padding: 0.6rem; - margin: 0 0.2rem 0 0.2rem; - border: none; - outline: none; - background-color: #121212a6; - border-radius: 0.5rem; - font-family: "Lexend Deca", serif; - color: white; -} - -.EpisodeSeasonInput button { - padding: 0.5rem; - border: none; - outline: none; - border-radius: 0.5rem; - background-color: #121212a6; - color: white; - cursor: pointer; - font-family: "Atkinson Hyperlegible", serif; -} - - -.EpisodeSeasonInput input::placeholder { - color: gray; -} - -.VideoPlayer iframe { - margin: 1rem 0 2.5rem 0; - width: 100%; - height: 400px; - border-radius: 0.5rem; - border: none; - outline: none; -} - -.VideoPlayer p { - color: white; - margin: 0.5rem 0 0 0; - text-align: center; - font-size: 12px; -} - -@media screen and (max-width: 768px) { - - .EpisodeSeasonInput { - width: 80%; - margin: 0px auto; - } - - .VideoPlayer iframe { - width: 100%; - height: 300px; - margin-bottom: 50px; - } - - .EpisodeSeasonInput input { - padding: 0.4rem; - } - - .EpisodeSeasonInput button { - padding: 0.3rem 0.4rem 0.3rem 0.4rem; - font-size: 14px; - } - -} \ No newline at end of file diff --git a/src/app/web-series/styles/web-series.module.css b/src/app/web-series/styles/web-series.module.css deleted file mode 100644 index 849fed9..0000000 --- a/src/app/web-series/styles/web-series.module.css +++ /dev/null @@ -1,4 +0,0 @@ -.main { - margin: 65px auto; - width: 99%; -} \ No newline at end of file diff --git a/utils/movie_urls.js b/utils/movie_urls.js index b99675a..e8707c4 100644 --- a/utils/movie_urls.js +++ b/utils/movie_urls.js @@ -18,3 +18,4 @@ export const TOP_RATED = `${PROXY}https://api.themoviedb.org/3/movie/top_rated?a export const UPCOMING_MOVIES = `${PROXY}https://api.themoviedb.org/3/movie/upcoming?api_key=${API_KEY}`; export const NOW_IN_THEATERS = `${PROXY}https://api.themoviedb.org/3/movie/now_playing?api_key=${API_KEY}`; + -- cgit v1.2.3