lazy load memberships

This commit is contained in:
Henry Hiles 2026-03-22 16:35:15 -04:00
commit 9054b6b357
No known key found for this signature in database
14 changed files with 231 additions and 197 deletions

View file

@ -1,15 +1,22 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:freezed_annotation/freezed_annotation.dart";
part "membership.freezed.dart";
part "membership.g.dart";
@freezed
abstract class Membership with _$Membership {
const Membership._();
const factory Membership({
required Uri? avatarUrl,
required String displayName,
required String userId,
}) = _Membership;
factory Membership.fromJson(Map<String, Object?> json) =>
_$MembershipFromJson(json);
factory Membership.fromContent(
IMap<String, dynamic> content,
String userId,
) => Membership(
avatarUrl: Uri.tryParse(content["avatar_url"] ?? ""),
userId: userId,
displayName: content["displayname"] ?? userId.substring(1).split(":").first,
);
}