Skip to content

XS✔ ◾ Replace stop emoji and remove dash in My Shaves empty state#993

Open
tomek-i wants to merge 1 commit into
mainfrom
966-noshaves-emoji
Open

XS✔ ◾ Replace stop emoji and remove dash in My Shaves empty state#993
tomek-i wants to merge 1 commit into
mainfrom
966-noshaves-emoji

Conversation

@tomek-i

@tomek-i tomek-i commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

  • The "My shaves" empty state showed a stop-sign emoji (⛔️) followed by a dash before the message ("⛔️ - You don't have any YakShaves yet!"), which read as visually noisy and harsh for a first-run/empty state.
  • Replaced the stop-sign emoji with a sad face emoji (😢) and removed the dash, so the empty state now reads "😢 You don't have any YakShaves yet!".

Closes #966

Changes

  • src/ui/src/components/shaves/NoShaves.tsx — swapped ⛔️ - for 😢 (no dash) in the EmptyTitle.
  • src/ui/src/components/shaves/NoShaves.test.tsx — new colocated test asserting the sad face emoji is present, the stop-sign emoji is gone, and there is no dash between the emoji and the message text.

Acceptance criteria

  • Empty state uses a sad face emoji instead of the stop-sign emoji.
  • No dash between the emoji and the message text.

Testing performed

  • cd src/ui && npx vitest run --reporter=verbose src/components/shaves/NoShaves.test.tsx — 2/2 new tests pass.
  • cd src/ui && npm test — full UI suite: 263/263 tests pass across 36 files.
  • npm run lint — clean (biome check, exit 0).
  • npm run build — clean (tsc, no errors).

…mpty state

The empty state used a stop-sign emoji with a dash before the message,
which reads as harsh for a first-run/no-data state. Swap in a sad face
emoji and drop the dash so it reads naturally.

Closes #966
Copilot AI review requested due to automatic review settings July 21, 2026 13:07
@tomek-i tomek-i added the armada Eligible for the ARMADA fleet to pick up label Jul 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR Metrics

Thanks for keeping your pull request small.
Thanks for adding tests.

Lines
Product Code 1
Test Code 21
Subtotal 22
Ignored Code -
Total 22

Metrics computed by PR Metrics. Add it to your Azure DevOps and GitHub PRs!

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

Updates the “My shaves” empty state to be less visually harsh for first-run users by changing the leading emoji and removing the dash formatting, and adds a colocated UI test to lock in the acceptance criteria from #966.

Changes:

  • Replace the stop-sign emoji + dash with a sad-face emoji (no dash) in the empty-state title.
  • Add NoShaves.test.tsx to assert the new emoji is present and no dash appears before the message.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
src/ui/src/components/shaves/NoShaves.tsx Updates the empty-state EmptyTitle text to use 😢 and remove the dash.
src/ui/src/components/shaves/NoShaves.test.tsx Adds UI tests validating emoji replacement and “no dash” formatting.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -10,7 +10,7 @@ export function NoShaves() {
return (
<Empty>
<EmptyHeader className="gap-6 items-start!">
Comment on lines +9 to +12
const title = screen.getByText(/You don't have any YakShaves yet!/i);
expect(title.textContent).toContain("😢");
expect(title.textContent).not.toContain("⛔️");
});
Comment on lines +17 to +20
const title = screen.getByText(/You don't have any YakShaves yet!/i);
expect(title.textContent).toBe("😢 You don't have any YakShaves yet!");
expect(title.textContent).not.toMatch(/-\s*You don't have any YakShaves yet!/);
});
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Pre-release build is available for this PR:
https://github.com/SSWConsulting/SSW.YakShaver.Desktop/releases/tag/0.6.0-beta.993.1784639283

@tomek-i tomek-i added armada:reviewing Claimed by crows-nest; review->merge pipeline running and removed armada Eligible for the ARMADA fleet to pick up labels Jul 21, 2026
@tomek-i

tomek-i commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

🔭 crows-nest: picked up by ARMADA — dispatching to muster for review.

@tomek-i

tomek-i commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

🔭 muster review — PR #993

Lenses: code-review + codex-rescue (both ran)
Bottom line: no blocking findings — review advisory only.

Severity Count
blocking 0
major 0
minor 0
nit 1

Nit

  • Sibling empty-state still uses the old emoji-dash convention (src/ui/src/components/projects/NoProjects.tsx:7, flagged by codex-rescue) — NoProjects.tsx still renders 📁 - No projects to show yet, the same emoji+dash pattern this PR removes from NoShaves.tsx. Out of scope for issue ✨ My shaves empty state - Replace stop emoji and remove dash before empty message #966, but leaves the two Empty-state components visually inconsistent. Worth a quick follow-up issue to align NoProjects with the new no-dash convention. (Not posted inline — the file isn't part of this PR's diff.)

Both lenses agreed the change itself is correct, in scope, and adequately tested. No further action needed on this PR.

@tomek-i tomek-i added armada Eligible for the ARMADA fleet to pick up and removed armada:reviewing Claimed by crows-nest; review->merge pipeline running labels Jul 21, 2026
@tomek-i

tomek-i commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

✅ reviewed, addressed, green — awaiting human merge (auto-merge off).

@tomek-i tomek-i added the armada:reviewing Claimed by crows-nest; review->merge pipeline running label Jul 22, 2026
@tomek-i

tomek-i commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

🔭 crows-nest: ready-PR pipeline started — review → address → re-validate → gated merge.

@tomek-i

tomek-i commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

🔭 muster review — PR #993

Verdict: 0 blocking, 0 major, 0 minor, 0 nit — no findings.

⚠️ Review is DEGRADED — single-lens only. The codex-rescue second-opinion lens is unavailable in this environment (agent type not found), so only the code-review (conventions + correctness) lens ran.

code-review lens findings: none. The diff is a tiny, well-scoped copy change (stop-sign emoji + dash → sad-face emoji in the "My Shaves" empty state) with a matching colocated test that correctly asserts both acceptance criteria. No stale references to the old string elsewhere in the codebase, no encoding/textContent gotchas (single-codepoint emoji), test logic is sound.

Non-blocking observation (not a finding, not in scope for this PR): src/ui/src/components/projects/NoProjects.tsx still uses the emoji - text dash convention, so the two empty-state components are now stylistically inconsistent with each other. Worth a follow-up issue if consistency across empty states matters, but out of scope for #966.

Bottom line: no blocking findings — review advisory only (degraded, single-lens).

@tomek-i tomek-i added armada:blocked ARMADA could not finish; needs a human and removed armada:reviewing Claimed by crows-nest; review->merge pipeline running labels Jul 22, 2026
@tomek-i

tomek-i commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

🔭 crows-nest: pipeline outcome — blocked.

Reason: the muster review came back degraded (the codex-rescue second-opinion agent type is not available in this environment), and the merge gate treats a degraded review as an unconditional non-green-light — regardless of autoMerge or how green everything else is. No blocking findings were raised by the lens that did run.

This is an environment limitation, not a defect in this PR: the underlying change (code-review lens, no findings) looks clean. A human can review directly and merge, or re-run muster once a codex-rescue-capable environment is available.

@tomek-i tomek-i added the armada:record Request an on-demand logbook walkthrough for this PR; crows-nest records it and removes the label label Jul 22, 2026
@tomek-i

tomek-i commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

@tomek-i tomek-i removed the armada:record Request an on-demand logbook walkthrough for this PR; crows-nest records it and removes the label label Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

armada:blocked ARMADA could not finish; needs a human armada Eligible for the ARMADA fleet to pick up

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ My shaves empty state - Replace stop emoji and remove dash before empty message

2 participants