UniversityPicker

Searchable picker for the 10 Sierra Leonean universities the TpEMIS platform onboards. Built on the Combobox primitive — featured tenants surface first (in the order the caller passes them), followed by the three most recent selections, followed by the rest of the catalogue in the order the tenants array supplies. The dropdown search matches against name, short name, and domain so users can find their institution however they remember it.

Default — featured first

Njala, USL, FBC, and COMAHS are flagged featured: true in the stub data.

No selection yet.

With a recent selection

Pass recentIds (typically read from localStorage) to surface the most recent pick directly under the featured group.

Stub data shape

Each tenant carries its admissions contract on-record: enabled signup channels, partner banks, approved payment providers, and campus + faculty breakdowns. Frontend team wires the real API later; the design system renders whatever it gets.

import { TENANTS, type Tenant } from "@/components/tpemis";
const njala: Tenant = TENANTS.find((t) => t.id === "njala")!;
njala.enabledChannels;   // ["pin", "bank-api", "bank-manual", "online", "free"]
njala.paymentProviders;  // ["orange_money", "afrimoney", "stripe", "paypal"]
njala.partnerBanks;      // PartnerBank[]
njala.stats;             // { students, faculty, programs }