From 6fd702eba8f68bf9ec989a6abf51227a26516601 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 17 Aug 2025 00:47:10 +0800 Subject: [PATCH] :bug: Fix profile update --- lib/route.dart | 4 ++-- .../account/me/{settings.dart => account_settings.dart} | 2 +- .../me/{settings.g.dart => account_settings.g.dart} | 2 +- .../account/me/{update.dart => profile_update.dart} | 8 ++++++-- lib/screens/account/me/settings_connections.dart | 2 +- lib/screens/auth/create_account.dart | 2 +- lib/screens/chat/room.g.dart | 2 +- 7 files changed, 13 insertions(+), 9 deletions(-) rename lib/screens/account/me/{settings.dart => account_settings.dart} (99%) rename lib/screens/account/me/{settings.g.dart => account_settings.g.dart} (98%) rename lib/screens/account/me/{update.dart => profile_update.dart} (98%) diff --git a/lib/route.dart b/lib/route.dart index 11d35830..0a66634a 100644 --- a/lib/route.dart +++ b/lib/route.dart @@ -22,9 +22,9 @@ import 'package:island/screens/notification.dart'; import 'package:island/screens/wallet.dart'; import 'package:island/screens/account/relationship.dart'; import 'package:island/screens/account/profile.dart'; -import 'package:island/screens/account/me/update.dart'; +import 'package:island/screens/account/me/profile_update.dart'; import 'package:island/screens/account/leveling.dart'; -import 'package:island/screens/account/me/settings.dart'; +import 'package:island/screens/account/me/account_settings.dart'; import 'package:island/screens/chat/chat.dart'; import 'package:island/screens/chat/room.dart'; import 'package:island/screens/chat/room_detail.dart'; diff --git a/lib/screens/account/me/settings.dart b/lib/screens/account/me/account_settings.dart similarity index 99% rename from lib/screens/account/me/settings.dart rename to lib/screens/account/me/account_settings.dart index 03f90a84..1aa71651 100644 --- a/lib/screens/account/me/settings.dart +++ b/lib/screens/account/me/account_settings.dart @@ -23,7 +23,7 @@ import 'package:material_symbols_icons/symbols.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:styled_widget/styled_widget.dart'; -part 'settings.g.dart'; +part 'account_settings.g.dart'; @riverpod Future> authFactors(Ref ref) async { diff --git a/lib/screens/account/me/settings.g.dart b/lib/screens/account/me/account_settings.g.dart similarity index 98% rename from lib/screens/account/me/settings.g.dart rename to lib/screens/account/me/account_settings.g.dart index 1df56fe9..0c4fb887 100644 --- a/lib/screens/account/me/settings.g.dart +++ b/lib/screens/account/me/account_settings.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'settings.dart'; +part of 'account_settings.dart'; // ************************************************************************** // RiverpodGenerator diff --git a/lib/screens/account/me/update.dart b/lib/screens/account/me/profile_update.dart similarity index 98% rename from lib/screens/account/me/update.dart rename to lib/screens/account/me/profile_update.dart index ce61f028..3dab2871 100644 --- a/lib/screens/account/me/update.dart +++ b/lib/screens/account/me/profile_update.dart @@ -1,3 +1,4 @@ +import 'package:collection/collection.dart'; import 'package:croppy/croppy.dart' hide cropImage; import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -568,6 +569,7 @@ class UpdateProfileScreen extends HookConsumerWidget { children: [ for (var i = 0; i < links.value.length; i++) Row( + key: ValueKey(links.value[i].hashCode), crossAxisAlignment: CrossAxisAlignment.end, children: [ Expanded( @@ -610,8 +612,10 @@ class UpdateProfileScreen extends HookConsumerWidget { IconButton( icon: const Icon(Symbols.delete), onPressed: () { - links.value = List.from(links.value) - ..removeAt(i); + links.value = + links.value + .whereIndexed((idx, _) => idx != i) + .toList(); }, ), ], diff --git a/lib/screens/account/me/settings_connections.dart b/lib/screens/account/me/settings_connections.dart index c24728d8..3865863f 100644 --- a/lib/screens/account/me/settings_connections.dart +++ b/lib/screens/account/me/settings_connections.dart @@ -6,7 +6,7 @@ import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:island/models/auth.dart'; import 'package:island/pods/network.dart'; -import 'package:island/screens/account/me/settings.dart'; +import 'package:island/screens/account/me/account_settings.dart'; import 'package:island/screens/auth/oidc.native.dart'; import 'package:island/services/text.dart'; import 'package:island/services/time.dart'; diff --git a/lib/screens/auth/create_account.dart b/lib/screens/auth/create_account.dart index 4cab0d81..0b5021da 100644 --- a/lib/screens/auth/create_account.dart +++ b/lib/screens/auth/create_account.dart @@ -6,7 +6,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:island/pods/network.dart'; -import 'package:island/screens/account/me/update.dart'; +import 'package:island/screens/account/me/profile_update.dart'; import 'package:island/widgets/alert.dart'; import 'package:island/widgets/app_scaffold.dart'; import 'package:material_symbols_icons/symbols.dart'; diff --git a/lib/screens/chat/room.g.dart b/lib/screens/chat/room.g.dart index 54f35740..5653132d 100644 --- a/lib/screens/chat/room.g.dart +++ b/lib/screens/chat/room.g.dart @@ -6,7 +6,7 @@ part of 'room.dart'; // RiverpodGenerator // ************************************************************************** -String _$messagesNotifierHash() => r'3b10c3101404f6528c7a83baa0d39cba1a30f579'; +String _$messagesNotifierHash() => r'3740c02ab1e4dba9c8e619b63c40e2236a89b342'; /// Copied from Dart SDK class _SystemHash {