feat : sale in provence

This commit is contained in:
2025-07-07 16:07:52 +03:30
parent eede1f4b29
commit 93ec5774c8
23 changed files with 529 additions and 713 deletions

View File

@@ -1,6 +1,7 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:rasadyar_core/core.dart';
import 'package:rasadyar_core/data/model/pagination_model/pagination_model.dart';
enum ListType { builder, separated }
@@ -24,7 +25,7 @@ class RPaginatedListView<T> extends StatelessWidget {
this.physics = const BouncingScrollPhysics(),
});
final Resource<List<T>> resource;
final Resource<PaginationModel<T>> resource;
final NullableIndexedWidgetBuilder itemBuilder;
final IndexedWidgetBuilder? separatorBuilder;
final Future<void> Function()? onRefresh;
@@ -54,7 +55,7 @@ class RPaginatedListView<T> extends StatelessWidget {
return errorWidget ?? Center(child: Text(resource.message ?? 'خطا'));
}
if (resource.isEmpty || resource.data?.isEmpty == true) {
if (resource.isEmpty || resource.data?.results?.isEmpty == true) {
return emptyWidget ?? const EmptyWidget();
}
@@ -80,9 +81,12 @@ class RPaginatedListView<T> extends StatelessWidget {
itemCount: itemCount + (isPaginating ? 1 : 0),
itemBuilder: (context, index) {
if (isPaginating && index == itemCount) {
return const Padding(
padding: EdgeInsets.all(16),
child: Center(child: CupertinoActivityIndicator()),
return SizedBox(
height: 50,
child: const Padding(
padding: EdgeInsets.all(16),
child: Center(child: CupertinoActivityIndicator()),
),
);
}
return itemBuilder(context, index);
@@ -96,9 +100,12 @@ class RPaginatedListView<T> extends StatelessWidget {
itemCount: itemCount + (isPaginating ? 1 : 0),
itemBuilder: (context, index) {
if (isPaginating && index == itemCount) {
return const Padding(
padding: EdgeInsets.all(16),
child: Center(child: CupertinoActivityIndicator()),
return SizedBox(
height: 50,
child: const Padding(
padding: EdgeInsets.all(16),
child: Center(child: CupertinoActivityIndicator()),
),
);
}
return itemBuilder(context, index);