feat: sales page

This commit is contained in:
efrilm
2025-08-02 10:50:48 +07:00
parent e825e5daed
commit 45b348684e
17 changed files with 1371 additions and 138 deletions
@@ -1,4 +1,3 @@
import 'package:bloc/bloc.dart';
import 'package:enaklo_pos/data/datasources/product_local_datasource.dart';
import 'package:enaklo_pos/presentation/home/models/order_model.dart';
@@ -12,9 +11,14 @@ class DaySalesBloc extends Bloc<DaySalesEvent, DaySalesState> {
final ProductLocalDatasource datasource;
DaySalesBloc(this.datasource) : super(const _Initial()) {
on<_GetDaySales>((event, emit) async {
emit(const _Loading());
final result = await datasource.getAllOrder(event.date);
emit(_Loaded(result));
});
on<_GetRangeDateSales>((event, emit) async {
emit(const _Loading());
final result =
await datasource.getAllOrder(event.date);
await datasource.getAllOrderByRange(event.startDate, event.endDate);
emit(_Loaded(result));
});
}
@@ -20,18 +20,22 @@ mixin _$DaySalesEvent {
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(DateTime date) getDaySales,
required TResult Function(DateTime startDate, DateTime endDate)
getRangeDateSales,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(DateTime date)? getDaySales,
TResult? Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(DateTime date)? getDaySales,
TResult Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@@ -39,18 +43,21 @@ mixin _$DaySalesEvent {
TResult map<TResult extends Object?>({
required TResult Function(_Started value) started,
required TResult Function(_GetDaySales value) getDaySales,
required TResult Function(_GetRangeDateSales value) getRangeDateSales,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
TResult? Function(_Started value)? started,
TResult? Function(_GetDaySales value)? getDaySales,
TResult? Function(_GetRangeDateSales value)? getRangeDateSales,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
TResult Function(_Started value)? started,
TResult Function(_GetDaySales value)? getDaySales,
TResult Function(_GetRangeDateSales value)? getRangeDateSales,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@@ -120,6 +127,8 @@ class _$StartedImpl implements _Started {
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(DateTime date) getDaySales,
required TResult Function(DateTime startDate, DateTime endDate)
getRangeDateSales,
}) {
return started();
}
@@ -129,6 +138,7 @@ class _$StartedImpl implements _Started {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(DateTime date)? getDaySales,
TResult? Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
}) {
return started?.call();
}
@@ -138,6 +148,7 @@ class _$StartedImpl implements _Started {
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(DateTime date)? getDaySales,
TResult Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
required TResult orElse(),
}) {
if (started != null) {
@@ -151,6 +162,7 @@ class _$StartedImpl implements _Started {
TResult map<TResult extends Object?>({
required TResult Function(_Started value) started,
required TResult Function(_GetDaySales value) getDaySales,
required TResult Function(_GetRangeDateSales value) getRangeDateSales,
}) {
return started(this);
}
@@ -160,6 +172,7 @@ class _$StartedImpl implements _Started {
TResult? mapOrNull<TResult extends Object?>({
TResult? Function(_Started value)? started,
TResult? Function(_GetDaySales value)? getDaySales,
TResult? Function(_GetRangeDateSales value)? getRangeDateSales,
}) {
return started?.call(this);
}
@@ -169,6 +182,7 @@ class _$StartedImpl implements _Started {
TResult maybeMap<TResult extends Object?>({
TResult Function(_Started value)? started,
TResult Function(_GetDaySales value)? getDaySales,
TResult Function(_GetRangeDateSales value)? getRangeDateSales,
required TResult orElse(),
}) {
if (started != null) {
@@ -252,6 +266,8 @@ class _$GetDaySalesImpl implements _GetDaySales {
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(DateTime date) getDaySales,
required TResult Function(DateTime startDate, DateTime endDate)
getRangeDateSales,
}) {
return getDaySales(date);
}
@@ -261,6 +277,7 @@ class _$GetDaySalesImpl implements _GetDaySales {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(DateTime date)? getDaySales,
TResult? Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
}) {
return getDaySales?.call(date);
}
@@ -270,6 +287,7 @@ class _$GetDaySalesImpl implements _GetDaySales {
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(DateTime date)? getDaySales,
TResult Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
required TResult orElse(),
}) {
if (getDaySales != null) {
@@ -283,6 +301,7 @@ class _$GetDaySalesImpl implements _GetDaySales {
TResult map<TResult extends Object?>({
required TResult Function(_Started value) started,
required TResult Function(_GetDaySales value) getDaySales,
required TResult Function(_GetRangeDateSales value) getRangeDateSales,
}) {
return getDaySales(this);
}
@@ -292,6 +311,7 @@ class _$GetDaySalesImpl implements _GetDaySales {
TResult? mapOrNull<TResult extends Object?>({
TResult? Function(_Started value)? started,
TResult? Function(_GetDaySales value)? getDaySales,
TResult? Function(_GetRangeDateSales value)? getRangeDateSales,
}) {
return getDaySales?.call(this);
}
@@ -301,6 +321,7 @@ class _$GetDaySalesImpl implements _GetDaySales {
TResult maybeMap<TResult extends Object?>({
TResult Function(_Started value)? started,
TResult Function(_GetDaySales value)? getDaySales,
TResult Function(_GetRangeDateSales value)? getRangeDateSales,
required TResult orElse(),
}) {
if (getDaySales != null) {
@@ -322,6 +343,166 @@ abstract class _GetDaySales implements DaySalesEvent {
throw _privateConstructorUsedError;
}
/// @nodoc
abstract class _$$GetRangeDateSalesImplCopyWith<$Res> {
factory _$$GetRangeDateSalesImplCopyWith(_$GetRangeDateSalesImpl value,
$Res Function(_$GetRangeDateSalesImpl) then) =
__$$GetRangeDateSalesImplCopyWithImpl<$Res>;
@useResult
$Res call({DateTime startDate, DateTime endDate});
}
/// @nodoc
class __$$GetRangeDateSalesImplCopyWithImpl<$Res>
extends _$DaySalesEventCopyWithImpl<$Res, _$GetRangeDateSalesImpl>
implements _$$GetRangeDateSalesImplCopyWith<$Res> {
__$$GetRangeDateSalesImplCopyWithImpl(_$GetRangeDateSalesImpl _value,
$Res Function(_$GetRangeDateSalesImpl) _then)
: super(_value, _then);
/// Create a copy of DaySalesEvent
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? startDate = null,
Object? endDate = null,
}) {
return _then(_$GetRangeDateSalesImpl(
null == startDate
? _value.startDate
: startDate // ignore: cast_nullable_to_non_nullable
as DateTime,
null == endDate
? _value.endDate
: endDate // ignore: cast_nullable_to_non_nullable
as DateTime,
));
}
}
/// @nodoc
class _$GetRangeDateSalesImpl implements _GetRangeDateSales {
const _$GetRangeDateSalesImpl(this.startDate, this.endDate);
@override
final DateTime startDate;
@override
final DateTime endDate;
@override
String toString() {
return 'DaySalesEvent.getRangeDateSales(startDate: $startDate, endDate: $endDate)';
}
@override
bool operator ==(Object other) {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$GetRangeDateSalesImpl &&
(identical(other.startDate, startDate) ||
other.startDate == startDate) &&
(identical(other.endDate, endDate) || other.endDate == endDate));
}
@override
int get hashCode => Object.hash(runtimeType, startDate, endDate);
/// Create a copy of DaySalesEvent
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@override
@pragma('vm:prefer-inline')
_$$GetRangeDateSalesImplCopyWith<_$GetRangeDateSalesImpl> get copyWith =>
__$$GetRangeDateSalesImplCopyWithImpl<_$GetRangeDateSalesImpl>(
this, _$identity);
@override
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(DateTime date) getDaySales,
required TResult Function(DateTime startDate, DateTime endDate)
getRangeDateSales,
}) {
return getRangeDateSales(startDate, endDate);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(DateTime date)? getDaySales,
TResult? Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
}) {
return getRangeDateSales?.call(startDate, endDate);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(DateTime date)? getDaySales,
TResult Function(DateTime startDate, DateTime endDate)? getRangeDateSales,
required TResult orElse(),
}) {
if (getRangeDateSales != null) {
return getRangeDateSales(startDate, endDate);
}
return orElse();
}
@override
@optionalTypeArgs
TResult map<TResult extends Object?>({
required TResult Function(_Started value) started,
required TResult Function(_GetDaySales value) getDaySales,
required TResult Function(_GetRangeDateSales value) getRangeDateSales,
}) {
return getRangeDateSales(this);
}
@override
@optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
TResult? Function(_Started value)? started,
TResult? Function(_GetDaySales value)? getDaySales,
TResult? Function(_GetRangeDateSales value)? getRangeDateSales,
}) {
return getRangeDateSales?.call(this);
}
@override
@optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
TResult Function(_Started value)? started,
TResult Function(_GetDaySales value)? getDaySales,
TResult Function(_GetRangeDateSales value)? getRangeDateSales,
required TResult orElse(),
}) {
if (getRangeDateSales != null) {
return getRangeDateSales(this);
}
return orElse();
}
}
abstract class _GetRangeDateSales implements DaySalesEvent {
const factory _GetRangeDateSales(
final DateTime startDate, final DateTime endDate) =
_$GetRangeDateSalesImpl;
DateTime get startDate;
DateTime get endDate;
/// Create a copy of DaySalesEvent
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
_$$GetRangeDateSalesImplCopyWith<_$GetRangeDateSalesImpl> get copyWith =>
throw _privateConstructorUsedError;
}
/// @nodoc
mixin _$DaySalesState {
@optionalTypeArgs
@@ -6,4 +6,8 @@ class DaySalesEvent with _$DaySalesEvent {
const factory DaySalesEvent.getDaySales(
DateTime date,
) = _GetDaySales;
const factory DaySalesEvent.getRangeDateSales(
DateTime startDate,
DateTime endDate,
) = _GetRangeDateSales;
}