Created onboarding

This commit is contained in:
Juan Gilsanz Polo
2024-02-22 02:11:10 +01:00
parent d9a82ec1fa
commit 36f9332f61
23 changed files with 538 additions and 43 deletions

View File

@@ -18,4 +18,9 @@ class ApiClientProvider extends _$ApiClientProvider {
void setApiClient(ApiClient client) {
state = client;
}
void disconnectApiClient() {
state = null;
ref.read(serverInstancesProvider.notifier).removeServerInstances();
}
}

View File

@@ -6,7 +6,7 @@ part of 'api_client_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$apiClientProviderHash() => r'eff6aeacbfe369f2204d77f4884cc9d78ecf1e27';
String _$apiClientProviderHash() => r'8c44873c4e0758acfcd64b181134b80a43327f46';
/// See also [ApiClientProvider].
@ProviderFor(ApiClientProvider)

View File

@@ -12,7 +12,7 @@ GoRouter router(RouterRef ref) {
return GoRouter(
redirect: (context, state) {
if (ref.watch(apiClientProviderProvider) == null) {
return RoutesPaths.connect;
return RoutesPaths.onboarding;
}
return null;
},

View File

@@ -6,7 +6,7 @@ part of 'router_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$routerHash() => r'47e3f3d747dcb7b2543c73209f8a2f5561eb6ff7';
String _$routerHash() => r'78eb4c32cddebb29e3029e0eeaeb0f4c40d77012';
/// See also [router].
@ProviderFor(router)

View File

@@ -4,8 +4,6 @@ import 'package:my_linkding/config/shared_preferences_keys.dart';
import 'package:my_linkding/providers/shared_preferences_provider.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:my_linkding/services/api_client.dart';
import 'package:my_linkding/providers/api_client_provider.dart';
import 'package:my_linkding/models/server_instance.dart';
part 'server_instances_provider.g.dart';
@@ -45,4 +43,9 @@ class ServerInstances extends _$ServerInstances {
final stringList = instances.map((i) => jsonEncode(i.toJson())).toList();
ref.read(sharedPreferencesProvider).setStringList(SharedPreferencesKeys.serversInstances, stringList);
}
void removeServerInstances() {
state = [];
ref.read(sharedPreferencesProvider).remove(SharedPreferencesKeys.serversInstances);
}
}

View File

@@ -6,7 +6,7 @@ part of 'server_instances_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$serverInstancesHash() => r'82b7d3367afbe5c19ad0238977e5df35fac3499b';
String _$serverInstancesHash() => r'ee41f5a717b9f779aa4319cc711b479a47c1c9ef';
/// See also [ServerInstances].
@ProviderFor(ServerInstances)