UAL (United) — MEC Page Compositions

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.

Figma MEC file: gpO3masyyNNHxjvRtdcRo7 · Comms source: comms-content.html (SharePoint DEPT_DSS ingest) · Scope: UAL (only MEC with populated screens today) · Last updated: 2026-07-08

How to read this doc: Every MEC-customized screen shares one template (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.
Home — MEC Variant
Tentative — draft prototype Node 21324:2955 "Home-banner demo alt" · symbol target 20785:1418 "UAL Home"
Home — MEC banner demo, UAL branding

Home-banner demo alt (21324:2955)

#ComponentToken overrideNotes
topNavSurface/Brand#002243Standard chrome, MEC-branded background
1Welcome thing → Welcome BannerText/On-Brand for greeting text"Welcome Captain Johnson" + "View Contract" link — same domain control as base Home, MEC-themed background
2card-btn row (My LEC · Calendar · …)Icon tint per MEC3-up icon-tile row, e.g. "MY LEC" with calendar icon
3horizontal scrolling feed → Carouselcard-lg items, section-titled feed
4banner → Promo Banner (D43)Surface/Brand, dismiss X inherits base styleShown 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.
5card-lg ×2Additional feed cards below the banner
navBar-bottomNav/Background#002243, Nav/Active#bed6fbStandard 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).

LEC Detail — reference instance: CLE 172
Shared template — 6 LEC instances confirmed Node 20826:1699 "CLE172"
LEC Detail — CLE 172 instance

CLE172 (20826:1699)

#ComponentData sourceNotes
title slotStatic per LECBack 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").
1button-sm — Rostercomms-content.html § LECs → CLE 172 → ROSTERLinks to "CLE 172 Roster" child page
2horizontal scrolling feed → Carousel — card-lg ×2comms-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)
3listy card generic ×3 → List Card GenericAMPS code UALLADM00011"Representatives" section — populated from AMPS (union rep directory), not the comms feed
4button-sm — Meeting Minutes Archivecomms-content.html § LECs → CLE 172External link to ual.alpa.org/LECs/CLE-172/Meeting-Minutes

Comms content inline (CLE 172)

  • Roster → child page "CLE 172 Roster" (comms-content.html § LECs)
  • SAVE THE DATE / Guardians vs Pirates, July 19, 2026 — image: Slider-CLE172-FamAwareness.jpg (no link — informational)
  • SAVE THE DATE / Cleveland Airshow, September 7, 2026 — image: Slider-CLE172-Airshow.jpg (no link — informational)
  • *Representatives* — AMPS code UALLADM00011, rendered via List Card Generic per Notes column guidance
  • Meeting Minutes Archivehttps://ual.alpa.org/LECs/CLE-172/Meeting-Minutes

Other LEC Instances (same template, different content)

Five 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).

LECNodeComposition delta vs CLE172Comms 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
Committees
Populated Node 20900:2432
Committees list

Committees (20900:2432)

#ComponentNotes
1button-sm — Volunteer OpportunitiesLinks to Volunteer page
2–8card-sm ×7 → Card Small (image)One row per committee — Hotel, Pilot Compensation, Retirement & Insurance, SOAR, SPSC, System Scheduling, Security (see inline list below)
9button-sm — All MEC CommitteesExternal link, ual.alpa.org/COMMITTEES

Comms content inline (Committees list)

  • Volunteer Opportunities → Volunteer page
  • Hotel → Hotel Committee (full breakdown below)
  • Pilot Compensation → Pilot Compensation Committee
  • Retirement & Insurance → Retirement & Insurance Committee
  • SOAR → SOAR Committee
  • SPSC → Strategic Preparedness & Strike Committee
  • System Scheduling → System Scheduling Committee
  • Security → Security Committee
  • All MEC Committeeshttps://ual.alpa.org/COMMITTEES
Committees — Hotel
Populated Node 20904:2633 "HOTEL COMMITTEE"
Hotel Committee resource list

HOTEL COMMITTEE (20904:2633)

#ComponentNotes
1–7card-sm ×7 → Card Small (image)Resource/document link rows (see inline list)
8listy card generic ×3 → List Card GenericRepresentatives — AMPS code UALHOTL00001

Comms content inline (Hotel Committee)

  • Hotel FAQshotel-faq.pdf
  • Layover Hotel Listual.alpa.org/RESOURCES/Education/Hotel#layover
  • Time of Day/Day of Week Pick-uptoddow-mta.pdf
  • Downtown Split Timesdt-split-times.pdf
  • Minutes to Airport Pick-up Timealpa-mta.pdf
  • Catering Station Listcatering-station-list.pdf
  • Transportation Safetyhotel-transportation-safety.pdf
  • *Representatives* — AMPS code UALHOTL00001, List Card Generic
UPA27
Composition captured — comms text not yet populated Node 20925:2892
UPA27 negotiations feed

UPA27 (20925:2892)

#ComponentNotes
1card-sm ×2 → Card SmallUnder "Meet the Negotiating Committee" section header
2horizontal scrolling feed ×3 → Carouselcard-lg feeds — 2, 3, and 4-up variants, section titles not yet labeled in the Figma frame
3button-smBottom CTA, label TBD

Comms content status

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.

UAL Media Hub
Populated Node 20793:20106
UAL Media Hub screen

Media Hub (20793:20106)

#ComponentNotes
title slotBack 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".
1horizontal 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"
2card-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
3horizontal 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).