workouttest_app/lib/widgets/sales_button.dart
2021-05-05 21:01:03 +02:00

101 lines
3.4 KiB
Dart

import 'package:badges/badges.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
// ignore: must_be_immutable
class SalesButton extends StatelessWidget {
TextStyle? style;
TextStyle descStyle = TextStyle(fontSize: 14);
final String title;
final String price;
final String desc1;
final String desc2;
final String desc3;
String? desc4;
final String? badgeText;
final Color badgeColor;
final VoidCallback onTap;
SalesButton(
{required this.title,
required this.price,
required this.desc1,
required this.desc2,
required this.desc3,
this.desc4,
this.badgeText,
required this.badgeColor,
required this.onTap,
required this.style,
required this.descStyle}) {
style = style ??
GoogleFonts.archivoBlack(
fontSize: 14,
);
desc4 = desc4 ?? "";
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('asset/image/WT_sales_background_3x5.jpg'),
fit: BoxFit.cover,
alignment: Alignment.center,
),
),
child: Badge(
position: BadgePosition.topEnd(end: -3, top: -5),
padding: EdgeInsets.all(5),
badgeColor: badgeColor,
borderRadius: BorderRadius.circular(5),
shape: BadgeShape.square,
badgeContent: badgeText != null
? Text(badgeText!,
style: TextStyle(
color: Colors.white,
backgroundColor: badgeColor,
fontSize: 12,
))
: Text("",
style: TextStyle(
color: Colors.transparent,
backgroundColor: Colors.transparent,
fontSize: 1,
)),
child: Container(
child: Text(
"ho") /* Center(
child: Column(
children: [
Divider(
color: Colors.transparent,
),
Divider(
color: Colors.transparent,
),
Text(
title,
style: GoogleFonts.archivoBlack(color: Colors.black54),
),
Text(
price,
style: style,
),
Container(
padding: EdgeInsets.only(top: 5, left: 3, right: 3, bottom: 4), child: Text(desc1, maxLines: 2, style: descStyle)),
Container(padding: EdgeInsets.only(left: 3, right: 3, bottom: 4), child: Text(desc2, maxLines: 2, style: descStyle)),
Container(padding: EdgeInsets.only(left: 3, right: 3, bottom: 4), child: Text(desc3, maxLines: 2, style: descStyle)),
Container(
padding: EdgeInsets.only(left: 3, right: 3),
child: Text(desc4!, maxLines: 2, style: GoogleFonts.inter(fontSize: 10, color: Colors.red[800])))
],
),
) */
),
)));
}
}