feat: scheme download feature.
This commit is contained in:
@@ -24,7 +24,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.add({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
@@ -41,7 +41,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.delete({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
@@ -58,7 +58,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.apply({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
@@ -75,7 +75,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.duplicate({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
@@ -92,7 +92,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.paste({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
@@ -109,7 +109,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.logout({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight,
|
||||
width = defaultButtonHeight,
|
||||
@@ -126,7 +126,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.upload({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight,
|
||||
width = defaultButtonHeight,
|
||||
@@ -143,7 +143,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.download({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
@@ -160,7 +160,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.share({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
@@ -177,7 +177,7 @@ class DButton extends StatefulWidget {
|
||||
|
||||
factory DButton.like({
|
||||
Key? key,
|
||||
required enabled,
|
||||
required bool enabled,
|
||||
GestureTapCallback? onTap,
|
||||
height = defaultButtonHeight * .7,
|
||||
width = defaultButtonHeight * .7,
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:dde_gesture_manager/constants/constants.dart';
|
||||
import 'package:dde_gesture_manager/http/api.dart';
|
||||
import 'package:dde_gesture_manager/models/configs.provider.dart';
|
||||
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
|
||||
import 'package:dde_gesture_manager/models/settings.provider.dart';
|
||||
import 'package:dde_gesture_manager/utils/helper.dart';
|
||||
import 'package:dde_gesture_manager/widgets/dde_button.dart';
|
||||
@@ -281,14 +282,15 @@ class _MarketWidgetState extends State<MarketWidget> {
|
||||
},
|
||||
),
|
||||
DButton.download(
|
||||
enabled: true,
|
||||
enabled: (context.watch<LocalSchemesProvider>().schemes ?? []).every((e) => e.scheme.id != _selected),
|
||||
onTap: () {
|
||||
Api.downloadScheme(schemeId: currentSelectedScheme!.uuid!).then((value) {
|
||||
/// todo: 下载逻辑
|
||||
value.sout();
|
||||
setState(() {
|
||||
currentSelectedScheme.downloads = currentSelectedScheme.downloads! + 1;
|
||||
});
|
||||
if (value != null) {
|
||||
H.handleDownloadScheme(context, value);
|
||||
setState(() {
|
||||
currentSelectedScheme.downloads = currentSelectedScheme.downloads! + 1;
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
),
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:dde_gesture_manager/constants/constants.dart';
|
||||
import 'package:dde_gesture_manager/extensions.dart';
|
||||
import 'package:dde_gesture_manager/http/api.dart';
|
||||
import 'package:dde_gesture_manager/models/configs.provider.dart';
|
||||
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
|
||||
import 'package:dde_gesture_manager/models/scheme_list_refresh_key.provider.dart';
|
||||
import 'package:dde_gesture_manager/models/settings.provider.dart';
|
||||
import 'package:dde_gesture_manager/utils/helper.dart';
|
||||
@@ -294,14 +295,15 @@ class _MeWidgetState extends State<MeWidget> {
|
||||
},
|
||||
),
|
||||
DButton.download(
|
||||
enabled: true,
|
||||
enabled: (context.watch<LocalSchemesProvider>().schemes ?? []).every((e) => e.scheme.id != _selected),
|
||||
onTap: () {
|
||||
Api.downloadScheme(schemeId: currentSelectedScheme!.uuid!).then((value) {
|
||||
/// todo: 下载逻辑
|
||||
value.sout();
|
||||
context
|
||||
.read<SchemeListRefreshKeyProvider>()
|
||||
.setProps(refreshKey: DateTime.now().millisecondsSinceEpoch);
|
||||
if (value != null) {
|
||||
H.handleDownloadScheme(context, value);
|
||||
context
|
||||
.read<SchemeListRefreshKeyProvider>()
|
||||
.setProps(refreshKey: DateTime.now().millisecondsSinceEpoch);
|
||||
}
|
||||
});
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user