mirror of
https://github.com/hanzo-apps/templates.git
synced 2026-10-30 14:48:30 +00:00
The gallery could only search and deploy: a card had no way in, so the only way
to learn what an app actually was meant leaving for GitHub. Cards now open
#app=<id> — a real URL, so a specific app can be linked, shared and reloaded,
and Back closes it because the hash is the single source of truth for what is
open.
The panel answers what a tile cannot: which containers a deploy starts and
which images they pull, read from the blueprint's own docker-compose.yml rather
than restated from the catalog row. Verified against the real corpus — 400 of
400 blueprints parse, 812 services, none silently empty. A blueprint without
compose simply omits the section instead of implying nothing runs.
Two things the catalog needed and had nowhere to put:
- "Add it to your repo" — the markdown badge a maintainer pastes into their
README so their own users can deploy in one click. badge.svg ships here so
the snippet is not a dead link, and it carries no external font because
READMEs render where remote CSS is blocked.
- "Suggest an app" — submitting was previously undocumented; it is now a
prefilled issue from the catalog itself and from the footer.
Native <dialog>, so focus trapping, Esc and inertness are the platform's job.
Still no framework, still no innerHTML: the panel is built with the DOM API, so
a hostile description cannot inject.
Co-authored-by: Hanzo Dev <[email protected]>
735 B
735 B