2025-08-04 13:15:03 +07:00

54 lines
1.7 KiB
Dart

import 'package:enaklo_pos/core/components/custom_modal_dialog.dart';
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
import 'package:enaklo_pos/presentation/home/bloc/outlet_loader/outlet_loader_bloc.dart';
import 'package:enaklo_pos/presentation/home/widgets/outlet_card.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class OutletDialog extends StatefulWidget {
const OutletDialog({super.key});
@override
State<OutletDialog> createState() => _OutletDialogState();
}
class _OutletDialogState extends State<OutletDialog> {
@override
void initState() {
super.initState();
context.read<OutletLoaderBloc>().add(OutletLoaderEvent.getOutlet());
}
@override
Widget build(BuildContext context) {
return CustomModalDialog(
title: 'Outlet',
subtitle: 'Silahkan pilih outlet',
minWidth: context.deviceWidth * 0.4,
contentPadding:
const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0),
child: BlocBuilder<OutletLoaderBloc, OutletLoaderState>(
builder: (context, state) {
return state.maybeWhen(
orElse: () => Center(
child: Text('Error has occured'),
),
loading: () => Center(child: CircularProgressIndicator()),
error: (message) => Center(
child: Text(message),
),
loaded: (outlets) => Column(
children: List.generate(
outlets.length,
(index) => OutletCard(
outlet: outlets[index],
),
),
),
);
},
),
);
}
}