fix: auto route rebuild on settings change (#28717)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong
2026-05-31 19:30:37 +05:30
committed by GitHub
parent a52e7dc11a
commit 2382894fa2
+10 -8
View File
@@ -1,38 +1,40 @@
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/config/app_config.dart';
import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart';
import 'package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart';
import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart'; import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart';
import 'package:immich_mobile/providers/infrastructure/db.provider.dart'; import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
import 'package:immich_mobile/providers/infrastructure/settings.provider.dart'; import 'package:immich_mobile/providers/infrastructure/settings.provider.dart';
final authRepositoryProvider = Provider<AuthRepository>( final authRepositoryProvider = Provider<AuthRepository>(
(ref) => AuthRepository(ref.watch(driftProvider), ref.watch(appConfigProvider)), (ref) => AuthRepository(ref.watch(driftProvider), ref.watch(settingsProvider)),
); );
class AuthRepository { class AuthRepository {
final Drift _drift; final Drift _drift;
final AppConfig _config; final SettingsRepository _settings;
const AuthRepository(this._drift, this._config); const AuthRepository(this._drift, this._settings);
Future<void> clearLocalData() async { Future<void> clearLocalData() async {
await SyncStreamRepository(_drift).reset(); await SyncStreamRepository(_drift).reset();
} }
bool getEndpointSwitchingFeature() { bool getEndpointSwitchingFeature() {
return _config.network.autoEndpointSwitching; return _settings.appConfig.network.autoEndpointSwitching;
} }
String? getPreferredWifiName() { String? getPreferredWifiName() {
return _config.network.preferredWifiName; return _settings.appConfig.network.preferredWifiName;
} }
String? getLocalEndpoint() { String? getLocalEndpoint() {
return _config.network.localEndpoint; return _settings.appConfig.network.localEndpoint;
} }
List<AuxilaryEndpoint> getExternalEndpointList() { List<AuxilaryEndpoint> getExternalEndpointList() {
return _config.network.externalEndpointList.map((url) => AuxilaryEndpoint(url: url, status: .valid)).toList(); return _settings.appConfig.network.externalEndpointList
.map((url) => AuxilaryEndpoint(url: url, status: .valid))
.toList();
} }
} }