feat: add upload logic.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:adaptive_scrollbar/adaptive_scrollbar.dart';
|
||||
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/content_layout.provider.dart';
|
||||
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
|
||||
@@ -297,14 +298,13 @@ class GestureEditor extends StatelessWidget {
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 10),
|
||||
child: DButton.upload(
|
||||
enabled: schemeProvider.uploaded == false,
|
||||
enabled: schemeProvider.readOnly == false,
|
||||
onTap: () async {
|
||||
if (context.read<ConfigsProvider>().accessToken.isNull) {
|
||||
return Notificator.showAlert(
|
||||
title: LocaleKeys.info_login_for_upload_title.tr(),
|
||||
description: LocaleKeys.info_login_for_upload_description.tr(),
|
||||
).then((value) {
|
||||
value.sout();
|
||||
if (value == CustomButton.positiveButton) {
|
||||
context
|
||||
.read<ContentLayoutProvider>()
|
||||
@@ -317,7 +317,27 @@ class GestureEditor extends StatelessWidget {
|
||||
description: LocaleKeys.info_upload_and_share_description.tr(),
|
||||
positiveButtonTitle: LocaleKeys.str_share.tr(),
|
||||
negativeButtonTitle: LocaleKeys.str_cancel.tr(),
|
||||
);
|
||||
).then((value) {
|
||||
bool? _share;
|
||||
if (value == CustomButton.positiveButton)
|
||||
_share = true;
|
||||
else if (value == CustomButton.negativeButton) _share = false;
|
||||
|
||||
if (_share != null) {
|
||||
Api.uploadScheme(scheme: schemeProvider, share: _share).then((value) {
|
||||
if (value) {
|
||||
Notificator.success(context, title: LocaleKeys.info_upload_success.tr());
|
||||
var localSchemesProvider = context.read<LocalSchemesProvider>();
|
||||
var localSchemeEntry = localSchemesProvider.schemes!
|
||||
.firstWhere((ele) => ele.scheme.id == schemeProvider.id);
|
||||
localSchemeEntry.scheme.uploaded = true;
|
||||
localSchemeEntry.save(localSchemesProvider);
|
||||
} else {
|
||||
Notificator.error(context, title: LocaleKeys.info_upload_failed.tr());
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import 'package:auto_size_text/auto_size_text.dart';
|
||||
import 'package:dde_gesture_manager/constants/constants.dart';
|
||||
import 'package:dde_gesture_manager/extensions.dart';
|
||||
import 'package:dde_gesture_manager/models/configs.provider.dart';
|
||||
import 'package:dde_gesture_manager/models/content_layout.provider.dart';
|
||||
import 'package:dde_gesture_manager/widgets/dde_button.dart';
|
||||
import 'package:dde_gesture_manager/widgets/login.dart';
|
||||
import 'package:dde_gesture_manager/widgets/me.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
@@ -82,33 +82,7 @@ class MarketOrMe extends StatelessWidget {
|
||||
Widget buildMeContent(BuildContext context) {
|
||||
var accessToken = context.watch<ConfigsProvider>().accessToken;
|
||||
if (accessToken.isNull) return LoginWidget();
|
||||
|
||||
return Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 10),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Icon(Icons.person, size: defaultButtonHeight),
|
||||
Flexible(
|
||||
child: AutoSizeText(
|
||||
context.watch<ConfigsProvider>().email ?? '',
|
||||
style: TextStyle(
|
||||
fontSize: 18,
|
||||
),
|
||||
maxLines: 1,
|
||||
),
|
||||
),
|
||||
DButton.logout(
|
||||
enabled: true,
|
||||
onTap: () => context.read<ConfigsProvider>().setProps(accessToken: '', email: ''),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
return MeWidget();
|
||||
}
|
||||
|
||||
Widget buildMarketContent(BuildContext context) {
|
||||
|
||||
Reference in New Issue
Block a user