48 lines
1.5 KiB
Dart
48 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:pj_supermarket_cloud/sub_screen/common/models/customer_display_models.dart';
|
|
import 'package:pj_supermarket_cloud/sub_screen/common/utils/customer_display_coordinator.dart';
|
|
import 'package:pj_supermarket_cloud/sub_screen/page/customer_display.dart';
|
|
|
|
/// 主屏调试入口只负责注入演示数据,顾客屏本身与真实副屏共用同一 Widget。
|
|
class CustomerDisplayPreviewPage extends StatefulWidget {
|
|
const CustomerDisplayPreviewPage({super.key, this.arguments});
|
|
|
|
final Object? arguments;
|
|
|
|
@override
|
|
State<CustomerDisplayPreviewPage> createState() =>
|
|
_CustomerDisplayPreviewPageState();
|
|
}
|
|
|
|
class _CustomerDisplayPreviewPageState
|
|
extends State<CustomerDisplayPreviewPage> {
|
|
late final CustomerDisplayCoordinator _coordinator;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
final arguments = widget.arguments;
|
|
final scenarioName =
|
|
arguments is Map ? arguments['scenario']?.toString() : null;
|
|
final scenario = customerDisplayScenarioFromName(scenarioName);
|
|
// 预览也走协调器的本地计时,便于在模拟器检查倒计时和超时切换。
|
|
_coordinator = CustomerDisplayCoordinator.demo(scenario);
|
|
}
|
|
|
|
@override
|
|
void dispose() {
|
|
_coordinator.dispose();
|
|
super.dispose();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return CustomerDisplayPage(
|
|
coordinator: _coordinator,
|
|
previewMode: true,
|
|
onExit: () => Navigator.of(context).maybePop(),
|
|
);
|
|
}
|
|
}
|