Files

130 lines
3.6 KiB
Dart
Raw Permalink Normal View History

2026-02-07 15:57:09 +07:00
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),
),
),
);
}
}