mirror of
https://github.com/sussy-code/smov.git
synced 2024-12-20 14:37:43 +01:00
add discover button at the allresults trigger
This commit is contained in:
parent
cfbdc62816
commit
f8f26a77c1
5 changed files with 23 additions and 14 deletions
|
@ -7203,7 +7203,6 @@ packages:
|
|||
|
||||
/workbox-google-analytics@7.0.0:
|
||||
resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
|
||||
deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained
|
||||
dependencies:
|
||||
workbox-background-sync: 7.0.0
|
||||
workbox-core: 7.0.0
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
"footer": {
|
||||
"legal": {
|
||||
"disclaimer": "Disclaimer ◝(ᵔᵕᵔ)◜",
|
||||
"disclaimerText": "Please note, sudo-flix does not host any files itself but instead only display's content from 3rd party providers. Legal issues should be taken up with them."
|
||||
"disclaimerText": "Please note: sudo-flix does not host any files itself but instead only display's content from 3rd party providers. Legal issues should be taken up with them."
|
||||
},
|
||||
"links": {
|
||||
"discord": "Discord",
|
||||
|
@ -292,7 +292,7 @@
|
|||
"copyHlsPlaylist": "Copy HLS playlist link",
|
||||
"downloadSubtitle": "Download current subtitle",
|
||||
"downloadVideo": "Download video",
|
||||
"hlsDisclaimer": "Downloads are taken directly from the provider. sudo-flix does not have control over how the downloads are provided.<br /><br />Please note that you are downloading an HLS playlist, <bold>it is not recommended to download if you are not familiar with advanced streaming formats</bold>. Try different sources for different formats.",
|
||||
"hlsDisclaimer": "Downloads are taken directly from the provider. sudo-flix does not have control over how the downloads are provided.<br /><br />Please note you are downloading an HLS playlist, <bold>it is not recommended to download if you are not familiar with advanced streaming formats</bold>. Try different sources for different formats.",
|
||||
"onAndroid": {
|
||||
"1": "To download on Android, click the download button then, on the new page, <bold>tap and hold</bold> on the video, then select <bold>save</bold>.",
|
||||
"shortTitle": "Download / Android",
|
||||
|
|
|
@ -18,7 +18,7 @@ function Question(props: { title: string; children: React.ReactNode }) {
|
|||
);
|
||||
}
|
||||
|
||||
function Button(props: {
|
||||
export function Button(props: {
|
||||
className: string;
|
||||
onClick?: () => void;
|
||||
children: React.ReactNode;
|
||||
|
|
|
@ -113,8 +113,8 @@ export function Discover() {
|
|||
[data.genres[i], data.genres[j]] = [data.genres[j], data.genres[i]];
|
||||
}
|
||||
|
||||
// Fetch only the first 6 TV show genres
|
||||
setTVGenres(data.genres.slice(0, 6));
|
||||
// Fetch only the first 5 TV show genres
|
||||
setTVGenres(data.genres.slice(0, 5));
|
||||
} catch (error) {
|
||||
console.error("Error fetching TV show genres:", error);
|
||||
}
|
||||
|
@ -252,7 +252,7 @@ export function Discover() {
|
|||
? `${category} Shows`
|
||||
: `${category} Movies`;
|
||||
return (
|
||||
<div className="relative overflow-hidden mt-2">
|
||||
<div className="relative overflow-hidden rounded-xl mt-2">
|
||||
<h2 className="text-2xl font-bold text-white sm:text-3xl md:text-2xl mx-auto pl-5">
|
||||
{displayCategory}
|
||||
</h2>
|
||||
|
@ -286,7 +286,7 @@ export function Discover() {
|
|||
<div className="relative transition-transform hover:scale-105 duration-[0.45s]">
|
||||
<Flare.Base className="group cursor-pointer rounded-xl relative p-[0.6em] bg-background-main transition-colors duration-300">
|
||||
<Flare.Light
|
||||
flareSize={250}
|
||||
flareSize={225}
|
||||
cssColorVar="--colors-mediaCard-hoverAccent"
|
||||
backgroundClass="bg-mediaCard-hoverBackground duration-200"
|
||||
className="rounded-xl bg-background-main group-hover:opacity-100"
|
||||
|
@ -381,8 +381,8 @@ export function Discover() {
|
|||
[data.genres[i], data.genres[j]] = [data.genres[j], data.genres[i]];
|
||||
}
|
||||
|
||||
// Fetch only the first 5 genres
|
||||
setGenres(data.genres.slice(0, 5));
|
||||
// Fetch only the first 4 genres
|
||||
setGenres(data.genres.slice(0, 4));
|
||||
} catch (error) {
|
||||
console.error("Error fetching genres:", error);
|
||||
}
|
||||
|
@ -396,8 +396,8 @@ export function Discover() {
|
|||
const fetchMoviesForGenre = async (genreId: number) => {
|
||||
try {
|
||||
const movies: any[] = [];
|
||||
for (let page = 1; page <= 6; page += 1) {
|
||||
// Fetch only 6 pages
|
||||
for (let page = 1; page <= 5; page += 1) {
|
||||
// Fetch only 5 pages
|
||||
const data = await get<any>("/discover/movie", {
|
||||
api_key: conf().TMDB_READ_API_KEY,
|
||||
with_genres: genreId.toString(),
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { useEffect, useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useAsyncFn } from "react-use";
|
||||
|
||||
import { searchForMedia } from "@/backend/metadata/search";
|
||||
|
@ -9,12 +10,13 @@ import { Icons } from "@/components/Icon";
|
|||
import { SectionHeading } from "@/components/layout/SectionHeading";
|
||||
import { MediaGrid } from "@/components/media/MediaGrid";
|
||||
import { WatchedMediaCard } from "@/components/media/WatchedMediaCard";
|
||||
import { Button } from "@/pages/About";
|
||||
import { SearchLoadingPart } from "@/pages/parts/search/SearchLoadingPart";
|
||||
import { MediaItem } from "@/utils/mediaTypes";
|
||||
|
||||
function SearchSuffix(props: { failed?: boolean; results?: number }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const navigate = useNavigate();
|
||||
const icon: Icons = props.failed ? Icons.WARNING : Icons.EYE_SLASH;
|
||||
|
||||
return (
|
||||
|
@ -30,7 +32,15 @@ function SearchSuffix(props: { failed?: boolean; results?: number }) {
|
|||
{!props.failed ? (
|
||||
<div>
|
||||
{(props.results ?? 0) > 0 ? (
|
||||
<>
|
||||
<p>{t("home.search.allResults")}</p>
|
||||
<Button
|
||||
className="px-py p-[0.3em] mt-3 text-type-dimmed box-content text-[16px] bg-largeCard-background text-buttons-secondaryText justify-center items-center"
|
||||
onClick={() => navigate("/discover")}
|
||||
>
|
||||
Discover more
|
||||
</Button>
|
||||
</>
|
||||
) : (
|
||||
<p>{t("home.search.noResults")}</p>
|
||||
)}
|
||||
|
|
Loading…
Reference in a new issue