yumi-flutter/lib/debug/room_rocket_empty_dialog_preview.dart
roxy bd6d35ee1b 🚀 UI
2026-05-14 17:10:53 +08:00

72 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:yumi/shared/business_logic/models/res/sc_room_rocket_status_res.dart';
import 'package:yumi/ui_kit/widgets/room/rocket/room_rocket_dialog.dart';
void main() {
runApp(const RoomRocketEmptyDialogPreviewApp());
}
class RoomRocketEmptyDialogPreviewApp extends StatelessWidget {
const RoomRocketEmptyDialogPreviewApp({super.key});
@override
Widget build(BuildContext context) {
return ScreenUtilInit(
designSize: const Size(375, 812),
minTextAdapt: true,
splitScreenMode: true,
builder:
(_, child) => const MaterialApp(
debugShowCheckedModeBanner: false,
home: _RoomRocketEmptyDialogPreviewPage(),
),
);
}
}
class _RoomRocketEmptyDialogPreviewPage extends StatelessWidget {
const _RoomRocketEmptyDialogPreviewPage();
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: Stack(
fit: StackFit.expand,
children: [
const _RoomBackground(),
RoomRocketDialog(
status: SCRoomRocketStatusRes(
level: 1,
energyPercent: 0,
totalContributors: 0,
),
),
],
),
);
}
}
class _RoomBackground extends StatelessWidget {
const _RoomBackground();
@override
Widget build(BuildContext context) {
return DecoratedBox(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
'sc_images/room/background_examples/bg_example_1.png',
),
fit: BoxFit.cover,
),
),
child: DecoratedBox(
decoration: BoxDecoration(color: Colors.black.withValues(alpha: 0.24)),
),
);
}
}