Skip to content

Open shifts: mark urgent shifts with the shared amber dot - #3500

Merged
gitar-bot[bot] merged 7 commits into
mainfrom
claude/open-shifts-urgent-dot-hj3sp1
Oct 12, 2026
Merged

gitar-bot[bot] merged 7 commits into
mainfrom
claude/open-shifts-urgent-dot-hj3sp1

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

User description

Summary

Before: Open shifts marked a day with an urgent shift using an amber-bordered pill with a warning triangle, in the calendar and its key. Shift rows showed "Urgent" as plain grey text.

After: urgent shifts carry a small amber dot. It appears in the calendar's day pill (beside the count), in the key, and before "Urgent" on each shift row. In Work mode a triangle now means a date has passed, which an urgent shift has not. The amber dot is the shared shape for "needs attention soon" (Ward Flow review, 12 Oct 2026).

How: a new UrgentDot in src/components/open-shifts/urgent-dot.tsx. It is aria-hidden, because the word "Urgent" or the day's spoken label already says it, and it shows as solid ink in forced colours. The calendar test now checks that an urgent day has the dot and no triangle.

This is the follow-up agreed in #3483.

Verification

  • npx tsc --noEmit -p .: clean.
  • eslint and prettier on the changed files: clean.
  • vitest on tests/open-shifts-*: 12 files, 103 tests passed. The new calendar assertion fails without the change and passes with it.
  • Full browser suite: running on this draft before it is marked ready.

Risk and rollout

  • Risk: low. Visual only, four files.
  • Rollback: revert the PR.
  • Provider or production effects: none. No migration, no service worker change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CZwGiwt7eXkD4fwyFM83gY


Generated by Claude Code


Summary by cubic

Marks urgent open shifts with the shared amber dot instead of the warning triangle, which now means a date has passed in Work mode. Follows up on #3483. Visual-only change with no effect on shift matching.

  • Adds UrgentDot, shown in the calendar's day pill, in the key, and on each shift row.
  • UrgentDot renders the text it sits beside — the word "Urgent" or the day's count — so it's never colour-only; it's aria-hidden and shows solid ink in forced-colours mode.
  • Updates the calendar and browse-sample tests to assert urgent days and rows carry the dot and no triangle.

Written for commit 0138b9d. Summary will update on new commits.

View guided diff Turn on auto-fix


CodeAnt-AI Description

Mark urgent open shifts with an amber dot

What Changed

  • Urgent shifts now show an amber dot in calendar counts, the calendar key, and shift rows instead of a warning triangle.
  • The warning triangle is reserved for passed dates in Work mode.

Impact

✅ Urgent shifts are easier to distinguish from passed dates
✅ Urgency is marked consistently across calendar and shift listings

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

The calendar, its key and the shift rows used a warning triangle, which in
Work mode now means a date has passed. Urgent shifts take the amber dot, the
shared shape for needing attention soon, beside the word or spoken label.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CZwGiwt7eXkD4fwyFM83gY
@supabase

supabase Bot commented Oct 12, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: a8a3367d-a6a2-4f65-a1bf-08be1c01be67

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@codeant-ai

codeant-ai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

🏁 CodeAnt Quality Gate Results

Commit: 0138b9d3
Scan Time: 2026-10-12 18:02:23 UTC

✅ Overall Status: PASSED

Quality Gate Details

Quality Gate Status Details
Secrets ✅ PASSED 0 secrets found
Duplicate Code ✅ PASSED 0.0% duplicated
SAST ✅ PASSED No security issues
Bugs ✅ PASSED Rating S: No bugs
IAC ✅ PASSED No IAC issues

View Full Results

gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 12, 2026

@gitar-bot gitar-bot Bot 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.

Gitar has auto-approved this PR (configure)

@codspeed

codspeed Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ 1 benchmark spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

✅ 8 untouched benchmarks


Comparing claude/open-shifts-urgent-dot-hj3sp1 (0138b9d) with main (cff7e26)

Open in CodSpeed

The design check counts a bare status-coloured dot as colour-only. Every use
already sits beside words or a spoken label; the dot now renders that text
itself so the pairing is visible in one place.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CZwGiwt7eXkD4fwyFM83gY
gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 12, 2026

@gitar-bot gitar-bot Bot 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.

Gitar has auto-approved this PR (configure)

Copy link
Copy Markdown
Owner Author

Full browser suite on this draft (run 38272554735): Chrome, Firefox, tablet and the desktop Safari legs all passed. Two phone Safari tests failed, and neither page is touched by this diff, which only changes the Open shifts urgent marker:

  • ui-dictionary.spec.ts:131 (Dictionary abbreviations label width, mobile-pwa-standalone). The same test failed on Open shifts: take back your own request while it waits for approval #3485 on the same base, and neither PR touches the Dictionary page or shared styles.
  • ui-accessibility.spec.ts:295 (sheet focus on the dashboard, mobile-webkit). It is on the dashboard, not Open shifts, and the shared sheet code is not changed here.

I have merged main (5f6b272) into the branch, which re-runs CI on the new head, and I am marking this ready.


Generated by Claude Code

@BigSimmo
BigSimmo marked this pull request as ready for review October 12, 2026 17:07

@greptile-apps greptile-apps 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.

BigSimmo has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@codeant-ai

codeant-ai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR 21d22cc Oct 12, 2026 · 17:07 17:11

@codeant-ai

codeant-ai Bot commented Oct 12, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T17:10:17.289338Z 21d22cc Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@gitar-bot
gitar-bot Bot enabled auto-merge (squash) October 12, 2026 17:07
@claude

claude Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@codeant-ai codeant-ai Bot added the size:M This PR changes 30-99 lines, ignoring generated files label Oct 12, 2026
@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Use an amber dot to mark urgent open shifts

✨ Enhancement 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Replace the warning triangle with an amber dot in the calendar and its key.
• Show the same dot beside “Urgent” on shift rows, preserving text and spoken labels.
• Test that an urgent calendar day has a dot, not a triangle.
Diagram

graph TD
  Listing["Urgent listing"] --> Page["Browse page"] --> Calendar["Calendar pill"]
  Page --> Key["Calendar key"]
  Page --> Row["Shift row"]
  Dot["UrgentDot"] --> Calendar
  Dot --> Key
  Dot --> Row
Loading
High-Level Assessment

A small shared component is appropriate for keeping the three urgent markers consistent. Duplicating the dot markup would make future visual or forced-colours changes harder to coordinate.

Files changed (5) +45 / -19

Enhancement (4) +41 / -19
open-shifts-browse-page.tsxShow the amber dot in the calendar key +3/-2

Show the amber dot in the calendar key

• Replaces the warning triangle and bordered pill in the urgent-shift key with UrgentDot and the standard soft pill background. The explanatory text remains.

src/components/open-shifts/open-shifts-browse-page.tsx

open-shifts-calendar.tsxMark urgent calendar days with a dot +7/-10

Mark urgent calendar days with a dot

• Replaces the warning triangle with UrgentDot beside the matching-shift count and uses the standard count-pill styling. The day's spoken urgency label remains unchanged.

src/components/open-shifts/open-shifts-calendar.tsx

open-shifts-ui.tsxPair shift-row urgency text with the dot +11/-7

Pair shift-row urgency text with the dot

• Adds UrgentDot before “Urgent” in shift-row metadata while retaining the “Ends next day” text and separator when applicable.

src/components/open-shifts/open-shifts-ui.tsx

urgent-dot.tsxAdd a reusable urgent-shift marker +20/-0

Add a reusable urgent-shift marker

• Introduces an aria-hidden amber dot that renders optional adjacent text and uses solid ink in forced-colours mode.

src/components/open-shifts/urgent-dot.tsx

Tests (1) +4 / -0
open-shifts-calendar.dom.test.tsxGuard the urgent-day marker semantics +4/-0

Guard the urgent-day marker semantics

• Asserts that an urgent calendar day contains the dot and no warning-triangle icon, alongside the existing spoken-label assertion.

tests/open-shifts-calendar.dom.test.tsx

@qodo-code-review

qodo-code-review Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

No findings for this group


Remediation recommended

No findings for this group


Informational

No findings for this group

Grey Divider


Resolved findings

1. Key and rows can lose urgency marks ✓ Resolved
Description
The PR adds UrgentDot to the legend and ShiftRow, but the only new assertion inspects the
calendar rendering. A later change to either non-calendar path could remove the marker without any
focused test failing.
Code

src/components/open-shifts/open-shifts-ui.tsx[208]

+              {listing.urgent ? <UrgentDot>Urgent</UrgentDot> : null}
Relevance

●●● Strong

Recent Open Shifts reviews accepted focused regression coverage for newly introduced UI paths.

PR-#3483

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The changed UI introduces urgent-dot render paths in both the legend and shift rows, while the patch
adds assertions only for the calendar. The testing-review checklist requires UI behavior to have
corresponding coverage, so these two new paths should receive focused regression assertions.

src/components/open-shifts/open-shifts-ui.tsx[206-211]
tests/open-shifts-calendar.dom.test.tsx[38-41]
Skill: testing-review

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new urgent marker is rendered in the calendar, legend, and shift rows, but the added test only verifies the calendar path. Regressions in the legend or row rendering could therefore go unnoticed.

## Fix Focus Areas
- src/components/open-shifts/open-shifts-ui.tsx[206-211]
- src/components/open-shifts/open-shifts-browse-page.tsx[316-323]
- tests/open-shifts-calendar.dom.test.tsx[38-41]

## Recommended Fix
Add focused DOM assertions for an urgent shift row and the browse-page legend, verifying each contains `[data-mark="dot"]` and does not render the legacy triangle. Keep the existing calendar assertion and use stable accessible queries or scoped containers so the tests remain specific to each rendering path.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 9 rules
✅ Cross-repo context — repo relationships
Review mode: Auto: 🧠 Deep: Substantial logic spans many independent components, layouts, navigation, and tests.

Grey Divider

Tip of the day
💡 Did you know, you can commit Qodo's fix in one click with committable suggestions (GitHub & GitLab)

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Previous reviews

Review updated until commit 0138b9d

Results up to commit 21d22cc 🚀 Fast


🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)


Action required

No findings for this group


Remediation recommended

No findings for this group


Informational

No findings for this group


Resolved findings

1. Key and rows can lose urgency marks ✓ Resolved
Description
The PR adds UrgentDot to the legend and ShiftRow, but the only new assertion inspects the
calendar rendering. A later change to either non-calendar path could remove the marker without any
focused test failing.
Code

src/components/open-shifts/open-shifts-ui.tsx[208]

+              {listing.urgent ? <UrgentDot>Urgent</UrgentDot> : null}
Relevance

●●● Strong

Recent Open Shifts reviews accepted focused regression coverage for newly introduced UI paths.

PR-#3483

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The changed UI introduces urgent-dot render paths in both the legend and shift rows, while the patch
adds assertions only for the calendar. The testing-review checklist requires UI behavior to have
corresponding coverage, so these two new paths should receive focused regression assertions.

src/components/open-shifts/open-shifts-ui.tsx[206-211]
tests/open-shifts-calendar.dom.test.tsx[38-41]
Skill: testing-review

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new urgent marker is rendered in the calendar, legend, and shift rows, but the added test only verifies the calendar path. Regressions in the legend or row rendering could therefore go unnoticed.

## Fix Focus Areas
- src/components/open-shifts/open-shifts-ui.tsx[206-211]
- src/components/open-shifts/open-shifts-browse-page.tsx[316-323]
- tests/open-shifts-calendar.dom.test.tsx[38-41]

## Recommended Fix
Add focused DOM assertions for an urgent shift row and the browse-page legend, verifying each contains `[data-mark="dot"]` and does not render the legacy triangle. Keep the existing calendar assertion and use stable accessible queries or scoped containers so the tests remain specific to each rendering path.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@qodo-code-review

Copy link
Copy Markdown
Contributor

Qodo Fixer

✅ Committed (1) · ☑ Fixed (1)

Grey Divider

Commits pushed directly to this PR — no separate fix PR opened.

Process — 1 fixed
  • ☑ Fixed: Key and rows can lose urgency marks

@gitar-bot gitar-bot Bot 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.

Gitar has auto-approved this PR (configure)

@codeant-ai

codeant-ai Bot commented Oct 12, 2026

Copy link
Copy Markdown

CodeAnt Nitpicks

1 code suggestion

1. endsNextDay is true for any later Perth date, so a valid shift spanning two midnights is labeled “Ends next day” even though it ends two days later.

Incorrect condition logic · src/components/open-shifts/open-shifts-ui.tsx:187

@codeant-ai

codeant-ai Bot commented Oct 12, 2026

Copy link
Copy Markdown

CodeAnt PR Risk: Low Risk

  • The PR appears safe to merge; it replaces urgent-shift warning triangles with a shared amber dot while retaining visible urgency labels.
  • Urgent labels remain in shift rows and calendar descriptions, and tests check the dot appears in the legend, rows, and calendar.

Assessed commit: 8ec2c65c323c

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code review by qodo was updated up to the latest commit 8f93e41

@qodo-code-review

qodo-code-review Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

No code changes since the last review — review skipped

Qodo Logo

@gitar-bot

gitar-bot Bot commented Oct 12, 2026

Copy link
Copy Markdown
Contributor
Code Review ✅ Approved

🟢 Low risk · Replacing urgent-shift warning icons with an amber dot is confined to calendar keys and shift-row presentation; no shift-matching logic changes.

Adds a shared UrgentDot so urgent open shifts show an amber dot in calendar day pills, the calendar key, and shift rows, with the warning triangle now reserved for passed dates in Work mode. No issues found.

Auto-approved: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria.

Review coverage

🤖 Auto-approval Approved

📋 Rules No rules evaluated

🧪 Functional validation Not enabled · Set up

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Counting what did not apply, without listing it.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot
gitar-bot Bot merged commit c3e6e07 into main Oct 12, 2026
42 checks passed
@gitar-bot
gitar-bot Bot deleted the claude/open-shifts-urgent-dot-hj3sp1 branch October 12, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔴 Large blast radius size:M This PR changes 30-99 lines, ignoring generated files 🕐 10-20 Minutes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants