birzha_mobile/lib/components/customCardWidget.dart

79 lines
2.3 KiB
Dart
Raw Normal View History

2023-02-27 07:23:37 +00:00
import 'package:birzha/components/settingsIcons.dart';
import 'package:birzha/core/adaptix/adaptix.dart';
import 'package:flutter/material.dart';
class CustomCardWidget extends StatelessWidget {
final String name;
final Widget? nextSign;
final void Function()? onTap;
final Icon? icon;
final BorderRadius? borderRadius;
final Widget? trailing;
CustomCardWidget({
Key? key,
required this.name,
this.nextSign,
this.onTap,
this.icon,
this.trailing,
this.borderRadius,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Material(
color: Theme.of(context).cardColor,
borderRadius: borderRadius ?? BorderRadius.circular(5.adaptedPx()),
child: InkWell(
onTap: onTap,
borderRadius: borderRadius ?? BorderRadius.circular(5.adaptedPx()),
child: Container(
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
vertical: 26.adaptedPx(),
),
child: Row(
children: [
SizedBox(width: 13.adaptedPx()),
if (icon != null)
Icon(
icon!.icon,
size: 24.adaptedPx(),
color: icon?.color ?? Theme.of(context).accentColor,
),
SizedBox(width: 12.adaptedPx()),
Expanded(
child: Text(name),
),
SizedBox(
width: 5.adaptedPx(),
),
if (trailing != null) ...[
trailing!,
SizedBox(
width: 5.adaptedPx(),
),
],
Container(
child:
Icon(SettingsIcons.next_sign,
color: Theme.of(context).accentColor,
size: 18.adaptedPx()),
width: 19.adaptedPx(),
height: 19.adaptedPx(),
alignment: Alignment.center,
decoration: BoxDecoration(
color: Theme.of(context).accentColor.withOpacity(0.05),
borderRadius: BorderRadius.circular(20.adaptedPx()),
),
),
SizedBox(width: 10.adaptedPx()),
],
),
),
),
);
}
}