update subcription portal

This commit is contained in:
2026-02-08 10:31:54 +07:00
parent 28a376fc4d
commit dc1147fd9e
4 changed files with 125 additions and 8 deletions

View File

@@ -9,6 +9,7 @@ import 'package:mobile_pos/currency.dart';
import '../../Const/api_config.dart';
import '../../GlobalComponents/bar_code_scaner_widget.dart';
import '../../GlobalComponents/go_to_subscription-package_page_popup_widget.dart';
import '../Sales/provider/sales_cart_provider.dart';
import '../../Provider/product_provider.dart';
import '../../model/add_to_cart_model.dart';
@@ -25,6 +26,11 @@ import '../../service/check_user_role_permission_provider.dart';
import '../product_category/model/category_model.dart';
import '../product_category/provider/product_category_provider/product_unit_provider.dart';
import 'package:mobile_pos/generated/l10n.dart' as lang;
import '../../http_client/subscription_expire_provider.dart';
import '../subscription/purchase_premium_plan_screen.dart';
import '../../model/business_info_model.dart';
import '../Home/home.dart';
import '../../Provider/profile_provider.dart';
class PosSaleScreen extends ConsumerStatefulWidget {
const PosSaleScreen({super.key});
@@ -60,6 +66,47 @@ class _PosSaleScreenState extends ConsumerState<PosSaleScreen> {
ref.refresh(cartNotifier);
filteredProducts = ref.read(productProvider).value ?? [];
productController.addListener(_applyFilters);
WidgetsBinding.instance.addPostFrameCallback((_) {
final subscriptionState = ref.read(subscriptionProvider);
if (subscriptionState.isExpired) {
showDialog(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return PopScope(
canPop: false,
child: goToPackagePagePopup(
context: context,
enrolledPlan: ref.read(businessInfoProvider).value?.data?.enrolledPlan,
onCancel: () {
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => const Home()),
(Route<dynamic> route) => false,
);
},
onUpgrade: () {
final businessInfo = ref.read(businessInfoProvider);
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => PurchasePremiumPlanScreen(
isCameBack: true,
isExpired: true,
initiallyShowDialog: false,
enrolledPlan: businessInfo.value?.data?.enrolledPlan,
willExpire: businessInfo.value?.data?.willExpire,
),
),
);
},
),
);
},
);
}
});
}
@override