Repository navigation
feat(meetings): add the v2 meeting header and badge row - #3283
Conversation
PR SummaryLow Risk Overview The header adds project context (logo, name, foundation) with an optional control that sets foundation context and opens Supporting changes: shared Reviewed by Cursor Bugbot for commit 90258d0. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
@nunoeufrasio I'm starting review 1 of this pull request now (started 2026-10-05 16:30 UTC). This usually takes a few minutes — I'll update this comment with the summary when I'm done. Hi @nunoeufrasio, thanks for this PR. The header is a clean, well-scoped slice of E1-03. The component follows the existing patterns: SSR-guarded ⚪ Nit: 1 issue: Encode the committee uid in the href ✅ Approved ➡️ This auto-review agent is a preview. Please send feedback to @dealako. |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Header behavior still needs corrections for foundation context, past recurrence, clipboard failure feedback, and narrow-screen overflow.
Review effort: Balanced
Findings: 4
Open (4)
What changed in this PR
Adds the E1-03 header to the flag-gated meeting details V2 page, leaving V1 unchanged.
Changes:
- Adds project context, title, meeting and feature badges, and copy-link functionality.
- Integrates the header with component tests and scoped AI-icon colors.
- Updates documentation and requirement ownership for deferred rail content.
| File | Description |
|---|---|
| specs/011-meeting-details-redesign/v2-scaffold.md | Records tag-wrapper reuse. |
| specs/011-meeting-details-redesign/testid-contract.md | Defines header test identifiers. |
| specs/011-meeting-details-redesign/requirements.md | Updates requirement ownership. |
| specs/011-meeting-details-redesign/design-token-deviations.md | Documents AI-icon colors. |
| apps/lfx-one/src/app/modules/meetings/meeting-details-page/meeting-details-page.tokens.scss | Adds light and dark AI tokens. |
| apps/lfx-one/src/app/modules/meetings/meeting-details-page/meeting-details-page.component.ts | Imports the header component. |
| apps/lfx-one/src/app/modules/meetings/meeting-details-page/meeting-details-page.component.spec.ts | Tests header integration. |
| apps/lfx-one/src/app/modules/meetings/meeting-details-page/meeting-details-page.component.html | Replaces the placeholder header. |
| apps/lfx-one/src/app/modules/meetings/meeting-details-page/components/header/header.component.ts | Implements header behavior. |
| apps/lfx-one/src/app/modules/meetings/meeting-details-page/components/header/header.component.spec.ts | Tests rendering and interactions. |
| apps/lfx-one/src/app/modules/meetings/meeting-details-page/components/header/header.component.html | Renders context, badges, and copy control. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
61a49ea to
fb91cb4
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit fb91cb4. Configure here.
fb91cb4 to
e0a2312
Compare
Render the prototype's header on the v2 page: the project context (logo, name, foundation; opens the foundation overview), the title, and the badge row - recurrence, meeting type, committee chips linking to their group pages, and the Recording / Transcripts / YouTube Upload / AI summary badges, shown from their flags whatever the viewer's artifact access. Adds a --md-feature-ai token for the AI icon. Refs #1772 Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
Add copy link (as v1, password included when the payload has one), announce that the project link opens a new tab, drop the type chip for a None meeting type, state that feature badges reflect configuration rather than artifacts, cover the foundation fallbacks and server guard in specs, give the AI token its own deviation section, and move the organizer and timezone criteria to E2-01 and E1-06. Refs #1772 Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
Encode committee uids in their group links and bound long committee chips, show Recurring for past occurrences of a series, never mix a parent uid with the child's name and slug (no link when the parent is unresolved), and copy through ClipboardShareService so a failed write reports an error instead of a false success. Refs #1772 Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
A past record keeps the original uid in meeting_id with a composite id whether or not it repeats, so the series-uid check badged finished one-off meetings. Read the recurrence rule of the selected occurrence or the meeting instead. Theme the copy button with the v2 tokens. Refs #1772 Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
e0a2312 to
90258d0
Compare


Summary
E1-03: the prototype's meeting header on the V2 page.
Project context: logo, project name and foundation. It opens the foundation overview in a new tab after setting the foundation context, as V1's context chips do, and it says so to screen readers.
Title as the page
h1.Badge row, built on the
lfx-tagwrapper with V2 tokens (25px chips):None);/groups/{uid}in a new tab;E1-05's status pill and E1-04's privacy chip will take the front of the row.
Feature badges come from the
*_enabledflags alone, so they show at the reduced past-access tier too (FR-041).Copy link, as V1: the meeting link, including the password when the payload carries one, with a confirmation toast. FR-050 keeps copy link.
New token
--md-feature-aifor the AI icon (non-text), with a dark value and its own "Feature (non-text)" deviation section.Scope moved out, with owners
.ics.Test plan
Nonetype, committees, feature flags, copy link. The meetings suite passes: 763 tests.yarn lint:check,yarn check-types,yarn build(SSR),./check-headers.sh,yarn format:checkCloses #1772
Refs #1765, #3272, #1774, #1775
🤖 Generated with Claude Code