Overview
The SDK provides no member-facing dashboard component. Host apps that need a "My Applications" landing page must build their own from scratch, duplicating effort across every app that uses the SDK. This issue tracks building and shipping Strata::ApplicationFormIndexComponent as a first-class out-of-the-box solution.
Problem
The current reference documentation acknowledges this gap:
"The SDK doesn't ship a member-portal dashboard component, but the pattern used by SDK generators is template-based."
Every host app ends up writing the same index page: a heading, intro copy, a "Start new application" CTA, and a table of in-progress/submitted applications. Without a shared component, improvements (accessibility, status labeling, responsive layout) must be backported to every host app individually.
Proposed Solution
Ship Strata::ApplicationFormIndexComponent that provides a sensible default dashboard with enough configurability to cover common cases.
Proposed API
<%= render Strata::ApplicationFormIndexComponent.new(
application_forms: @application_forms,
new_path: new_application_form_path,
title: t(".title"),
intro: t(".intro"),
new_button_text: t(".start_new")
) %>
What the component renders
| Region |
Behavior |
| Page heading (h1) |
title argument |
| Intro paragraph |
intro argument |
| "Start new application" button |
Primary usa-button linking to new_path |
| In-progress applications section |
Heading + Strata::US::TableComponent with columns: ID/type, created date, status, actions |
| Empty state |
Friendly message when no applications exist |
Columns (default)
| Column |
Source |
| Reference / ID |
app.reference_number or app.id |
| Started |
app.created_at (:short format) |
| Status |
app.status.humanize |
| Action |
"Continue" link (in-progress) / "View" link (submitted) |
Acceptance Criteria
Why this is valuable
Providing an out-of-the-box dashboard view:
- Reduces SDK onboarding time — host apps get a working member dashboard on day one
- Centralizes accessibility and UX improvements in one place
- Creates a natural extension point (slots for custom columns, custom empty state) without requiring host apps to fork the entire template
Overview
The SDK provides no member-facing dashboard component. Host apps that need a "My Applications" landing page must build their own from scratch, duplicating effort across every app that uses the SDK. This issue tracks building and shipping
Strata::ApplicationFormIndexComponentas a first-class out-of-the-box solution.Problem
The current reference documentation acknowledges this gap:
Every host app ends up writing the same index page: a heading, intro copy, a "Start new application" CTA, and a table of in-progress/submitted applications. Without a shared component, improvements (accessibility, status labeling, responsive layout) must be backported to every host app individually.
Proposed Solution
Ship
Strata::ApplicationFormIndexComponentthat provides a sensible default dashboard with enough configurability to cover common cases.Proposed API
What the component renders
titleargumentintroargumentusa-buttonlinking tonew_pathStrata::US::TableComponentwith columns: ID/type, created date, status, actionsColumns (default)
app.reference_numberorapp.idapp.created_at(:shortformat)app.status.humanizeAcceptance Criteria
Strata::ApplicationFormIndexComponentStrata::US::TableComponentapplication_formsis emptyStrata::StatusTagComponent)stackedoptionui-kit-components.mdWhy this is valuable
Providing an out-of-the-box dashboard view: