Skip to content

feat: add donation appeal#1898

Merged
Bilb merged 10 commits intodevfrom
feat/appeal
Mar 19, 2026
Merged

feat: add donation appeal#1898
Bilb merged 10 commits intodevfrom
feat/appeal

Conversation

@Aerilym
Copy link
Copy Markdown
Collaborator

@Aerilym Aerilym commented Mar 19, 2026

No description provided.

Copilot AI review requested due to automatic review settings March 19, 2026 03:03
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “donation appeal” session CTA variant and updates modal behavior to better control close affordances for that appeal.

Changes:

  • Introduces CTAVariant.DONATE_APPEAL and switches the triggered donate CTA to use it.
  • Adds a no-warning URL open helper and refactors URL open/copy handling for interaction tracking.
  • Extends SessionWrapperModal/SessionFocusTrap with new close/outside-click controls and adds a floating close button option.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
ts/localization Updates localization submodule, presumably adding tokens/assets for the new donation appeal CTA.
ts/components/dialog/cta/types.ts Adds the DONATE_APPEAL CTA variant enum value.
ts/components/dialog/SessionCTA.tsx Implements the new donate appeal CTA rendering/behavior, including button logic and modal close behavior.
ts/components/dialog/OpenUrlModal.tsx Refactors open/copy into helpers and exports openUrlNoDialog for direct URL opening.
ts/components/SessionWrapperModal.tsx Adds props to control outside-click deactivation and a floating close button.
ts/components/SessionFocusTrap.tsx Adds support for clickOutsideDeactivates to the focus trap configuration.
Comments suppressed due to low confidence (2)

ts/components/SessionFocusTrap.tsx:1

  • SessionFocusTrap now supports clickOutsideDeactivates, but SessionWrapperModal introduces a similarly named prop and (per the provided context) still doesn’t pass it through. This can lead to inconsistent outside-click behavior between the wrapper’s onMouseDown handler and the focus trap’s behavior. Consider wiring clickOutsideDeactivates (and potentially allowOutsideClick) through SessionWrapperModal to SessionFocusTrap so the modal’s outside-click policy is controlled in one place.
import { FocusTrap, type FocusTrapProps } from 'focus-trap-react';

ts/components/SessionFocusTrap.tsx:1

  • SessionFocusTrap now supports clickOutsideDeactivates, but SessionWrapperModal introduces a similarly named prop and (per the provided context) still doesn’t pass it through. This can lead to inconsistent outside-click behavior between the wrapper’s onMouseDown handler and the focus trap’s behavior. Consider wiring clickOutsideDeactivates (and potentially allowOutsideClick) through SessionWrapperModal to SessionFocusTrap so the modal’s outside-click policy is controlled in one place.
import { FocusTrap, type FocusTrapProps } from 'focus-trap-react';

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Bilb
Bilb previously approved these changes Mar 19, 2026
@Bilb Bilb merged commit a432ff6 into dev Mar 19, 2026
3 of 9 checks passed
@Bilb Bilb deleted the feat/appeal branch March 19, 2026 03:44
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.

3 participants