Skip to content

Uiux/payout ics export - #562

Open
OLAMIGHTY010 wants to merge 6 commits into
RevoraOrg:masterfrom
OLAMIGHTY010:uiux/payout-ics-export
Open

Uiux/payout ics export#562
OLAMIGHTY010 wants to merge 6 commits into
RevoraOrg:masterfrom
OLAMIGHTY010:uiux/payout-ics-export

Conversation

@OLAMIGHTY010

Copy link
Copy Markdown

Resolves Issue #445

Description

This PR implements the ICS calendar export UX for the Payout Schedule page, enabling investors and issuers to easily subscribe to upcoming payouts across various calendar clients.

Key Changes

  • Client Instruction Tabs: Replaced the static bulleted list with an interactive, tabbed interface to display client-specific setup instructions (Google, Outlook, Apple Calendar).
  • Revoke Confirmation Flow: Added a safety confirmation step (Are you sure? Existing calendar syncs will break.) when revoking a subscription URL to prevent accidental breakages.
  • Last Used & Regenerate: The regenerate button now instantly cycles the URL token and resets the "Last Used" timestamp to ensure synchronization integrity.
  • Edge Cases & Accessibility:
    • Implemented explicit dir="ltr" for the URL input and updated styles for RTL layout compatibility to prevent garbled text.
    • Added truncation styles (text-overflow: ellipsis) for very long subscription URLs to prevent layout breakage.
    • Verified ARIA roles (tablist, tab, tabpanel) and button labels for screen reader accessibility (WCAG 2.1 AA).
  • Test Coverage: Expanded CalendarExportDialog.test.tsx to include new test cases for tab switching, the multi-step revoke flow, and revocation cancelation.

How to Test

  1. Navigate to the Payout Schedule page and click Subscribe.
  2. Verify you can tab through Google, Outlook, and Apple instructions seamlessly.
  3. Click the Copy button and verify the fallback behaves correctly.
  4. Click Revoke, and ensure the confirmation prompt appears before the URL is actually nullified.
  5. Review the component under an RTL language layout.

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