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 ? ( +
+ {conf().AD_CONTENT_URL.length !== 0 ? ( + + ad for zaccounts + + ) : null} +

+ + Your ad here (づ ᴗ _ᴗ)づ♡ + +

+
+ ) : 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), }; }