Skip to content

Show a one-sentence description for each app in the /edit app store - #23

Open
MetzinAround with Copilot wants to merge 3 commits into
mainfrom
copilot/update-edit-page-app-descriptions
Open

MetzinAround with Copilot wants to merge 3 commits into
mainfrom
copilot/update-edit-page-app-descriptions

Conversation

Copilot AI commented Sep 11, 2026

Copy link
Copy Markdown

The app store list on /edit/ showed only an icon, a name, and an Add button, so visitors had no idea what an app does before pushing it to their badge. This wires the existing app descriptions from the apps content collection into that list.

src/pages/edit.astro

  • Reads the apps content collection at build time and passes an appDescriptions map to BadgeManager.
  • Keys each description by both the content slug and the badge folder name from fileLocation, since the catalog folders in badger/home don't always match the slug (monaquestquest, flappymonaflappy).

src/components/badge-manager.tsx

  • BadgeManager takes an optional appDescriptions prop; loadStore attaches the matching description to each StoreApp.
  • The store card renders the description below the title/Add row, visually subordinate at text-xs text-muted-foreground. Apps with no match render exactly as before.
<BadgeManager appDescriptions={appDescriptions} client:load />

Copy is reused verbatim from existing app metadata, so descriptions stay in sync with /apps/ and nothing new was invented. No new components, tokens, or styles.

Review feedback not applied

  • Extracting a StoreAppCard component and restyling the card title to monospace uppercase: a broader refactor of the existing dense inline markup in badge-manager.tsx, worth doing separately.
  • Adding appDescriptions to a dependency array: loadStore is a plain per-render function, and the prop is static build-time data.

Copilot AI and others added 2 commits September 11, 2026 20:19
Co-authored-by: MetzinAround <65838556+MetzinAround@users.noreply.github.com>
Co-authored-by: MetzinAround <65838556+MetzinAround@users.noreply.github.com>
Copilot AI changed the title [WIP] Update app descriptions on /edit/ page Show a one-sentence description for each app in the /edit app store Sep 11, 2026
Copilot AI requested a review from MetzinAround September 11, 2026 20:20
@MetzinAround
MetzinAround marked this pull request as ready for review September 11, 2026 20:23
@MetzinAround
MetzinAround requested review from avni, crnicholson and martinwoodward and a lite review from Copilot September 11, 2026 20:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No unresolved blocking issues remain.

Pull request overview

Adds existing app descriptions to /edit/ app store cards.

Changes:

  • Builds description mappings by slug and badge folder name.
  • Passes descriptions to BadgeManager.
  • Displays descriptions for matching apps.
File summaries
File Description
src/pages/edit.astro Loads app metadata and creates description mappings.
src/components/badge-manager.tsx Attaches and displays app descriptions.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@crnicholson

Copy link
Copy Markdown
Contributor

Does this still dynamically fetch the apps on every page reload? If so, LGTM.

@MetzinAround

Copy link
Copy Markdown

@copilot Charlie asked "Does this still dynamically fetch the apps on every page reload? If so, LGTM." look thruogh and check that it does or doesn't, don't change anything yet.

Copilot AI commented Sep 13, 2026

Copy link
Copy Markdown
Author

@copilot Charlie asked "Does this still dynamically fetch the apps on every page reload? If so, LGTM." look thruogh and check that it does or doesn't, don't change anything yet.

Yes. BadgeManager calls loadStore() from its mount effect on every page load, and loadStore() calls fetchInstallableAppFolders(), which fetches the current badger/home GitHub tree at runtime. The new descriptions are the only build-time data.

@crnicholson crnicholson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants