- {redux_featured ? (
+ {/* {redux_featured ? (
Featured Movie
- ) : null}
+ ) : null} */}
{redux_featured ? (
{
- async function getCoDetails() {
- try {
- const movieData = await media.getCompany(pid);
- const moviesLookup = await media.lookup('movie', 1, {
- with_companies: pid,
- });
- setCoData(movieData);
- setQuery({
- with_companies: pid,
- });
- setMovies(moviesLookup.results);
- setTotal(moviesLookup.totalPages);
- setFeaturedMovie(moviesLookup.results[0]);
- } catch (e) {
- console.log(e);
- setCoData('error');
- }
- }
-
- getCoDetails();
- }, [pid]);
-
- useEffect(() => {
- async function loadMore() {
- if (loadingMore || !query || page === total) return;
- setLoadingMore(true);
- const moviesLookup = await media.lookup('movie', page + 1, query);
- setMovies([...movies, ...moviesLookup.results]);
- setPage(page + 1);
- setLoadingMore(false);
- }
-
- function handleScroll() {
- if (
- window.innerHeight * 2 + window.scrollY >=
- document.body.offsetHeight
- ) {
- // you're at the bottom of the page
- loadMore();
- }
- }
-
- window.addEventListener('scroll', handleScroll);
-
- return () => {
- window.removeEventListener('scroll', handleScroll);
- };
- }, [loadingMore, query, page, total, movies]);
-
- if (!coData) return
;
-
- if (coData === 'error') return
;
-
- return (
-
-
-
-
-
-
- {coData.logo_path ? (
-
- ) : (
-
{coData.name}
- )}
-
-
-
-
- {featuredMovie ? (
-
- ) : null}
-
-
-
-
- );
-}
diff --git a/pkg/frontend/src/pages/tv/network/[pid].js b/pkg/frontend/src/pages/tv/network/[pid].js
deleted file mode 100644
index 847e89153..000000000
--- a/pkg/frontend/src/pages/tv/network/[pid].js
+++ /dev/null
@@ -1,130 +0,0 @@
-import { useEffect, useState } from 'react';
-import { LazyLoadImage } from 'react-lazy-load-image-component';
-import 'react-lazy-load-image-component/src/effects/opacity.css';
-import { useParams } from 'react-router-dom';
-
-import NotFound from '../../404';
-import Grid from '../../../components/grid';
-import Hero from '../../../components/hero';
-import { Loading } from '../../../components/loading';
-import Meta from '../../../components/meta';
-import media from '../../../services/media.service';
-import hero from '../../../styles/components/hero.module.scss';
-import styles from '../../../styles/views/company.module.scss';
-
-export default function Network({ newNotification }) {
- const [coData, setCoData] = useState(null);
- const [shows, setShows] = useState(false);
- const [total, setTotal] = useState(1);
- const [featuredShow, setFeaturedMovie] = useState(false);
- const { pid } = useParams();
- const [loadingMore, setLoadingMore] = useState(false);
- const [page, setPage] = useState(1);
- const [query, setQuery] = useState(null);
-
- useEffect(() => {
- async function getCoDetails() {
- try {
- const showData = await media.getNetwork(pid);
- const tvLookup = await media.companyLookup(
- 'show',
- 1,
- {
- with_networks: pid,
- },
- pid,
- );
- setCoData(showData);
- setShows(tvLookup.results);
- setTotal(tvLookup.totalPages);
- setQuery({
- with_networks: pid,
- });
- setFeaturedMovie(tvLookup.results[0]);
- } catch (e) {
- console.log(e);
- setCoData('error');
- }
- }
-
- getCoDetails();
- }, [pid]);
-
- useEffect(() => {
- async function loadMore() {
- if (loadingMore || !query || page === total) return;
- setLoadingMore(true);
- const showsLookup = await media.companyLookup(
- 'show',
- page + 1,
- query,
- pid,
- );
- setShows([...shows, ...showsLookup.results]);
- setPage(page + 1);
- setLoadingMore(false);
- }
-
- function handleScroll() {
- if (
- window.innerHeight * 2 + window.scrollY >=
- document.body.offsetHeight
- ) {
- // you're at the bottom of the page
- loadMore();
- }
- }
-
- window.addEventListener('scroll', handleScroll);
-
- return () => {
- window.removeEventListener('scroll', handleScroll);
- };
- }, [loadingMore, query, page, total, shows, pid]);
-
- if (!coData) return
;
-
- if (coData === 'error') return
;
-
- return (
-
-
-
-
-
-
- {coData.logo_path ? (
-
- ) : (
-
{coData.name}
- )}
-
-
-
-
- {featuredShow ? (
-
- ) : null}
-
-
-
-
- );
-}
diff --git a/pkg/frontend/src/styles/components/card.module.scss b/pkg/frontend/src/styles/components/card.module.scss
index e1a427db5..fe38aa534 100644
--- a/pkg/frontend/src/styles/components/card.module.scss
+++ b/pkg/frontend/src/styles/components/card.module.scss
@@ -441,7 +441,7 @@
svg {
width: 9px;
height: 9px;
- fill: var(--blue-dark-10);
+ fill: var(--blue-light-30);
}
}
}
diff --git a/pkg/frontend/src/styles/components/nav.module.scss b/pkg/frontend/src/styles/components/nav.module.scss
index 38c358bbb..69883c5b8 100644
--- a/pkg/frontend/src/styles/components/nav.module.scss
+++ b/pkg/frontend/src/styles/components/nav.module.scss
@@ -48,6 +48,17 @@
opacity: 1;
}
}
+
+ @media (min-width: $lg) {
+ &__block {
+ background: var(--grey);
+
+ &:after {
+ transition: none;
+ opacity: 0;
+ }
+ }
+ }
}
@media (min-width: $xxxl) {
@@ -169,16 +180,19 @@
outline: none !important;
cursor: pointer;
}
+ }
+ }
- a,
- button {
- margin-right: 60px;
- transition: color 0.3s ease;
+ &__item {
+ margin-right: 60px;
+ transition: color 0.3s ease;
- &:hover {
- color: var(--orange);
- }
- }
+ &:hover {
+ color: var(--orange);
+ }
+
+ &__active {
+ color: var(--orange) !important;
}
}
@@ -282,7 +296,7 @@
}
&__active {
- color: var(--orange);
+ color: var(--orange) !important;
span svg {
fill: var(--orange);
@@ -315,3 +329,76 @@
}
}
}
+
+.genre_menu {
+ position: fixed;
+ bottom: 59px;
+ left: 0;
+ width: 100%;
+ z-index: 500;
+ pointer-events: none;
+ height: calc(100svh - 59px - 66px);
+ overflow-y: auto;
+
+ @media (min-width: $lg) {
+ padding-top: 91px;
+ top: 0;
+ bottom: initial;
+ border-bottom: solid 1px var(--grey-light-20);
+ height: auto;
+ overflow: initial;
+ }
+
+ @media (min-width: $xxxl) {
+ padding-top: 130px;
+ }
+
+ &__inner {
+ position: relative;
+ border-top: solid 1px var(--grey-light-20);
+ background: var(--grey);
+ pointer-events: all;
+ }
+
+ &__content {
+ // position: absolute;
+ // top: 0;
+ // left: 200px;
+ // width: calc(100% - 400px);
+ width: 100%;
+ padding: calc(var(--spacing) * 2) 0 calc(var(--spacing) * 4);
+ border-radius: 10px;
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: calc(var(--spacing) * 2);
+
+ @media (min-width: $lg) {
+ grid-template-columns: 1fr 1fr;
+ gap: calc(var(--spacing) * 2);
+ }
+ }
+
+ &__col {
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: calc(var(--spacing) * 2);
+ }
+
+ &__links {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: calc(var(--spacing) * 1);
+
+ @media (min-width: $lg) {
+ grid-template-columns: 1fr 1fr 1fr;
+
+ a {
+ transition: color 0.3s ease;
+
+ &:hover {
+ color: var(--orange);
+ }
+ }
+ }
+ }
+}
diff --git a/pkg/frontend/src/styles/global/global.scss b/pkg/frontend/src/styles/global/global.scss
index 7b3c6adf2..8ba445b68 100644
--- a/pkg/frontend/src/styles/global/global.scss
+++ b/pkg/frontend/src/styles/global/global.scss
@@ -25,6 +25,8 @@
--blue: #006992;
--blue-dark-10: color-mix(in srgb, var(--blue), #000 10%);
--blue-dark-30: color-mix(in srgb, var(--blue), #000 30%);
+ --blue-light-10: color-mix(in srgb, var(--blue), #fff 10%);
+ --blue-light-30: color-mix(in srgb, var(--blue), #fff 30%);
--purple: #8700c5;
--purple-dark-30: color-mix(in srgb, var(--purple), #000 30%);
--font: 'Montserrat', sans-serif;
@@ -94,6 +96,11 @@ h5,
h6,
p {
margin: 0;
+ user-select: none;
+}
+
+img {
+ user-select: none;
}
hr {