Files
hum-flutter/lib/views/listings/widgets/widget_listings.dart
2025-12-12 14:31:36 -05:00

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,
),
),
],
),
),
);
}
}