Show turning age on birthday chips in Dashboard Birthdays & Anniversaries card #239

Merged
Copilot merged 3 commits from copilot/add-age-to-birthdays-anniversaries into main 2026-05-01 18:20:09 +00:00
Copilot commented 2026-05-01 18:05:28 +00:00 (Migrated from github.com)

The "Within 90 days" and "Within a year" birthday chips on the Dashboard showed only the person's name, with no indication of the age they're turning — even though turning_age was already present in the API response.

Description

  • AnnualEventsSummaryCard.vue: Added chipLabel(event) helper — returns "{name}, {age}yo" for birthdays where turning_age !== null, falls back to event.name otherwise
  • Both the Within 90 days and Within a year chip lists now use chipLabel(event) in place of bare event.name
  • "Within 30 days" detailed cards are unaffected (age already surfaced via subtitleText())
  • No backend changes — turning_age was already included in the response payload
  • Merged latest changes from main (resolved DEVLOG.md conflict by retaining both the "Time-Until" entry from main and the "Age on Birthday Chips" entry from this branch)

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (code change that neither fixes a bug nor adds a feature)
  • Performance improvement
  • Test coverage improvement

Testing

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have tested this manually (if applicable)

Code Quality

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings or errors

CI/CD Checks

  • All automated tests pass
  • Code formatting (Pint) passes
  • JavaScript/TypeScript linting passes
  • Build process completes successfully

Additional Notes

Pure frontend change. The turning_age field is null for anniversary events and birthdays without a known birth year, so non-birthday chips and age-unknown birthdays are unaffected.

The "Within 90 days" and "Within a year" birthday chips on the Dashboard showed only the person's name, with no indication of the age they're turning — even though `turning_age` was already present in the API response. ## Description - **`AnnualEventsSummaryCard.vue`**: Added `chipLabel(event)` helper — returns `"{name}, {age}yo"` for birthdays where `turning_age !== null`, falls back to `event.name` otherwise - Both the **Within 90 days** and **Within a year** chip lists now use `chipLabel(event)` in place of bare `event.name` - "Within 30 days" detailed cards are unaffected (age already surfaced via `subtitleText()`) - No backend changes — `turning_age` was already included in the response payload - Merged latest changes from `main` (resolved `DEVLOG.md` conflict by retaining both the "Time-Until" entry from `main` and the "Age on Birthday Chips" entry from this branch) ## Type of Change - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update - [ ] Refactoring (code change that neither fixes a bug nor adds a feature) - [ ] Performance improvement - [ ] Test coverage improvement ## Testing - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [x] I have tested this manually (if applicable) ## Code Quality - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [x] My changes generate no new warnings or errors ## CI/CD Checks - [ ] All automated tests pass - [ ] Code formatting (Pint) passes - [ ] JavaScript/TypeScript linting passes - [ ] Build process completes successfully ## Additional Notes Pure frontend change. The `turning_age` field is `null` for anniversary events and birthdays without a known birth year, so non-birthday chips and age-unknown birthdays are unaffected.
niddelicious (Migrated from github.com) reviewed 2026-05-01 18:05:28 +00:00
coderabbitai[bot] commented 2026-05-01 18:05:37 +00:00 (Migrated from github.com)

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: dc2c394f-1d8e-45d8-83e6-5800dd5cf977

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

<!-- This is an auto-generated comment: summarize by coderabbit.ai --> <!-- This is an auto-generated comment: skip review by coderabbit.ai --> > [!IMPORTANT] > ## Review skipped > > Bot user detected. > > To trigger a single review, invoke the `@coderabbitai review` command. > > <details> > <summary>⚙️ Run configuration</summary> > > **Configuration used**: defaults > > **Review profile**: CHILL > > **Plan**: Free > > **Run ID**: `dc2c394f-1d8e-45d8-83e6-5800dd5cf977` > > </details> > > You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file. > > Use the checkbox below for a quick retry: > - [ ] <!-- {"checkboxId": "e9bb8d72-00e8-4f67-9cb2-caf3b22574fe"} --> 🔍 Trigger review <!-- end of auto-generated comment: skip review by coderabbit.ai --> <!-- tips_start --> --- <sub>Comment `@coderabbitai help` to get the list of available commands and usage tips.</sub> <!-- tips_end -->
niddelicious commented 2026-05-01 18:05:48 +00:00 (Migrated from github.com)

@copilot resolve the merge conflicts in this pull request

@copilot resolve the merge conflicts in this pull request
Copilot commented 2026-05-01 18:10:53 +00:00 (Migrated from github.com)

@copilot resolve the merge conflicts in this pull request

Done (242e5c3). The only conflict was in DEVLOG.md where both this branch and main had added new entries at the top of [1.CURRENT] — resolved by keeping both entries. CHANGELOG.md and AnnualEventsSummaryCard.vue merged cleanly.

> @copilot resolve the merge conflicts in this pull request Done (242e5c3). The only conflict was in `DEVLOG.md` where both this branch and `main` had added new entries at the top of `[1.CURRENT]` — resolved by keeping both entries. `CHANGELOG.md` and `AnnualEventsSummaryCard.vue` merged cleanly.
copilot-pull-request-reviewer[bot] (Migrated from github.com) reviewed 2026-05-01 18:18:57 +00:00
copilot-pull-request-reviewer[bot] (Migrated from github.com) left a comment

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds the turning age to birthday “Within 90 days” and “Within a year” chips on the Dashboard, leveraging the existing turning_age field already returned by the API.

Changes:

  • Added a chipLabel(event) helper to format birthday chip labels as "{name}, {age}yo" when turning_age is present.
  • Updated both upcoming-event chip lists to use chipLabel(event) instead of event.name.
  • Updated DEVLOG and CHANGELOG entries to document the UI change.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
resources/js/Pages/Dashboard/Partials/AnnualEventsSummaryCard.vue Adds chipLabel() and uses it in upcoming birthday chip rendering.
DEVLOG.md Documents the new dashboard chip label behavior (age shown when known).
CHANGELOG.md Adds an Improvements entry describing the new age display on upcoming birthdays.
## Pull request overview > [!NOTE] > Copilot was unable to run its full agentic suite in this review. Adds the turning age to birthday “Within 90 days” and “Within a year” chips on the Dashboard, leveraging the existing `turning_age` field already returned by the API. **Changes:** - Added a `chipLabel(event)` helper to format birthday chip labels as `"{name}, {age}yo"` when `turning_age` is present. - Updated both upcoming-event chip lists to use `chipLabel(event)` instead of `event.name`. - Updated DEVLOG and CHANGELOG entries to document the UI change. ### Reviewed changes Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment. | File | Description | | ---- | ----------- | | resources/js/Pages/Dashboard/Partials/AnnualEventsSummaryCard.vue | Adds `chipLabel()` and uses it in upcoming birthday chip rendering. | | DEVLOG.md | Documents the new dashboard chip label behavior (age shown when known). | | CHANGELOG.md | Adds an Improvements entry describing the new age display on upcoming birthdays. |
@ -31,6 +31,9 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and
copilot-pull-request-reviewer[bot] (Migrated from github.com) commented 2026-05-01 18:18:56 +00:00

The UI element being updated in AnnualEventsSummaryCard.vue is a chip (<v-chip>), but the changelog calls them “pills”. For consistency (and easier searching across docs/PRs), consider updating this entry to use the same term (“chips”) used elsewhere in the code and PR description.

#### 🎂 Age Now Shown on Upcoming Birthday Chips
- The "Within 90 days" and "Within a year" birthday chips on the Dashboard now include the age the person is turning (e.g. "Jane, 30yo") when the birth year is known
The UI element being updated in `AnnualEventsSummaryCard.vue` is a chip (`<v-chip>`), but the changelog calls them “pills”. For consistency (and easier searching across docs/PRs), consider updating this entry to use the same term (“chips”) used elsewhere in the code and PR description. ```suggestion #### 🎂 Age Now Shown on Upcoming Birthday Chips - The "Within 90 days" and "Within a year" birthday chips on the Dashboard now include the age the person is turning (e.g. "Jane, 30yo") when the birth year is known ```
Sign in to join this conversation.
No description provided.