import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:kaer_with_panels/app/model/response/kr_package_list.dart'; import 'package:kaer_with_panels/app/localization/app_translations.dart'; /// 套餐详情弹框 class KRPlanDetailsDialog extends StatelessWidget { final List kr_features; const KRPlanDetailsDialog({ Key? key, required this.kr_features, }) : super(key: key); @override Widget build(BuildContext context) { return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16), ), child: Container( padding: const EdgeInsets.all(20), child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( AppTranslations.kr_purchaseMembership.planDetails, style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold, ), ), IconButton( icon: const Icon(Icons.close), onPressed: () => Get.back(), ), ], ), const SizedBox(height: 16), Flexible( child: ListView.builder( shrinkWrap: true, itemCount: kr_features.length, itemBuilder: (context, index) { final feature = kr_features[index]; return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( feature.kr_label, style: const TextStyle( fontSize: 16, fontWeight: FontWeight.w500, ), ), const SizedBox(height: 8), ...feature.kr_details.map((detail) => Padding( padding: const EdgeInsets.only(left: 16, bottom: 8), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Icon( Icons.check_circle_outline, size: 16, color: Colors.green, ), const SizedBox(width: 8), Expanded( child: Text( detail.kr_description, style: const TextStyle( fontSize: 14, color: Colors.black87, ), ), ), ], ), )), if (index < kr_features.length - 1) const Divider(height: 24), ], ); }, ), ), ], ), ), ); } }