#!/usr/bin/env bash set -euo pipefail test -s index.html grep -q '' index.html grep -q 'id="frontend-version">__FRONTEND_VERSION__' index.html grep -q "request('/version')" index.html grep -Fq "credentials: 'same-origin'" index.html grep -q 'id="dialogue" aria-label="Dialoghistorik" role="log" aria-live="polite"' index.html grep -q 'id="message" name="message"' index.html grep -q "event.key === 'Enter' && !event.shiftKey" index.html grep -q "request('/api/character/draft'" index.html grep -q "request('/api/world/draft'" index.html grep -q "request('/api/dialogue'" index.html grep -q 'id="admin-view"' index.html grep -q '/api/admin/players?' index.html grep -q "request('/api/admin/prompts'" index.html grep -q "request('/api/admin/rules'" index.html grep -q '/api/admin/audit?limit=200' index.html grep -q "request('/api/world/start'" index.html grep -q "request('/api/character'" index.html grep -q 'location = /healthz' nginx/default.conf if grep -Eq 'id="(new-character|world-setup|shop|buy-offer|balance|inventory|place-heading|npc-heading)"|Platsens sinnesintryck|Ekonomi och ägodelar|Köp på platsen|id="status"|id="logout"' index.html; then echo 'The active player UI must not contain permanent data panels, forms, or action buttons.' >&2 exit 1 fi if sed -n '/
/p' index.html | grep -q '&2 exit 1 fi echo 'Frontend source checks passed.'