Repository navigation
feat: integrate official ROMeo mascot artwork and site favicon - #15
Merged
Merged
Conversation
Replaces the generic gradient/cartridge placeholders with the official ROMeo mascot art across branding, hero, empty states, and error screens. Asset prep: the three square icons shipped on a pure-white page with a ~50px margin, which would have rendered as white tiles on the zinc-950 storefront. Each is trimmed, its white background flood-filled to transparent from the border (so interior whites like eyes and gloves survive), colour-bled to avoid a white halo on the anti-aliased edge, and downscaled to 512px. The banner is capped at 1200px wide. Total drops from ~4.2MB to ~1.9MB. - Layout.astro: favicon + apple-touch-icon now point at romeo-logo.png; adds an og:image (and alt) pointing at the banner for link previews. - Navbar.astro: the hand-drawn cartridge SVG is replaced by romeo-logo.png (36px, rounded, subtle cyan shadow, scale-up on hover). - index.astro: the hero becomes a two-column layout with the arcade-shop banner beside the tagline, framed by rounded borders and a soft cyan/purple bloom. Both empty states (server-rendered catalog-empty and the client-side no-filter-results panel) now show romeo-search.png with the "ROMeo couldn't find any extensions!" copy and a Publish an Extension CTA. - 404.astro (new): a real 404 route that sets Astro.response.status = 404 and shows romeo-error.png with "Whoops! ROMeo got lost in the bitstream (404)." and a Back to Safety button. - plugin/[id].astro and publisher/[id].astro: their not-found fallbacks swap the generic icon for romeo-error.png and the same bitstream copy, while keeping the distinct "unavailable" wording for genuine D1 failures (still 503). Verified against the built worker: all four PNGs serve 200 image/png, /404 and both detail-page 404s return the error art, the hero banner and navbar logo resolve, the client-side empty state renders on a no-match search, and npm run build is clean with npm test at 50/50. Co-authored-by: openhands <openhands@all-hands.dev>
|
Caution Review failedThe pull request is closed. Walkthrough
Merge Risk:
|
Deploying openrom-store with
|
| Latest commit: |
2a97376
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://b72919e5.openrom-store.pages.dev |
| Branch Preview URL: | https://feat-romeo-mascot-artwork.openrom-store.pages.dev |
This was referenced Nov 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
The official ROMeo mascot art is now used everywhere the storefront previously
fell back to a generic gradient tile or a hand-drawn cartridge icon.
favicon.svgromeo-logo.pngromeo-banner.png(og:image)romeo-logo.png, 36pxinboxiconromeo-search.png+ copysearch/wrenchiconromeo-error.png+ copyAsset preparation (this is the part worth reviewing)
The three square icons arrived on a pure-white page with a ~50px margin —
18% of every image. Dropped straight into the
zinc-950storefront they wouldhave rendered as white tiles.
Each icon is trimmed, its white background flood-filled to transparency from
the border inward — a plain "make white transparent" pass would have punched
holes through ROMeo's white eyes and gloves. The anti-aliased edge is then
colour-bled so semi-transparent pixels carry art colour instead of a white
halo, and the result is downscaled to 512px. The banner is capped at 1200px.
Total payload drops from ~4.2 MB to ~1.9 MB.
Files
src/layouts/Layout.astro— favicon, apple-touch-icon,og:image+ altsrc/components/Navbar.astro—romeo-logo.pngreplaces the cartridge SVGsrc/pages/index.astro— two-column hero with the banner; both empty states(server-rendered catalog-empty and the client-side no-filter-results panel)
now show
romeo-search.pngwith a Publish an Extension CTAsrc/pages/404.astro— new; a real 404 route (Astro.response.status = 404)src/pages/plugin/[id].astro,src/pages/publisher/[id].astro— not-foundfallbacks use
romeo-error.pngand the bitstream copyVerification
200 image/png/404and both detail-page 404sromeo-error.png, status 404npm run buildnpm testtsc --noEmitsrc/cleanOne judgement call
The detail pages keep two distinct fallbacks: a genuine D1 failure still says
"Plugin/Publisher unavailable" and returns 503, while a missing id says
"Whoops! ROMeo got lost in the bitstream (404)". ROMeo shows on both — only the
heading and status differ, because a database outage is not a wrong URL.
This pull request was created by an AI agent (OpenHands) on behalf of the user.
Summary by CodeRabbit