Skip to content

feat(homepage): grouping apps by role#408

Merged
taterhead247 merged 3 commits into
devfrom
feat/homepage-app-groups
Jun 7, 2026
Merged

feat(homepage): grouping apps by role#408
taterhead247 merged 3 commits into
devfrom
feat/homepage-app-groups

Conversation

@taterhead247

@taterhead247 taterhead247 commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

This pull request restructures how apps are displayed on the homepage by grouping them into themed categories for improved organization and clarity. Instead of a single flat list, apps are now organized into groups such as "Everyday Use," "Region Admins," and "Developers," each with its own title and description. The rendering logic is updated to display these groups and their respective apps.

Homepage App Organization:

  • Introduced a new AppGroup interface and replaced the flat APPS array with a grouped APP_GROUPS array, categorizing apps into themed sections.
  • Updated the homepage rendering logic to iterate over APP_GROUPS, displaying each group with its title, description, and the corresponding apps in a grid layout.

App Reassignment and Grouping:

  • Moved the "Admin" app from the general list to the new "Region Admins" group, and similarly reassigned the "Org Chart," "Slack Bot," and "Status" apps to their appropriate groups [1] [2] [3] [4].

Summary by CodeRabbit

  • Refactor
    • Homepage apps reorganized into grouped sections with a title, description, and a grid of app cards per group for improved navigation and discoverability.
    • App card headings reduced in prominence for a clearer visual hierarchy.
  • Documentation
    • README updated with instructions for adding apps using the new grouped structure and field guidance.

@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Replaces a flat APPS array with grouped APP_GROUPS (title, description, apps). HomePage now renders one section per group and maps each group's apps to AppCard; AppCard computes resolvedHref from production href, optional localHref, and NEXT_PUBLIC_LOCAL_DEV, and card titles are changed to h3.

Changes

Homepage app list reorganization

Layer / File(s) Summary
Grouped data structure, types, and docs
apps/homepage/src/app/page.tsx, apps/homepage/README.md
Introduce AppGroup/NavigableApp/InformationalApp types, replace flat APPS with APP_GROUPS (group title, description, non-empty apps). Add dev-time checks for duplicate group titles and duplicate app names per group; update README to document editing APP_GROUPS and per-app fields (localHref, linkLabel).
AppCard link resolution and markup
apps/homepage/src/app/page.tsx
AppCard computes resolvedHref from app.href, optional app.localHref, and NEXT_PUBLIC_LOCAL_DEV; card title element changed from h2 to h3.
Render grouped sections and per-group grids
apps/homepage/src/app/page.tsx
HomePage renders each APP_GROUPS entry as a section (heading + description) and a grid of that group's AppCards instead of a single grid over APPS.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • pstaylor-patrick
  • dnishiyama
  • evanpetzoldt
  • BigGillyStyle

"A rabbit hops through grouped arrays bright,
Cards now gather by title and light,
Local links check the dev flag's cheer,
Headings shrink to h-three, clear and near,
Hooray — organized gardens of apps appear!"

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: restructuring the homepage to group apps by role/category instead of displaying them as a flat list.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/homepage-app-groups

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@taterhead247

Copy link
Copy Markdown
Contributor Author

@CodeRabbit review

@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copilot AI 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.

Pull request overview

This PR updates the homepage “apps” section to present the F3 Nation ecosystem as role-based groups (instead of a single flat list), improving scanability and helping users find the right tools faster.

Changes:

  • Introduced an AppGroup model and replaced the flat APPS list with grouped APP_GROUPS.
  • Updated the homepage UI to render grouped sections (title + description) and then each group’s apps in a grid.

Comment thread apps/homepage/src/app/page.tsx
Comment thread apps/homepage/src/app/page.tsx

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/homepage/src/app/page.tsx`:
- Around line 19-117: The README still documents the old flat APPS shape; update
the README to describe the new APP_GROUPS structure (symbol: APP_GROUPS) showing
top-level keys title and description and an apps array, and update the example
app entry shape to include app fields name, description, href (optional),
localHref (optional), and linkLabel (optional) instead of the old APPS entries;
remove or note that APPS is deprecated and provide a small example of one group
with an apps array to match the code.
- Around line 208-217: The grouped sections render group titles as <h2> in
page.tsx (APP_GROUPS map), but individual app entries inside AppCard also use
<h2>, breaking heading hierarchy; update the AppCard component to render app
names at one level deeper (use <h3> instead of <h2>) or add a configurable prop
(e.g., headingLevel) so callers in page.tsx can render group titles as h2 and
AppCard titles as h3, ensuring semantic heading order and accessibility.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 69fc244a-3992-458f-9302-e5ce996b9b1e

📥 Commits

Reviewing files that changed from the base of the PR and between 0a7c904 and 7d245a7.

📒 Files selected for processing (1)
  • apps/homepage/src/app/page.tsx

Comment thread apps/homepage/src/app/page.tsx
Comment thread apps/homepage/src/app/page.tsx
@taterhead247 taterhead247 marked this pull request as ready for review June 5, 2026 21:08
@taterhead247 taterhead247 linked an issue Jun 5, 2026 that may be closed by this pull request
Comment thread apps/homepage/src/app/page.tsx
Comment thread apps/homepage/src/app/page.tsx Outdated
Comment thread apps/homepage/src/app/page.tsx
Comment thread apps/homepage/src/app/page.tsx
@BigGillyStyle

Copy link
Copy Markdown
Collaborator

Pulled down the branch locally and really like the new grouping. Claude Code had some nitpicky code suggestions that you are free to implement or not.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/homepage/README.md (1)

51-51: 🧹 Nitpick | 🔵 Trivial | 💤 Low value

Consider documenting the optional NEXT_PUBLIC_LOCAL_DEV environment variable.

The statement "No environment variables are required" is technically correct—the app runs without any env vars. However, setting NEXT_PUBLIC_LOCAL_DEV=true (see apps/homepage/.env.local.example) enables local dev mode, redirecting app card links to localhost ports for in-monorepo navigation. Mentioning this optional enhancement would help developers discover the feature.

Suggested addition

Add after line 51:

To enable local development links (redirect app cards to localhost ports instead of production URLs), copy `.env.local.example` to `.env.local`:

```bash
cp .env.local.example .env.local

Set NEXT_PUBLIC_LOCAL_DEV=true to activate local hrefs.


</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @apps/homepage/README.md at line 51, Update the README statement in the
homepage docs to mention the optional local dev switch alongside the existing
“no environment variables are required” note. In the README section around the
app setup guidance, add a brief note that copying .env.local.example to
.env.local and setting NEXT_PUBLIC_LOCAL_DEV=true enables local links for
app cards. Keep the explanation tied to the homepage app’s local navigation
behavior and reference the NEXT_PUBLIC_LOCAL_DEV setting so developers can
find the feature easily.


</details>

<!-- cr-comment:v1:70a7dfcb4b19c3e19a77342d -->

</blockquote></details>

</blockquote></details>
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/homepage/src/app/page.tsx`:
- Around line 27-28: The JSDoc above the apps property contradicts its type:
change the comment to reflect that apps: [App, ...App[]] enforces at least one
app (so an empty group is impossible). Update the JSDoc for the apps field (the
comment referencing an empty group rendering a heading with no cards) to state
that at least one app is required or remove the empty-group wording so it
matches the apps: [App, ...App[]] declaration.

---

Outside diff comments:
In `@apps/homepage/README.md`:
- Line 51: Update the README statement in the homepage docs to mention the
optional local dev switch alongside the existing “no environment variables are
required” note. In the README section around the app setup guidance, add a brief
note that copying `.env.local.example` to `.env.local` and setting
`NEXT_PUBLIC_LOCAL_DEV=true` enables local links for app cards. Keep the
explanation tied to the homepage app’s local navigation behavior and reference
the `NEXT_PUBLIC_LOCAL_DEV` setting so developers can find the feature easily.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8e67b200-dc27-4f7f-9117-626ae777ecac

📥 Commits

Reviewing files that changed from the base of the PR and between 7d245a7 and cb50dfe.

📒 Files selected for processing (2)
  • apps/homepage/README.md
  • apps/homepage/src/app/page.tsx

Comment thread apps/homepage/src/app/page.tsx
@taterhead247 taterhead247 merged commit 9a3d91f into dev Jun 7, 2026
7 checks passed
@taterhead247 taterhead247 deleted the feat/homepage-app-groups branch June 7, 2026 01:16
This was referenced Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

feat: group apps on homepage

3 participants