# @araharah/web The arah² Telegram Mini App — a MapLibre GL navigation shell built with Vite and TypeScript. It owns the three-source location acquisition chain, an in-memory-only session store, the Telegram WebApp integrations (theme slots, BackButton, safe-area insets), and the Rams chrome (status strip, boot/denied/signal-lost cards, recenter plate). Part of the [arah²](../README.md) monorepo (workspaces: `theme`, `bot`, `web`). Private package — not published to a registry. --- ## Install Installed through the monorepo root (npm workspaces), not standalone: ```bash # from the repository root npm install ``` `@araharah/theme` is a workspace dependency (`"@araharah/theme": "*"`), so the theme package must be built before this one: ```bash npm run build -w theme # emits theme/dist/rams.css (only) npm run basemap -w theme # separately emits theme/basemap/liberty-rams.json ``` --- ## Quick start ```bash npm run web:dev # vite dev server on :5173 (strictPort) ``` With no Telegram client present, `src/mock/telegram-mock.ts` installs a fake `window.Telegram.WebApp` automatically in dev (`import.meta.env.DEV`), so the shell boots to `LIVE` in a plain browser with the KL default fix. Without it, the app renders its denied card — still no blank screen. Production build (what the Worker serves): ```bash npm run web:build # theme build + vite build -> web/dist ``` --- ## Scripts Run from the package directory, or from the root with `npm run