diff --git a/src/pages/parts/home/HeroPart.tsx b/src/pages/parts/home/HeroPart.tsx
index 164b2711..015a09e7 100644
--- a/src/pages/parts/home/HeroPart.tsx
+++ b/src/pages/parts/home/HeroPart.tsx
@@ -9,6 +9,7 @@ import { HeroTitle } from "@/components/text/HeroTitle";
import { useIsTV } from "@/hooks/useIsTv";
import { useRandomTranslation } from "@/hooks/useRandomTranslation";
import { useSearchQuery } from "@/hooks/useSearchQuery";
+import { conf } from "@/setup/config";
import { useBannerSize } from "@/stores/banner";
export interface HeroPartProps {
@@ -99,6 +100,27 @@ export function HeroPart({ setIsSticky, searchParams }: HeroPartProps) {
+
+ {/* Optional ad */}
+ {conf().SHOW_AD ? (
+
+ ) : null}
+ {/* End of ad */}
);
}
diff --git a/src/setup/config.ts b/src/setup/config.ts
index f97b8a48..ac1c1ff7 100644
--- a/src/setup/config.ts
+++ b/src/setup/config.ts
@@ -25,6 +25,8 @@ interface Config {
ONBOARDING_PROXY_INSTALL_LINK: string;
ALLOW_AUTOPLAY: boolean;
ALLOW_FEBBOX_KEY: boolean;
+ SHOW_AD: boolean;
+ AD_CONTENT_URL: string;
}
export interface RuntimeConfig {
@@ -46,6 +48,8 @@ export interface RuntimeConfig {
ONBOARDING_FIREFOX_EXTENSION_INSTALL_LINK: string | null;
ONBOARDING_PROXY_INSTALL_LINK: string | null;
ALLOW_FEBBOX_KEY: boolean;
+ SHOW_AD: boolean;
+ AD_CONTENT_URL: string[];
}
const env: Record = {
@@ -70,6 +74,8 @@ const env: Record = {
HAS_ONBOARDING: import.meta.env.VITE_HAS_ONBOARDING,
ALLOW_AUTOPLAY: import.meta.env.VITE_ALLOW_AUTOPLAY,
ALLOW_FEBBOX_KEY: import.meta.env.VITE_ALLOW_FEBBOX_KEY,
+ SHOW_AD: import.meta.env.VITE_SHOW_AD,
+ AD_CONTENT_URL: import.meta.env.VITE_AD_CONTENT_URL,
};
function coerceUndefined(value: string | null | undefined): string | undefined {
@@ -131,5 +137,10 @@ export function conf(): RuntimeConfig {
)
.filter((v) => v.length === 2), // The format is :,:
ALLOW_FEBBOX_KEY: getKey("ALLOW_FEBBOX_KEY", "false") === "true",
+ SHOW_AD: getKey("SHOW_AD", "false") === "true",
+ AD_CONTENT_URL: getKey("AD_CONTENT_URL", "")
+ .split(",")
+ .map((v) => v.trim())
+ .filter((v) => v.length > 0),
};
}