Skip to content

Commit

Permalink
Remove POST request if pdf not changed (#431)
Browse files Browse the repository at this point in the history
  • Loading branch information
Foukki authored Sep 19, 2024
1 parent 0444aa5 commit 7ef0e3c
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 12 deletions.
13 changes: 13 additions & 0 deletions lib/ph/providers/edit_pdf_provider.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';

class EditPdfNotifier extends StateNotifier<bool> {
EditPdfNotifier() : super(false);

void editPdf(bool a) {
state = a;
}
}

final editPdfProvider = StateNotifierProvider<EditPdfNotifier, bool>((ref) {
return EditPdfNotifier();
});
5 changes: 5 additions & 0 deletions lib/ph/ui/pages/file_picker/pdf_picker.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:myecl/ph/providers/edit_pdf_provider.dart';
import 'package:myecl/ph/providers/file_picker_result_provider.dart';
import 'package:myecl/ph/providers/ph_send_pdf_provider.dart';
import 'package:myecl/ph/tools/constants.dart';
Expand All @@ -20,6 +21,7 @@ class PdfPicker extends HookConsumerWidget {
final phSendPdfNotifier = ref.watch(phSendPdfProvider.notifier);
final resultNotifier = ref.watch(filePickerResultProvider.notifier);
final result = ref.watch(filePickerResultProvider);
final editPdfNotifier = ref.watch(editPdfProvider.notifier);
void displayToastWithContext(TypeMsg type, String msg) {
displayToast(context, type, msg);
}
Expand Down Expand Up @@ -50,6 +52,9 @@ class PdfPicker extends HookConsumerWidget {
);
}
}
if (isEdit) {
editPdfNotifier.editPdf(true);
}
},
child: MyButton(
text: isEdit
Expand Down
31 changes: 19 additions & 12 deletions lib/ph/ui/pages/form_page/add_edit_ph_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import 'package:myecl/ph/providers/ph_list_provider.dart';
import 'package:myecl/ph/providers/ph_pdf_provider.dart';
import 'package:myecl/ph/providers/ph_send_pdf_provider.dart';
import 'package:myecl/ph/providers/ph_provider.dart';
import 'package:myecl/ph/providers/edit_pdf_provider.dart';
import 'package:myecl/ph/tools/constants.dart';
import 'package:myecl/ph/tools/functions.dart';
import 'package:myecl/ph/ui/pages/file_picker/pdf_picker.dart';
Expand All @@ -34,6 +35,8 @@ class PhAddEditPhPage extends HookConsumerWidget {

final phListNotifier = ref.watch(phListProvider.notifier);
final phSendPdf = ref.watch(phSendPdfProvider);
final editPdfNotifier = ref.watch(editPdfProvider.notifier);
final editPdf = ref.watch(editPdfProvider);

void displayPhToastWithContext(TypeMsg type, String msg) {
displayToast(context, type, msg);
Expand Down Expand Up @@ -115,24 +118,28 @@ class PhAddEditPhPage extends HookConsumerWidget {
.invokeMethod('TextInput.hide');
QR.back();
{
if (editPdf) {
phList.maybeWhen(
data: (list) {
ref
.read(
phPdfProvider(list.last.id)
.notifier,
)
.updatePhPdf(
Uint8List.fromList(phSendPdf),
);
},
orElse: () {},
);
}
displayPhToastWithContext(
TypeMsg.msg,
isEdit
? PhTextConstants.edited
: PhTextConstants.added,
);
phList.maybeWhen(
data: (list) {
ref
.read(
phPdfProvider(list.last.id).notifier,
)
.updatePhPdf(
Uint8List.fromList(phSendPdf),
);
},
orElse: () {},
);
editPdfNotifier.editPdf(false);
}
} else {
displayPhToastWithContext(
Expand Down

0 comments on commit 7ef0e3c

Please sign in to comment.