Aditya Siregar 73320561b0 first commit
2025-07-30 22:38:44 +07:00

93 lines
2.7 KiB
Dart

import 'package:flutter/material.dart';
import '../../../core/assets/assets.gen.dart';
import '../../../core/constants/colors.dart';
import '../models/tax_model.dart';
class ManageTaxCard extends StatelessWidget {
final TaxModel data;
final VoidCallback onEditTap;
const ManageTaxCard({
super.key,
required this.data,
required this.onEditTap,
});
@override
Widget build(BuildContext context) {
return Container(
padding: const EdgeInsets.all(16.0),
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: const BorderSide(width: 1, color: AppColors.card),
borderRadius: BorderRadius.circular(19),
),
),
child: Stack(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Spacer(),
Container(
alignment: Alignment.center,
padding: const EdgeInsets.all(12.0),
margin: const EdgeInsets.only(top: 30.0),
decoration: BoxDecoration(
shape: BoxShape.circle,
color: AppColors.disabled.withOpacity(0.4),
),
child: Text(
'${data.value}%',
style: const TextStyle(
fontSize: 32,
fontWeight: FontWeight.w900,
),
),
),
const Spacer(),
Center(
child: RichText(
text: TextSpan(
text: 'Nama Promo : ',
children: [
TextSpan(
text: data.type.name,
style: const TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
),
),
],
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.w400,
color: AppColors.black,
),
),
),
),
const Spacer(),
],
),
Align(
alignment: Alignment.topRight,
child: GestureDetector(
onTap: onEditTap,
child: Container(
padding: const EdgeInsets.all(8.0),
decoration: const BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(50.0)),
color: AppColors.primary,
),
child: Assets.icons.edit.svg(),
),
),
),
],
),
);
}
}