import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:flutter_wisetronic/widgets/desktop/desktop_plain_page.dart'; import 'package:flutter_wisetronic/widgets/mobile/mobile_plain_page.dart'; import 'package:responsive_builder/responsive_builder.dart'; import '../models/blog.dart'; import '../store/actions.dart'; import '../store/store.dart'; import '../utils/http_util.dart'; import '../utils/utils.dart'; class PlainPage extends StatefulWidget { final int businessId; final String? slug; const PlainPage(this.slug, {required this.businessId, Key? key}) : super(key: key); @override State createState() => PlainPageState(); } class PlainPageState extends State { Blog? blog; @override Widget build(BuildContext context) { store.dispatch(UpdateContext(context)); if (blog == null) { return new Scaffold( body: Center( child: SpinKitWave( color: Colors.lightBlueAccent, size: 40.0, ), ), ); } return ResponsiveBuilder( builder: (context, sizingInformation) => ScreenTypeLayout.builder( mobile: (context) => MobilePlainPage(blog!), tablet: (context) => DesktopPlainPage(blog!), desktop: (context) => DesktopPlainPage(blog!), ), ); } @override void initState() { super.initState(); loadData(); } void loadData() { HttpUtil.httpGet( 'v1/special-page', businessId: widget.businessId, queryParameters: { 'bid': widget.slug, } ).then((value) { blog = Blog.fromJson(value); setState(() {}); }).onError((error, stackTrace) { Utils.showMessageDialog(context, error); }); } }