diff --git a/.env.example b/.env.example index 67ba5076..18e0d1b1 100644 --- a/.env.example +++ b/.env.example @@ -27,6 +27,7 @@ VITE_LOGO_PATH=/src/assets/gpt-logo-white-transparent.svg VITE_FAVICON_PATH=/favicon.ico VITE_NETWORK_NAME=devnet VITE_NETWORK_SYMBOL=ETH +VITE_TITLE=bridge # OUTDATED NETWORK MODAL VITE_ENABLE_OUTDATED_NETWORK_MODAL=true diff --git a/src/adapters/env.ts b/src/adapters/env.ts index 2cf7c1c1..b128c40d 100644 --- a/src/adapters/env.ts +++ b/src/adapters/env.ts @@ -15,7 +15,7 @@ interface Env { VITE_ETHEREUM_FORCE_UPDATE_GLOBAL_EXIT_ROOT: string; VITE_ETHEREUM_PROOF_OF_EFFICIENCY_CONTRACT_ADDRESS: string; VITE_ETHEREUM_RPC_URL: string; - VITE_FAVICON_PATH: string; + VITE_FAVICON_PATH?: string; VITE_FIAT_EXCHANGE_RATES_API_KEY?: string; VITE_FIAT_EXCHANGE_RATES_API_URL?: string; VITE_FIAT_EXCHANGE_RATES_ETHEREUM_USDC_ADDRESS?: string; @@ -34,6 +34,7 @@ interface Env { VITE_REPORT_FORM_PLATFORM_ENTRY?: string; VITE_REPORT_FORM_URL?: string; VITE_REPORT_FORM_URL_ENTRY?: string; + VITE_TITLE: string; } type GetFiatExchangeRatesEnvParams = Pick< @@ -186,6 +187,7 @@ const envToDomain = ({ VITE_REPORT_FORM_PLATFORM_ENTRY, VITE_REPORT_FORM_URL, VITE_REPORT_FORM_URL_ENTRY, + VITE_TITLE, }: Env): Promise => { const polygonZkEVMNetworkId = z.coerce.number().positive().parse(VITE_POLYGON_ZK_EVM_NETWORK_ID); const isOutdatedNetworkModalEnabled = stringBooleanParser.parse( @@ -199,6 +201,7 @@ const envToDomain = ({ const faviconPath = VITE_FAVICON_PATH; const networkName = VITE_NETWORK_NAME; const networkSymbol = VITE_NETWORK_SYMBOL; + const title = VITE_TITLE; const outdatedNetworkModal: domain.Env["outdatedNetworkModal"] = isOutdatedNetworkModalEnabled ? { @@ -257,6 +260,7 @@ const envToDomain = ({ VITE_REPORT_FORM_URL, VITE_REPORT_FORM_URL_ENTRY, }), + title, }; }); }; @@ -274,7 +278,7 @@ const envParser = StrictSchema()( VITE_ETHEREUM_FORCE_UPDATE_GLOBAL_EXIT_ROOT: z.string(), VITE_ETHEREUM_PROOF_OF_EFFICIENCY_CONTRACT_ADDRESS: z.string().length(42), VITE_ETHEREUM_RPC_URL: z.string().url(), - VITE_FAVICON_PATH: z.string(), + VITE_FAVICON_PATH: z.string().optional(), VITE_FIAT_EXCHANGE_RATES_API_KEY: z.string().optional(), VITE_FIAT_EXCHANGE_RATES_API_URL: z.string().url().optional(), VITE_FIAT_EXCHANGE_RATES_ETHEREUM_USDC_ADDRESS: z.string().length(42).optional(), @@ -293,6 +297,7 @@ const envParser = StrictSchema()( VITE_REPORT_FORM_PLATFORM_ENTRY: z.string().optional(), VITE_REPORT_FORM_URL: z.string().optional(), VITE_REPORT_FORM_URL_ENTRY: z.string().optional(), + VITE_TITLE: z.string(), }) .transform(envToDomain) ); diff --git a/src/domain/index.ts b/src/domain/index.ts index 78894e86..618cc03f 100644 --- a/src/domain/index.ts +++ b/src/domain/index.ts @@ -68,7 +68,7 @@ export interface ReportFormEnvEnabled { export interface Env { bridgeApiUrl: string; chains: [EthereumChain, ZkEVMChain]; - faviconPath: string; + faviconPath?: string; fiatExchangeRates: | { areEnabled: false; @@ -96,6 +96,7 @@ export interface Env { url?: string; }; reportForm: ReportFormEnvEnabled | ReportFormEnvDisabled; + title: string; } export interface RouterState { diff --git a/src/views/helmet.tsx b/src/views/helmet.tsx index 533cca71..e59818eb 100644 --- a/src/views/helmet.tsx +++ b/src/views/helmet.tsx @@ -19,7 +19,7 @@ export const AppHead = () => { )} - Polygon zkEVM Bridge + {env?.title ? {env.title} : Polygon zkEVM Bridge} ); };