Oii Alvaro, tudo bem?
O instrutor estava trabalhando na refatoração do código, mais especificamente no arquivo journal_service.dart
. A ideia era modularizar um código que estava sendo usado para formatar a data na AppBar()
. Esse código estava sendo usado no arquivo add_journal_screen.dart
e a intenção era mover esse código para o arquivo weekday.dart
para que pudesse ser reutilizado em outras partes do código.
No arquivo weekday.dart
, ele modificou a classe WeekDay
para receber um objeto DateTime
em vez de um inteiro representando o dia da semana. Assim, ele poderia usar essa classe para formatar a data completa, não apenas o dia da semana.
Depois disso, ele adicionou um método toString()
na classe WeekDay
que retorna a data formatada como uma string. Esse método utiliza as informações da data que foram passadas para a classe WeekDay
para formatar a data.
Aqui está um exemplo do código final da classe WeekDay
:
class WeekDay {
DateTime date;
late String short;
late String long;
WeekDay(this.date) {
int weekday = date.weekday;
switch (weekday) {
//Código suprimido
}
}
@override
String toString() {
return "${long.toLowerCase()}, ${date.day} | ${date.month} | ${date.year}";
}
}
E aqui está um exemplo de como essa classe WeekDay
pode ser usada para formatar a data na AppBar()
:
appBar: AppBar(
title: Text(WeekDay(journal.createdAt).toString()),
actions: [
IconButton(
onPressed: () {
registerJournal(context);
},
icon: const Icon(Icons.check),
),
],
),
Espero que isso esclareça a parte do vídeo que foi cortada.
Um abraço e bons estudos.