ButtonViewModel

Il ButtonViewModel è un modello che rappresenta un pulsante configurabile per l’interfaccia utente. Permette di definire le proprietà principali di un pulsante, inclusi il testo, lo stile e l’azione da eseguire al tap.

La definizione del ButtonViewModel è riportata di seguito:

enum ButtonType { standard, outlined }

@freezed
class ButtonViewModel with _$ButtonViewModel {
  factory ButtonViewModel({
    required final String label,
    required final ButtonType? type,
    required final Function() action,
    final ButtonStyle? buttonStyle,
  }) = _ButtonViewModel;
}

Proprietà:

  • label (String): testo del pulsante.

  • type (ButtonType): il tipo di pulsante. Può essere uno dei seguenti valori:

    • ButtonType.standard: Pulsante con stile predefinito.

    • ButtonType.outlined: Pulsante con bordi evidenziati, senza riempimento.

  • action (Function()): la funzione da eseguire quando il pulsante viene cliccato.

  • buttonStyle (ButtonStyle?): stile opzionale del pulsante per una personalizzazione avanzata, come colori, bordi, ecc.