HeaderViewModel

Il HeaderViewModel è un modello progettato per configurare le proprietà principali di un’intestazione in un’interfaccia utente. Questo modello consente di personalizzare l’aspetto e il comportamento della sezione header, fornendo opzioni per configurazioni avanzate come contenuti sovrapposti e dettagli aggiuntivi nella parte inferiore.

La definizione del HeaderViewModel è riportata di seguito:

@freezed
class HeaderViewModel with _$HeaderViewModel {
  factory HeaderViewModel({
    final HeaderConfig? headerConfig,
    final HeaderBottomConfig? bottomConfig,
    final OverlayItemConfig? overlayConfig,
  }) = _HeaderViewModel;
}

Proprietà:

  • headerConfig: configura l’immagine do sfondo e la back icon.

  • bottomConfig: definisce la parte relativa al bottom header.

  • overlayConfig: imposta l’aspetto e il contenuto dell’overlay.

Configurazioni di HeaderConfig

@freezed
class HeaderConfig with _$HeaderConfig {
  factory HeaderConfig({
    final String? imageUrl,
    final AdamResource? topLeftIcon,
    final Function(HeaderViewModel item)? onBackTap
  }) = _HeaderConfig;
}

Proprietà:

  • imageUrl: URL dell’immagine di sfondo.

  • topLeftIcon: corrisponde alla back icon.

  • onBackTap: funzione di callback quando si interagisce con la back icon.

Configurazioni di HeaderBottomConfig

@freezed
class HeaderBottomConfig with _$HeaderBottomConfig {
  factory HeaderBottomConfig({
    final String? progressLabel,
    final double? progressValue,
    final Color? progressBackgroundColor,
    final Color? progressColor,
  }) = _HeaderBottomConfig;
}

Proprietà:

  • progressLabel: testo della label che descrive lo stato di avanzamento.

  • progressValue: valore del progress (da 0.0 a 1.0).

  • progressBackgroundColor: colore di sfondo della progress bar.

  • progressColor: colore della progress bar.