Subscriptions

aamir_dev
Aamir.Muhammad 2 years ago
parent b78aeb8002
commit 8b32b53983

@ -82,6 +82,10 @@ class _DashboardPageState extends State<DashboardPage> {
await sVM.getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? ""); await sVM.getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "");
} }
if (sVM.tempSubscriptions.isEmpty) {
await sVM.getSubscriptionBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "", true);
}
// await chatVM.buildHubConnection(context); // await chatVM.buildHubConnection(context);
} }

@ -25,7 +25,7 @@ class ServiceProviderWidget extends StatelessWidget {
if (model.state == ViewState.busy) { if (model.state == ViewState.busy) {
return const Center(child: CircularProgressIndicator()); return const Center(child: CircularProgressIndicator());
} else { } else {
return model.branches!.data == null return model.branches == null || model.branches!.data == null
? Center(child: Text(LocaleKeys.noBranchFound.tr())) ? Center(child: Text(LocaleKeys.noBranchFound.tr()))
: model.branches!.data!.serviceProviderBranch != null && model.branches!.data!.serviceProviderBranch!.isEmpty : model.branches!.data!.serviceProviderBranch != null && model.branches!.data!.serviceProviderBranch!.isEmpty
? Center(child: Text(LocaleKeys.no_branch.tr())) ? Center(child: Text(LocaleKeys.no_branch.tr()))

@ -7,6 +7,8 @@ import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/general_models/m_response.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
@ -17,6 +19,7 @@ import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart'; import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart';
import 'package:mc_common_app/widgets/tab/menu_tabs.dart'; import 'package:mc_common_app/widgets/tab/menu_tabs.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class SubscriptionsPage extends StatefulWidget { class SubscriptionsPage extends StatefulWidget {
const SubscriptionsPage({Key? key}) : super(key: key); const SubscriptionsPage({Key? key}) : super(key: key);
@ -41,50 +44,49 @@ class _SubscriptionsPageState extends State<SubscriptionsPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const CustomAppBar( appBar: CustomAppBar(
title: "Subscriptions", title: LocaleKeys.subscriptions.tr(),
), ),
body: SizedBox( body: SizedBox(
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
child: Consumer<SubscriptionsVM>(builder: (context, model, _) { child: Consumer<SubscriptionsVM>(builder: (context, subcriptionsVM, _) {
return model.state == ViewState.busy return subcriptionsVM.state == ViewState.busy
? const Center(child: CircularProgressIndicator()) ? const Center(child: CircularProgressIndicator())
: SingleChildScrollView( : SingleChildScrollView(
child: Column( child: Column(
children: [ children: [
21.height, 21.height,
MenuTabs( MenuTabs(
model.selectedIndex, subcriptionsVM.monthlyTabs,
model.monthlyTabs,
selectedColor: MyColors.primaryColor, selectedColor: MyColors.primaryColor,
onSelect: (DropValue selectedValue) { onSelected: (DropValue selectedValue, int index) {
model.selectedMothlyTab = selectedValue; subcriptionsVM.selectedMothlyTab = selectedValue;
// model.selectedIndex = selectedIndex; subcriptionsVM.monthlyTabs.forEach((element) => element.isEnabled = false);
model.filterSubscriptions(); subcriptionsVM.monthlyTabs[index].isEnabled = true;
model.setState(ViewState.idle); subcriptionsVM.filterSubscriptions();
subcriptionsVM.setState(ViewState.idle);
}, },
), ),
21.height, 21.height,
ListView.separated( ListView.separated(
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
return AllSubscriptionsCard( return AllSubscriptionsCard(
model.tempSubscriptions[index], subcriptionsVM.tempSubscriptions[index],
isSubscribed: model.tempSubscriptions[index].isSubscribed ?? false, isSubscribed: subcriptionsVM.tempSubscriptions[index].isSubscribed ?? false,
isMainPage: false, onRenewSubscriptionClick: () async {
onRenewSubscriptionClick: () { MResponse response = await subcriptionsVM.createSubscriptionOrder(subcriptionsVM.tempSubscriptions[index].id ?? 0, true, true);
// context.read<PaymentVM>().updateOrderProviderSubscriptionId(id: model.tempSubscriptions[index].id??0); if (response.data != null) {
// navigateWithName( context.read<PaymentVM>().updateOrderProviderSubscriptionId(id: response.data ?? 0);
// context, navigateWithName(context, AppRoutes.paymentMethodsView, arguments: PaymentTypes.subscription);
// AppRoutes.paymentMethodsView,
// arguments: PaymentTypes.subscription,
// );
if (model.tempSubscriptions[index].subscriptionTypeEnum == SubscriptionTypeEnum.upgrade) {
showMyBottomSheet(context, child: UpgradePackageSheet(model.tempSubscriptions[index]));
} else {
showMyBottomSheet(context, child: DowngradeDataSheet(model.tempSubscriptions[index]));
} }
}, },
onUpgradeSubscriptionClick: () {
showMyBottomSheet(context, child: UpgradePackageSheet(subcriptionsVM.tempSubscriptions[index]));
},
onDowngradeSubscriptionClick: () {
showMyBottomSheet(context, child: DowngradeDataSheet(subcriptionsVM.tempSubscriptions[index]));
},
); );
}, },
separatorBuilder: (BuildContext context, int index) { separatorBuilder: (BuildContext context, int index) {
@ -92,7 +94,7 @@ class _SubscriptionsPageState extends State<SubscriptionsPage> {
}, },
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
itemCount: model.tempSubscriptions.length, itemCount: subcriptionsVM.tempSubscriptions.length,
), ),
21.height, 21.height,
], ],

@ -1,7 +1,9 @@
import 'dart:async';
import 'dart:developer'; import 'dart:developer';
import 'package:car_provider_app/config/provider_routes.dart'; import 'package:car_provider_app/config/provider_routes.dart';
import 'package:car_provider_app/views/subscriptions/sheet/select_package_sheet.dart'; import 'package:car_provider_app/views/subscriptions/sheet/select_package_sheet.dart';
import 'package:car_provider_app/views/subscriptions/sheet/upgrade_package_sheet.dart';
import 'package:car_provider_app/views/subscriptions/widget/all_subscriptions_card.dart'; import 'package:car_provider_app/views/subscriptions/widget/all_subscriptions_card.dart';
import 'package:car_provider_app/views/subscriptions/widget/my_subscriptions_card.dart'; import 'package:car_provider_app/views/subscriptions/widget/my_subscriptions_card.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -10,6 +12,7 @@ import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart'; import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/general_models/m_response.dart'; import 'package:mc_common_app/models/general_models/m_response.dart';
import 'package:mc_common_app/models/subscriptions_models/subscription_model.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
@ -19,19 +22,30 @@ import 'package:mc_common_app/view_models/subscriptions_view_model.dart';
import 'package:mc_common_app/widgets/bottom_sheet.dart'; import 'package:mc_common_app/widgets/bottom_sheet.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
class MySubscriptionsPage extends StatelessWidget { class MySubscriptionsPage extends StatefulWidget {
const MySubscriptionsPage({Key? key}) : super(key: key); const MySubscriptionsPage({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { State<MySubscriptionsPage> createState() => _MySubscriptionsPageState();
}
class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
@override
void initState() {
super.initState();
scheduleMicrotask(() {
context.read<SubscriptionsVM>().getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? ""); context.read<SubscriptionsVM>().getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "");
});
}
@override
Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const CustomAppBar( appBar: CustomAppBar(
title: "My Subscription", title: LocaleKeys.mySubscription.tr(),
), ),
body: SizedBox( body: SizedBox(
width: double.infinity, width: double.infinity,
@ -48,6 +62,7 @@ class MySubscriptionsPage extends StatelessWidget {
21.height, 21.height,
ListView.separated( ListView.separated(
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
var sub = model.mySubscriptionsBySp[index];
return MySubscriptionsCard( return MySubscriptionsCard(
model.mySubscriptionsBySp[index], model.mySubscriptionsBySp[index],
isSubscribed: false, isSubscribed: false,
@ -58,20 +73,43 @@ class MySubscriptionsPage extends StatelessWidget {
MResponse response = await model.createSubscriptionOrder(model.mySubscriptionsBySp[index].subscriptionID ?? 0, true, true); MResponse response = await model.createSubscriptionOrder(model.mySubscriptionsBySp[index].subscriptionID ?? 0, true, true);
Utils.hideLoading(context); Utils.hideLoading(context);
if (response.data != null) { if (response.data != null) {
log("response.data: ${response.data}");
context.read<PaymentVM>().updateOrderProviderSubscriptionId(id: response.data ?? 0); context.read<PaymentVM>().updateOrderProviderSubscriptionId(id: response.data ?? 0);
navigateWithName( navigateWithName(context, AppRoutes.paymentMethodsView, arguments: PaymentTypes.subscription);
context,
AppRoutes.paymentMethodsView,
arguments: PaymentTypes.subscription,
);
} }
}, },
).onPress( onUpgradeSubscriptionClick: () {
() { print("Upgrade");
showMyBottomSheet(context, child: const SelectPackageSheet()); print(sub.toJson());
// showMyBottomSheet(
// context,
// child: UpgradePackageSheet(
// Subscription(
// id: sub.subscriptionID,
// isMyCurrentPackage: false,
// isExpired: sub.isExpired,
// isActive: sub.isActive,
// isSubscribed: true,
// name: sub.subscriptionName,
// description: sub.subscriptionDescription,
// numberOfAds: sub.totalAds ?? 0,
// numberOfBranches: sub.totalBranches ?? 0,
// numberOfSubUsers: sub.totalSubUsers ?? 0,
// countryId: 1,
// countryName: "KSA" ,
// currency: "SAR",
// price: 0,
// dateEnd: sub.dateEnd,
// dateStart: sub.dateStart
// ),
// ),
// );
}, },
); );
// .onPress(
// () {
// // showMyBottomSheet(context, child: const SelectPackageSheet());
// },
// );
}, },
separatorBuilder: (BuildContext context, int index) { separatorBuilder: (BuildContext context, int index) {
return 21.height; return 21.height;

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
@ -33,7 +35,9 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
scheduleMicrotask(() {
calculateUpgradePrice(); calculateUpgradePrice();
});
} }
calculateUpgradePrice() { calculateUpgradePrice() {
@ -70,7 +74,7 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
12.height, 12.height,
packageItem( packageItem(
"Now", "Now",
("Your subscription will upgrade now. Affecting from ${DateHelper.formatAsLongDate(widget.subscription.dateEnd!)}"), ("Your subscription will upgrade now. Affecting from ${DateHelper.formatAsLongDate(widget.subscription.dateEnd ?? DateTime.now())}"),
model.newPrice.toString(), model.newPrice.toString(),
isNowSelected, isNowSelected,
).onPress(() { ).onPress(() {
@ -82,7 +86,7 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
6.height, 6.height,
packageItem( packageItem(
"Upgrade after current expiry", "Upgrade after current expiry",
("Your subscription will upgrade after you current subscription will end. Affecting from 27 January, 2024 ${DateHelper.formatAsLongDate(widget.subscription.dateEnd!)}"), ("Your subscription will upgrade after you current subscription will end. Affecting from 27 January, 2024 ${DateHelper.formatAsLongDate(widget.subscription.dateEnd ?? DateTime.now())}"),
widget.subscription.price.toString(), widget.subscription.price.toString(),
isNowSelected ? false : true, isNowSelected ? false : true,
).onPress(() { ).onPress(() {
@ -102,17 +106,10 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
paymentType: PaymentTypes.subscription, paymentType: PaymentTypes.subscription,
onTempContinue: () async { onTempContinue: () async {
Utils.showLoading(context); Utils.showLoading(context);
MResponse mResponse = await model.payForSubscription( MResponse mResponse = await model.payForSubscription(widget.subscription.id!, isNowSelected, false, price);
widget.subscription.id!,
isNowSelected,
false,
price);
Utils.hideLoading(context); Utils.hideLoading(context);
if (mResponse.messageStatus == 1) { if (mResponse.messageStatus == 1) {
context context.read<PaymentVM>().updateOrderProviderSubscriptionId(id: mResponse.data);
.read<PaymentVM>()
.updateOrderProviderSubscriptionId(
id: mResponse.data);
// Utils.showToast( // Utils.showToast(
// "Subscriptions is successfully updated"); // "Subscriptions is successfully updated");
@ -133,8 +130,7 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
); );
} }
Widget packageItem( Widget packageItem(String title, String description, String price, bool isSelected) {
String title, String description, String price, bool isSelected) {
return Row( return Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
@ -145,8 +141,7 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
color: Colors.white, color: Colors.white,
).toContainer( ).toContainer(
isEnabledBorder: true, isEnabledBorder: true,
backgroundColor: backgroundColor: isSelected ? MyColors.primaryColor : Colors.transparent,
isSelected ? MyColors.primaryColor : Colors.transparent,
borderColor: MyColors.primaryColor, borderColor: MyColors.primaryColor,
borderWidget: 1, borderWidget: 1,
borderRadius: 0, borderRadius: 0,
@ -176,10 +171,7 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
2.width, 2.width,
Padding( Padding(
padding: const EdgeInsets.only(bottom: 2), padding: const EdgeInsets.only(bottom: 2),
child: "SAR".toText( child: "SAR".toText(fontSize: 16, isBold: true, color: MyColors.lightTextColor),
fontSize: 16,
isBold: true,
color: MyColors.lightTextColor),
), ),
], ],
) )

@ -13,26 +13,30 @@ class AllSubscriptionsCard extends StatelessWidget {
Color? backgroundColor; Color? backgroundColor;
late Color textColor; late Color textColor;
Function onRenewSubscriptionClick; Function onRenewSubscriptionClick;
bool isMainPage; Function onUpgradeSubscriptionClick;
Function onDowngradeSubscriptionClick;
AllSubscriptionsCard(this.subscription, AllSubscriptionsCard(
{Key? key, this.subscription, {
Key? key,
this.isSubscribed = false, this.isSubscribed = false,
this.backgroundColor, this.backgroundColor,
required this.onRenewSubscriptionClick, required this.onRenewSubscriptionClick,
this.isMainPage = true}) required this.onUpgradeSubscriptionClick,
: super(key: key); required this.onDowngradeSubscriptionClick,
}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
textColor = backgroundColor == null ? Colors.black : Colors.white; textColor = backgroundColor == null ? Colors.black : Colors.white;
return InkWell( // return InkWell(
onTap: isSubscribed // onTap: isSubscribed
? null // ? null
: () { // : () {
onRenewSubscriptionClick(); // onRenewSubscriptionClick();
}, // },
child: Column( // child:
return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
@ -68,12 +72,12 @@ class AllSubscriptionsCard extends StatelessWidget {
// vertical: 3, // vertical: 3,
// ), // ),
// ) // )
if (!isMainPage) if (subscription.isMyCurrentPackage!) "Current Package".toText(color: MyColors.primaryColor, fontWeight: FontWeight.bold),
if (subscription.subscriptionTypeEnum == if (!subscription.isMyCurrentPackage!)
SubscriptionTypeEnum.current) (subscription.subscriptionTypeEnum)!
"Current Package".toText(color: MyColors.primaryColor,fontWeight: FontWeight.bold), .getStringSubscriptionTypeEnum()
if (isMainPage) .toText(color: Colors.white)
"Upgrade".toText(color: Colors.white).toContainer( .toContainer(
backgroundColor: MyColors.primaryColor, backgroundColor: MyColors.primaryColor,
borderRadius: 30, borderRadius: 30,
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(
@ -81,6 +85,13 @@ class AllSubscriptionsCard extends StatelessWidget {
vertical: 3, vertical: 3,
), ),
) )
.onPress(() {
if (subscription.subscriptionTypeEnum == SubscriptionTypeEnum.downgrade) {
onDowngradeSubscriptionClick();
} else {
onUpgradeSubscriptionClick();
}
})
], ],
), ),
6.height, 6.height,
@ -110,51 +121,23 @@ class AllSubscriptionsCard extends StatelessWidget {
], ],
), ),
), ),
if (!isMainPage) if (subscription.isMyCurrentPackage!)
Row( Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
(subscription.subscriptionTypeEnum == (subscription.subscriptionTypeEnum == SubscriptionTypeEnum.current) ? "Renew".toText() : (subscription.subscriptionTypeEnum)!.getStringSubscriptionTypeEnum().toText(),
SubscriptionTypeEnum.current)
? "Renew".toText()
: (subscription.subscriptionTypeEnum)!
.getStringSubscriptionTypeEnum()
.toText(),
6.width, 6.width,
const Icon( const Icon(
Icons.arrow_forward, Icons.arrow_forward,
size: 16, size: 16,
) )
], ],
),
],
),
// if (isSubscribed)
if (isMainPage)
Row(
children: [
"Expires on ${DateHelper.formatAsDayMonthYear(subscription.dateEnd)}"
.toText(
fontSize: 14,
color: textColor,
),
Row(
children: [
6.width,
"Renew".toText(
color: MyColors.primaryColor,
fontSize: 14,
textDecoration: TextDecoration.underline,
decorationColor: MyColors.primaryColor,
isBold: true,
),
],
).onPress(() { ).onPress(() {
onRenewSubscriptionClick(); onRenewSubscriptionClick();
}), }),
], ],
) ),
], ],
).toWhiteContainer( ).toWhiteContainer(
width: double.infinity, width: double.infinity,
@ -163,8 +146,8 @@ class AllSubscriptionsCard extends StatelessWidget {
margin: const EdgeInsets.symmetric( margin: const EdgeInsets.symmetric(
horizontal: 21, horizontal: 21,
), ),
),
); );
// );
} }
Widget showItem(String title, String value) { Widget showItem(String title, String value) {

@ -14,20 +14,25 @@ class MySubscriptionsCard extends StatelessWidget {
Color? backgroundColor; Color? backgroundColor;
late Color textColor; late Color textColor;
Function onRenewSubscriptionClick; Function onRenewSubscriptionClick;
Function onUpgradeSubscriptionClick;
bool isMainPage; bool isMainPage;
MySubscriptionsCard(this.providerSubscriptionModel, {Key? key, this.isSubscribed = false, this.backgroundColor, required this.onRenewSubscriptionClick, this.isMainPage = true}) : super(key: key); MySubscriptionsCard(this.providerSubscriptionModel,
{Key? key, this.isSubscribed = false, this.backgroundColor, required this.onRenewSubscriptionClick, required this.onUpgradeSubscriptionClick, this.isMainPage = true})
: super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
textColor = backgroundColor == null ? Colors.black : Colors.white; textColor = backgroundColor == null ? Colors.black : Colors.white;
return InkWell( // return InkWell(
onTap: isSubscribed // onTap: isSubscribed
? null // ? null
: () { // : () {
onRenewSubscriptionClick(); // onRenewSubscriptionClick();
}, // },
child: Column( // child:
return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
@ -38,17 +43,37 @@ class MySubscriptionsCard extends StatelessWidget {
color: textColor, color: textColor,
), ),
), ),
if (providerSubscriptionModel.isActive!) "Current Package".toText(color: MyColors.primaryColor, fontWeight: FontWeight.bold), // if (providerSubscriptionModel.isActive!) "Current Package".toText(color: MyColors.primaryColor, fontWeight: FontWeight.bold),
5.width, 5.width,
if (providerSubscriptionModel.isUpgradeNow!) if (!providerSubscriptionModel.isExpired!)
"Upgrade".toText(color: Colors.white).toContainer( Row(
children: [
Container(
height: 15,
width: 15,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: MyColors.white,
),
alignment: Alignment.center,
child: Icon(
Icons.done,
size: 12,
color: MyColors.primaryColor,
),
),
5.width,
"Subscribed".toText(color: MyColors.white)
],
)
.toContainer(
backgroundColor: MyColors.primaryColor, backgroundColor: MyColors.primaryColor,
borderRadius: 30, borderRadius: 30,
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 7),
horizontal: 6,
vertical: 3,
),
) )
.onPress(() {
onUpgradeSubscriptionClick();
})
], ],
), ),
6.height, 6.height,
@ -111,8 +136,8 @@ class MySubscriptionsCard extends StatelessWidget {
margin: const EdgeInsets.symmetric( margin: const EdgeInsets.symmetric(
horizontal: 21, horizontal: 21,
), ),
),
); );
//);
} }
Widget showItem(String title, String value) { Widget showItem(String title, String value) {

Loading…
Cancel
Save