visual method

NmStatusVisual visual(
  1. NmSimState s, {
  2. String? raw,
})

Icon, tone and label of a SIM state; raw is shown as the detail.

Implementation

NmStatusVisual visual(NmSimState s, {String? raw}) => switch (s) {
  NmSimState.active => NmStatusVisual(code: 'active', label: _l.simActive, meaning: _l.simActiveMeaning, icon: NmFugue.tickCircle, tone: NmTone.success),
  NmSimState.calling => NmStatusVisual(code: 'calling', label: _l.simCalling, meaning: _l.simCallingMeaning, icon: NmFugue.telephone, tone: NmTone.brand),
  NmSimState.idle => NmStatusVisual(code: 'idle', label: _l.simIdle, meaning: _l.simIdleMeaning, icon: NmFugue.cardSmall, tone: NmTone.muted),
  NmSimState.blocked => NmStatusVisual(code: 'blocked', label: _l.simBlocked, meaning: _l.simBlockedMeaning, icon: NmFugue.lock, tone: NmTone.danger),
  NmSimState.notRegistered => NmStatusVisual(
    code: 'not_registered',
    label: _l.simNotRegistered,
    meaning: _l.simNotRegisteredMeaning,
    icon: NmFugue.exclamation,
    tone: NmTone.warning,
  ),
  NmSimState.noSim => NmStatusVisual(code: 'no_sim', label: _l.simNoSim, meaning: _l.simNoSimMeaning, icon: NmFugue.cardBadgeMinus, tone: NmTone.muted),
  NmSimState.error => NmStatusVisual(code: 'error', label: _l.simError, meaning: _l.simErrorMeaning, icon: NmFugue.exclamationRed, tone: NmTone.danger),
  NmSimState.unknown => NmStatusVisual(
    code: raw ?? 'unknown',
    label: (raw ?? '?').toUpperCase(),
    meaning: _l.simUnknownMeaning,
    icon: NmFugue.question,
    tone: NmTone.muted,
  ),
};