import '/components/appbar_widget.dart'; import '/components/nav_bar1_widget.dart'; import '/flutterlib/flutter_icon_button.dart'; import '/flutterlib/flutter_theme.dart'; import '/flutterlib/flutter_util.dart'; import '/flutterlib/flutter_widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'bk_view_model.dart'; export 'bk_view_model.dart'; class BkViewWidget extends StatefulWidget { const BkViewWidget({ Key? key, required this.fileUrl, }) : super(key: key); final dynamic fileUrl; @override _BkViewWidgetState createState() => _BkViewWidgetState(); } class _BkViewWidgetState extends State { late BkViewModel _model; final scaffoldKey = GlobalKey(); @override void initState() { super.initState(); _model = createModel(context, () => BkViewModel()); } @override void dispose() { _model.dispose(); super.dispose(); } @override Widget build(BuildContext context) { if (isiOS) { SystemChrome.setSystemUIOverlayStyle( SystemUiOverlayStyle( statusBarBrightness: Theme.of(context).brightness, systemStatusBarContrastEnforced: true, ), ); } context.watch(); return GestureDetector( onTap: () => _model.unfocusNode.canRequestFocus ? FocusScope.of(context).requestFocus(_model.unfocusNode) : FocusScope.of(context).unfocus(), child: Scaffold( key: scaffoldKey, backgroundColor: FlutterTheme.of(context).primaryBackground, appBar: PreferredSize( preferredSize: Size.fromHeight(0.0), child: AppBar( backgroundColor: Color(0xFFE7E36B), automaticallyImplyLeading: false, actions: [], centerTitle: false, elevation: 0.0, ), ), body: SafeArea( top: true, child: Stack( children: [ Align( alignment: AlignmentDirectional(0.0, 0.0), child: Column( mainAxisSize: MainAxisSize.max, children: [ Expanded( child: Align( alignment: AlignmentDirectional(0.0, 0.0), child: Container( width: 390.0, height: 546.0, decoration: BoxDecoration( color: Color(0xFFCECECE), ), child: Align( alignment: AlignmentDirectional(0.0, 0.0), child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Row( mainAxisSize: MainAxisSize.max, children: [ Expanded( child: Align( alignment: AlignmentDirectional(1.0, 0.0), child: Padding( padding: EdgeInsetsDirectional.fromSTEB( 0.0, 5.0, 5.0, 0.0), child: FlutterIconButton( borderRadius: 20.0, borderWidth: 1.0, buttonSize: 40.0, fillColor: Color(0xFF9B0025), icon: Icon( Icons.close, color: Color(0xFFE8E8E8), size: 26.0, ), onPressed: () async { context.safePop(); }, ), ), ), ), ], ), Expanded( child: Align( alignment: AlignmentDirectional(0.0, 0.0), child: ClipRRect( borderRadius: BorderRadius.circular(8.0), child: Image.network( widget.fileUrl!.toString(), width: 300.0, height: 200.0, fit: BoxFit.contain, alignment: Alignment(0.0, 0.0), ), ), ), ), ], ), ), ), ), ), ], ), ), Align( alignment: AlignmentDirectional(0.0, 1.0), child: wrapWithModel( model: _model.navBar1Model, updateCallback: () => setState(() {}), child: NavBar1Widget(), ), ), Align( alignment: AlignmentDirectional(0.0, -1.0), child: wrapWithModel( model: _model.appbarModel, updateCallback: () => setState(() {}), child: AppbarWidget(), ), ), ], ), ), ), ); } }