fix: change position table
This commit is contained in:
parent
2eceb0bc0c
commit
94725964ea
@ -131,4 +131,40 @@ class TableRemoteDataSource {
|
|||||||
return const Left('Unexpected error occurred');
|
return const Left('Unexpected error occurred');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<Either<String, bool>> transferTable({
|
||||||
|
required String fromTableId,
|
||||||
|
required String toTableId,
|
||||||
|
}) async {
|
||||||
|
try {
|
||||||
|
final authData = await AuthLocalDataSource().getAuthData();
|
||||||
|
final url = '${Variables.baseUrl}/api/v1/tables/transfer';
|
||||||
|
|
||||||
|
final response = await dio.put(
|
||||||
|
url,
|
||||||
|
data: {
|
||||||
|
"from_table": fromTableId,
|
||||||
|
"to_table": toTableId,
|
||||||
|
},
|
||||||
|
options: Options(
|
||||||
|
headers: {
|
||||||
|
'Authorization': 'Bearer ${authData.token}',
|
||||||
|
'Accept': 'application/json',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.statusCode == 200 || response.statusCode == 201) {
|
||||||
|
return Right(true);
|
||||||
|
} else {
|
||||||
|
return const Left('Failed to create table');
|
||||||
|
}
|
||||||
|
} on DioException catch (e) {
|
||||||
|
log("Dio error: ${e.message}");
|
||||||
|
return Left(e.response?.data['message'] ?? 'Gagal membuat table');
|
||||||
|
} catch (e) {
|
||||||
|
log("Unexpected error: $e");
|
||||||
|
return const Left('Unexpected error occurred');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,6 +43,7 @@ class _TablePageState extends State<TablePage> {
|
|||||||
|
|
||||||
// Ubah function toggleSelectTable menjadi selectTable
|
// Ubah function toggleSelectTable menjadi selectTable
|
||||||
void selectTable(TableModel table) {
|
void selectTable(TableModel table) {
|
||||||
|
if (table.status == 'occupied') return;
|
||||||
setState(() {
|
setState(() {
|
||||||
if (selectedTable == table) {
|
if (selectedTable == table) {
|
||||||
selectedTable = null; // Deselect jika table yang sama diklik
|
selectedTable = null; // Deselect jika table yang sama diklik
|
||||||
@ -115,6 +116,7 @@ class _TablePageState extends State<TablePage> {
|
|||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
return state.maybeWhen(
|
return state.maybeWhen(
|
||||||
orElse: () => SizedBox.shrink(),
|
orElse: () => SizedBox.shrink(),
|
||||||
|
loading: () => const Center(child: CircularProgressIndicator()),
|
||||||
success: (tables) => SafeArea(
|
success: (tables) => SafeArea(
|
||||||
child: Stack(
|
child: Stack(
|
||||||
children: [
|
children: [
|
||||||
@ -207,15 +209,17 @@ class _TablePageState extends State<TablePage> {
|
|||||||
local.dx.clamp(0, mapWidth - 120);
|
local.dx.clamp(0, mapWidth - 120);
|
||||||
table.positionY =
|
table.positionY =
|
||||||
local.dy.clamp(0, mapHeight - 80);
|
local.dy.clamp(0, mapHeight - 80);
|
||||||
|
|
||||||
context
|
|
||||||
.read<ChangePositionTableBloc>()
|
|
||||||
.add(ChangePositionTableEvent
|
|
||||||
.changePositionTable(
|
|
||||||
tableId: table.id ?? "",
|
|
||||||
position: details.offset,
|
|
||||||
));
|
|
||||||
});
|
});
|
||||||
|
context
|
||||||
|
.read<ChangePositionTableBloc>()
|
||||||
|
.add(ChangePositionTableEvent
|
||||||
|
.changePositionTable(
|
||||||
|
tableId: table.id ?? "",
|
||||||
|
position: Offset(
|
||||||
|
table.positionX ?? 0.0,
|
||||||
|
table.positionY ?? 0.0,
|
||||||
|
),
|
||||||
|
));
|
||||||
},
|
},
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () => selectTable(table),
|
onTap: () => selectTable(table),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user