feat : request tagging

This commit is contained in:
2025-08-05 14:48:47 +03:30
parent 7b8cfb5ae9
commit 59e6d621cf
19 changed files with 318 additions and 66 deletions

View File

@@ -11,6 +11,7 @@ class ExpandableListItem2 extends StatelessWidget {
required this.labelIcon,
required this.onTap,
required this.selected,
this.isTag = false,
this.labelIconColor = AppColor.mediumGreyDarkHover,
});
@@ -22,6 +23,7 @@ class ExpandableListItem2 extends StatelessWidget {
final Color? labelIconColor;
final VoidCallback onTap;
final bool selected;
final bool isTag;
@override
Widget build(BuildContext context) {
@@ -92,21 +94,40 @@ class ExpandableListItem2 extends StatelessWidget {
Positioned(
right: -12,
child: Container(
width: index < 999 ? 24 : null,
height: index < 999 ? 24 : null,
padding: EdgeInsets.all(2),
decoration: BoxDecoration(
color: AppColor.greenLightHover,
borderRadius: BorderRadius.circular(4),
border: Border.all(width: 0.50, color: AppColor.greenDarkActive),
),
alignment: Alignment.center,
child: Text(
(index + 1).toString(),
style: AppFonts.yekan12.copyWith(color: Colors.black),
),
),
child: isTag
? Container(
width: index < 999 ? 24 : 34,
height: index < 999 ? 34 : 34,
alignment: Alignment.center,
child: Stack(
alignment: Alignment.center,
children: [
Assets.vec.tagLabelSvg.svg(),
Positioned(
top: 15,
child: Text(
(index + 1).toString(),
style: AppFonts.yekan10.copyWith(color: Colors.black),
),
)
],
),
)
: Container(
width: index < 999 ? 24 : null,
height: index < 999 ? 24 : null,
padding: EdgeInsets.all(2),
decoration: BoxDecoration(
color: AppColor.greenLightHover,
borderRadius: BorderRadius.circular(4),
border: Border.all(width: 0.50, color: AppColor.greenDarkActive),
),
alignment: Alignment.center,
child: Text(
(index + 1).toString(),
style: AppFonts.yekan12.copyWith(color: Colors.black),
),
),
),
],
),

View File

@@ -1,3 +1,4 @@
export 'r_shimmer_list.dart';
export 'r_paginated_list_view.dart';
export 'r_list_view.dart';

View File

@@ -1,12 +1,11 @@
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:rasadyar_core/presentation/widget/list_view/r_paginated_list_view.dart';
import 'package:rasadyar_core/utils/network/resource.dart';
import 'r_shimmer_list.dart';
enum ListType { builder, separated }
class RListView<T> extends StatelessWidget {
final ListType type;
final Axis scrollDirection;
@@ -68,7 +67,7 @@ class RListView<T> extends StatelessWidget {
this.addAutomaticKeepAlives = true,
this.addRepaintBoundaries = true,
this.addSemanticIndexes = true,
this.loadingWidget = const RShimmerList(isSeparated: true),
this.loadingWidget = const RShimmerList(isSeparated: true),
this.emptyWidget = const Center(child: Text("هیچ آیتمی یافت نشد")),
this.errorWidget = const Center(child: CircularProgressIndicator()),
required this.resource,