Files
kmtnflower/src/index.html
T
robot e2356954ef
CI Pipeline / backend-test (push) Successful in 10m9s
CI Pipeline / frontend-build (push) Successful in 30s
CI Pipeline / backend-lint (push) Successful in 9s
CI Pipeline / frontend-test (push) Successful in 30s
CI Pipeline / backend-test (pull_request) Successful in 10m30s
CI Pipeline / frontend-test (pull_request) Successful in 25s
CI Pipeline / frontend-build (pull_request) Successful in 41s
CI Pipeline / backend-lint (pull_request) Successful in 9s
CI Pipeline / quality-gate (push) Successful in 3s
CI Pipeline / quality-gate (pull_request) Successful in 3s
feat(seo): Phase 3 — preload LCP image and reduce APP_INITIALIZER blocking
- Add <link rel="preload"> for hero background image (LCP element) in index.html
- Remove blocking APP_INITIALIZER for config.json and station config loading
- Config loads now fire asynchronously in App.ngOnInit() (browser only)
- SSR/prerender renders instantly with default config — no network wait
- Improves LCP, Time to First Byte, and initial paint for SEO
2026-08-06 21:29:30 +00:00

18 lines
610 B
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>KMountain Flower Radio</title>
<base href="/" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<!-- Preload hero background image (LCP element). The default SVG is inlined
here as a fallback; the runtime value from station config replaces it
dynamically after hydration. -->
<link rel="preload" as="image" href="svg/mountain-landscape.svg" />
</head>
<body>
<app-root></app-root>
</body>
</html>