Forked from
vjrj / ginkgo
710 commits behind the upstream repository.
credit_card_mini.dart 7.65 KiB
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import '../../../data/models/cesium_card.dart';
import '../../../data/models/credit_card_theme_selector.dart';
import '../../../data/models/credit_card_themes.dart';
import '../../../shared_prefs_helper.dart';
import '../../logger.dart';
import '../../ui_helpers.dart';
import 'card_name_editable.dart';
import 'card_text_style.dart';
class CreditCardMini extends StatelessWidget {
const CreditCardMini(
{super.key,
required this.card,
required this.cardIndex,
required this.settingsVisible});
final CesiumCard card;
final bool settingsVisible;
final int cardIndex;
void _showThemeSelector(BuildContext context) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text(tr('card_theme_select')),
content: SizedBox(
width: double.maxFinite,
child: CardThemeSelector(
card: card,
onTap: (CreditCardTheme theme) =>
SharedPreferencesHelper().setTheme(theme: theme))),
);
},
);
}
@override
Widget build(BuildContext context) {
const double cardRadius = 10.0;
final bool bigDevice = bigScreen(context);
final double cardInternalElPadding = bigDevice ? 5 : 6.0;
return Padding(
padding: const EdgeInsets.all(10),
child: GestureDetector(
onTap: () => onCardTap(context),
child: Card(
elevation: 8.0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(cardRadius),
),
child: AspectRatio(
aspectRatio: cardAspectRatio, // Credit cart aspect ratio
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(cardRadius),
boxShadow: <BoxShadow>[
BoxShadow(
color: Colors.grey[400]!,
blurRadius: 3.0,
spreadRadius: 1.0,
)
],
gradient: LinearGradient(
begin: Alignment.bottomLeft,
end: Alignment.topRight,
colors: <Color>[