Per-screen breakdown of MEC-customized screens: which container/component appears in each slot, per-MEC token overrides, and the comms content that hydrates it — enough to implement without re-opening Figma or the spreadsheet.
MEC symbol, node 20772:1689): status bar → topNav → main-feed slot (title row + variable content slot) → navBar-bottom. The tables below list what fills the content slot per screen. Composition is identical across MECs — only the token values (colors, fonts) and the comms content differ per airline. See Key Technical Rules for the token-binding contract. For a live look at any node, call get_screenshot(nodeId) against file gpO3masyyNNHxjvRtdcRo7.
21324:2955 "Home-banner demo alt" · symbol target 20785:1418 "UAL Home"
Home-banner demo alt (21324:2955)
| # | Component | Token override | Notes |
|---|---|---|---|
| — | topNav | Surface/Brand → #002243 | Standard chrome, MEC-branded background |
| 1 | Welcome thing → Welcome Banner | Text/On-Brand for greeting text | "Welcome Captain Johnson" + "View Contract" link — same domain control as base Home, MEC-themed background |
| 2 | card-btn row (My LEC · Calendar · …) | Icon tint per MEC | 3-up icon-tile row, e.g. "MY LEC" with calendar icon |
| 3 | horizontal scrolling feed → Carousel | — | card-lg items, section-titled feed |
| 4 | banner → Promo Banner (D43) | Surface/Brand, dismiss X inherits base style | Shown in context here — the same PromoBanner component AlpaScreen.razor renders for the base app's page-banner slot. This frame is the strongest real-world reference for the structured (Title/Subtitle/Image) variant once backend Change 5 ships. |
| 5 | card-lg ×2 | — | Additional feed cards below the banner |
| — | navBar-bottom | Nav/Background → #002243, Nav/Active → #bed6fb | Standard chrome |
Layout is explicitly draft in Figma — do not build against exact slot order until confirmed. See base Home composition for the non-MEC equivalent (same open status).
20826:1699 "CLE172"
CLE172 (20826:1699)
| # | Component | Data source | Notes |
|---|---|---|---|
| — | title slot | Static per LEC | Back icon + LEC name. Figma frame carries the generic template title "Submit a Pilot Data Request" verbatim in every LEC instance — a copy-paste leftover, not real per-LEC content; each LEC's actual title is its station code (e.g. "CLE 172"). |
| 1 | button-sm — Roster | comms-content.html § LECs → CLE 172 → ROSTER | Links to "CLE 172 Roster" child page |
| 2 | horizontal scrolling feed → Carousel — card-lg ×2 | comms-content.html § LECs → CLE 172 (Slider/Images) | "SAVE THE DATE / Guardians vs Pirates / July 19, 2026" + "SAVE THE DATE / Cleveland Airshow / September 7, 2026" — both with real hosted images (see Comms Content Inline below) |
| 3 | listy card generic ×3 → List Card Generic | AMPS code UALLADM00011 | "Representatives" section — populated from AMPS (union rep directory), not the comms feed |
| 4 | button-sm — Meeting Minutes Archive | comms-content.html § LECs → CLE 172 | External link to ual.alpa.org/LECs/CLE-172/Meeting-Minutes |
Slider-CLE172-FamAwareness.jpg (no link — informational)Slider-CLE172-Airshow.jpg (no link — informational)UALLADM00011, rendered via List Card Generic per Notes column guidancehttps://ual.alpa.org/LECs/CLE-172/Meeting-MinutesFive more LEC pages share the exact composition above — only the comms content and slot count differ (some LECs have a second card-md feed for "Updates", some skip the Slider entirely). Full comms text for EWR 005 is captured below since it is the richest populated example after CLE 172; DCA 011 / LAS 153 currently carry only the generic template placeholder in comms-content.html (no LEC-specific rows populated yet).
| LEC | Node | Composition delta vs CLE172 | Comms content status |
|---|---|---|---|
| EWR 005 | 20878:9764 |
Adds a second feed: card-md ×2 ("LEC UPDATES" slider, no image/eyebrow) between the Slider(Images) and Representatives sections; 2 button-sm rows (Submit a Resolution + Meeting Minutes Archive) |
Populated — Roster, 3× SAVE THE DATE / MEET & GREET events (2 with Eventbrite links), LEC UPDATES slider note ("Dynamically display communications here — eyebrow=date, Subject=title, description=p text"), Representatives (AMPS UALLADM00009), Submit a Resolution PDF link, Meeting Minutes Archive link |
| DCA 011 | 20891:10212 |
Same 2-feed + 3-button-sm shape as EWR 005 | Template only — comms-content.html has no DCA-011-specific rows yet, station-code title only |
| LAS 153 | 20891:10511 |
Single card-lg feed (not 2/3-up like EWR/DCA) + card-md feed + 3× button-sm | Template only — no LAS-153-specific comms rows populated yet |
| LAS 153 Roster | 20891:10966 |
Roster child page — 4× listy card generic only, no feed/buttons | Template only — AMPS-driven, no comms text expected on a roster page |
| CLE172 Web Search | 20853:21548 |
Not the MEC template — uses manu-notifications / hamburger-menu chrome + a single embedded document viewer rectangle ("LEC172 MINUTES 1"). Likely a PDF/minutes viewer variant, not a comms-content screen. |
N/A — document-viewer page, out of scope for comms content mapping |
20900:2432
Committees (20900:2432)
| # | Component | Notes |
|---|---|---|
| 1 | button-sm — Volunteer Opportunities | Links to Volunteer page |
| 2–8 | card-sm ×7 → Card Small (image) | One row per committee — Hotel, Pilot Compensation, Retirement & Insurance, SOAR, SPSC, System Scheduling, Security (see inline list below) |
| 9 | button-sm — All MEC Committees | External link, ual.alpa.org/COMMITTEES |
https://ual.alpa.org/COMMITTEES20904:2633 "HOTEL COMMITTEE"
HOTEL COMMITTEE (20904:2633)
| # | Component | Notes |
|---|---|---|
| 1–7 | card-sm ×7 → Card Small (image) | Resource/document link rows (see inline list) |
| 8 | listy card generic ×3 → List Card Generic | Representatives — AMPS code UALHOTL00001 |
hotel-faq.pdfual.alpa.org/RESOURCES/Education/Hotel#layovertoddow-mta.pdfdt-split-times.pdfalpa-mta.pdfcatering-station-list.pdfhotel-transportation-safety.pdfUALHOTL00001, List Card Generic20925:2892
UPA27 (20925:2892)
| # | Component | Notes |
|---|---|---|
| 1 | card-sm ×2 → Card Small | Under "Meet the Negotiating Committee" section header |
| 2 | horizontal scrolling feed ×3 → Carousel | card-lg feeds — 2, 3, and 4-up variants, section titles not yet labeled in the Figma frame |
| 3 | button-sm | Bottom CTA, label TBD |
The dedicated UPA27 sheet in comms-content.xlsx has only the generic template placeholder row (no populated content). Related UPA27 links exist under the Home sheet instead — "UPA27: OPEN POLLS" → dnn9112.alpa.org/VoteNet and "UPA27" → sb2-upa27.jpg promo image. The full negotiations-feed content shown in this Figma frame (Meet the Negotiating Committee cards, 3 carousels) has not been transcribed into the comms spreadsheet yet — flag as a data gap for the DEPT_DSS content owner before implementation.
Media Hub (20793:20106)
| # | Component | Notes |
|---|---|---|
| — | title slot | Back icon + real text "MEDIA HUB" — the Figma layer name is "UAL Media Hub" (per ual-mec-spec.html's frame inventory); the rendered in-app title is the shorter "MEDIA HUB". |
| 1 | horizontal scrolling feed → Carousel — card-lg ×3 | "VIDEOS" section (real text, corrects the prior generic "Feed" placeholder — this row was captured from Figma metadata only until this screenshot pass) + "VIEW ALL" — 3 WATCH-tagged videos: "Master Chair Messages" ("A Discussion with MEC Chair Capt. Brian Noyes"), "Leading Edge Podcast" (video card — "New Hire Mentor Committee" episode, distinct from the audio PODCAST card below despite the shared name), "How-To Videos" |
| 2 | card-sm ×3 | "UPDATES" section (real text — corrects the prior "COMMUNICATIONS" placeholder) + "VIEW ALL" — 3 real rows: "FROM THE CHAIR", "MEC WEEKLY", "MEC NEWS", each with a thumbnail image |
| 3 | horizontal scrolling feed — card-lg ×1 | "PODCAST" section (real text) — "The Flightdeck: A Leading Edge Podcast" card with real hosted artwork, matching comms-content.html § Home's "PODCAST / The Flightdeck" entry (slider-flightdeck.jpg) |
Screenshot captured 2026-07-15 (this frame previously had a composition-only entry with no image — see the mock-guide retrospective note on always confirming content against a screenshot, not just Figma layer/metadata names).