Skip to content

Feature/donation dashboard#13

Open
1stevengrant wants to merge 11 commits into
mainfrom
feature/donation-dashboard
Open

Feature/donation dashboard#13
1stevengrant wants to merge 11 commits into
mainfrom
feature/donation-dashboard

Conversation

@1stevengrant

Copy link
Copy Markdown
Owner

No description provided.

@1stevengrant
1stevengrant force-pushed the feature/donation-dashboard branch from b239963 to b21016f Compare June 17, 2026 06:43
CP dashboard with Vue/Inertia listing for all donations and subscriptions,
donor profile view, and permission-gated actions (cancel, pause, resume,
refund) using Statamic's @ui component library.

Donor portal with magic link authentication, self-service donation history,
and subscription cancellation. Thank you page with customisable messages
via Global Set.

Stripe webhook integration handling 6 event types with signature
verification, cache invalidation, Laravel event dispatch, and email
notifications. Artisan command to register webhook endpoint and write
secret to .env automatically.

Gift Aid support with configurable toggle switch on the donation form,
billing address collection for HMRC compliance, and custom metadata fields
passed to Stripe sessions. All settings configurable from the CP via
Global Set.
Maizzle framework in emails/ for developing styled HTML email templates
with Tailwind CSS. Production build compiles to Blade views with inlined
CSS at resources/views/emails/.

Email content (heading and body) for subscription paused and resumed
notifications is now editable from the CP under Globals > Donation
Messages > Emails tab. Mailables read from the Global Set via Settings
helper with hardcoded fallback defaults.
Sends a styled confirmation email to donors when checkout completes,
triggered by the checkout.session.completed webhook. Separate templates
for single and recurring donations showing the amount. Email heading and
body text are editable from the CP under Globals > Donation Messages >
Emails tab.
…t lines

Email greeting is now configurable from the CP (Globals > Donation
Messages > Emails > General) with placeholder support: {first_name},
{last_name}, {name}, {email}. Defaults to "Hi {first_name}," instead
of "Dear Full Name,".

Each email type now has a separate subject line field alongside the
heading, so the inbox subject can differ from the in-email heading.
Both are editable from the CP.
Warm amber background, coloured header band with configurable logo or
org name, extrabold heading typography, accent-coloured amount highlight
boxes for donation confirmations, and pill-shaped CTA button for the
magic link email.

New CP-configurable branding fields under Globals > Donation Messages >
Emails > Branding: logo URL, organisation name, and accent colour. All
emails inherit these via a shared DonationMailable base class.
Maizzle's prettify converts single quotes inside Blade expressions to
' entities, breaking PHP parsing. Moved the orgName fallback from
the template ternary into DonationMailable base class so the Maizzle
source only uses simple {{ $variable }} expressions without PHP operators
or string literals.
The logo field in the Emails > Branding section now uses Statamic's
asset fieldtype. The Settings helper resolves the asset path to an
absolute URL for use in email templates.
Email branding and per-email content settings moved from the
donation_messages global into a new donation_emails global with its own
tabs: Branding, Donation Confirmation, Recurring Confirmation,
Subscription Paused, Subscription Resumed.

Renamed globals to "Donation Checkout Messages" and "Donation Checkout
Emails" for clarity in the CP Globals listing.
…abled

Support select fields in the custom fields system with validated options
and styled dropdown UI. When Gift Aid is enabled, a title dropdown (Mr,
Mrs, Ms, Miss, Mx, Dr, Rev, Prof) is auto-injected inline beside the
name fields in a 3-column grid layout, supporting HMRC Gift Aid claim
requirements.
@1stevengrant
1stevengrant force-pushed the feature/donation-dashboard branch from b21016f to 7677b0b Compare June 17, 2026 06: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.

1 participant