/opt/canhelp/apps/mobile/lib/models
NameSizeModeActions
app_notification.dart24230644editdlrm
availability.dart7590644editdlrm
category.dart12940644editdlrm
chat_room.dart57590644editdlrm
dashboard_data.dart40160644editdlrm
location.dart14310644editdlrm
offer.dart26480644editdlrm
portfolio_item.dart9470644editdlrm
price_list.dart39330644editdlrm
review.dart15750644editdlrm
specialist_card.dart52650644editdlrm
task.dart62600644editdlrm
user.dart64170644editdlrm
Edit: /opt/canhelp/apps/mobile/lib/models/location.dart (1431B)
class Location { final String id; final String slug; final String nameEl; final String nameEn; final String nameRu; final String? parentId; final List children; Location({ required this.id, required this.slug, required this.nameEl, required this.nameEn, required this.nameRu, this.parentId, this.children = const [], }); String nameFor(String locale) { switch (locale) { case 'el': return nameEl.isNotEmpty ? nameEl : nameEn; case 'ru': return nameRu.isNotEmpty ? nameRu : nameEn; default: return nameEn.isNotEmpty ? nameEn : nameEl; } } factory Location.fromJson(Map json) { final rawChildren = json['children'] as List?; // API may return { names: { el, en, ru } } or flat nameEl/nameEn/nameRu final names = json['names'] as Map?; return Location( id: json['id'] as String, slug: json['slug'] as String? ?? '', nameEl: names?['el'] as String? ?? json['nameEl'] as String? ?? '', nameEn: names?['en'] as String? ?? json['nameEn'] as String? ?? '', nameRu: names?['ru'] as String? ?? json['nameRu'] as String? ?? '', parentId: json['parentId'] as String?, children: rawChildren ?.map((e) => Location.fromJson(e as Map)) .toList() ?? [], ); } }