// Flutter imports: import 'package:flutter/material.dart'; // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; // Project imports: import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/quote/quote_actions.dart'; import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_notes.dart'; import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_notes_vm.dart'; class QuoteEditNotesScreen extends StatelessWidget { const QuoteEditNotesScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return StoreConnector( converter: (Store store) { return QuoteEditNotesVM.fromStore(store); }, builder: (context, viewModel) { return InvoiceEditNotes( viewModel: viewModel, ); }, ); } } class QuoteEditNotesVM extends EntityEditNotesVM { QuoteEditNotesVM({ CompanyEntity? company, InvoiceEntity? invoice, Function(InvoiceEntity)? onChanged, AppState? state, }) : super( company: company, invoice: invoice, onChanged: onChanged, state: state, ); factory QuoteEditNotesVM.fromStore(Store store) { final AppState state = store.state; final quote = state.quoteUIState.editing; return QuoteEditNotesVM( company: state.company, invoice: quote, onChanged: (InvoiceEntity quote) => store.dispatch(UpdateQuote(quote)), state: state, ); } }