global share release
parent
d3d983ba3f
commit
5dcb99ec67
|
|
@ -45,7 +45,6 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
|
||||||
applicationId "com.example.aman_kassa_flutter"
|
applicationId "com.example.aman_kassa_flutter"
|
||||||
minSdkVersion 18
|
minSdkVersion 18
|
||||||
targetSdkVersion 28
|
targetSdkVersion 28
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,6 @@ class CalcModel {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
// TODO: implement toString
|
|
||||||
|
|
||||||
return 'num1: $num1 num2:$num2 operation:$operation closed:$closed';
|
return 'num1: $num1 num2:$num2 operation:$operation closed:$closed';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -38,12 +38,9 @@ Future<void> cleanCalcItems(Store<AppState> store) async {
|
||||||
|
|
||||||
ThunkAction<AppState> onTapAction(String value) {
|
ThunkAction<AppState> onTapAction(String value) {
|
||||||
return (Store<AppState> store) async {
|
return (Store<AppState> store) async {
|
||||||
|
|
||||||
if(value == Calculations.EQUAL){
|
if(value == Calculations.EQUAL){
|
||||||
return setEqual(store);
|
return setEqual(store);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO create private methods by operations and values
|
|
||||||
List calcItems = Calculator.action(value: value, items: store.state.calcState.calcItems);
|
List calcItems = Calculator.action(value: value, items: store.state.calcState.calcItems);
|
||||||
calcItems.asMap().forEach((index,element ) {
|
calcItems.asMap().forEach((index,element ) {
|
||||||
print('#$index: ${element.toString()}');
|
print('#$index: ${element.toString()}');
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import 'package:aman_kassa_flutter/shared/ui_helpers.dart';
|
||||||
import 'package:aman_kassa_flutter/widgets/fields/busy_button.dart';
|
import 'package:aman_kassa_flutter/widgets/fields/busy_button.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
|
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
|
||||||
|
import 'package:esys_flutter_share/esys_flutter_share.dart';
|
||||||
//import 'package:flutter/services.dart';
|
//import 'package:flutter/services.dart';
|
||||||
|
|
||||||
class ImageShowContainer extends StatelessWidget {
|
class ImageShowContainer extends StatelessWidget {
|
||||||
|
|
@ -21,7 +22,7 @@ class ImageShowContainer extends StatelessWidget {
|
||||||
body: ListView(
|
body: ListView(
|
||||||
children: <Widget>[imageFromBase64String(data.data)],
|
children: <Widget>[imageFromBase64String(data.data)],
|
||||||
),
|
),
|
||||||
floatingActionButton: MyFloatingActionButton(),
|
floatingActionButton: MyFloatingActionButton(data),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,6 +43,8 @@ class ImageShowModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
class MyFloatingActionButton extends StatefulWidget {
|
class MyFloatingActionButton extends StatefulWidget {
|
||||||
|
final ImageShowModel data;
|
||||||
|
MyFloatingActionButton(this.data);
|
||||||
@override
|
@override
|
||||||
_MyFloatingActionButtonState createState() => _MyFloatingActionButtonState();
|
_MyFloatingActionButtonState createState() => _MyFloatingActionButtonState();
|
||||||
}
|
}
|
||||||
|
|
@ -88,11 +91,11 @@ class _MyFloatingActionButtonState extends State<MyFloatingActionButton> {
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
verticalSpaceSmall,
|
verticalSpaceSmall,
|
||||||
BusyButton(title: 'Электронная почта', onPressed: () {} , mainColor: primaryColor, icon: Icons.mail, ),
|
BusyButton(title: 'Электронная почта', onPressed: shareFile , mainColor: primaryColor, icon: Icons.mail, enabled: false, ),
|
||||||
verticalSpaceSmall,
|
verticalSpaceSmall,
|
||||||
BusyButton(title: 'WhatsApp', onPressed: () {} , mainColor: greenColor, icon: MdiIcons.whatsapp, ),
|
BusyButton(title: 'WhatsApp', onPressed: shareFile , mainColor: greenColor, icon: MdiIcons.whatsapp, enabled: false,),
|
||||||
verticalSpaceSmall,
|
verticalSpaceSmall,
|
||||||
BusyButton(title: '', onPressed: () {} , mainColor: yellowColor, icon: Icons.share,),
|
BusyButton(title: '', onPressed: shareFile , mainColor: yellowColor, icon: Icons.share,),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
@ -103,30 +106,19 @@ class _MyFloatingActionButtonState extends State<MyFloatingActionButton> {
|
||||||
},
|
},
|
||||||
): Container() ;
|
): Container() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void shareFile() async {
|
||||||
|
try {
|
||||||
|
await Share.file(
|
||||||
|
'Aman Kassa', 'aman_kassa_check.png', base64Decode(widget.data.data),
|
||||||
|
'image/png');
|
||||||
|
} catch (e) {
|
||||||
|
print('error: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
void showFoatingActionButton(bool value) {
|
void showFoatingActionButton(bool value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
showFab = value;
|
showFab = value;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class DecoratedTextField extends StatelessWidget {
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Container(
|
|
||||||
alignment: Alignment.centerLeft,
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),
|
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
//color: fillColor, borderRadius: BorderRadius.circular(10)
|
|
||||||
),
|
|
||||||
child: TextField(
|
|
||||||
decoration: InputDecoration(
|
|
||||||
prefixIcon: Icon(Icons.mail_outline, color: primaryColor,),
|
|
||||||
labelStyle: TextStyle(color: primaryColor),
|
|
||||||
labelText: 'Отправить на Email',
|
|
||||||
),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -22,7 +22,6 @@ class _ProductAddBottomSheetState extends State<ProductAddBottomSheet> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
// TODO: implement initState
|
|
||||||
super.initState();
|
super.initState();
|
||||||
nameController = new TextEditingController();
|
nameController = new TextEditingController();
|
||||||
countController = new TextEditingController();
|
countController = new TextEditingController();
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
// TODO: implement initState
|
|
||||||
super.initState();
|
super.initState();
|
||||||
isBusy = false;
|
isBusy = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@ class _StartUpViewState extends State<StartUpView> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
// TODO: implement initState
|
|
||||||
super.initState();
|
super.initState();
|
||||||
Redux.store.dispatch(checkUserAction);
|
Redux.store.dispatch(checkUserAction);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ class _BusyButtonState extends State<BusyButton> {
|
||||||
return AnimatedContainer(
|
return AnimatedContainer(
|
||||||
duration: const Duration(milliseconds: 300),
|
duration: const Duration(milliseconds: 300),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: widget.enabled ? ( widget.mainColor ?? primaryColor) : blueColorLigth,
|
color: widget.enabled ? ( widget.mainColor ?? primaryColor) : widget.mainColor?.withOpacity(0.2) ?? primaryColor.withOpacity(0.2),
|
||||||
borderRadius: BorderRadius.circular(7),
|
borderRadius: BorderRadius.circular(7),
|
||||||
boxShadow: [
|
boxShadow: [
|
||||||
cardShadowBox
|
cardShadowBox
|
||||||
|
|
@ -40,7 +40,7 @@ class _BusyButtonState extends State<BusyButton> {
|
||||||
child: Material(
|
child: Material(
|
||||||
type: MaterialType.transparency,
|
type: MaterialType.transparency,
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: widget.busy ? () {} : widget.onPressed,
|
onTap: widget.busy || !widget.enabled ? null : widget.onPressed,
|
||||||
child: AnimatedContainer(
|
child: AnimatedContainer(
|
||||||
height: widget.busy ? 40 : 40,
|
height: widget.busy ? 40 : 40,
|
||||||
//width: widget.busy ? 40 : 40,
|
//width: widget.busy ? 40 : 40,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue