Repository navigation
feat(frontend): add responsive mobile drawer and touch gestures to We… - #1684
Conversation
…bhook Logs Table - Render webhook delivery detail as a bottom drawer on mobile and a centered dialog from sm up, with slide/scale entry animations (motion-safe) - Swipe down to dismiss: drawer follows the finger, snaps back below the distance/velocity threshold, and only drags from the body when scrolled to the top - Swipe left/right to browse deliveries, with Previous/Next buttons and ArrowLeft/ArrowRight as non-gesture alternatives (WCAG 2.5.1) - Focus trap, focus restore, Escape to close, and body scroll lock - 44px touch targets on mobile, safe-area padding, tap feedback and touch-manipulation on table rows - Add drawer test suite and table navigation test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@Thosine-01 is attempting to deploy a commit to the Emmanuel's projects Team on Vercel. A member of the Team first needs to authorize it. |
…touch-gestures-to-webhook-logs-table
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 38865302 | Triggered | Generic High Entropy Secret | 9648d60 | backend/src/lib/sep0001-generator.sanitization.test.js | View secret |
| 38865486 | Triggered | Generic High Entropy Secret | 9648d60 | backend/src/lib/websocket-relay-retry.test.js | View secret |
| 38864685 | Triggered | Generic High Entropy Secret | 9648d60 | backend/src/lib/exchange-rate-oracle-sanitizer.test.js | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secrets safely. Learn here the best practices.
- Revoke and rotate these secrets.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
Summary
Closes #1513
Makes the webhook delivery detail view mobile-friendly. On phones it now opens as a bottom drawer you can swipe down to close and swipe sideways to browse deliveries. On desktop it stays a centered dialog. Every gesture also has a button and a keyboard equivalent.
What changed
Responsive drawer (
WebhookDetailModal.tsx)smand as a centered dialog fromsmupdrawer-inslide-up,dialog-inscale) only run undermotion-safe90dvhmax height andenv(safe-area-inset-bottom)padding so content clears the iOS home indicatorTouch gestures
resolveSwipe()function with documented thresholds, which makes it easy to unit test and tuneAccessibility
role="dialog",aria-modal, and the dialog is labelled by its headingaria-live="polite"Table (
WebhookLogs.tsx)onPrevious/onNext/positionLabelto the drawertouch-manipulationremoves the tap delay, and rows highlight when tappedFiles
frontend/src/components/WebhookDetailModal.tsx: responsive drawer, gestures, keyboard handling, focus managementfrontend/src/components/WebhookDetailModal.test.tsx: new, 15 testsfrontend/src/components/WebhookLogs.tsx: navigation wiring and tap behaviourfrontend/src/components/WebhookLogs.test.tsx: navigation test; the drawer mock now renders a stub that exposes the nav handlersfrontend/tailwind.config.js:drawer-in/dialog-inkeyframesTesting
npx vitest run src/components/WebhookDetailModal.test.tsx src/components/WebhookLogs.test.tsx: 20/20 passing. Type check and lint are clean.New test coverage:
resolveSwipe: long drag, fast flick, slow short drag, upward drag, horizontal next/previousManual testing
Screenshots
Notes
This PR and # (optimistic rollback) both edit
WebhookLogs.tsxandWebhookLogs.test.tsx, so whichever merges second will probably need a small conflict resolved.🤖 Generated with Claude Code