Newer
Older
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
CreditCard({super.key});
final String publicKey = SharedPreferencesHelper().getPubKey();
final String cardName = SharedPreferencesHelper().getName();
final bool bigDevice = bigScreen(context);
final double cardPadding = bigDevice ? 26.0 : 16.0;
elevation: 8.0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(cardRadius),
aspectRatio: cardAspectRatio, // Credit cart aspect ratio
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(cardRadius),
boxShadow: <BoxShadow>[
BoxShadow(
color: Colors.grey[400]!,
blurRadius: 10.0,
spreadRadius: 1.0,
)
],
begin: Alignment.bottomLeft,
end: Alignment.topRight,
colors: <Color>[
SharedPreferencesHelper().getTheme().primaryColor,
SharedPreferencesHelper().getTheme().secondaryColor
child: Stack(children: <Widget>[
Padding(
padding: const EdgeInsets.fromLTRB(160, 10, 0, 0),
child: Opacity(
opacity: 0.1,
child: Image.asset('assets/img/gbrevedot_alt.png'))),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: EdgeInsets.all(cardPadding),
child: FittedBox(
fit: BoxFit.scaleDown,
child: Text(
dotenv.env['CARD_TEXT'] != null &&
dotenv.env['CARD_TEXT'] != 'Ğ1 Wallet'
? dotenv.env['CARD_TEXT']!
: tr('g1_wallet'),
style: TextStyle(
color: Colors.white,
fontSize:
MediaQuery.of(context).size.width * 0.07,
fontWeight: FontWeight.bold,
),
)),
),
Padding(
padding:
EdgeInsets.symmetric(horizontal: cardPadding),
child: Row(children: <Widget>[
GestureDetector(
onTap: () {
showQrDialog(
context: context, publicKey: pubKey);
},
child: SvgPicture.asset(
width: MediaQuery.of(context).size.width <
smallScreenWidth
? 25
: 40,
'assets/img/chip.svg',
)),
const SizedBox(width: 10.0),
Expanded(
child: CardNameEditable(
defValue: SharedPreferencesHelper().isG1nkgoCard()
? tr('your_name_here')
: '',
)),
Padding(
padding:
EdgeInsets.symmetric(horizontal: cardPadding),
child: Row(children: <Widget>[
GestureDetector(
onTap: () => showQrDialog(
context: context, publicKey: pubKey),
fit: BoxFit.scaleDown,
child: Text(
'${pubKey.substring(0, 4)} ${pubKey.substring(4, 8)}',
style: cardTextStyle(context),
))),
GestureDetector(
onTap: () => showTooltip(
context, '', tr('keys_tooltip')),
child: FittedBox(
fit: BoxFit.scaleDown,
child: Text(' **** ****',
style: cardTextStyle(context)))),
if (bigDevice)
Padding(
padding:
EdgeInsets.symmetric(horizontal: cardPadding),
child: GestureDetector(
onTap: () => showTooltip(
context, '', tr('card_validity_tooltip')),
child: Text(
tr('card_validity'),
style: TextStyle(
decoration: TextDecoration.underline,
color: Colors.white.withOpacity(0.8),
fontSize: 14.0,
),