42 lines
1013 B
Dart
42 lines
1013 B
Dart
import 'package:equatable/equatable.dart';
|
|
|
|
/// Entité représentant un membre ou une organisation dans la recherche réseau.
|
|
class NetworkItem extends Equatable {
|
|
final String id;
|
|
final String name;
|
|
final String? subtitle;
|
|
final String? avatarUrl;
|
|
final String type; // 'Member', 'Organization'
|
|
final bool isConnected;
|
|
|
|
const NetworkItem({
|
|
required this.id,
|
|
required this.name,
|
|
this.subtitle,
|
|
this.avatarUrl,
|
|
required this.type,
|
|
this.isConnected = false,
|
|
});
|
|
|
|
NetworkItem copyWith({
|
|
String? id,
|
|
String? name,
|
|
String? subtitle,
|
|
String? avatarUrl,
|
|
String? type,
|
|
bool? isConnected,
|
|
}) {
|
|
return NetworkItem(
|
|
id: id ?? this.id,
|
|
name: name ?? this.name,
|
|
subtitle: subtitle ?? this.subtitle,
|
|
avatarUrl: avatarUrl ?? this.avatarUrl,
|
|
type: type ?? this.type,
|
|
isConnected: isConnected ?? this.isConnected,
|
|
);
|
|
}
|
|
|
|
@override
|
|
List<Object?> get props => [id, name, subtitle, avatarUrl, type, isConnected];
|
|
}
|