ui_kit/lib/cards/primary_card.dart
2025-05-28 11:01:30 +03:00

75 lines
2.1 KiB
Dart

import 'package:flutter/widgets.dart';
import 'package:ui_kit/ui_kit.dart';
class PrimaryCard extends StatefulWidget {
const PrimaryCard({
super.key,
required this.title,
required this.category,
required this.price,
required this.onPressed,
});
final String title;
final String category;
final String price;
final Function(bool isCart) onPressed;
@override
State<PrimaryCard> createState() => _PrimaryCardState();
}
class _PrimaryCardState extends State<PrimaryCard> {
bool inCart = false;
@override
Widget build(BuildContext context) {
return CardWidget(
child: Column(
children: [
Text(widget.title, style: headlineMedium),
SizedBox(height: 16),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
widget.category,
style: captionSemibold.copyWith(color: captionColor),
),
SizedBox(height: 4),
Text("${widget.price}", style: title3Semibold),
],
),
inCart
? ButtonWidget(
onPressed: () {
widget.onPressed;
setState(() {
inCart = !inCart;
});
},
size: 'small',
label: 'Убрать',
variant: 'solid',
)
: ButtonWidget(
onPressed: () {
widget.onPressed;
setState(() {
inCart = !inCart;
});
},
size: 'small',
label: "Добавить",
variant: 'flat',
),
],
),
],
),
);
}
}