45 lines
1.2 KiB
Dart
45 lines
1.2 KiB
Dart
class Person {
|
|
final String id;
|
|
final String teamId;
|
|
final String name;
|
|
final String type; // 'Jogador' ou 'Treinador'
|
|
final String? number; // O número é opcional (Treinadores não têm)
|
|
|
|
// 👇 A NOVA PROPRIEDADE AQUI!
|
|
final String? imageUrl;
|
|
|
|
Person({
|
|
required this.id,
|
|
required this.teamId,
|
|
required this.name,
|
|
required this.type,
|
|
this.number,
|
|
this.imageUrl, // 👇 ADICIONADO AO CONSTRUTOR
|
|
});
|
|
|
|
// Lê os dados do Supabase e converte para a classe Person
|
|
factory Person.fromMap(Map<String, dynamic> map) {
|
|
return Person(
|
|
id: map['id']?.toString() ?? '',
|
|
teamId: map['team_id']?.toString() ?? '',
|
|
name: map['name']?.toString() ?? 'Desconhecido',
|
|
type: map['type']?.toString() ?? 'Jogador',
|
|
number: map['number']?.toString(),
|
|
|
|
// 👇 AGORA ELE JÁ SABE LER O LINK DA IMAGEM DA TUA BASE DE DADOS!
|
|
imageUrl: map['image_url']?.toString(),
|
|
);
|
|
}
|
|
|
|
// Prepara os dados para enviar para o Supabase (se necessário)
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'id': id,
|
|
'team_id': teamId,
|
|
'name': name,
|
|
'type': type,
|
|
'number': number,
|
|
'image_url': imageUrl, // 👇 TAMBÉM GUARDA A IMAGEM
|
|
};
|
|
}
|
|
} |