Skip to content

🎨 Palette: Improve citation copy feedback and accessibility - #113

Merged
amrabed merged 4 commits into
mainfrom
jules-15059501643889668052-4bda88ea
Aug 9, 2026
Merged

🎨 Palette: Improve citation copy feedback and accessibility#113
amrabed merged 4 commits into
mainfrom
jules-15059501643889668052-4bda88ea

Conversation

@google-labs-jules

Copy link
Copy Markdown
Contributor

This PR implements a delight and accessibility-focused improvement to the BibTeX Citation feature under the Publications section. Previously, clicking the copy button in the BibTeX popover would display a static "Copied" text, but the button icon itself wouldn't change, and the ARIA label and Tooltip remained static.

We have now:

  1. Swapped the button icon from FaCopy to a green FaCheck upon copy success (active for 2 seconds).
  2. Added an pulse animation (animate-pulse) to the "Copied" status text in the popover.
  3. Updated the button's aria-label dynamically (BibTeX copied vs Copy BibTeX to clipboard) to keep screen reader users accurately informed.
  4. Updated the Tooltip's content dynamically (Copied! vs Copy to clipboard).
  5. Successfully documented our critical learnings in the Palette journal at .jules/palette.md.

PR created automatically by Jules for task 15059501643889668052 started by @amrabed

- Dynamically swap the copy icon to a green checkmark (`FaCheck`) upon copy success.
- Pulse animate the "Copied" status text in the popover.
- Update ARIA labels and Tooltip content dynamically to reflect copy state.
- Create .jules/palette.md to document critical micro-UX/accessibility learnings.
@google-labs-jules

Copy link
Copy Markdown
Contributor Author

👋 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.

@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
amrabed-github-io Ready Ready Preview Aug 4, 2026 5:08am

… coverage

- Dynamically swap the copy icon to a green checkmark (`FaCheck`) upon copy success.
- Pulse animate the "Copied" status text in the popover.
- Update ARIA labels and Tooltip content dynamically to reflect copy state.
- Create .jules/palette.md to document critical micro-UX/accessibility learnings.
- Include src/components/publication.tsx in vitest coverage config.
- Add comprehensive unit tests in src/components/publication.test.tsx to achieve near-100% code coverage.
…achieve 100% test coverage

- Dynamically swap copy button icon to a green checkmark (`FaCheck`) on success.
- Pulse animate the "Copied" status text in the citation popover.
- Update ARIA labels and Tooltip content dynamically to reflect copy state.
- Create .jules/palette.md to document critical micro-UX/accessibility learnings.
- Include src/components/publication.tsx in vitest coverage config.
- Add comprehensive unit tests in src/components/publication.test.tsx to achieve 100% statement, branch, function, and line coverage.
…100% SonarCloud coverage

- Dynamically swap copy button icon to a green checkmark (`FaCheck`) on success.
- Pulse animate the "Copied" status text in the citation popover.
- Update ARIA labels and Tooltip content dynamically to reflect copy state.
- Create .jules/palette.md to document critical micro-UX/accessibility learnings.
- Include src/components/publication.tsx in vitest coverage config.
- Add comprehensive unit tests in src/components/publication.test.tsx to achieve 100% statement, branch, function, and line coverage.
- Add `sonar.exclusions=**/*.test.ts,**/*.test.tsx` in `sonar-project.properties` to ensure SonarCloud does not treat test files as source code and drop coverage on new code below the Quality Gate threshold.
@amrabed
amrabed merged commit 05ecf72 into main Aug 9, 2026
5 of 6 checks passed
@amrabed
amrabed deleted the jules-15059501643889668052-4bda88ea branch August 9, 2026 11:28
amrabed added a commit that referenced this pull request Aug 9, 2026
- Bump next from 16.2.9 to 16.2.11 (PR #112)

- Remediate transitive vulnerabilities and classify API malformed payload errors (PR #110)

- Prevent Focus Loss on Dynamic Component Unmount (PR #111)

- Improve citation copy feedback and accessibility (PR #113)
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