feat: Implement group management features with Firestore integration and loading states

This commit is contained in:
Dayron
2025-10-09 11:13:12 +02:00
parent 8c515e64ba
commit 3f9195d67a
4 changed files with 182 additions and 16 deletions

28
lib/models/group.dart Normal file
View File

@@ -0,0 +1,28 @@
import 'package:travel_mate/models/user.dart';
class Group {
final String? id;
final String name;
final List<User> members;
Group({
this.id,
required this.name,
required this.members,
});
factory Group.fromMap(Map<String, dynamic> data, String documentId) {
return Group(
id: documentId,
name: data['name'] ?? '',
members: List<User>.from(data['members']?.map((member) => User.fromMap(member)) ?? []),
);
}
Map<String, dynamic> toMap() {
return {
'name': name,
'members': members.map((member) => member.toMap()).toList(),
};
}
}

13
lib/models/message.dart Normal file
View File

@@ -0,0 +1,13 @@
class Message {
final String text;
final DateTime timestamp;
final String senderId;
final String senderName;
Message({
required this.text,
required this.timestamp,
required this.senderId,
required this.senderName,
});
}