new: Providers

This commit is contained in:
lollipopkit
2023-09-14 15:13:11 +08:00
parent eb158e63a2
commit c07958fa73
29 changed files with 206 additions and 218 deletions

View File

@@ -1,11 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:toolbox/core/extension/context/common.dart';
import 'package:toolbox/data/res/provider.dart';
import '../../../data/model/server/snippet.dart';
import '../../../data/provider/snippet.dart';
import '../../../data/res/ui.dart';
import '../../../locator.dart';
import '../../../view/widget/input_field.dart';
import '../../../view/widget/picker.dart';
import '../../route.dart';
@@ -59,8 +58,7 @@ extension DialogX on BuildContext {
S s,
void Function(Snippet s) onSelected,
) {
final provider = locator<SnippetProvider>();
if (provider.snippets.isEmpty) {
if (Providers.snippet.snippets.isEmpty) {
showRoundDialog(
child: Text(s.noSavedSnippet),
actions: [
@@ -80,12 +78,12 @@ extension DialogX on BuildContext {
return;
}
var snippet = provider.snippets.first;
var snippet = Providers.snippet.snippets.first;
showRoundDialog(
title: Text(s.choose),
child: Picker(
items: provider.snippets.map((e) => Text(e.name)).toList(),
onSelected: (idx) => snippet = provider.snippets[idx],
items: Providers.snippet.snippets.map((e) => Text(e.name)).toList(),
onSelected: (idx) => snippet = Providers.snippet.snippets[idx],
),
actions: [
TextButton(

View File

@@ -10,8 +10,8 @@ import 'package:toolbox/core/extension/context/snackbar.dart';
import 'package:toolbox/data/model/app/update.dart';
import 'package:toolbox/data/res/logger.dart';
import 'package:toolbox/data/res/path.dart';
import 'package:toolbox/data/res/provider.dart';
import '../data/provider/app.dart';
import '../data/res/build_data.dart';
import '../data/service/app.dart';
import '../locator.dart';
@@ -39,7 +39,7 @@ Future<void> doUpdate(BuildContext context, {bool force = false}) async {
return;
}
locator<AppProvider>().newestBuild = newest;
Providers.app.newestBuild = newest;
if (!force && newest <= BuildData.build) {
Loggers.app.info('Update ignored: ${BuildData.build} >= $newest');

View File

@@ -6,13 +6,10 @@ import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:plain_notification_token/plain_notification_token.dart';
import 'package:share_plus/share_plus.dart';
import 'package:toolbox/data/res/provider.dart';
import '../../data/provider/app.dart';
import '../../locator.dart';
import 'platform.dart';
final _app = locator<AppProvider>();
Future<bool> shareFiles(BuildContext context, List<String> filePaths) async {
for (final filePath in filePaths) {
if (!await File(filePath).exists()) {
@@ -25,10 +22,10 @@ Future<bool> shareFiles(BuildContext context, List<String> filePaths) async {
} else {
text = '${filePaths.length} ${S.of(context)!.files}';
}
_app.moveBg = false;
Providers.app.moveBg = false;
// ignore: deprecated_member_use
await Share.shareFiles(filePaths, subject: 'ServerBox -> $text');
_app.moveBg = true;
Providers.app.moveBg = true;
return filePaths.isNotEmpty;
}
@@ -37,9 +34,9 @@ void copy2Clipboard(String text) {
}
Future<String?> pickOneFile() async {
_app.moveBg = false;
Providers.app.moveBg = false;
final result = await FilePicker.platform.pickFiles(type: FileType.any);
_app.moveBg = true;
Providers.app.moveBg = true;
return result?.files.single.path;
}