Skip to content

feat(ui): add reusable copy-to-clipboard component with success checkmark animation (#1937) - #3320

Open
Rohitdey45 wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
Rohitdey45:feat/copy-success-visual-feedback
Open

feat(ui): add reusable copy-to-clipboard component with success checkmark animation (#1937)#3320
Rohitdey45 wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
Rohitdey45:feat/copy-success-visual-feedback

Conversation

@Rohitdey45

Copy link
Copy Markdown

📌 Description

This PR resolves issue #1937 by introducing a reusable CopyButton component (src/components/ui/CopyButton.tsx) that provides consistent animated visual feedback across all copy actions in the application.

⚙️ Key Changes

  • New Reusable Component: Created CopyButton featuring:
    • Smooth checkmark (Check) scale animation upon copy action.
    • Temporary "Copied!" visual badge state for 2.5 seconds.
    • Automatic toast notification using sonner.
    • Reliable fallback for legacy browser clipboard execution.
  • Integrated Across UI:
    • src/components/CopyLinkButton.tsx
    • src/components/BadgeSection.tsx (README badge markdown copy block)
    • src/components/career-intelligence/ExportPanel.tsx (Full resume text copy)

🧪 Verification

  • Verified icon state transition on click.
  • Verified clipboard copy execution and toast feedback.
  • Synced with upstream main (0 merge conflicts).

Closes #1937

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) gssoc26 GSSoC 2026 contribution labels Jul 31, 2026
@github-actions

Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add "Copy Success" Visual Feedback Animation to All Copy Actions

1 participant