75 lines
2.0 KiB
Dart
75 lines
2.0 KiB
Dart
import 'package:flutter/cupertino.dart';
|
|
import 'package:hum/core/constants/app_theme.dart';
|
|
import 'package:phosphor_flutter/phosphor_flutter.dart';
|
|
|
|
class WDGListingButton extends StatelessWidget {
|
|
final String text;
|
|
final String description;
|
|
final double width;
|
|
final VoidCallback action;
|
|
final IconData icon;
|
|
final Color iconColor;
|
|
|
|
const WDGListingButton({
|
|
super.key,
|
|
this.text = 'as',
|
|
this.description = 'asdas',
|
|
this.width = double.infinity,
|
|
this.icon = PhosphorIconsDuotone.camera,
|
|
this.iconColor = CupertinoColors.activeBlue,
|
|
required this.action,
|
|
});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final double sizeIcon = 60;
|
|
|
|
return SizedBox(
|
|
width: width,
|
|
child: CupertinoButton.filled(
|
|
padding: EdgeInsets.all(16),
|
|
color: colorBarControl.withAlpha(20),
|
|
borderRadius: BorderRadius.circular(roundLarge),
|
|
onPressed: action,
|
|
child: Row(
|
|
spacing: 16,
|
|
children: [
|
|
Stack(
|
|
alignment: AlignmentDirectional.center,
|
|
children: [
|
|
Container(
|
|
width: sizeIcon,
|
|
height: sizeIcon,
|
|
decoration: BoxDecoration(borderRadius: BorderRadius.circular(10), color: iconColor),
|
|
),
|
|
|
|
PhosphorIcon(icon, size: 36.0),
|
|
],
|
|
),
|
|
|
|
Column(
|
|
spacing: 6,
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Text(text, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
|
|
Opacity(opacity: .5, child: Text(description, style: TextStyle(fontSize: 14))),
|
|
],
|
|
),
|
|
|
|
Spacer(),
|
|
|
|
Opacity(
|
|
opacity: .4,
|
|
child: PhosphorIcon(
|
|
PhosphorIconsRegular.caretRight,
|
|
// color: Colors.green,
|
|
size: 24.0,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|