Skip to content

feat(frontend): Razor/Next UI parity (#789, #790-#797) - #820

Merged
christopherpickering merged 3 commits into
devfrom
feat/issues-790-797-razor-next-ui-parity
Sep 24, 2026
Merged

christopherpickering merged 3 commits into
devfrom
feat/issues-790-797-razor-next-ui-parity

Conversation

@vbeni30

@vbeni30 vbeni30 commented Sep 20, 2026 •

Copy link
Copy Markdown

Summary

Closes the #789 Razor vs Next.js UI parity track via child issues #790–#797.

Child Issues

Test Plan

  • pnpm frontend:test — 143 tests pass
  • pnpm frontend:typecheck
  • Manual verification using demo admin:
    • Report 16
    • Collection 1
    • Group 2
    • User 2 (Maya Patel)
  • Compare Next.js :3001 against Razor :5000 for:
    • Reports list
    • Report detail
    • Report edit
    • Homepage Stars
    • Search with ?q=
    • Groups list
    • User profile default tab
    • Report profile analytics

Share settings nav/access helpers between layout and page so SSR loads only endpoints for visible tabs. Users without role or site-settings permissions no longer trigger a 403 fan-out on page load, and users with no settings access see an empty state instead of defaulting to the hidden roles tab.
Parent: #789. Delivers Next.js and Razor alignment for report detail/list/edit, homepage Stars, profile analytics resilience, user default tab, and Razor fixes for search (q alias), groups list, and reports list without id.

Includes component and server-action tests; frontend Vitest and typecheck pass.

@Seme30 Seme30 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.

Reviewed against parent #789 and children #790–#797. CI is green.

The parity slice itself looks complete enough to close those issues:

  • #790 — Report detail has section nav plus Description, Terms, Details, Query, Relationships, Maintenance, images, and a past-due banner. Details table covers exec visibility, hyperspace, fragility tags, orphaned, and owners.
  • #791 / #795 — /reports and /groups without id are list views on Next and Razor instead of 500 / not-found.
  • #792 — Edit is a Cancel / Description / Meta / Images / Maintenance / Complete wizard; seeded description fields load; meta lookups and maintenance log are in the form.
  • #793 — Folder / type / text filters, Shared With Me rail, and gold collection cards (has-shadow-gold on Razor collections).
  • #794 — Razor ?q= aliases Query, with tests.
  • #796 — Other-user profiles default to Report Runs, with a rendered UserPageTabs test.
  • #797 — Bar labels prefer key, percents format as 33%, term/collection loads keep a shell instead of a generic error.

P2 — not blocking #790–#797, but please handle before merge:

  1. This branch also contains a rebased copy of #808 (feat(settings): complete #802… and fix(settings): fetch only permission-visible panels #802). Those commits are not the same SHAs as #808. Merging both PRs will conflict. Either drop the settings commits here and rebase onto dev after #808, or close #808 as superseded by this PR.

  2. #796 overlaps open PR 804 (same default-tab change + test). Coordinate so only one lands.

  3. #797 DoD asked for term and collection load-failure coverage; loadProfileAnalyticsAction tests only the term path. Collection uses the same branch, so add a matching case.

  4. Razor /reports and /groups list paths have no function tests (search q does). Worth a 500-regression test on the missing-id path.

This does not close #801 (/users/settings is still rewritten in next.config.ts).

@christopherpickering
christopherpickering merged commit 69524d1 into dev Sep 24, 2026
12 checks passed
@Seme30 Seme30 mentioned this pull request Sep 28, 2026
7 tasks
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.

3 participants