← Component Specifications

Design Gaps — Review Hub

Work item AB#2450 Epic AB#1821 Audience Design team

Every screen where the Blazor Hybrid implementation ships without a Figma design source, or where implementation and design have diverged, in one place — organized by app area, each with a side-by-side screenshot comparison of the legacy XAML implementation and the Blazor implementation for review. The comparison pages follow one format: what the gap is, what ships today on both stacks, the screenshots, how the capture was verified, and the open questions that need a design decision.

What we need from this review: each comparison page ends in an Open questions table addressed to Design (occasionally Product or Comms). A gap is closed when those questions have answers — either a Figma frame for the screen or an explicit ruling that the screen keeps its implementation-defined form.

How to read the status pills

PillMeaning
Pair completeBoth 660×1434 captures exist — XAML and Blazor — and the comparison page is ready for review.
PartialOne side captured or one sub-screen missing; the page says exactly what is absent and why.
BlockedCapture needs something we don't have (an entitled test account, seed data). Named on the page.
No screenshotsA prose/proposal document — gap is real but the comparison is textual.

Comms & Notifications

GapStatusSummary
Comms Notification Detail Pair complete The most common notification row (empty ContentType, ~1 in 3 of production feed) opens a screen no one designed — native generates an HTML string into a WebView. AB#2286.
Flight Notification Grouping No screenshots Flight Finder push notifications need a grouping treatment; four options proposed with a recommendation. Questions for design in its §5. Card gap closed 2026-08-12 — collapsed face and expanded status row implemented from the delivered component set 5054:13776 (parent page node notifications-ff 5060:14989); list grouping still open.

Jumpseat / Flight Finder

GapStatusSummary
Jumpseat Etiquette & Mission Pair complete Both info pages ship with no Figma source; includes shipped-copy corrections and a missing fifth sub-nav item. AB#2177.
Flight Finder — Blazor vs Figma audit Pair complete Different comparison axis: the 9 Figma-designed Flight Finder screens audited against the live Blazor build, findings FF-1…FF-17 with paired Figma/live captures.

Member Resources

GapStatusSummary
In Case Of Accident · International Directory · Membership Card · Orange Card Pair complete Four destinations previously recorded as Blazor dead-ends now render live routes (verified 2026-08-12, build 34737cb4) — built with no Figma design source. Membership Card captures are PII-redacted.

MEC / My Pilot Group

GapStatusSummary
MEC Events · Hotels · Reps · Committee Details Pair complete Native shows live member data; the Blazor MEC surface is a scaffold with hardcoded/mock lists and no Figma frames for these screens. Committee drill-down does not exist in Blazor (/mec/committees rows self-link).
Contacts (Home / Category / List) Blocked Neither side capturable: requires an account flagged Is_MEC_Contact_List_User. Comparison page pending an entitled test account.
My Pilot Group → MEC composition coverage No screenshots Destination-by-destination coverage assessment of the My Pilot Group menu against the Blazor MEC scaffold.

FTDT

GapStatusSummary
Add / Edit Duty Period forms Partial Add-form pair captured. Edit form blocked: needs an account or simulator with an existing duty-period record (creating one against a live account is off-limits).

KCM

GapStatusSummary
KCM Airport Detail Pair complete Same airport (ATL) captured on both stacks against live data; no Figma frame for the detail level.

Documents

GapStatusSummary
Document Viewer (/document-open) Pair complete Same document (UPA 23.3 contract) on both stacks. Also corrects the record: the native viewer reached in this build is AuthenticatedWebViewPage (renamed from WebViewPage, AB#2591), not PDFJSPage.
Document Cache Blocked — no design source AB#2576's PrefetchCount auto-downloads documents with zero UI indicator anywhere. No native precedent exists — proposed direction is its own mechanism (own route/port/ViewModel), affiliated with Favorites by function only, the same separation already used between Notifications and Favorites. AB#2578.

Home

GapStatusSummary
Home Page — Figma vs Blazor audit Pair complete Figma-vs-live alignment audit with before/after captures of the Blazor home page.

Censuses and related inventories

The comparison pages above are the review surface; these are the underlying inventories they were drawn from.

DocumentWhat it holds
XAML → Blazor Coverage MapThe screen-by-screen census: which native screens have a Blazor equivalent, which were re-expressed, which are genuine gaps. Reference XAML captures live here.
Design-Source Gap InventoryRoute-by-route "does a Figma frame exist" inventory across the Blazor routes; the confirmed-candidate list this hub's pages were scoped from.
Empty State Inventory & GapsScreens that render lists but have no designed empty state; questions for design in its §4.
Component Design QuestionsThe running dq-1…dq-33 design question log at component level.
Screen Mapping StatusIndex of the twelve per-screen data-gap analyses (domain-control/API binding) — a different gap class, linked here for cross-reference only.

Capture conventions