130 lines
3.6 KiB
Dart
130 lines
3.6 KiB
Dart
|
|
import 'package:flutter/material.dart';
|
||
|
|
import 'package:mobile_pos/constant.dart';
|
||
|
|
|
||
|
|
// ignore: must_be_immutable
|
||
|
|
class ButtonGlobal extends StatelessWidget {
|
||
|
|
// ignore: prefer_typing_uninitialized_variables
|
||
|
|
var iconWidget;
|
||
|
|
final String buttontext;
|
||
|
|
final Color iconColor;
|
||
|
|
final Decoration? buttonDecoration;
|
||
|
|
|
||
|
|
// ignore: prefer_typing_uninitialized_variables
|
||
|
|
var onPressed;
|
||
|
|
|
||
|
|
// ignore: use_key_in_widget_constructors
|
||
|
|
ButtonGlobal({required this.iconWidget, required this.buttontext, required this.iconColor, this.buttonDecoration, required this.onPressed});
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return TextButton(
|
||
|
|
onPressed: onPressed,
|
||
|
|
child: Container(
|
||
|
|
width: double.infinity,
|
||
|
|
padding: const EdgeInsets.only(top: 10.0, bottom: 10.0),
|
||
|
|
decoration: buttonDecoration ?? BoxDecoration(borderRadius: BorderRadius.circular(8), color: kMainColor),
|
||
|
|
child: Row(
|
||
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
||
|
|
children: [
|
||
|
|
Text(
|
||
|
|
buttontext,
|
||
|
|
style: Theme.of(context).textTheme.titleLarge?.copyWith(color: Colors.white),
|
||
|
|
),
|
||
|
|
const SizedBox(
|
||
|
|
width: 2,
|
||
|
|
),
|
||
|
|
Icon(
|
||
|
|
iconWidget,
|
||
|
|
color: iconColor,
|
||
|
|
),
|
||
|
|
],
|
||
|
|
),
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// ignore: must_be_immutable
|
||
|
|
class ButtonGlobalWithoutIcon extends StatelessWidget {
|
||
|
|
final String buttontext;
|
||
|
|
final Decoration buttonDecoration;
|
||
|
|
|
||
|
|
// ignore: prefer_typing_uninitialized_variables
|
||
|
|
var onPressed;
|
||
|
|
final Color buttonTextColor;
|
||
|
|
|
||
|
|
// ignore: use_key_in_widget_constructors
|
||
|
|
ButtonGlobalWithoutIcon({required this.buttontext, required this.buttonDecoration, required this.onPressed, required this.buttonTextColor});
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return TextButton(
|
||
|
|
onPressed: onPressed,
|
||
|
|
child: Container(
|
||
|
|
height: 50,
|
||
|
|
alignment: Alignment.center,
|
||
|
|
width: double.infinity,
|
||
|
|
padding: const EdgeInsets.only(top: 10.0, bottom: 10.0),
|
||
|
|
decoration: buttonDecoration,
|
||
|
|
child: Text(
|
||
|
|
buttontext,
|
||
|
|
overflow: TextOverflow.ellipsis,
|
||
|
|
maxLines: 1,
|
||
|
|
style: Theme.of(context).textTheme.titleLarge?.copyWith(color: buttonTextColor),
|
||
|
|
),
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
///-----------------------name with logo------------------
|
||
|
|
class NameWithLogo extends StatelessWidget {
|
||
|
|
const NameWithLogo({Key? key}) : super(key: key);
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return Column(
|
||
|
|
children: [
|
||
|
|
Container(
|
||
|
|
height: 75,
|
||
|
|
width: 66,
|
||
|
|
decoration: const BoxDecoration(image: DecorationImage(image: AssetImage(logo))),
|
||
|
|
),
|
||
|
|
const Text(
|
||
|
|
appsName,
|
||
|
|
style: TextStyle(color: kTitleColor, fontWeight: FontWeight.bold, fontSize: 28),
|
||
|
|
),
|
||
|
|
],
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
///-------------------update button--------------------------------
|
||
|
|
|
||
|
|
class UpdateButton extends StatelessWidget {
|
||
|
|
const UpdateButton({Key? key, required this.text, required this.onpressed}) : super(key: key);
|
||
|
|
final String text;
|
||
|
|
final VoidCallback onpressed;
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
final theme = Theme.of(context);
|
||
|
|
return GestureDetector(
|
||
|
|
onTap: onpressed,
|
||
|
|
child: Container(
|
||
|
|
alignment: Alignment.center,
|
||
|
|
width: double.infinity,
|
||
|
|
height: 48,
|
||
|
|
decoration: BoxDecoration(
|
||
|
|
borderRadius: BorderRadius.circular(8),
|
||
|
|
color: kMainColor,
|
||
|
|
),
|
||
|
|
child: Text(
|
||
|
|
text,
|
||
|
|
style: theme.textTheme.titleMedium?.copyWith(color: kWhite),
|
||
|
|
),
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|