fix: sync will refresh the entire app (#877)

This commit is contained in:
lollipopkit🏳️‍⚧️
2025-09-01 01:18:06 +08:00
committed by GitHub
parent 3b7fdf36fb
commit 56e67f4725
7 changed files with 54 additions and 30 deletions

View File

@@ -9,17 +9,25 @@ part 'private_key.g.dart';
@freezed
abstract class PrivateKeyState with _$PrivateKeyState {
const factory PrivateKeyState({
@Default(<PrivateKeyInfo>[]) List<PrivateKeyInfo> keys,
}) = _PrivateKeyState;
const factory PrivateKeyState({@Default(<PrivateKeyInfo>[]) List<PrivateKeyInfo> keys}) = _PrivateKeyState;
}
@Riverpod(keepAlive: true)
class PrivateKeyNotifier extends _$PrivateKeyNotifier {
@override
PrivateKeyState build() {
return _load();
}
void reload() {
final newState = _load();
if (newState == state) return;
state = newState;
}
PrivateKeyState _load() {
final keys = Stores.key.fetch();
return PrivateKeyState(keys: keys);
return stateOrNull?.copyWith(keys: keys) ?? PrivateKeyState(keys: keys);
}
void add(PrivateKeyInfo info) {