rename container folders
This commit is contained in:
@@ -0,0 +1,294 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:ken_logger/ken_logger.dart';
|
||||
import 'package:mzansi_innovation_hub/main.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_package_components/mih_button.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_package_components/mih_dropdwn_field.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_package_components/mih_form.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_window.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_package_components/mih_text_form_field.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_providers/mzansi_wallet_provider.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/components/mih_card_display.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_wallet_services.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class MihAddCardWindow extends StatefulWidget {
|
||||
const MihAddCardWindow({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihAddCardWindow> createState() => _MihAddCardWindowState();
|
||||
}
|
||||
|
||||
class _MihAddCardWindowState extends State<MihAddCardWindow> {
|
||||
final _formKey = GlobalKey<FormState>();
|
||||
final TextEditingController _cardNumberController = TextEditingController();
|
||||
final TextEditingController _shopController = TextEditingController();
|
||||
final TextEditingController _nicknameController = TextEditingController();
|
||||
final ValueNotifier<String> _shopName = ValueNotifier("");
|
||||
|
||||
void successPopUp(String title, String message, int packageIndex) {
|
||||
MihAlertServices().successBasicAlert(
|
||||
title,
|
||||
message,
|
||||
context,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_cardNumberController.dispose();
|
||||
_shopController.dispose();
|
||||
_nicknameController.dispose();
|
||||
_shopName.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_shopController.addListener(_shopSelected);
|
||||
}
|
||||
|
||||
void _shopSelected() {
|
||||
if (_shopController.text.isNotEmpty) {
|
||||
_shopName.value = _shopController.text;
|
||||
} else {
|
||||
_shopName.value = "";
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final double width = MediaQuery.sizeOf(context).width;
|
||||
return MihPackageWindow(
|
||||
fullscreen: false,
|
||||
windowTitle: "Add New Loyalty Card",
|
||||
onWindowTapClose: () {
|
||||
_shopController.clear();
|
||||
_cardNumberController.clear();
|
||||
_nicknameController.clear();
|
||||
_shopName.value = "";
|
||||
Navigator.pop(context);
|
||||
},
|
||||
windowBody: Padding(
|
||||
padding: MzansiInnovationHub.of(context)!.theme.screenType == "desktop"
|
||||
? EdgeInsets.symmetric(horizontal: width * 0.05)
|
||||
: EdgeInsets.symmetric(horizontal: width * 0),
|
||||
child: Consumer2<MzansiProfileProvider, MzansiWalletProvider>(
|
||||
builder: (BuildContext context,
|
||||
MzansiProfileProvider mzansiProfileProvider,
|
||||
MzansiWalletProvider walletProvider,
|
||||
Widget? child) {
|
||||
return Column(
|
||||
children: [
|
||||
MihForm(
|
||||
formKey: _formKey,
|
||||
formFields: [
|
||||
MihDropdownField(
|
||||
controller: _shopController,
|
||||
hintText: "Shop Name",
|
||||
editable: true,
|
||||
enableSearch: true,
|
||||
validator: (value) {
|
||||
return MihValidationServices().isEmpty(value);
|
||||
},
|
||||
requiredText: true,
|
||||
dropdownOptions: const <String>[
|
||||
"+More",
|
||||
"Apple Tree",
|
||||
"Auchan",
|
||||
"Best Before",
|
||||
"Big Save",
|
||||
"Boxer",
|
||||
"BP",
|
||||
"Builders Warehouse",
|
||||
"Checkers",
|
||||
"Choppies",
|
||||
"Clicks",
|
||||
"Continente",
|
||||
"Cotton:On",
|
||||
"Carrefour",
|
||||
"Dis-Chem",
|
||||
"Edgars",
|
||||
"Engen",
|
||||
"Eskom",
|
||||
"Exclusive Books",
|
||||
"Fresh Stop",
|
||||
"Fresmart",
|
||||
"Infinity",
|
||||
"Jet",
|
||||
"Justrite",
|
||||
"Kero",
|
||||
"Leroy Merlin",
|
||||
"Makro",
|
||||
"Naivas",
|
||||
"OK Foods",
|
||||
"Panarottis",
|
||||
"Pick n Pay",
|
||||
"PnA",
|
||||
"PQ Clothing",
|
||||
"Rage",
|
||||
"Sefalana",
|
||||
"Sasol",
|
||||
"Shell",
|
||||
"Shoprite",
|
||||
"Signature Cosmetics & Fragrances",
|
||||
"Spar",
|
||||
"Spur",
|
||||
"TFG Group",
|
||||
"Total Energies",
|
||||
"Toys R Us",
|
||||
"Woermann Brock",
|
||||
"Woolworths",
|
||||
],
|
||||
),
|
||||
ValueListenableBuilder(
|
||||
valueListenable: _shopName,
|
||||
builder:
|
||||
(BuildContext context, String value, Widget? child) {
|
||||
return Visibility(
|
||||
visible: value != "",
|
||||
child: Column(
|
||||
children: [
|
||||
const SizedBox(height: 10),
|
||||
MihCardDisplay(
|
||||
shopName: _shopName.value,
|
||||
nickname: "",
|
||||
height: 200),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
MihTextFormField(
|
||||
fillColor: MihColors.getSecondaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
inputColor: MihColors.getPrimaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
controller: _nicknameController,
|
||||
multiLineInput: false,
|
||||
requiredText: false,
|
||||
hintText: "Card Title",
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Flexible(
|
||||
child: MihTextFormField(
|
||||
fillColor: MihColors.getSecondaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
inputColor: MihColors.getPrimaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
controller: _cardNumberController,
|
||||
multiLineInput: false,
|
||||
requiredText: true,
|
||||
hintText: "Card Number",
|
||||
numberMode: true,
|
||||
validator: (value) {
|
||||
return MihValidationServices().isEmpty(value);
|
||||
},
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 20),
|
||||
MihButton(
|
||||
onPressed: () {
|
||||
context.pushNamed(
|
||||
"barcodeScanner",
|
||||
extra:
|
||||
_cardNumberController, // Use local controller
|
||||
);
|
||||
},
|
||||
buttonColor: MihColors.getSecondaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
width: 100,
|
||||
child: Text(
|
||||
"Scan",
|
||||
style: TextStyle(
|
||||
color: MihColors.getPrimaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 15),
|
||||
Center(
|
||||
child: MihButton(
|
||||
onPressed: () async {
|
||||
if (_formKey.currentState!.validate()) {
|
||||
if (_shopController.text == "") {
|
||||
MihAlertServices().inputErrorAlert(context);
|
||||
} else {
|
||||
int statusCode = await MIHMzansiWalletApis
|
||||
.addLoyaltyCardAPICall(
|
||||
walletProvider,
|
||||
mzansiProfileProvider.user!,
|
||||
mzansiProfileProvider.user!.app_id,
|
||||
_shopController.text,
|
||||
_cardNumberController.text,
|
||||
"",
|
||||
0,
|
||||
_nicknameController.text,
|
||||
context,
|
||||
);
|
||||
if (statusCode == 201) {
|
||||
context.pop();
|
||||
KenLogger.success("Card Added Successfully");
|
||||
successPopUp(
|
||||
"Successfully Added Card",
|
||||
"The loyalty card has been added to your favourites.",
|
||||
0,
|
||||
);
|
||||
} else {
|
||||
MihAlertServices()
|
||||
.internetConnectionAlert(context);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
MihAlertServices().inputErrorAlert(context);
|
||||
}
|
||||
},
|
||||
buttonColor: MihColors.getGreenColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
width: 300,
|
||||
child: Text(
|
||||
"Add",
|
||||
style: TextStyle(
|
||||
color: MihColors.getPrimaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,175 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:mobile_scanner/mobile_scanner.dart';
|
||||
import 'package:mzansi_innovation_hub/main.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_package_components/mih_button.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||
|
||||
class MihBarcodeScanner extends StatefulWidget {
|
||||
final TextEditingController cardNumberController;
|
||||
const MihBarcodeScanner({
|
||||
super.key,
|
||||
required this.cardNumberController,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihBarcodeScanner> createState() => _MihBarcodeScannerState();
|
||||
}
|
||||
|
||||
class _MihBarcodeScannerState extends State<MihBarcodeScanner>
|
||||
with WidgetsBindingObserver {
|
||||
final MobileScannerController _scannerController = MobileScannerController(
|
||||
detectionSpeed: DetectionSpeed.normal,
|
||||
);
|
||||
StreamSubscription<Object>? _subscription;
|
||||
bool _isScannerStarting = false;
|
||||
bool barcodeScanned = false;
|
||||
|
||||
Future<void> foundCode(BarcodeCapture bcode) async {
|
||||
if (mounted &&
|
||||
barcodeScanned == false &&
|
||||
bcode.barcodes.isNotEmpty &&
|
||||
bcode.barcodes.first.rawValue != null) {
|
||||
setState(() {
|
||||
barcodeScanned = true;
|
||||
widget.cardNumberController.text = bcode.barcodes.first.rawValue!;
|
||||
});
|
||||
print(bcode.barcodes.first.rawValue);
|
||||
await _scannerController.stop();
|
||||
if (mounted) {
|
||||
context.pop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
if (!_scannerController.value.hasCameraPermission) {
|
||||
return;
|
||||
}
|
||||
switch (state) {
|
||||
case AppLifecycleState.detached:
|
||||
case AppLifecycleState.hidden:
|
||||
case AppLifecycleState.paused:
|
||||
return;
|
||||
case AppLifecycleState.resumed:
|
||||
if (!_scannerController.value.isRunning && !_isScannerStarting) {
|
||||
_isScannerStarting = true;
|
||||
_subscription = _scannerController.barcodes.listen(foundCode);
|
||||
unawaited(_scannerController.start().then((_) {
|
||||
_isScannerStarting = false;
|
||||
}));
|
||||
}
|
||||
case AppLifecycleState.inactive:
|
||||
unawaited(_subscription?.cancel());
|
||||
_subscription = null;
|
||||
unawaited(_scannerController.stop().then((_) {
|
||||
_isScannerStarting = false;
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
unawaited(_subscription?.cancel());
|
||||
_subscription = null;
|
||||
_scannerController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
_subscription = _scannerController.barcodes.listen(foundCode);
|
||||
// unawaited(_scannerController.start());
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SafeArea(
|
||||
child: Scaffold(
|
||||
body: Stack(
|
||||
children: [
|
||||
MobileScanner(
|
||||
controller: _scannerController,
|
||||
onDetect: foundCode,
|
||||
),
|
||||
Align(
|
||||
alignment: Alignment.center,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(10.0),
|
||||
child: Container(
|
||||
width: 500,
|
||||
height: 150,
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 5,
|
||||
color: MihColors.getSecondaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Align(
|
||||
alignment: AlignmentDirectional.bottomCenter,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(10.0),
|
||||
child: MihButton(
|
||||
onPressed: () {
|
||||
_scannerController.stop();
|
||||
context.pop();
|
||||
},
|
||||
buttonColor: MihColors.getRedColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
width: 100,
|
||||
height: 50,
|
||||
child: Text(
|
||||
"Cancel",
|
||||
style: TextStyle(
|
||||
color: MihColors.getPrimaryColor(
|
||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||
"Dark"),
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
// GestureDetector(
|
||||
// onTap: () {
|
||||
// scannerController.stop();
|
||||
// Navigator.of(context).pop();
|
||||
// },
|
||||
// child: const Text(
|
||||
// "Cancel",
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 25,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// IconButton(
|
||||
// onPressed: () {},
|
||||
// icon: const Icon(
|
||||
// Icons.flip_camera_android,
|
||||
// size: 30,
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MihCardDisplay extends StatefulWidget {
|
||||
final String shopName;
|
||||
final String nickname;
|
||||
final double height;
|
||||
const MihCardDisplay({
|
||||
super.key,
|
||||
required this.shopName,
|
||||
required this.height,
|
||||
required this.nickname,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihCardDisplay> createState() => _MihCardDisplayState();
|
||||
}
|
||||
|
||||
class _MihCardDisplayState extends State<MihCardDisplay> {
|
||||
Widget? displayLoyaltyCard() {
|
||||
switch (widget.shopName.toLowerCase()) {
|
||||
case "apple tree":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/apple_tree-min.png');
|
||||
case "best before":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/best_before-min.png');
|
||||
case "checkers":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/checkers-min.png');
|
||||
case "clicks":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/clicks-min.png');
|
||||
case "cotton:on":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/cotton_on-min.png');
|
||||
case "dis-chem":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/dischem-min.png');
|
||||
case "pick n pay":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/pick_n_pay-min.png');
|
||||
case "shoprite":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/shoprite-min.png');
|
||||
case "spar":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/spar-min.png');
|
||||
case "woolworths":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/woolworths-min.png');
|
||||
case "makro":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/makro-min.png');
|
||||
case "fresh stop":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/fresh_stop-min.png');
|
||||
case "panarottis":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/panarottis-min.png');
|
||||
case "shell":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/shell-min.png');
|
||||
case "edgars":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/edgars-min.png');
|
||||
case "jet":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/jet-min.png');
|
||||
case "spur":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/spur-min.png');
|
||||
case "infinity":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/infinity-min.png');
|
||||
case "eskom":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/eskom-min.png');
|
||||
case "+more":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/plus_more-min.png');
|
||||
case "bp":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/bp-min.png');
|
||||
case "builders warehouse":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/builders-min.png');
|
||||
case "exclusive books":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/exclusive_books-min.png');
|
||||
case "pna":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/pna-min.png');
|
||||
case "pq clothing":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/pq-min.png');
|
||||
case "rage":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/rage-min.png');
|
||||
case "sasol":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/sasol-min.png');
|
||||
case "tfg group":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/tfg-min.png');
|
||||
case "toys r us":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/toysrus-min.png');
|
||||
case "leroy merlin":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/leroy_merlin-min.png');
|
||||
case "signature cosmetics & fragrances":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/signature_cosmetics-min.png');
|
||||
case "ok foods":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/ok_food-min.png');
|
||||
case "choppies":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/choppies-min.png');
|
||||
case "boxer":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/boxer-min.png');
|
||||
case "carrefour":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/carrefour-min.png');
|
||||
case "sefalana":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/sefalana-min.png');
|
||||
case "big save":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/big_save-min.png');
|
||||
case "justrite":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/justrite-min.png');
|
||||
case "naivas":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/naivas-min.png');
|
||||
case "kero":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/kero-min.png');
|
||||
case "auchan":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/auchan-min.png');
|
||||
case "woermann brock":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/woermann_brock-min.png');
|
||||
case "continente":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/continente-min.png');
|
||||
case "fresmart":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/fresmart-min.png');
|
||||
case "total energies":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/total_energies-min.png');
|
||||
case "engen":
|
||||
return Image.asset(
|
||||
'lib/mih_package_components/assets/images/loyalty_cards/mini/engen-min.png');
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Visibility(
|
||||
visible: displayLoyaltyCard() != null,
|
||||
child: Column(
|
||||
children: [
|
||||
displayLoyaltyCard() != null ? displayLoyaltyCard()! : SizedBox(),
|
||||
FittedBox(
|
||||
child: Text(
|
||||
widget.nickname,
|
||||
textAlign: TextAlign.center,
|
||||
style: const TextStyle(
|
||||
fontSize: 25,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user