Skip to content

๐ŸŽจ Palette: ProjectsLayout ๋น„๋™๊ธฐ ์ž‘์—… ๋ฒ„ํŠผ UX ๊ฐœ์„  - #1167

Closed
seonghobae wants to merge 6 commits into
developfrom
palette/projects-layout-button-ux-16499414842055353077
Closed

๐ŸŽจ Palette: ProjectsLayout ๋น„๋™๊ธฐ ์ž‘์—… ๋ฒ„ํŠผ UX ๊ฐœ์„ #1167
seonghobae wants to merge 6 commits into
developfrom
palette/projects-layout-button-ux-16499414842055353077

Conversation

@seonghobae

@seonghobae seonghobae commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

๐Ÿ’ก What: ProjectsLayout์˜ "ํ›„๋ณด ํ™•์ •" ๋ฐ "๊ฒ€ํ†  ์ €์žฅ" ๋ฒ„ํŠผ์— aria-busy ์†์„ฑ๊ณผ ๋กœ๋”ฉ ์Šคํ”ผ๋„ˆ ์ถ”๊ฐ€\n๐ŸŽฏ Why: ๋น„๋™๊ธฐ ์ž‘์—… ์ค‘ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ช…ํ™•ํ•œ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต ๋ฐ ์Šคํฌ๋ฆฐ ๋ฆฌ๋” ์ ‘๊ทผ์„ฑ ํ–ฅ์ƒ\nโ™ฟ Accessibility: aria-busy ์ถ”๊ฐ€๋กœ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ฐ€ ์ƒํƒœ๋ฅผ ์ฝ๋„๋ก ๊ฐœ์„ 


PR created automatically by Jules for task 16499414842055353077 started by @seonghobae

Summary by CodeRabbit

  • New Features
    • Added clear loading indicators when confirming project suggestions or marking evidence as reviewed.
    • Improved accessibility by communicating busy states to assistive technologies.
  • Bug Fixes
    • Prevented ambiguity during actions that take time to complete by showing the interfaceโ€™s active processing state.
  • Chores
    • Updated application tooling and package versions to support the latest interface improvements.

@google-labs-jules

Copy link
Copy Markdown
Contributor

๐Ÿ‘‹ Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a ๐Ÿ‘€ emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

๐Ÿ“ Walkthrough

Walkthrough

Updated frontend dependencies and added loading indicators with accessibility state attributes to project confirmation and evidence review actions. Tests now mock the Loader2 icon used by these controls.

Changes

Frontend loading states

Layer / File(s) Summary
Frontend dependency updates
frontend/package.json
Runtime and development dependency versions were updated, with @radix-ui/react-tabs and sharp added.
Submission loading indicators
frontend/src/components/ProjectsLayout.tsx, frontend/src/app/projects/page.test.tsx
Project confirmation and evidence review buttons now expose aria-busy, render Loader2 while submitting, and provide the icon in the test mock.

Estimated code review effort: 2 (Simple) | ~10 minutes

๐Ÿšฅ Pre-merge checks | โœ… 4
โœ… Passed checks (4 passed)
Check name Status Explanation
Description Check โœ… Passed Check skipped - CodeRabbitโ€™s high-level summary is enabled.
Title check โœ… Passed The title matches the main change: improving ProjectsLayout async action button UX with loading feedback and accessibility.
Linked Issues check โœ… Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check โœ… Passed Check skipped because no linked issues were found for this pull request.
โœจ Finishing Touches
๐Ÿ“ Generate docstrings
  • Create stacked PR
  • Commit on current branch
๐Ÿงช Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch palette/projects-layout-button-ux-16499414842055353077

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

@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

PR governance metadata gate update for f319598304cc2c6d14ad6c95b29bdca33cb86641: no current blocking failures remain.

PR governance metadata gate is waiting on current-head requirements; see the latest check for pending reasons.

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

๐Ÿงน Nitpick comments (3)
frontend/package.json (2)

29-29: ๐Ÿ”’ Security & Privacy | ๐Ÿ”ต Trivial | โšก Quick win

Prefer the latest patched sharp release.

sharp@0.35.0 fixes the reported pre-0.35.0 vulnerability, but the advisory recommends the latest 0.35.x release, currently 0.35.3. Upgrade or verify that the older patch is deliberately required. (github.com)

Proposed version update
-    "sharp": "0.35.0",
+    "sharp": "0.35.3",
๐Ÿค– Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@frontend/package.json` at line 29, Update the sharp dependency entry in
frontend/package.json from 0.35.0 to the latest patched 0.35.x release,
currently 0.35.3, unless a documented compatibility requirement mandates the
older version.

Source: MCP tools


25-25: ๐Ÿ”’ Security & Privacy | ๐Ÿ”ต Trivial | โšก Quick win

Prefer the latest 16.2.x patch for this security update.

next@16.2.11 is the patched floor for the July 21, 2026 advisory, but 16.2.12 is now published. Update to 16.2.12, or document why the first patched release is intentionally pinned. (github.com)

Proposed version update
-    "next": "16.2.11",
+    "next": "16.2.12",
๐Ÿค– Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@frontend/package.json` at line 25, Update the Next.js dependency version from
16.2.11 to the latest 16.2.x patch, 16.2.12, in the package manifest; only
retain 16.2.11 if the intentional pin is documented.

Source: MCP tools

frontend/src/app/projects/page.test.tsx (1)

18-18: ๐Ÿ“ Maintainability & Code Quality | ๐Ÿ”ต Trivial | โšก Quick win

Preserve Loader2 props and test the loading contract.

This mock drops className and other props, so tests cannot catch regressions to animate-spin or aria-hidden. Forward SVG props and add assertions for aria-busy="true" and the loading labels for both buttons.

Proposed mock improvement
-  Loader2: () => <svg aria-hidden="true" />,
+  Loader2: (props: React.ComponentProps<'svg'>) => <svg aria-hidden="true" {...props} />,
๐Ÿค– Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@frontend/src/app/projects/page.test.tsx` at line 18, Update the Loader2 mock
in the project page tests to forward all received SVG props while retaining
aria-hidden, then extend the loading-state tests to assert aria-busy="true" and
the expected loading labels for both buttons, including the animate-spin class
contract.
๐Ÿค– Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@frontend/package.json`:
- Line 29: Update the sharp dependency entry in frontend/package.json from
0.35.0 to the latest patched 0.35.x release, currently 0.35.3, unless a
documented compatibility requirement mandates the older version.
- Line 25: Update the Next.js dependency version from 16.2.11 to the latest
16.2.x patch, 16.2.12, in the package manifest; only retain 16.2.11 if the
intentional pin is documented.

In `@frontend/src/app/projects/page.test.tsx`:
- Line 18: Update the Loader2 mock in the project page tests to forward all
received SVG props while retaining aria-hidden, then extend the loading-state
tests to assert aria-busy="true" and the expected loading labels for both
buttons, including the animate-spin class contract.

โ„น๏ธ Review info
โš™๏ธ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 04e844c1-9d9a-40e4-b796-10f9a821ed2f

๐Ÿ“ฅ Commits

Reviewing files that changed from the base of the PR and between 58d19ee and f319598.

โ›” Files ignored due to path filters (1)
  • frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
๐Ÿ“’ Files selected for processing (3)
  • frontend/package.json
  • frontend/src/app/projects/page.test.tsx
  • frontend/src/components/ProjectsLayout.tsx

@seonghobae

Copy link
Copy Markdown
Contributor Author

Superseded duplicate Palette UX/terminology/loading cohort. Close to drain PR queue; re-land single focused PR if still needed on develop.

@seonghobae seonghobae closed this Jul 31, 2026
@google-labs-jules

Copy link
Copy Markdown
Contributor

Superseded duplicate Palette UX/terminology/loading cohort. Close to drain PR queue; re-land single focused PR if still needed on develop.

Understood. Acknowledging that this work is now obsolete and stopping work on this task.

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.

1 participant