mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 17:38:12 +00:00
refactor(freight-backoffice): review one identity and the eTrade owner match
- Replace the general-manager rows with owner rows across the customer
detail, contract cards, types and service mappings.
- The identity card names its subject ("Verifies for this company") and shows
whether the asserted owner matches the manager on the eTrade licence:
amber when it does not, green when it does, dimmed when eTrade named
nobody. Advisory only, since the comparison is a fuzzy transliteration
match.
- A missing delegation letter now keys on poaDeclared === "yes".
- Keep the three general-manager labels in the change-request label map so
historical requests still render readable field names.
This commit is contained in:
@@ -170,12 +170,13 @@ export function ContractCustomerCard({
|
||||
/>
|
||||
</SectionCard>
|
||||
|
||||
<SectionCard icon={User} title="General manager" accent="grape">
|
||||
{/* Whoever the eTrade licence names as the business's manager. */}
|
||||
<SectionCard icon={User} title="Owner" accent="grape">
|
||||
<InfoRows
|
||||
rows={[
|
||||
{ icon: User, label: "Name", value: company.generalManagerName },
|
||||
{ icon: Mail, label: "Email", value: company.generalManagerEmail },
|
||||
{ icon: Phone, label: "Phone", value: company.generalManagerPhone },
|
||||
{ icon: User, label: "Name", value: company.ownerName },
|
||||
{ icon: Mail, label: "Email", value: company.ownerEmail },
|
||||
{ icon: Phone, label: "Phone", value: company.ownerPhone },
|
||||
]}
|
||||
/>
|
||||
</SectionCard>
|
||||
|
||||
@@ -43,9 +43,17 @@ export const FIELD_LABELS: Record<string, string> = {
|
||||
contactPersonPosition: "Contact position",
|
||||
contactPersonEmail: "Contact email",
|
||||
contactPersonPhone: "Contact phone",
|
||||
generalManagerName: "General manager",
|
||||
generalManagerEmail: "GM email",
|
||||
generalManagerPhone: "GM phone",
|
||||
ownerName: "Owner name",
|
||||
ownerEmail: "Owner email",
|
||||
ownerPhone: "Owner phone",
|
||||
poaDeclared: "Has a Power of Attorney",
|
||||
poaPassportNumber: "PoA passport number",
|
||||
// Nothing writes these any more — the general manager was removed — but
|
||||
// change requests filed before that still carry them, and without a label
|
||||
// the reviewer sees a raw attribute key.
|
||||
generalManagerName: "General manager (retired)",
|
||||
generalManagerEmail: "GM email (retired)",
|
||||
generalManagerPhone: "GM phone (retired)",
|
||||
poaName: "PoA name",
|
||||
poaPhone: "PoA phone",
|
||||
poaEmail: "PoA email",
|
||||
@@ -79,9 +87,9 @@ export function currentValue(company: Company, key: string): string {
|
||||
nationality: c.nationality,
|
||||
contactPersonName: c.contactPersonName ?? attrs.contactPersonName,
|
||||
contactPersonPhone: c.contactPersonPhone ?? attrs.contactPersonPhone,
|
||||
generalManagerName: c.generalManagerName ?? attrs.generalManagerName,
|
||||
generalManagerEmail: c.generalManagerEmail ?? attrs.generalManagerEmail,
|
||||
generalManagerPhone: c.generalManagerPhone ?? attrs.generalManagerPhone,
|
||||
ownerName: c.ownerName ?? attrs.ownerName,
|
||||
ownerEmail: c.ownerEmail ?? attrs.ownerEmail,
|
||||
ownerPhone: c.ownerPhone ?? attrs.ownerPhone,
|
||||
};
|
||||
const v = key in map ? map[key] : (c[key] ?? attrs[key]);
|
||||
return v === null || v === undefined || v === "" ? "—" : String(v);
|
||||
|
||||
Reference in New Issue
Block a user