Parcourir la source

facility 的列表详情

liukai il y a 1 semaine
Parent
commit
7c4a5de683

+ 308 - 0
packages/cpt_facility/lib/modules/detail/facility_detail_page.dart

@@ -0,0 +1,308 @@
+import 'package:cs_resources/generated/assets.dart';
+import 'package:cs_resources/generated/l10n.dart';
+import 'package:cs_resources/theme/app_colors_theme.dart';
+import 'package:flutter/material.dart';
+import 'package:auto_route/auto_route.dart';
+import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:router/ext/auto_router_extensions.dart';
+import 'package:widgets/ext/ex_widget.dart';
+import 'package:widgets/my_appbar.dart';
+import 'package:widgets/my_load_image.dart';
+import 'package:widgets/my_text_view.dart';
+import '../../router/page/facility_page_router.dart';
+import 'facility_detail_view_model.dart';
+
+@RoutePage()
+class FacilityDetailPage extends HookConsumerWidget {
+  const FacilityDetailPage({Key? key}) : super(key: key);
+
+  //启动当前页面
+  static void startInstance({BuildContext? context}) {
+    if (context != null) {
+      context.router.push(const FacilityDetailPageRoute());
+    } else {
+      appRouter.push(const FacilityDetailPageRoute());
+    }
+  }
+
+  @override
+  Widget build(BuildContext context, WidgetRef ref) {
+    final viewModel = ref.watch(facilityDetailViewModelProvider.notifier);
+    final state = ref.watch(facilityDetailViewModelProvider);
+
+    return Scaffold(
+      appBar: MyAppBar.appBar(context, "Kids party room", backgroundColor: context.appColors.whiteBG),
+      backgroundColor: context.appColors.backgroundDark,
+      body: SingleChildScrollView(
+        scrollDirection: Axis.vertical,
+        physics: const BouncingScrollPhysics(),
+        child: Column(
+          mainAxisSize: MainAxisSize.max,
+          crossAxisAlignment: CrossAxisAlignment.center,
+          children: [
+            //顶部的信息展示
+            _buildHeaderWidget(context, ref),
+
+            //预定
+            _buildDetailItem(
+              context,
+              ref,
+              S.current.book,
+              Assets.facilityConfirmDateIcon,
+              28.5,
+              29,
+              "Tue,24 Oct 2023",
+              null,
+              "05:00 PM-10:00 PM",
+              null,
+            ),
+
+            //设施
+            _buildDetailItem(
+              context,
+              ref,
+              S.current.facility,
+              Assets.facilityConfirmFacilityIcon,
+              25.0,
+              30.5,
+              "Kids party room",
+              null,
+              "Blue room",
+              null,
+            ),
+
+            //付款
+            _buildDetailItem(
+              context,
+              ref,
+              S.current.payment,
+              Assets.facilityConfirmPaymentIcon,
+              27.0,
+              22.0,
+              "Booking Fee",
+              "10.80",
+              S.current.total,
+              "\$10.80",
+            ),
+
+            // 押金
+            _buildDetailItem(
+              context,
+              ref,
+              S.current.deposit,
+              Assets.facilityConfirmDepositIcon,
+              28.0,
+              26.5,
+              "On Hold",
+              "\$100.00",
+              null,
+              null,
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+
+  Widget _buildHeaderWidget(BuildContext context, WidgetRef ref) {
+    return Container(
+      width: double.infinity,
+      color: context.appColors.whiteBG,
+      margin: const EdgeInsets.only(bottom: 7.5),
+      child: Column(
+        children: [
+          //成功图片
+          const MyAssetImage(
+            Assets.facilityPaymentSuccessIcon,
+            width: 54,
+            height: 54,
+          ).marginOnly(top: 11, bottom: 13),
+
+          //支付成功
+          MyTextView(
+            S.current.booking_successful,
+            fontSize: 18,
+            marginBottom: 3,
+            isFontMedium: true,
+            textColor: context.appColors.textPrimary,
+          ),
+          MyTextView(
+            S.current.have_fun,
+            fontSize: 18,
+            marginBottom: 19,
+            isFontMedium: true,
+            textColor: context.appColors.textPrimary,
+          ),
+
+          //支付金额
+          MyTextView(
+            S.current.fee_paid,
+            fontSize: 15,
+            isFontRegular: true,
+            textColor: context.appColors.textBlack,
+          ),
+          MyTextView(
+            "\$10.80",
+            fontSize: 15,
+            isFontRegular: true,
+            textColor: context.appColors.textPrimary,
+          ),
+
+          //付款类型与时间
+          Row(
+            mainAxisSize: MainAxisSize.min,
+            children: [
+              MyTextView(
+                "Master card ending",
+                fontSize: 15,
+                isFontRegular: true,
+                textColor: context.appColors.textBlack,
+              ),
+              MyTextView(
+                "9423",
+                fontSize: 15,
+                isFontMedium: true,
+                textColor: context.appColors.textBlack,
+              ),
+            ],
+          ).marginOnly(top: 12),
+
+          Row(
+            mainAxisSize: MainAxisSize.min,
+            children: [
+              MyTextView(
+                S.current.paid_on,
+                fontSize: 15,
+                isFontRegular: true,
+                textColor: context.appColors.textBlack,
+              ),
+              MyTextView(
+                "24 Oct 2023 at 02:19 PM",
+                fontSize: 15,
+                isFontMedium: true,
+                textColor: context.appColors.textBlack,
+              ),
+            ],
+          ).marginOnly(top: 5),
+
+          Divider(height: 0.5, color: context.appColors.dividerDefault).marginOnly(top: 14, bottom: 14),
+
+          //押金
+          MyTextView(
+            S.current.deposit_released_caps,
+            fontSize: 15,
+            isFontRegular: true,
+            textColor: context.appColors.textBlack,
+          ),
+          MyTextView(
+            "\$100.00",
+            fontSize: 15,
+            marginTop: 5,
+            isFontRegular: true,
+            textColor: context.appColors.textPrimary,
+          ),
+
+          const SizedBox(height: 23),
+        ],
+      ),
+    );
+  }
+
+  //Item的列表
+  Widget _buildDetailItem(
+    BuildContext context,
+    WidgetRef ref,
+    String title,
+    String iconPath,
+    double iconWidth,
+    double iconHeight,
+    String line1Txt,
+    String? line1Content,
+    String? line2Txt,
+    String? line2Content,
+  ) {
+    return Container(
+      width: double.infinity,
+      height: 92.5,
+      padding: const EdgeInsets.only(left: 20, right: 20),
+      margin: const EdgeInsets.only(left: 15, right: 15, top: 7.5, bottom: 7.5),
+      decoration: BoxDecoration(
+        color: context.appColors.whiteBG,
+        borderRadius: BorderRadius.circular(6.0), // 圆角
+        boxShadow: [
+          BoxShadow(
+            color: const Color(0xFFB8BFD9).withOpacity(0.3), // 阴影颜色
+            offset: const Offset(0, 3), // 阴影的偏移量
+            blurRadius: 8.0, // 模糊半径
+            spreadRadius: 3.0, // 扩散半径
+          ),
+        ],
+      ),
+      child: Center(
+        child: Column(
+          crossAxisAlignment: CrossAxisAlignment.start,
+          mainAxisSize: MainAxisSize.min,
+          children: [
+            MyTextView(
+              title,
+              textColor: context.appColors.textBlack,
+              fontSize: 16,
+              marginBottom: 7,
+              isFontMedium: true,
+            ),
+            Row(
+              mainAxisSize: MainAxisSize.max,
+              children: [
+                MyAssetImage(
+                  iconPath,
+                  width: iconWidth,
+                  height: iconHeight,
+                ).marginOnly(right: 15),
+                Column(
+                  mainAxisSize: MainAxisSize.min,
+                  children: [
+                    Row(
+                      children: [
+                        MyTextView(
+                          line1Txt,
+                          textColor: context.appColors.textBlack,
+                          fontSize: 14,
+                          isFontRegular: true,
+                        ).expanded(),
+                        MyTextView(
+                          line1Content ?? "",
+                          textColor: context.appColors.textBlack,
+                          fontSize: 14,
+                          isFontRegular: true,
+                        ),
+                      ],
+                    ),
+                    Visibility(
+                      visible: line2Txt != null,
+                      child: Row(
+                        children: [
+                          MyTextView(
+                            line2Txt ?? "",
+                            textColor: context.appColors.textBlack,
+                            fontSize: 14,
+                            isFontRegular: true,
+                          ).expanded(),
+                          MyTextView(
+                            line2Content ?? "",
+                            textColor: context.appColors.textBlack,
+                            fontSize: 14,
+                            isFontRegular: true,
+                          ),
+                        ],
+                      ).marginOnly(top: 6),
+                    ),
+                  ],
+                ).expanded(),
+              ],
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}

+ 3 - 0
packages/cpt_facility/lib/modules/detail/facility_detail_state.dart

@@ -0,0 +1,3 @@
+class FacilityDetailState{
+
+}

+ 13 - 0
packages/cpt_facility/lib/modules/detail/facility_detail_view_model.dart

@@ -0,0 +1,13 @@
+import 'package:riverpod_annotation/riverpod_annotation.dart';
+
+import 'facility_detail_state.dart';
+
+part 'facility_detail_view_model.g.dart';
+
+@riverpod
+class FacilityDetailViewModel extends _$FacilityDetailViewModel{
+  @override
+  FacilityDetailState build() {
+    return FacilityDetailState();
+  }
+}

+ 27 - 0
packages/cpt_facility/lib/modules/detail/facility_detail_view_model.g.dart

@@ -0,0 +1,27 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'facility_detail_view_model.dart';
+
+// **************************************************************************
+// RiverpodGenerator
+// **************************************************************************
+
+String _$facilityDetailViewModelHash() =>
+    r'fc7e226b3c796f8790a9715a13656c06d1b98b20';
+
+/// See also [FacilityDetailViewModel].
+@ProviderFor(FacilityDetailViewModel)
+final facilityDetailViewModelProvider = AutoDisposeNotifierProvider<
+    FacilityDetailViewModel, FacilityDetailState>.internal(
+  FacilityDetailViewModel.new,
+  name: r'facilityDetailViewModelProvider',
+  debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
+      ? null
+      : _$facilityDetailViewModelHash,
+  dependencies: null,
+  allTransitiveDependencies: null,
+);
+
+typedef _$FacilityDetailViewModel = AutoDisposeNotifier<FacilityDetailState>;
+// ignore_for_file: type=lint
+// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

+ 4 - 1
packages/cpt_facility/lib/modules/facility/active/facility_active_screen.dart

@@ -6,6 +6,7 @@ import 'package:widgets/ext/ex_widget.dart';
 import 'package:widgets/load_state_layout.dart';
 import 'package:widgets/widget_export.dart';
 
+import '../../detail/facility_detail_page.dart';
 import 'facility_active_view_model.dart';
 import 'item_facility_active.dart';
 
@@ -42,7 +43,9 @@ class FacilityActiveScreen extends HookConsumerWidget {
             SliverList(
                 delegate: SliverChildBuilderDelegate(
                       (context, index) {
-                    return FacilityActiveItem(index: index, item: state.datas[index]);
+                    return FacilityActiveItem(index: index, item: state.datas[index]).onTap((){
+                      FacilityDetailPage.startInstance(context: context);
+                    });
                   },
                   childCount: state.datas.length,
                 ))

+ 9 - 7
packages/cpt_facility/lib/modules/facility/deposit/facility_deposit_screen.dart

@@ -1,5 +1,4 @@
 import 'package:auto_route/auto_route.dart';
-import 'package:cpt_facility/modules/facility/active/item_facility_active.dart';
 import 'package:cs_resources/generated/l10n.dart';
 import 'package:cs_resources/theme/app_colors_theme.dart';
 import 'package:flutter/material.dart';
@@ -10,6 +9,7 @@ import 'package:widgets/load_state_layout.dart';
 import 'package:widgets/my_text_view.dart';
 import 'package:widgets/widget_export.dart';
 
+import '../../detail/facility_detail_page.dart';
 import 'facility_deposit_view_model.dart';
 import 'item_facility_deposit.dart';
 
@@ -48,7 +48,9 @@ class FacilityDepositScreen extends HookConsumerWidget {
             SliverList(
                 delegate: SliverChildBuilderDelegate(
               (context, index) {
-                return FacilityDepositItem(index: index, item: state.datas[index]);
+                return FacilityDepositItem(index: index, item: state.datas[index]).onTap((){
+                  FacilityDetailPage.startInstance(context: context);
+                });
               },
               childCount: state.datas.length,
             )),
@@ -91,10 +93,10 @@ class FacilityDepositScreen extends HookConsumerWidget {
             // 下半部分
             Container(
               width: double.infinity,
-              padding: EdgeInsets.all(26),
-              decoration: const BoxDecoration(
-                color: Colors.white,
-                borderRadius: BorderRadius.only(
+              padding: const EdgeInsets.all(26),
+              decoration:  BoxDecoration(
+                color: context.appColors.whiteSecondBG,
+                borderRadius: const BorderRadius.only(
                   bottomLeft: Radius.circular(5),
                   bottomRight: Radius.circular(5),
                 ),
@@ -104,7 +106,7 @@ class FacilityDepositScreen extends HookConsumerWidget {
                 fontSize: 30,
                 isFontBold: true,
                 textAlign: TextAlign.center,
-                textColor: Colors.black,
+                textColor: context.appColors.textBlack,
               ),
             ),
           ],

+ 1 - 1
packages/cpt_facility/lib/modules/facility/deposit/facility_deposit_view_model.g.dart

@@ -7,7 +7,7 @@ part of 'facility_deposit_view_model.dart';
 // **************************************************************************
 
 String _$facilityDepositViewModelHash() =>
-    r'a42d79590553d917d84803608f4eae75b1b08740';
+    r'2b35e0ffd671d3ab67217b51dc076475f7e2a00a';
 
 /// See also [FacilityDepositViewModel].
 @ProviderFor(FacilityDepositViewModel)

+ 4 - 1
packages/cpt_facility/lib/modules/facility/history/facility_history_screen.dart

@@ -5,6 +5,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
 import 'package:widgets/ext/ex_widget.dart';
 import 'package:widgets/load_state_layout.dart';
 import 'package:widgets/widget_export.dart';
+import '../../detail/facility_detail_page.dart';
 import 'facility_history_view_model.dart';
 import 'item_facility_history.dart';
 
@@ -41,7 +42,9 @@ class FacilityHistoryScreen extends HookConsumerWidget {
             SliverList(
                 delegate: SliverChildBuilderDelegate(
                       (context, index) {
-                    return FacilityHistoryItem(index: index, item: state.datas[index]);
+                    return FacilityHistoryItem(index: index, item: state.datas[index]).onTap((){
+                      FacilityDetailPage.startInstance(context: context);
+                    });
                   },
                   childCount: state.datas.length,
                 ))

+ 2 - 0
packages/cpt_facility/lib/router/page/facility_page_router.dart

@@ -8,6 +8,7 @@ import '../../modules/facility/active/facility_active_screen.dart';
 import '../../modules/facility/book/facility_book_screen.dart';
 import '../../modules/facility/deposit/facility_deposit_screen.dart';
 import '../../modules/facility/history/facility_history_screen.dart';
+import '../../modules/detail/facility_detail_page.dart';
 
 part 'facility_page_router.gr.dart';
 
@@ -29,5 +30,6 @@ class FacilityPageRouter extends _$FacilityPageRouter {
             AutoRoute(page: FacilityHistoryPageRoute.page, path: 'history'),
           ],
         ),
+        CustomRoute(page: FacilityDetailPageRoute.page, path: RouterPath.facilityDetail, transitionsBuilder: applySlideTransition)
       ];
 }

+ 20 - 0
packages/cpt_facility/lib/router/page/facility_page_router.gr.dart

@@ -33,6 +33,12 @@ abstract class _$FacilityPageRouter extends RootStackRouter {
         child: FacilityDepositScreen(),
       );
     },
+    FacilityDetailPageRoute.name: (routeData) {
+      return AutoRoutePage<dynamic>(
+        routeData: routeData,
+        child: const FacilityDetailPage(),
+      );
+    },
     FacilityHistoryPageRoute.name: (routeData) {
       return AutoRoutePage<dynamic>(
         routeData: routeData,
@@ -91,6 +97,20 @@ class FacilityDepositPageRoute extends PageRouteInfo<void> {
 }
 
 /// generated route for
+/// [FacilityDetailPage]
+class FacilityDetailPageRoute extends PageRouteInfo<void> {
+  const FacilityDetailPageRoute({List<PageRouteInfo>? children})
+      : super(
+          FacilityDetailPageRoute.name,
+          initialChildren: children,
+        );
+
+  static const String name = 'FacilityDetailPageRoute';
+
+  static const PageInfo<void> page = PageInfo<void>(name);
+}
+
+/// generated route for
 /// [FacilityHistoryScreen]
 class FacilityHistoryPageRoute extends PageRouteInfo<void> {
   const FacilityHistoryPageRoute({List<PageRouteInfo>? children})

+ 9 - 0
packages/cs_resources/lib/generated/intl/messages_en.dart

@@ -49,6 +49,9 @@ class MessageLookup extends MessageLookupByLibrary {
             "123 is the block number #08-08 is the unit number"),
         "book": MessageLookupByLibrary.simpleMessage("Book"),
         "booked_by_someone": m0,
+        "booking_fee": MessageLookupByLibrary.simpleMessage("Booking Fee"),
+        "booking_successful":
+            MessageLookupByLibrary.simpleMessage("BOOKING SUCCESSFUL"),
         "cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
         "change_mobile_phone":
             MessageLookupByLibrary.simpleMessage("Change Mobile Phone"),
@@ -76,6 +79,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "deposit_hold": MessageLookupByLibrary.simpleMessage("Deposit Hold"),
         "deposit_released":
             MessageLookupByLibrary.simpleMessage("Deposit Released"),
+        "deposit_released_caps":
+            MessageLookupByLibrary.simpleMessage("DEPOSIT RELEASED"),
         "describe_your_feedback":
             MessageLookupByLibrary.simpleMessage("Describe Your FeedBack"),
         "did_not_receive":
@@ -111,6 +116,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "get_code": MessageLookupByLibrary.simpleMessage("Get Code"),
         "get_started":
             MessageLookupByLibrary.simpleMessage("let\'s get started"),
+        "have_fun": MessageLookupByLibrary.simpleMessage("Have Fun!"),
         "history": MessageLookupByLibrary.simpleMessage("History"),
         "home": MessageLookupByLibrary.simpleMessage("Home"),
         "household": MessageLookupByLibrary.simpleMessage("Household"),
@@ -147,6 +153,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "nric_fin": MessageLookupByLibrary.simpleMessage("NRIC/FIN"),
         "old_mobile_phone":
             MessageLookupByLibrary.simpleMessage("Old Mobile Phone"),
+        "on_hold": MessageLookupByLibrary.simpleMessage("On Hold"),
         "or": MessageLookupByLibrary.simpleMessage("or"),
         "other": MessageLookupByLibrary.simpleMessage("Other"),
         "owner": MessageLookupByLibrary.simpleMessage("Owner"),
@@ -162,6 +169,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "I am the shareholder of the company that owns the unit"),
         "owners_desc5": MessageLookupByLibrary.simpleMessage(
             "The Management will verify your application accordingly"),
+        "paid_on": MessageLookupByLibrary.simpleMessage("paid on"),
         "password": MessageLookupByLibrary.simpleMessage("Password"),
         "password_format":
             MessageLookupByLibrary.simpleMessage("8 Digits Alphanumeric"),
@@ -217,6 +225,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "terms_of_service":
             MessageLookupByLibrary.simpleMessage("Terms of Service"),
         "title": MessageLookupByLibrary.simpleMessage("Title"),
+        "total": MessageLookupByLibrary.simpleMessage("Total"),
         "tries_left": MessageLookupByLibrary.simpleMessage("Tries Left"),
         "type_here": MessageLookupByLibrary.simpleMessage("Type Here"),
         "unit_number": MessageLookupByLibrary.simpleMessage("Unit Number"),

+ 7 - 0
packages/cs_resources/lib/generated/intl/messages_zh_CN.dart

@@ -46,6 +46,8 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("123 是街区地址邮编 #08-08 是单元号码"),
         "book": MessageLookupByLibrary.simpleMessage("预定"),
         "booked_by_someone": m0,
+        "booking_fee": MessageLookupByLibrary.simpleMessage("预定费用"),
+        "booking_successful": MessageLookupByLibrary.simpleMessage("预定成功"),
         "cancel": MessageLookupByLibrary.simpleMessage("取消"),
         "change_mobile_phone": MessageLookupByLibrary.simpleMessage("修改手机号码"),
         "characters": m1,
@@ -65,6 +67,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "押金是使用社区服务的一部分,在使用服务后,它将自动发放到您相应的银行卡上。请仔细检查"),
         "deposit_hold": MessageLookupByLibrary.simpleMessage("当前押金"),
         "deposit_released": MessageLookupByLibrary.simpleMessage("押金已退还"),
+        "deposit_released_caps": MessageLookupByLibrary.simpleMessage("押金已退还"),
         "describe_your_feedback":
             MessageLookupByLibrary.simpleMessage("描述您的反馈"),
         "did_not_receive": MessageLookupByLibrary.simpleMessage("没有收到验证码?"),
@@ -93,6 +96,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "full_name": MessageLookupByLibrary.simpleMessage("全名"),
         "get_code": MessageLookupByLibrary.simpleMessage("获取验证码"),
         "get_started": MessageLookupByLibrary.simpleMessage("让我们开始吧"),
+        "have_fun": MessageLookupByLibrary.simpleMessage("祝您愉快!"),
         "history": MessageLookupByLibrary.simpleMessage("历史记录"),
         "home": MessageLookupByLibrary.simpleMessage("首页"),
         "household": MessageLookupByLibrary.simpleMessage("家庭"),
@@ -123,6 +127,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "notification": MessageLookupByLibrary.simpleMessage("通知"),
         "nric_fin": MessageLookupByLibrary.simpleMessage("身份证/签证"),
         "old_mobile_phone": MessageLookupByLibrary.simpleMessage("旧的手机号码"),
+        "on_hold": MessageLookupByLibrary.simpleMessage("持有"),
         "or": MessageLookupByLibrary.simpleMessage("或者"),
         "other": MessageLookupByLibrary.simpleMessage("其他"),
         "owner": MessageLookupByLibrary.simpleMessage("业主"),
@@ -133,6 +138,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "owners_desc3": MessageLookupByLibrary.simpleMessage("我和名字的主人住在同一个家庭"),
         "owners_desc4": MessageLookupByLibrary.simpleMessage("我是拥有该单元的公司的股东"),
         "owners_desc5": MessageLookupByLibrary.simpleMessage("管理员将相应地验证您的申请"),
+        "paid_on": MessageLookupByLibrary.simpleMessage("付款时间"),
         "password": MessageLookupByLibrary.simpleMessage("密码"),
         "password_format": MessageLookupByLibrary.simpleMessage("8位数字或字母"),
         "payment": MessageLookupByLibrary.simpleMessage("支付"),
@@ -176,6 +182,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "terms_conditions": MessageLookupByLibrary.simpleMessage("服务条款"),
         "terms_of_service": MessageLookupByLibrary.simpleMessage("服务条款"),
         "title": MessageLookupByLibrary.simpleMessage("标题"),
+        "total": MessageLookupByLibrary.simpleMessage("共计"),
         "tries_left": MessageLookupByLibrary.simpleMessage("次尝试机会"),
         "type_here": MessageLookupByLibrary.simpleMessage("在此输入"),
         "unit_number": MessageLookupByLibrary.simpleMessage("单元"),

+ 7 - 0
packages/cs_resources/lib/generated/intl/messages_zh_HK.dart

@@ -46,6 +46,8 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("123 是街区地址邮编 #08-08 是单元号码"),
         "book": MessageLookupByLibrary.simpleMessage("预定"),
         "booked_by_someone": m0,
+        "booking_fee": MessageLookupByLibrary.simpleMessage("预定费用"),
+        "booking_successful": MessageLookupByLibrary.simpleMessage("预定成功"),
         "cancel": MessageLookupByLibrary.simpleMessage("取消"),
         "change_mobile_phone": MessageLookupByLibrary.simpleMessage("修改手机号码"),
         "characters": m1,
@@ -65,6 +67,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "押金是使用社区服务的一部分,在使用服务后,它将自动发放到您相应的银行卡上。请仔细检查"),
         "deposit_hold": MessageLookupByLibrary.simpleMessage("当前押金"),
         "deposit_released": MessageLookupByLibrary.simpleMessage("押金已退还"),
+        "deposit_released_caps": MessageLookupByLibrary.simpleMessage("押金已退还"),
         "describe_your_feedback":
             MessageLookupByLibrary.simpleMessage("描述您的反馈"),
         "did_not_receive": MessageLookupByLibrary.simpleMessage("没有收到验证码?"),
@@ -93,6 +96,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "full_name": MessageLookupByLibrary.simpleMessage("全名"),
         "get_code": MessageLookupByLibrary.simpleMessage("获取验证码"),
         "get_started": MessageLookupByLibrary.simpleMessage("让我们开始吧"),
+        "have_fun": MessageLookupByLibrary.simpleMessage("祝您愉快!"),
         "history": MessageLookupByLibrary.simpleMessage("历史记录"),
         "home": MessageLookupByLibrary.simpleMessage("首页"),
         "household": MessageLookupByLibrary.simpleMessage("家庭"),
@@ -123,8 +127,10 @@ class MessageLookup extends MessageLookupByLibrary {
         "notification": MessageLookupByLibrary.simpleMessage("通知"),
         "nric_fin": MessageLookupByLibrary.simpleMessage("身份证/签证"),
         "old_mobile_phone": MessageLookupByLibrary.simpleMessage("旧的手机号码"),
+        "on_hold": MessageLookupByLibrary.simpleMessage("持有"),
         "or": MessageLookupByLibrary.simpleMessage("或者"),
         "other": MessageLookupByLibrary.simpleMessage("其他"),
+        "paid_on": MessageLookupByLibrary.simpleMessage("付款时间"),
         "password": MessageLookupByLibrary.simpleMessage("密码"),
         "password_format": MessageLookupByLibrary.simpleMessage("8位数字或字母"),
         "payment": MessageLookupByLibrary.simpleMessage("支付"),
@@ -163,6 +169,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "terms_conditions": MessageLookupByLibrary.simpleMessage("服务条款"),
         "terms_of_service": MessageLookupByLibrary.simpleMessage("服务条款"),
         "title": MessageLookupByLibrary.simpleMessage("标题"),
+        "total": MessageLookupByLibrary.simpleMessage("共计"),
         "tries_left": MessageLookupByLibrary.simpleMessage("次尝试机会"),
         "type_here": MessageLookupByLibrary.simpleMessage("在此输入"),
         "unit_number": MessageLookupByLibrary.simpleMessage("单元"),

+ 70 - 0
packages/cs_resources/lib/generated/l10n.dart

@@ -1610,6 +1610,76 @@ class S {
     );
   }
 
+  /// `BOOKING SUCCESSFUL`
+  String get booking_successful {
+    return Intl.message(
+      'BOOKING SUCCESSFUL',
+      name: 'booking_successful',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Have Fun!`
+  String get have_fun {
+    return Intl.message(
+      'Have Fun!',
+      name: 'have_fun',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `paid on`
+  String get paid_on {
+    return Intl.message(
+      'paid on',
+      name: 'paid_on',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `DEPOSIT RELEASED`
+  String get deposit_released_caps {
+    return Intl.message(
+      'DEPOSIT RELEASED',
+      name: 'deposit_released_caps',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Booking Fee`
+  String get booking_fee {
+    return Intl.message(
+      'Booking Fee',
+      name: 'booking_fee',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `On Hold`
+  String get on_hold {
+    return Intl.message(
+      'On Hold',
+      name: 'on_hold',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Total`
+  String get total {
+    return Intl.message(
+      'Total',
+      name: 'total',
+      desc: '',
+      args: [],
+    );
+  }
+
   /// `Other`
   String get other {
     return Intl.message(

+ 7 - 0
packages/cs_resources/lib/l10n/intl_en.arb

@@ -155,5 +155,12 @@
   "deposit_desc_txt": "Deposit is a part of enjoying community services, and it will be automatically issued to your corresponding bank card after enjoying the services. Please check carefully",
   "delete": "Delete",
   "deposit_released": "Deposit Released",
+  "booking_successful": "BOOKING SUCCESSFUL",
+  "have_fun": "Have Fun!",
+  "paid_on": "paid on",
+  "deposit_released_caps": "DEPOSIT RELEASED",
+  "booking_fee": "Booking Fee",
+  "on_hold": "On Hold",
+  "total": "Total",
   "other": "Other"
 }

+ 7 - 0
packages/cs_resources/lib/l10n/intl_zh_CN.arb

@@ -155,5 +155,12 @@
   "deposit_desc_txt": "押金是使用社区服务的一部分,在使用服务后,它将自动发放到您相应的银行卡上。请仔细检查",
   "delete": "删除",
   "deposit_released": "押金已退还",
+  "booking_successful": "预定成功",
+  "have_fun": "祝您愉快!",
+  "paid_on": "付款时间",
+  "deposit_released_caps": "押金已退还",
+  "booking_fee": "预定费用",
+  "on_hold": "持有",
+  "total": "共计",
   "other": "其他"
 }

+ 7 - 0
packages/cs_resources/lib/l10n/intl_zh_HK.arb

@@ -141,5 +141,12 @@
   "deposit_desc_txt": "押金是使用社区服务的一部分,在使用服务后,它将自动发放到您相应的银行卡上。请仔细检查",
   "delete": "删除",
   "deposit_released": "押金已退还",
+  "booking_successful": "预定成功",
+  "have_fun": "祝您愉快!",
+  "paid_on": "付款时间",
+  "deposit_released_caps": "押金已退还",
+  "booking_fee": "预定费用",
+  "on_hold": "持有",
+  "total": "共计",
   "other": "其他"
 }

+ 1 - 0
packages/cs_router/lib/path/router_path.dart

@@ -51,6 +51,7 @@ class RouterPath {
 
   //设施
   static const facility = '/facility';
+  static const facilityDetail = '/facility/detail';
 
   //表单
   static const form = '/form';