zurich_kotak/index.html
Yashas 42cfef12bf fix(build): add BASE_HREF placeholder + config.js tag to index.html
The build asserts on <!--BASE_HREF--> and placement fails without it, so
nothing was ever placed and nginx 404'd. The ./config.js tag is the other
half: it carries this environment's VITE_ZINO_API_URL, and without it
requireConfigValue throws and the app renders nothing even once served.

Order matters — the placeholder precedes the favicon href, or that
relative ref resolves against the wrong root once mounted.

Verified by simulating placement locally: filled the placeholder, wrote a
config.js beside the artifact, served it under /zurich-kotak/ and loaded
it. index.html, the JS bundle, config.js and the favicon all 200, the
login renders, and with config.js removed the root stays empty rather
than falling back to some other backend.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 15:47:26 +05:30

28 lines
1.2 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Placeholder the server rewrites into the document base tag for this
mount when it places the built artifact. The build asserts on its
presence, so removing it fails placement rather than shipping
something broken.
It must stay AHEAD of every relative URL in the document — the favicon
below resolves against it, and against the wrong root without it. -->
<!--BASE_HREF-->
<link rel="icon" type="image/webp" href="./brand/zurich_logo.webp" />
<title>Zurich Kotak | Lead Desk</title>
<!-- Written next to the artifact at placement; carries this environment's
VITE_ZINO_API_URL, which src/runtimeConfig.js reads off
window.__RUNTIME_CONFIG__. Without it requireConfigValue throws and the
app renders nothing — which is the intended failure, but only if the
tag is here to be filled. Vite leaves this non-module tag alone. -->
<script src="./config.js"></script>
</head>
<body>
<div id="root"></div>
<script type="module" src="./src/main.jsx"></script>
</body>
</html>