loadUserData method
void
loadUserData( - String usersDataJson
)
Implementation
void loadUserData(String usersDataJson) {
final sanitized = usersDataJson
.split('\n')
.where((line) => !line.trimLeft().startsWith('//'))
.join('\n')
.trim();
if (sanitized.isEmpty) return;
final decoded = json.decode(sanitized);
if (decoded is Map<String, dynamic>) {
if (decoded.containsKey('id')) {
registerUser(UserData.fromJson(decoded));
} else {
final defaultUser =
activeUser ?? UserData(id: 'defaultUser', name: 'Default User');
for (var entry in decoded.entries) {
defaultUser.setProperty(entry.key, entry.value);
}
registerUser(defaultUser);
}
} else if (decoded is List) {
importUsers(decoded);
}
}