Files
sure/app/components/DS
Guillem Arias Fauste a3d6a7aede feat(ds): DS::EmptyState primitive (#2137) (#2146)
Ships DS::EmptyState — a centered icon / title / optional description /
optional action-slot state — plus a preview, tests, and an exemplar migration
of the recurring-transactions empty screen.

Consolidates the repeated `text-center py-12 + icon + title + description + CTA`
markup across the empty / no-data screens (recurring, imports, statements,
exports, and several connector setups). The audit flagged the self-hosted
feature-disabled pages rendering bare unstyled top-left text ("reads as a 500,
not a state") — wiring those through this primitive is the follow-up.

- app/components/DS/empty_state.rb: render DS::EmptyState.new(icon:, title:,
  description:) with an optional `with_action` slot for the CTA.
- Migrate recurring_transactions/index empty branch.

Tests + rubocop + erb_lint clean.

Deferred: the remaining ~10 empty screens + the bare-text feature-disabled
states — same primitive, one migration each.
2026-06-08 21:44:11 +02:00
..
2025-07-18 08:30:00 -04:00
2025-07-18 08:30:00 -04:00