1 - multi module in Auth select save selected module
 2 - add flutter gen for assets builder
This commit is contained in:
2025-05-19 16:16:33 +03:30
parent 982329a3eb
commit 905e407ccd
46 changed files with 1431 additions and 407 deletions

View File

@@ -3,7 +3,6 @@ import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:rasadyar_core/core.dart';
import 'package:rasadyar_core/presentation/widget/buttons/elevated.dart';
import 'logic.dart';
@@ -113,7 +112,7 @@ class ActionPage extends GetView<ActionLogic> {
children: [
Container(
height: 32,
margin: EdgeInsets.symmetric(horizontal: 22,vertical: 10),
margin: EdgeInsets.symmetric(horizontal: 22, vertical: 10),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
@@ -161,13 +160,13 @@ class ActionPage extends GetView<ActionLogic> {
mainAxisAlignment: MainAxisAlignment.end,
children: [
vecWidgetWithOnTap(
assets: Assets.vecPdfDownloadSvg,
child: Assets.vec.pdfDownloadSvg.svg(),
onTap: () {},
width: 64,
height: 64,
),
vecWidgetWithOnTap(
assets: Assets.vecExcelDownloadSvg,
child: Assets.vec.excelDownloadSvg.svg(),
onTap: () {},
width: 64,
height: 64,
@@ -220,7 +219,7 @@ class ActionPage extends GetView<ActionLogic> {
}
Widget headerWidget({
required String icon,
required Widget icon,
required String title,
required VoidCallback onTap,
bool isSelected = false,
@@ -240,12 +239,7 @@ class ActionPage extends GetView<ActionLogic> {
borderRadius: BorderRadius.circular(8),
),
),
child: vecWidget(
icon,
width: 40,
height: 40,
color: AppColor.blueNormal,
),
child: icon,
),
Text(
title,
@@ -279,7 +273,10 @@ class ActionPage extends GetView<ActionLogic> {
padding: EdgeInsets.all(16),
borderRadius: BorderRadius.circular(8),
autoClose: true,
child: vecWidget(Assets.vecTrashSvg, width: 24, height: 24),
child: Assets.vec.trashSvg.svg(
width: 24,
height: 24,
),
),
],
),
@@ -372,7 +369,10 @@ class ActionPage extends GetView<ActionLogic> {
bottomRight: Radius.circular(8),
),
autoClose: true,
child: vecWidget(Assets.vecEditSvg, width: 24, height: 24),
child: Assets.vec.trashSvg.svg(
width: 24,
height: 24,
),
),
CustomSlidableAction(
onPressed: (context) {},
@@ -384,7 +384,10 @@ class ActionPage extends GetView<ActionLogic> {
bottomLeft: Radius.circular(8),
),
autoClose: true,
child: vecWidget(Assets.vecTrashSvg, width: 24, height: 24),
child: Assets.vec.trashSvg.svg(
width: 24,
height: 24,
),
),
],
),
@@ -492,7 +495,7 @@ class ActionPage extends GetView<ActionLogic> {
spacing: 12,
children: [
vecWidgetWithOnTap(
assets: Assets.vecEditSvg,
child: Assets.vec.editSvg.svg(),
onTap: () {},
width: 24,
height: 24,
@@ -506,7 +509,7 @@ class ActionPage extends GetView<ActionLogic> {
),
),
vecWidgetWithOnTap(
assets: Assets.vecTrashSvg,
child: Assets.vec.trashSvg.svg(),
width: 24,
height: 24,
color: AppColor.redNormal,
@@ -649,7 +652,7 @@ class ActionPage extends GetView<ActionLogic> {
children: [
Row(),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 22,vertical: 10),
padding: const EdgeInsets.symmetric(horizontal: 22, vertical: 10),
child: Text(
title,
textAlign: TextAlign.center,

View File

@@ -14,11 +14,13 @@ class AddMobileInspectorPage extends GetView<AddMobileInspectorLogic> {
backgroundColor: AppColor.bgLight,
appBar: RAppBar(
title: 'افزودن بازرس همراه',
leading: vecWidget(
Assets.vecMessageAddSvg,
color: Colors.white,
leading: Assets.vec.messageAddSvg.svg(
width: 16,
height: 16,
colorFilter: ColorFilter.mode(
Colors.white,
BlendMode.srcIn,
),
),
additionalActions: [
RFab.smallAdd(onPressed: () => controller.countInspector.value++),

View File

@@ -13,11 +13,13 @@ class AddSupervisionPage extends GetView<AddSupervisionLogic> {
backgroundColor: AppColor.lightGreyLight,
appBar: RAppBar(
title: 'ایجاد بازرسی',
leading: vecWidget(
Assets.vecMessageAddSvg,
color: Colors.white,
leading: Assets.vec.messageAddSvg.svg(
width: 16,
height: 16,
colorFilter: ColorFilter.mode(
Colors.white,
BlendMode.srcIn,
),
),
),
body: Column(

View File

@@ -12,11 +12,13 @@ class DisplayInformationPage extends GetView<DisplayInformationLogic> {
backgroundColor: AppColor.bgLight,
appBar: RAppBar(
title: 'نمایش اطلاعات',
leading: vecWidget(
Assets.vecMessageAddSvg,
color: AppColor.blueNormal,
leading: Assets.vec.messageAddSvg.svg(
width: 16,
height: 16,
colorFilter: ColorFilter.mode(
AppColor.blueNormal,
BlendMode.srcIn,
),
),
),

View File

@@ -74,7 +74,7 @@ class SupervisionFilterPage extends GetView<InspectorFilterLogic> {
return RFab.small(
backgroundColor: AppColor.greenNormal,
isLoading: data.value,
icon: vecWidget(Assets.vecGpsSvg),
icon: Assets.vec.gpsSvg.svg(),
onPressed: () async {
controller.isLoading.value = true;
await controller.determineCurrentPosition();
@@ -91,7 +91,7 @@ class SupervisionFilterPage extends GetView<InspectorFilterLogic> {
bottom: 30,
child: RFab.small(
backgroundColor: AppColor.blueNormal,
icon: vecWidget(Assets.vecFilterSvg, width: 24, height: 24),
icon: Assets.vec.filterSvg.svg(width: 24,height: 24),
onPressed: () => controller.filterBottomSheetController.toggle(),
),
);
@@ -107,7 +107,10 @@ Marker markerWidget({required LatLng marker, required VoidCallback onTap}) {
child: SizedBox(
width: 36,
height: 36,
child: vecWidget(Assets.vecMapMarkerSvg,width: 30,height: 30,),
child:Assets.vec.mapMarkerSvg.svg(
width: 30,
height: 30,
)
),
),
);
@@ -318,7 +321,7 @@ Widget markerDetailsWidget() {
),
Spacer(),
vecWidgetWithOnTap(
assets: Assets.vecMapSvg,
child: Assets.vec.mapSvg.svg(),
onTap: () {
Get.toNamed(InspectionRoutes.inspectionLocationDetails);
},
@@ -327,7 +330,7 @@ Widget markerDetailsWidget() {
color: AppColor.blueNormal,
),
vecWidgetWithOnTap(
assets: Assets.vecMessageAddSvg,
child: Assets.vec.messageAddSvg.svg(),
width: 24,
height: 24,
color: AppColor.greenNormal,
@@ -337,7 +340,7 @@ Widget markerDetailsWidget() {
),
vecWidgetWithOnTap(
assets: Assets.vecSecurityTimeSvg,
child: Assets.vec.securityTimeSvg.svg(),
color: AppColor.warning,
height: 24,
width: 24,
@@ -531,7 +534,7 @@ Widget selectedLocationWidget({
bottomRight: Radius.circular(8),
topRight: Radius.circular(8),
),
child: vecWidget(Assets.vecMapSvg, width: 24, height: 24),
child: Assets.vec.mapSvg.svg( width: 24, height: 24),
),
CustomSlidableAction(
onPressed: (context) {
@@ -539,7 +542,7 @@ Widget selectedLocationWidget({
},
backgroundColor: AppColor.greenNormal,
padding: EdgeInsets.all(16),
child: vecWidget(Assets.vecMessageAddSvg),
child: Assets.vec.messageAddSvg.svg(),
),
CustomSlidableAction(
onPressed: (context) {},
@@ -549,8 +552,8 @@ Widget selectedLocationWidget({
bottomLeft: Radius.circular(8),
topLeft: Radius.circular(8),
),
child: vecWidget(Assets.vecSecurityTimeSvg),
),
child: Assets.vec.securityTimeSvg.svg()),
],
),
child: GestureDetector(
@@ -598,7 +601,7 @@ Widget selectedLocationWidget({
),
],
),
vecWidget(Assets.vecScanBarcodeSvg),
Assets.vec.scanBarcodeSvg.svg(),
],
),
),

View File

@@ -18,8 +18,7 @@ class ProfilePage extends GetView<ProfileLogic> {
alignment: Alignment.center,
clipBehavior: Clip.none,
children: [
vecWidget(Assets.vecBgHeaderUserProfileSvg, fit: BoxFit.cover),
Assets.vec.bgHeaderUserProfileSvg.svg(),
Positioned(
bottom: -20,
left: 0,
@@ -105,7 +104,7 @@ class ProfilePage extends GetView<ProfileLogic> {
onPressed: () {
data.value = 0;
},
icon: Assets.vecProfileUserSvg,
icon: Assets.vec.profileUserSvg.path,
selected: data.value == 0,
),
cardActionWidget(
@@ -113,7 +112,7 @@ class ProfilePage extends GetView<ProfileLogic> {
onPressed: () {
data.value = 1;
},
icon: Assets.vecInformationSvg,
icon: Assets.vec.informationSvg.path,
selected: data.value == 1,
),
cardActionWidget(
@@ -121,7 +120,7 @@ class ProfilePage extends GetView<ProfileLogic> {
onPressed: () {
data.value = 2;
},
icon: Assets.vecReceiptDiscountSvg,
icon: Assets.vec.receiptDiscountSvg.path,
selected: data.value == 2,
),
],
@@ -129,9 +128,7 @@ class ProfilePage extends GetView<ProfileLogic> {
);
}, controller.selectedInformationType),
SizedBox(
height: 100,
)
SizedBox(height: 100),
],
),
),
@@ -159,34 +156,38 @@ class ProfilePage extends GetView<ProfileLogic> {
itemList(
title: 'نام و نام خانوادگی',
content: 'آیدا گل محمدی',
icon: Assets.vecUserSvg,
icon: Assets.vec.userSvg.path,
),
itemList(
title: 'موبایل',
content: '09302654896',
icon: Assets.vecCallSvg,
icon: Assets.vec.callSvg.path,
),
itemList(
title: 'کدملی',
content: 'نا مشخص',
icon: Assets.vecTagUserSvg,
icon: Assets.vec.tagUserSvg.path,
),
itemList(
title: 'شماره شناسنامه',
content: 'نا مشخص',
icon: Assets.vecUserSquareSvg,
icon: Assets.vec.userSquareSvg.path,
),
itemList(
title: 'تاریخ تولد',
content: '1404/10/12',
icon: Assets.vecCalendarSvg,
icon: Assets.vec.calendarSvg.path,
),
itemList(
title: 'استان',
content: 'لرستان',
icon: Assets.vecPictureFrameSvg,
icon: Assets.vec.pictureFrameSvg.path,
),
itemList(
title: 'شهر',
content: 'خرم آباد',
icon: Assets.vec.mapSvg.path,
),
itemList(title: 'شهر', content: 'خرم آباد', icon: Assets.vecMapSvg),
],
);
}
@@ -201,11 +202,10 @@ class ProfilePage extends GetView<ProfileLogic> {
if (icon != null)
Padding(
padding: const EdgeInsets.only(left: 8.0),
child: vecWidget(
icon,
child: SvgGenImage.vec(icon).svg(
width: 20,
height: 20,
color: AppColor.blueNormal,
colorFilter: ColorFilter.mode(AppColor.blueNormal, BlendMode.srcIn),
),
),
Text(title, style: AppFonts.yekan12.copyWith(color: AppColor.blueNormal)),
@@ -238,11 +238,13 @@ class ProfilePage extends GetView<ProfileLogic> {
borderRadius: BorderRadius.circular(8),
),
),
child: vecWidget(
icon,
child: SvgGenImage.vec(icon).svg(
width: 40,
height: 40,
color: selected ? AppColor.blueNormalActive : AppColor.blueNormal,
colorFilter: ColorFilter.mode(
selected ? AppColor.whiteLight : AppColor.blueNormal,
BlendMode.srcIn,
),
),
),
SizedBox(height: 2),

View File

@@ -15,11 +15,13 @@ class RegistrationOfViolationPage
backgroundColor: AppColor.bgLight,
appBar: RAppBar(
title: 'ثبت تخلف',
leading: vecWidget(
Assets.vecMessageAddSvg,
color: Colors.white,
leading: Assets.vec.messageAddSvg.svg(
width: 16,
height: 16,
colorFilter: ColorFilter.mode(
Colors.white,
BlendMode.srcIn,
),
),
additionalActions: [
RFab.smallAdd(onPressed: () => controller.countViolation.value++),

View File

@@ -116,30 +116,54 @@ class RootPage extends GetView<RootLogic> {
),
bottomNavigationBar: WaveBottomNavigation(
items: [
WaveBottomNavigationItem(title: 'خانه', icon: Assets.vecMapSvg),
WaveBottomNavigationItem(title: 'خانه', icon: Assets.vec.mapSvg.svg(
width: 32,
height: 32,
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn),
)),
WaveBottomNavigationItem(
title: 'عملیات',
icon: Assets.vecUserSvg,
icon: Assets.vec.userSvg.svg(
width: 32,
height: 32,
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn),
),
),
WaveBottomNavigationItem(
title: 'افزودن',
icon: Assets.vecAddSvg,
icon: Assets.vec.addSvg.svg(
width: 32,
height: 32,
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn),
),
),
WaveBottomNavigationItem(
title: 'آمار',
icon: Assets.vecDiagramSvg,
icon: Assets.vec.diagramSvg.svg(width: 32,height: 32,colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn),),
),
WaveBottomNavigationItem(
title: 'تماس',
icon: Assets.vecCallSvg,
icon: Assets.vec.callSvg.svg(
width: 32,
height: 32,
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn),
),
),
WaveBottomNavigationItem(
title: 'مکان ',
icon: Assets.vecGpsSvg,
icon: Assets.vec.gpsSvg.svg(
width: 32,
height: 32,
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn),
),
),
WaveBottomNavigationItem(
title: 'تاریخ',
icon: Assets.vecCalendarSvg,
icon: Assets.vec.calendarSvg.svg(
width: 32,
height: 32,
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn),
),
),
],
onPageChanged: (index) {