Files
linkding-ios/lib/providers/api_client_provider.dart
Juan Gilsanz Polo 36f9332f61 Created onboarding
2024-02-22 02:11:10 +01:00

27 lines
721 B
Dart

import 'package:my_linkding/providers/server_instances_provider.dart';
import 'package:my_linkding/services/api_client.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'api_client_provider.g.dart';
@Riverpod(keepAlive: true)
class ApiClientProvider extends _$ApiClientProvider {
@override
ApiClient? build() {
final savedInstances = ref.watch(serverInstancesProvider);
if (savedInstances.isNotEmpty) {
return ApiClient(serverInstance: savedInstances[0]);
}
return null;
}
void setApiClient(ApiClient client) {
state = client;
}
void disconnectApiClient() {
state = null;
ref.read(serverInstancesProvider.notifier).removeServerInstances();
}
}