Adding base project of flutter-hybrid

This commit is contained in:
Azmat-7860
2026-09-12 11:22:07 +05:30
commit 45850796dc
471 changed files with 27188 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
import 'package:flutter/material.dart';
import 'package:flutter/material.dart';
import '../custom_image_view.dart';
// ignore: must_be_immutable
class AppbarImage extends StatelessWidget {
AppbarImage(
{required this.height,
required this.width,
this.imagePath,
this.svgPath,
this.margin,
this.onTap});
double height;
double width;
String? imagePath;
String? svgPath;
EdgeInsetsGeometry? margin;
Function? onTap;
@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {
onTap?.call();
},
child: Padding(
padding: margin ?? EdgeInsets.zero,
child: CustomImageView(
svgPath: svgPath,
imagePath: imagePath,
height: height,
width: width,
fit: BoxFit.contain,
),
),
);
}
}
+36
View File
@@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import '../../Utils/color_constants.dart';
import '../../theme/app_style.dart';
// ignore: must_be_immutable
class AppbarTitle extends StatelessWidget {
AppbarTitle({required this.text, this.margin, this.onTap});
String text;
EdgeInsetsGeometry? margin;
Function? onTap;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
onTap?.call();
},
child: Padding(
padding: margin ?? EdgeInsets.zero,
child: Text(
text,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.left,
style: AppStyle.txtGilroySemiBold24.copyWith(
color: ColorConstant.blueGray900,
),
),
),
);
}
}
+56
View File
@@ -0,0 +1,56 @@
import 'package:flutter/material.dart';
import '../../Utils/size_utils.dart';
// ignore: must_be_immutable
class CustomAppBar extends StatelessWidget implements PreferredSizeWidget{
CustomAppBar(
{required this.height,
this.leadingWidth,
this.leading,
this.title,
this.bottom,
this.flexibleSpace,
this.centerTitle,
this.actions});
double height;
double? leadingWidth;
Widget? leading;
Widget? title;
PreferredSize? flexibleSpace;
TabBar? bottom;
bool? centerTitle;
List<Widget>? actions;
@override
Widget build(BuildContext context) {
return AppBar(
elevation: 0,
toolbarHeight: height,
automaticallyImplyLeading: false,
backgroundColor: Colors.transparent,
leadingWidth: leadingWidth ?? 0,
leading: leading,
title: title,
bottom: bottom,
flexibleSpace: flexibleSpace,
titleSpacing: 0,
centerTitle: centerTitle ?? false,
actions: actions,
);
}
@override
Size get preferredSize => Size(
size.width,
height,
);
}