/
Ru5Kasper
/
Trackly
Обзор
Документация
Войти
/
Ru5Kasper
/
Trackly
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
frontend/lib/models/user_model.dart
67 строк
2 KB
DORANDKOR
feat(frontend): implement dark theme
21 май 2026, 16:08
21 май 2026, 16:08
412c063
Код
Авторство
О чём код?
class UserModel { final int id; final String name; final String email; final String? avatarUrl; final bool hasAvatar; final bool disableNotifications; final bool boolTheme; const UserModel({ required this.id, required this.name, required this.email, required this.avatarUrl, required this.hasAvatar, required this.disableNotifications, required this.boolTheme, }); factory UserModel.fromJson(Map<String, dynamic> json) { return UserModel( id: (json['id'] as num?)?.toInt() ?? 0, name: (json['name'] as String?)?.trim().isNotEmpty == true ? json['name'] as String : 'Пользователь', email: (json['email'] as String?) ?? '', avatarUrl: json['avatar_url'] as String?, hasAvatar: (json['has_avatar'] as bool?) ?? false, disableNotifications: (json['disable_notifications'] as bool?) ?? false, boolTheme: (json['bool_theme'] as bool?) ?? false, ); } UserModel copyWith({ int? id, String? name, String? email, String? avatarUrl, bool? hasAvatar, bool? disableNotifications, bool? boolTheme, }) { return UserModel( id: id ?? this.id, name: name ?? this.name, email: email ?? this.email, avatarUrl: avatarUrl ?? this.avatarUrl, hasAvatar: hasAvatar ?? this.hasAvatar, disableNotifications: disableNotifications ?? this.disableNotifications, boolTheme: boolTheme ?? this.boolTheme, ); } bool get notificationsEnabled => !disableNotifications; Map<String, dynamic> toJson() { return { 'id': id, 'name': name, 'email': email, if (avatarUrl != null) 'avatar_url': avatarUrl, 'has_avatar': hasAvatar, 'disable_notifications': disableNotifications, 'bool_theme': boolTheme, }; } }