Skip to content

fix(my-tickets): show the transfer result — recipient notice + fade-out (#266) - #345

Merged
presidojay1 merged 2 commits into
StellarTickets:mainfrom
boluwacodes:fix/266-transfer-result-notice
Oct 16, 2026
Merged

presidojay1 merged 2 commits into
StellarTickets:mainfrom
boluwacodes:fix/266-transfer-result-notice

Conversation

@boluwacodes

@boluwacodes boluwacodes commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

After transferring a ticket, the list refreshed and the ticket simply vanished. The only feedback was a plain Ticket transferred to <typed email>. line, which didn't say which ticket moved or name the recipient, wasn't announced to screen readers, and disappeared along with the ticket in a jarring jump.

Changes

src/app/my-tickets/page.tsx

  • The notice names the recipient and the ticket. For example: "Gig · Seat A1 transferred to Bob (bob@example.com). It's no longer in your tickets." It uses the recipient returned by /users/lookup (name, plus email when available).
  • Short fade. After the transfer is confirmed, the ticket's <li> gets opacity-0 with a transition-opacity duration-300, and the list refreshes once the 300ms fade finishes, so the ticket visibly leaves instead of disappearing.
  • Announced. The notice is now role="status" aria-live="polite", so screen readers hear the result.
  • The existing failure path (A successful action is reported as failed if the follow-up reload fails (My tickets) #62) is unchanged: if the list can't refresh, the notice still says so.

New src/lib/transfer-notice.ts

  • transferNotice(ticket, recipient, email) builds the message. It lives outside page.tsx because Next.js only allows page-specific exports there. It falls back to the email when there's no name, and to "Ticket" when the event isn't loaded.

Testing

  • New test in my-tickets/page.test.tsx: after confirming a transfer, the ticket row has opacity-0, and after the fade the status region reads "Gig · Seat A1 transferred to Bob (bob@example.com). It's no longer in your tickets." with aria-live="polite"
  • vitest run src/app/my-tickets: 4/4 passed, including the existing transfer, resale and cancel tests
  • tsc --noEmit and eslint are clean for the touched files

Closes #266
Closes #267
Closes #268
Closes #269

boluwacodes and others added 2 commits October 16, 2026 12:30
…StellarTickets#266)

After a transfer the notice only echoed the typed email and the ticket just
vanished on refresh. The notice now names the ticket (event + seat) and the
recipient (name and email), says it left the list, and is a polite live
region; the ticket fades out for 300ms before the list refreshes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ecipient (StellarTickets#266)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@netlify

netlify Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

❌ Deploy Preview for stellartickets failed.

Name Link
🔨 Latest commit 0c9c88e
🔍 Latest deploy log https://app.netlify.com/projects/stellartickets/deploys/6ad20af65b2910fad6b80512

@drips-wave

drips-wave Bot commented Oct 16, 2026

Copy link
Copy Markdown

@boluwacodes Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@presidojay1
presidojay1 merged commit b74f6c0 into StellarTickets:main Oct 16, 2026
0 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants