From e47e42878581a76f3057d2a200e24abb34d7c8d9 Mon Sep 17 00:00:00 2001 From: Mohammad Salameh Date: Tue, 23 Apr 2024 16:28:02 +0300 Subject: [PATCH] created Default Scaffold --- .../shared_widgets/default_scaffold.dart | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 lib/features/shared_widgets/default_scaffold.dart diff --git a/lib/features/shared_widgets/default_scaffold.dart b/lib/features/shared_widgets/default_scaffold.dart new file mode 100644 index 0000000..c673dd3 --- /dev/null +++ b/lib/features/shared_widgets/default_scaffold.dart @@ -0,0 +1,54 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart'; +import 'package:syncrow_app/generated/assets.dart'; +import 'package:syncrow_app/utils/resource_manager/color_manager.dart'; +import 'package:syncrow_app/utils/resource_manager/constants.dart'; +import 'package:syncrow_app/utils/resource_manager/font_manager.dart'; + +class DefaultScaffold extends StatelessWidget { + const DefaultScaffold({super.key, required this.child, this.title}); + + final Widget child; + final String? title; + @override + Widget build(BuildContext context) { + return AnnotatedRegion( + value: SystemUiOverlayStyle( + statusBarColor: ColorsManager.primaryColor.withOpacity(0.5), + statusBarIconBrightness: Brightness.dark, // For Android (dark icons) + statusBarBrightness: Brightness.dark, // For iOS (dark icons) + ), + child: Scaffold( + backgroundColor: ColorsManager.backgroundColor, + extendBodyBehindAppBar: true, + extendBody: true, + appBar: AppBar( + backgroundColor: Colors.transparent, + centerTitle: true, + title: BodyLarge( + text: title ?? "", + fontColor: ColorsManager.primaryColor, + fontWeight: FontsManager.bold, + ), + ), + body: Container( + width: MediaQuery.sizeOf(context).width, + height: MediaQuery.sizeOf(context).height, + padding: const EdgeInsets.all(Constants.defaultPadding), + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage( + Assets.imagesBackground, + ), + fit: BoxFit.cover, + opacity: 0.4, + ), + ), + child: SafeArea(child: child), + ), + ), + ); + } +}