some async refactorings
This commit is contained in:
@@ -46,7 +46,7 @@ class AppInitializationService extends _$AppInitializationService {
|
|||||||
.syncBangGroups(syncInterval: const Duration(days: 7));
|
.syncBangGroups(syncInterval: const Duration(days: 7));
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<Map<HostSource, Result<void>>> _initHosts(Settings settings) async {
|
FutureOr<Map<HostSource, Result<void>>> _initHosts(Settings settings) {
|
||||||
if (settings.enableContentBlocking) {
|
if (settings.enableContentBlocking) {
|
||||||
state = Result.success(
|
state = Result.success(
|
||||||
(
|
(
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ class KagiScreen extends HookConsumerWidget {
|
|||||||
lastBackButtonPress.value = null;
|
lastBackButtonPress.value = null;
|
||||||
|
|
||||||
if (activeWebView?.key != null && webViews.length > 1) {
|
if (activeWebView?.key != null && webViews.length > 1) {
|
||||||
await ref
|
ref
|
||||||
.read(webViewRepositoryProvider.notifier)
|
.read(webViewRepositoryProvider.notifier)
|
||||||
.closeTab(activeWebView!.key!);
|
.closeTab(activeWebView!.key!);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -29,10 +29,8 @@ class ViewTabsSheet extends HookConsumerWidget {
|
|||||||
label: const Text('New Tab'),
|
label: const Text('New Tab'),
|
||||||
),
|
),
|
||||||
TextButton.icon(
|
TextButton.icon(
|
||||||
onPressed: () async {
|
onPressed: () {
|
||||||
await ref
|
ref.read(webViewRepositoryProvider.notifier).closeAllTabs();
|
||||||
.read(webViewRepositoryProvider.notifier)
|
|
||||||
.closeAllTabs();
|
|
||||||
},
|
},
|
||||||
icon: const Icon(Icons.delete),
|
icon: const Icon(Icons.delete),
|
||||||
label: const Text('Close All'),
|
label: const Text('Close All'),
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class SaveSettingsController extends _$SaveSettingsController {
|
|||||||
Future<void> save(UpdateSettingsFunc updateSettings) async {
|
Future<void> save(UpdateSettingsFunc updateSettings) async {
|
||||||
state = const AsyncLoading();
|
state = const AsyncLoading();
|
||||||
state = await AsyncValue.guard(
|
state = await AsyncValue.guard(
|
||||||
() async => ref
|
() => ref
|
||||||
.read(settingsRepositoryProvider.notifier)
|
.read(settingsRepositoryProvider.notifier)
|
||||||
.updateSettings(updateSettings),
|
.updateSettings(updateSettings),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ Raw<Stream<ReceivedParameter>> sharingIntentStream(SharingIntentStreamRef ref) {
|
|||||||
// ignore: discarded_futures
|
// ignore: discarded_futures
|
||||||
.getInitialSharing()
|
.getInitialSharing()
|
||||||
// ignore: discarded_futures
|
// ignore: discarded_futures
|
||||||
.then((event) async {
|
.then((event) {
|
||||||
FlutterSharingIntent.instance.reset();
|
FlutterSharingIntent.instance.reset();
|
||||||
return event;
|
return event;
|
||||||
}).asStream();
|
}).asStream();
|
||||||
|
|||||||
@@ -35,11 +35,11 @@ class WebViewRepository extends _$WebViewRepository {
|
|||||||
state = {...state, webView.page.value.key: webView};
|
state = {...state, webView.page.value.key: webView};
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> closeTab(Key key) async {
|
void closeTab(Key key) {
|
||||||
state = Map.of(state)..remove(key);
|
state = Map.of(state)..remove(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> closeAllTabs() async {
|
void closeAllTabs() {
|
||||||
state = {};
|
state = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ class WebViewTab extends HookConsumerWidget {
|
|||||||
IconButton(
|
IconButton(
|
||||||
visualDensity:
|
visualDensity:
|
||||||
const VisualDensity(horizontal: -4.0, vertical: -4.0),
|
const VisualDensity(horizontal: -4.0, vertical: -4.0),
|
||||||
onPressed: () async {
|
onPressed: () {
|
||||||
await ref
|
ref
|
||||||
.read(webViewRepositoryProvider.notifier)
|
.read(webViewRepositoryProvider.notifier)
|
||||||
.closeTab(page.key);
|
.closeTab(page.key);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|||||||
part 'website_title.g.dart';
|
part 'website_title.g.dart';
|
||||||
|
|
||||||
@Riverpod(keepAlive: true)
|
@Riverpod(keepAlive: true)
|
||||||
Future<WebPageInfo> pageInfo(PageInfoRef ref, Uri url) async {
|
Future<WebPageInfo> pageInfo(PageInfoRef ref, Uri url) {
|
||||||
final websiteService = ref.watch(genericWebsiteServiceProvider.notifier);
|
final websiteService = ref.watch(genericWebsiteServiceProvider.notifier);
|
||||||
return websiteService.getInfo(url).then((value) => value.value);
|
return websiteService.getInfo(url).then((value) => value.value);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user