diff --git a/lib/screens/realm.dart b/lib/screens/realm.dart index f8fd16a..59a1fa9 100644 --- a/lib/screens/realm.dart +++ b/lib/screens/realm.dart @@ -186,7 +186,11 @@ class _RealmScreenState extends State { GoRouter.of(context).pushNamed( 'realmDetail', pathParameters: {'alias': realm.alias}, - ); + ).then((value) { + if (value == true) { + _fetchRealms(); + } + }); }, ); } @@ -244,7 +248,11 @@ class _RealmScreenState extends State { GoRouter.of(context).pushNamed( 'realmDetail', pathParameters: {'alias': realm.alias}, - ); + ).then((value) { + if (value == true) { + _fetchRealms(); + } + }); }, ), ), diff --git a/lib/screens/realm/realm_detail.dart b/lib/screens/realm/realm_detail.dart index 14a2360..a120cc4 100644 --- a/lib/screens/realm/realm_detail.dart +++ b/lib/screens/realm/realm_detail.dart @@ -343,12 +343,9 @@ class _RealmSettingsWidgetState extends State<_RealmSettingsWidget> { setState(() => _isBusy = true); try { - await sn.client.delete('/cgi/id/realms/${widget.realm!.alias}'); + await sn.client.delete('/cgi/id/realms/${widget.realm!.id}'); if (!mounted) return; Navigator.pop(context, true); - context.showSnackbar('realmDeleted'.tr(args: [ - '#${widget.realm!.alias}', - ])); } catch (err) { if (!mounted) return; context.showErrorDialog(err); diff --git a/lib/types/account.dart b/lib/types/account.dart index 9995a03..da2da32 100644 --- a/lib/types/account.dart +++ b/lib/types/account.dart @@ -20,7 +20,7 @@ class SnAccount with _$SnAccount { required String description, required String name, required String nick, - required Map permNodes, + @Default({}) Map permNodes, required String language, required SnAccountProfile? profile, @Default([]) List badges, diff --git a/lib/types/account.freezed.dart b/lib/types/account.freezed.dart index 3b29f73..e5338f2 100644 --- a/lib/types/account.freezed.dart +++ b/lib/types/account.freezed.dart @@ -385,7 +385,7 @@ class _$SnAccountImpl extends _SnAccount { required this.description, required this.name, required this.nick, - required final Map permNodes, + final Map permNodes = const {}, required this.language, required this.profile, final List badges = const [], @@ -437,6 +437,7 @@ class _$SnAccountImpl extends _SnAccount { final String nick; final Map _permNodes; @override + @JsonKey() Map get permNodes { if (_permNodes is EqualUnmodifiableMapView) return _permNodes; // ignore: implicit_dynamic_type @@ -566,7 +567,7 @@ abstract class _SnAccount extends SnAccount { required final String description, required final String name, required final String nick, - required final Map permNodes, + final Map permNodes, required final String language, required final SnAccountProfile? profile, final List badges, diff --git a/lib/types/account.g.dart b/lib/types/account.g.dart index def3adb..35c0206 100644 --- a/lib/types/account.g.dart +++ b/lib/types/account.g.dart @@ -25,7 +25,7 @@ _$SnAccountImpl _$$SnAccountImplFromJson(Map json) => description: json['description'] as String, name: json['name'] as String, nick: json['nick'] as String, - permNodes: json['perm_nodes'] as Map, + permNodes: json['perm_nodes'] as Map? ?? const {}, language: json['language'] as String, profile: json['profile'] == null ? null diff --git a/pubspec.lock b/pubspec.lock index ff322ed..0f9aefd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -66,10 +66,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.11.0" bitsdojo_window: dependency: "direct main" description: @@ -114,10 +114,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.1" build: dependency: transitive description: @@ -226,10 +226,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.3.0" checked_yaml: dependency: transitive description: @@ -250,10 +250,10 @@ packages: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.1" code_builder: dependency: transitive description: @@ -266,10 +266,10 @@ packages: dependency: "direct main" description: name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.19.1" + version: "1.19.0" connectivity_plus: dependency: transitive description: @@ -474,10 +474,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.1" ffi: dependency: transitive description: @@ -1158,18 +1158,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -1238,10 +1238,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: @@ -1342,10 +1342,10 @@ packages: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.15.0" mime: dependency: "direct main" description: @@ -1414,10 +1414,10 @@ packages: dependency: "direct main" description: name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.9.0" path_parsing: dependency: transitive description: @@ -1534,10 +1534,10 @@ packages: dependency: transitive description: name: petitparser - sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.0.2" photo_view: dependency: "direct main" description: @@ -1558,10 +1558,10 @@ packages: dependency: transitive description: name: platform_detect - sha256: "7394dc1d884e652785a37c3ff25c54e503c6d9fa2f35b55d5efc0a133dec122c" + sha256: a62f99417fc4fa2d099ce0ccdbb1bd3977920f2a64292c326271f049d4bc3a4f url: "https://pub.dev" source: hosted - version: "2.1.5" + version: "2.1.0" plugin_platform_interface: dependency: transitive description: @@ -1883,10 +1883,10 @@ packages: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.10.1" + version: "1.10.0" sprintf: dependency: transitive description: @@ -1899,34 +1899,34 @@ packages: dependency: transitive description: name: sqflite - sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03 + sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.1" sqflite_android: dependency: transitive description: name: sqflite_android - sha256: "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b" + sha256: "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.0" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b" + sha256: "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709" url: "https://pub.dev" source: hosted - version: "2.5.5" + version: "2.5.4+6" sqflite_darwin: dependency: transitive description: name: sqflite_darwin - sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3" + sha256: "22adfd9a2c7d634041e96d6241e6e1c8138ca6817018afc5d443fef91dcefa9c" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.1+1" sqflite_platform_interface: dependency: transitive description: @@ -1939,18 +1939,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.12.0" stream_channel: dependency: transitive description: name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -1963,10 +1963,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.3.0" styled_widget: dependency: "direct main" description: @@ -1987,26 +1987,26 @@ packages: dependency: "direct main" description: name: synchronized - sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6" + sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.3.0+3" term_glyph: dependency: transitive description: name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 url: "https://pub.dev" source: hosted - version: "1.2.2" + version: "1.2.1" test_api: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.3" timing: dependency: transitive description: @@ -2195,10 +2195,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "14.3.0" volume_controller: dependency: transitive description: @@ -2312,5 +2312,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0 <4.0.0" + dart: ">=3.6.0 <4.0.0" flutter: ">=3.27.0"