5 changed files with 114 additions and 11 deletions
			
			
		@ -0,0 +1,22 @@
					 | 
				
			||||
/* | 
				
			||||
 * Copyright (c) 2023. Open Mobile Platform LLC. | 
				
			||||
 * License: Proprietary. | 
				
			||||
 */ | 
				
			||||
import 'package:flutter/widgets.dart'; | 
				
			||||
import 'package:scoped_model/scoped_model.dart'; | 
				
			||||
 | 
				
			||||
/// Model for [SqflitePage] | 
				
			||||
class SqfliteModel extends Model { | 
				
			||||
  /// Get [ScopedModel] | 
				
			||||
  static SqfliteModel of(BuildContext context) => | 
				
			||||
      ScopedModel.of<SqfliteModel>(context); | 
				
			||||
 | 
				
			||||
  /// Error | 
				
			||||
  String? _error; | 
				
			||||
 | 
				
			||||
  /// Public error | 
				
			||||
  String? get error => _error; | 
				
			||||
 | 
				
			||||
  /// Public is error | 
				
			||||
  bool get isError => _error != null; | 
				
			||||
} | 
				
			||||
@ -0,0 +1,61 @@
					 | 
				
			||||
/* | 
				
			||||
 * Copyright (c) 2023. Open Mobile Platform LLC. | 
				
			||||
 * License: Proprietary. | 
				
			||||
 */ | 
				
			||||
import 'package:flutter/material.dart'; | 
				
			||||
import 'package:flutter_example_packages/base/di/app_di.dart'; | 
				
			||||
import 'package:flutter_example_packages/base/package/package.dart'; | 
				
			||||
import 'package:flutter_example_packages/widgets/base/export.dart'; | 
				
			||||
import 'package:flutter_example_packages/widgets/blocks/block_alert.dart'; | 
				
			||||
import 'package:flutter_example_packages/widgets/blocks/block_info_package.dart'; | 
				
			||||
import 'package:flutter_example_packages/widgets/layouts/block_layout.dart'; | 
				
			||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; | 
				
			||||
 | 
				
			||||
import 'model.dart'; | 
				
			||||
import 'package.dart'; | 
				
			||||
 | 
				
			||||
class SqflitePage extends AppStatefulWidget { | 
				
			||||
  SqflitePage({ | 
				
			||||
    super.key, | 
				
			||||
  }); | 
				
			||||
 | 
				
			||||
  final Package package = packageSqflite; | 
				
			||||
 | 
				
			||||
  @override | 
				
			||||
  State<SqflitePage> createState() => _SqflitePageState(); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
class _SqflitePageState extends AppState<SqflitePage> { | 
				
			||||
  @override | 
				
			||||
  Widget buildWide( | 
				
			||||
    BuildContext context, | 
				
			||||
    MediaQueryData media, | 
				
			||||
    AppLocalizations l10n, | 
				
			||||
  ) { | 
				
			||||
    return BlockLayout<SqfliteModel>( | 
				
			||||
      model: getIt<SqfliteModel>(), | 
				
			||||
      title: widget.package.key, | 
				
			||||
      builder: (context, child, model) { | 
				
			||||
        return SingleChildScrollView( | 
				
			||||
          child: Padding( | 
				
			||||
            padding: const EdgeInsets.all(20), | 
				
			||||
            child: Column( | 
				
			||||
              crossAxisAlignment: CrossAxisAlignment.start, | 
				
			||||
              children: [ | 
				
			||||
                BlockInfoPackage(widget.package), | 
				
			||||
                BlockAlert(model.error), | 
				
			||||
                if (!model.isError) | 
				
			||||
                  Form( | 
				
			||||
                    child: Column( | 
				
			||||
                      crossAxisAlignment: CrossAxisAlignment.start, | 
				
			||||
                      children: [], | 
				
			||||
                    ), | 
				
			||||
                  ), | 
				
			||||
              ], | 
				
			||||
            ), | 
				
			||||
          ), | 
				
			||||
        ); | 
				
			||||
      }, | 
				
			||||
    ); | 
				
			||||
  } | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue