Added plural message for multiselect actions

This commit is contained in:
Gianfranco Gasbarri 2020-11-22 15:51:11 +00:00
parent 09a8ab6aba
commit 9c658428b7
23 changed files with 615 additions and 129 deletions

View File

@ -366,19 +366,28 @@ void handleClientAction(
); );
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = clientIds.length > 1
? localization.restoredClients
.replaceFirst(':value', clientIds.length.toString())
: localization.restoredClient;
store.dispatch(RestoreClientsRequest( store.dispatch(RestoreClientsRequest(
snackBarCompleter<Null>(context, localization.restoredClient), snackBarCompleter<Null>(context, message), clientIds));
clientIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = clientIds.length > 1
? localization.archivedClients
.replaceFirst(':value', clientIds.length.toString())
: localization.archivedClient;
store.dispatch(ArchiveClientsRequest( store.dispatch(ArchiveClientsRequest(
snackBarCompleter<Null>(context, localization.archivedClient), snackBarCompleter<Null>(context, message), clientIds));
clientIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = clientIds.length > 1
? localization.deletedClients
.replaceFirst(':value', clientIds.length.toString())
: localization.deletedClient;
store.dispatch(DeleteClientsRequest( store.dispatch(DeleteClientsRequest(
snackBarCompleter<Null>(context, localization.deletedClient), snackBarCompleter<Null>(context, message), clientIds));
clientIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.clientListState.isInMultiselect()) { if (!store.state.clientListState.isInMultiselect()) {

View File

@ -261,19 +261,28 @@ void handleCompanyGatewayAction(BuildContext context,
editEntity(context: context, entity: companyGateway); editEntity(context: context, entity: companyGateway);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = companyGatewayIds.length > 1
? localization.restoredCompanyGateways
.replaceFirst(':value', companyGatewayIds.length.toString())
: localization.restoredCompanyGateway;
store.dispatch(RestoreCompanyGatewayRequest( store.dispatch(RestoreCompanyGatewayRequest(
snackBarCompleter<Null>(context, localization.restoredCompanyGateway), snackBarCompleter<Null>(context, message), companyGatewayIds));
companyGatewayIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = companyGatewayIds.length > 1
? localization.archivedCompanyGateways
.replaceFirst(':value', companyGatewayIds.length.toString())
: localization.archivedCompanyGateway;
store.dispatch(ArchiveCompanyGatewayRequest( store.dispatch(ArchiveCompanyGatewayRequest(
snackBarCompleter<Null>(context, localization.archivedCompanyGateway), snackBarCompleter<Null>(context, message), companyGatewayIds));
companyGatewayIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = companyGatewayIds.length > 1
? localization.deletedCompanyGateways
.replaceFirst(':value', companyGatewayIds.length.toString())
: localization.deletedCompanyGateway;
store.dispatch(DeleteCompanyGatewayRequest( store.dispatch(DeleteCompanyGatewayRequest(
snackBarCompleter<Null>(context, localization.deletedCompanyGateway), snackBarCompleter<Null>(context, message), companyGatewayIds));
companyGatewayIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.companyGatewayListState.isInMultiselect()) { if (!store.state.companyGatewayListState.isInMultiselect()) {

View File

@ -501,18 +501,30 @@ Future handleCreditAction(
); );
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = creditIds.length > 1
? localization.restoredCredits
.replaceFirst(':value', creditIds.length.toString())
: localization.restoredCredit;
store.dispatch(RestoreCreditsRequest( store.dispatch(RestoreCreditsRequest(
snackBarCompleter<Null>(context, localization.restoredCredit), snackBarCompleter<Null>(context, message),
creditIds)); creditIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = creditIds.length > 1
? localization.archivedCredits
.replaceFirst(':value', creditIds.length.toString())
: localization.archivedCredit;
store.dispatch(ArchiveCreditsRequest( store.dispatch(ArchiveCreditsRequest(
snackBarCompleter<Null>(context, localization.archivedCredit), snackBarCompleter<Null>(context, message),
creditIds)); creditIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = creditIds.length > 1
? localization.deletedCredits
.replaceFirst(':value', creditIds.length.toString())
: localization.deletedCredit;
store.dispatch(DeleteCreditsRequest( store.dispatch(DeleteCreditsRequest(
snackBarCompleter<Null>(context, localization.deletedCredit), snackBarCompleter<Null>(context, message),
creditIds)); creditIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:

View File

@ -264,19 +264,28 @@ void handleDesignAction(
createEntity(context: context, entity: design.clone); createEntity(context: context, entity: design.clone);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = designIds.length > 1
? localization.restoredDesigns
.replaceFirst(':value', designIds.length.toString())
: localization.restoredDesign;
store.dispatch(RestoreDesignsRequest( store.dispatch(RestoreDesignsRequest(
snackBarCompleter<Null>(context, localization.restoredDesign), snackBarCompleter<Null>(context, message), designIds));
designIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = designIds.length > 1
? localization.archivedDesigns
.replaceFirst(':value', designIds.length.toString())
: localization.archivedDesign;
store.dispatch(ArchiveDesignsRequest( store.dispatch(ArchiveDesignsRequest(
snackBarCompleter<Null>(context, localization.archivedDesign), snackBarCompleter<Null>(context, message), designIds));
designIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = designIds.length > 1
? localization.deletedDesigns
.replaceFirst(':value', designIds.length.toString())
: localization.deletedDesign;
store.dispatch(DeleteDesignsRequest( store.dispatch(DeleteDesignsRequest(
snackBarCompleter<Null>(context, localization.deletedDesign), snackBarCompleter<Null>(context, message), designIds));
designIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.designListState.isInMultiselect()) { if (!store.state.designListState.isInMultiselect()) {

View File

@ -266,15 +266,32 @@ void handleDocumentAction(
editEntity(context: context, entity: document); editEntity(context: context, entity: document);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = documentIds.length > 1
? localization.restoredDocuments
.replaceFirst(':value', documentIds.length.toString())
: localization.restoredDocument;
store.dispatch(RestoreDocumentRequest( store.dispatch(RestoreDocumentRequest(
snackBarCompleter<Null>(context, localization.restoredDocument), snackBarCompleter<Null>(context, message),
documentIds)); documentIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = documentIds.length > 1
? localization.archivedDocuments
.replaceFirst(':value', documentIds.length.toString())
: localization.archivedDocument;
store.dispatch(ArchiveDocumentRequest( store.dispatch(ArchiveDocumentRequest(
snackBarCompleter<Null>(context, localization.archivedDocument), snackBarCompleter<Null>(context, message),
documentIds)); documentIds));
break; break;
case EntityAction.delete:
final message = documentIds.length > 1
? localization.deletedDocuments
.replaceFirst(':value', documentIds.length.toString())
: localization.deletedDocument;
store.dispatch(DeleteDocumentRequest(
completer: snackBarCompleter<Null>(context, message),
documentIds: documentIds));
break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.documentListState.isInMultiselect()) { if (!store.state.documentListState.isInMultiselect()) {
store.dispatch(StartDocumentMultiselect()); store.dispatch(StartDocumentMultiselect());

View File

@ -294,19 +294,28 @@ void handleExpenseAction(
entityId: expense.invoiceId); entityId: expense.invoiceId);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = expenseIds.length > 1
? localization.restoredExpenses
.replaceFirst(':value', expenseIds.length.toString())
: localization.restoredExpense;
store.dispatch(RestoreExpenseRequest( store.dispatch(RestoreExpenseRequest(
snackBarCompleter<Null>(context, localization.restoredExpense), snackBarCompleter<Null>(context, message), expenseIds));
expenseIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = expenseIds.length > 1
? localization.archivedExpenses
.replaceFirst(':value', expenseIds.length.toString())
: localization.archivedExpense;
store.dispatch(ArchiveExpenseRequest( store.dispatch(ArchiveExpenseRequest(
snackBarCompleter<Null>(context, localization.archivedExpense), snackBarCompleter<Null>(context, message), expenseIds));
expenseIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = expenseIds.length > 1
? localization.deletedExpenses
.replaceFirst(':value', expenseIds.length.toString())
: localization.deletedExpense;
store.dispatch(DeleteExpenseRequest( store.dispatch(DeleteExpenseRequest(
snackBarCompleter<Null>(context, localization.deletedExpense), snackBarCompleter<Null>(context, message), expenseIds));
expenseIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.expenseListState.isInMultiselect()) { if (!store.state.expenseListState.isInMultiselect()) {

View File

@ -283,21 +283,28 @@ void handleExpenseCategoryAction(BuildContext context,
editEntity(context: context, entity: expenseCategory); editEntity(context: context, entity: expenseCategory);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = expenseCategoryIds.length > 1
? localization.restoredExpenseCategories
.replaceFirst(':value', expenseCategoryIds.length.toString())
: localization.restoredExpenseCategory;
store.dispatch(RestoreExpenseCategoriesRequest( store.dispatch(RestoreExpenseCategoriesRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), expenseCategoryIds));
context, localization.restoredExpenseCategory),
expenseCategoryIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = expenseCategoryIds.length > 1
? localization.archivedExpenseCategories
.replaceFirst(':value', expenseCategoryIds.length.toString())
: localization.archivedExpenseCategory;
store.dispatch(ArchiveExpenseCategoriesRequest( store.dispatch(ArchiveExpenseCategoriesRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), expenseCategoryIds));
context, localization.archivedExpenseCategory),
expenseCategoryIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = expenseCategoryIds.length > 1
? localization.deletedExpenseCategories
.replaceFirst(':value', expenseCategoryIds.length.toString())
: localization.deletedExpenseCategory;
store.dispatch(DeleteExpenseCategoriesRequest( store.dispatch(DeleteExpenseCategoriesRequest(
snackBarCompleter<Null>(context, localization.deletedExpenseCategory), snackBarCompleter<Null>(context, message), expenseCategoryIds));
expenseCategoryIds));
break; break;
case EntityAction.newExpense: case EntityAction.newExpense:
createEntity( createEntity(

View File

@ -261,18 +261,30 @@ void handleGroupAction(
entity: ClientEntity().rebuild((b) => b..groupId = group.id)); entity: ClientEntity().rebuild((b) => b..groupId = group.id));
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = groupIds.length > 1
? localization.restoredGroups
.replaceFirst(':value', groupIds.length.toString())
: localization.restoredGroup;
store.dispatch(RestoreGroupRequest( store.dispatch(RestoreGroupRequest(
snackBarCompleter<Null>(context, localization.restoredGroup), snackBarCompleter<Null>(context, message),
groupIds)); groupIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = groupIds.length > 1
? localization.archivedGroups
.replaceFirst(':value', groupIds.length.toString())
: localization.archivedGroup;
store.dispatch(ArchiveGroupRequest( store.dispatch(ArchiveGroupRequest(
snackBarCompleter<Null>(context, localization.archivedGroup), snackBarCompleter<Null>(context, message),
groupIds)); groupIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = groupIds.length > 1
? localization.deletedGroups
.replaceFirst(':value', groupIds.length.toString())
: localization.deletedGroup;
store.dispatch(DeleteGroupRequest( store.dispatch(DeleteGroupRequest(
snackBarCompleter<Null>(context, localization.deletedGroup), snackBarCompleter<Null>(context, message),
groupIds)); groupIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:

View File

@ -602,19 +602,28 @@ void handleInvoiceAction(BuildContext context, List<BaseEntity> invoices,
); );
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = invoiceIds.length > 1
? localization.restoredInvoices
.replaceFirst(':value', invoiceIds.length.toString())
: localization.restoredInvoice;
store.dispatch(RestoreInvoicesRequest( store.dispatch(RestoreInvoicesRequest(
snackBarCompleter<Null>(context, localization.restoredInvoice), snackBarCompleter<Null>(context, message), invoiceIds));
invoiceIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = invoiceIds.length > 1
? localization.archivedInvoices
.replaceFirst(':value', invoiceIds.length.toString())
: localization.archivedInvoice;
store.dispatch(ArchiveInvoicesRequest( store.dispatch(ArchiveInvoicesRequest(
snackBarCompleter<Null>(context, localization.archivedInvoice), snackBarCompleter<Null>(context, message), invoiceIds));
invoiceIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = invoiceIds.length > 1
? localization.deletedInvoices
.replaceFirst(':value', invoiceIds.length.toString())
: localization.deletedInvoice;
store.dispatch(DeleteInvoicesRequest( store.dispatch(DeleteInvoicesRequest(
snackBarCompleter<Null>(context, localization.deletedInvoice), snackBarCompleter<Null>(context, message), invoiceIds));
invoiceIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.invoiceListState.isInMultiselect()) { if (!store.state.invoiceListState.isInMultiselect()) {

View File

@ -357,18 +357,30 @@ void handlePaymentAction(
payment)); payment));
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = paymentIds.length > 1
? localization.restoredPayments
.replaceFirst(':value', paymentIds.length.toString())
: localization.restoredPayment;
store.dispatch(RestorePaymentsRequest( store.dispatch(RestorePaymentsRequest(
snackBarCompleter<Null>(context, localization.restoredPayment), snackBarCompleter<Null>(context, message),
paymentIds)); paymentIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = paymentIds.length > 1
? localization.archivedPayments
.replaceFirst(':value', paymentIds.length.toString())
: localization.archivedPayment;
store.dispatch(ArchivePaymentsRequest( store.dispatch(ArchivePaymentsRequest(
snackBarCompleter<Null>(context, localization.archivedPayment), snackBarCompleter<Null>(context, message),
paymentIds)); paymentIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = paymentIds.length > 1
? localization.deletedPayments
.replaceFirst(':value', paymentIds.length.toString())
: localization.deletedPayment;
store.dispatch(DeletePaymentsRequest( store.dispatch(DeletePaymentsRequest(
snackBarCompleter<Null>(context, localization.deletedPayment), snackBarCompleter<Null>(context, message),
paymentIds)); paymentIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:

View File

@ -265,19 +265,28 @@ void handlePaymentTermAction(
editEntity(context: context, entity: paymentTerm); editEntity(context: context, entity: paymentTerm);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = paymentTermIds.length > 1
? localization.restoredPaymentTerms
.replaceFirst(':value', paymentTermIds.length.toString())
: localization.restoredPaymentTerm;
store.dispatch(RestorePaymentTermsRequest( store.dispatch(RestorePaymentTermsRequest(
snackBarCompleter<Null>(context, localization.restoredPaymentTerm), snackBarCompleter<Null>(context, message), paymentTermIds));
paymentTermIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = paymentTermIds.length > 1
? localization.archivedPaymentTerms
.replaceFirst(':value', paymentTermIds.length.toString())
: localization.archivedPaymentTerm;
store.dispatch(ArchivePaymentTermsRequest( store.dispatch(ArchivePaymentTermsRequest(
snackBarCompleter<Null>(context, localization.archivedPaymentTerm), snackBarCompleter<Null>(context, message), paymentTermIds));
paymentTermIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = paymentTermIds.length > 1
? localization.deletedPaymentTerms
.replaceFirst(':value', paymentTermIds.length.toString())
: localization.deletedPaymentTerm;
store.dispatch(DeletePaymentTermsRequest( store.dispatch(DeletePaymentTermsRequest(
snackBarCompleter<Null>(context, localization.deletedPaymentTerm), snackBarCompleter<Null>(context, message), paymentTermIds));
paymentTermIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.paymentTermListState.isInMultiselect()) { if (!store.state.paymentTermListState.isInMultiselect()) {

View File

@ -281,19 +281,28 @@ void handleProductAction(
createEntity(context: context, entity: (product as ProductEntity).clone); createEntity(context: context, entity: (product as ProductEntity).clone);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = productIds.length > 1
? localization.restoredProducts
.replaceFirst(':value', productIds.length.toString())
: localization.restoredProduct;
store.dispatch(RestoreProductsRequest( store.dispatch(RestoreProductsRequest(
snackBarCompleter<Null>(context, localization.restoredProduct), snackBarCompleter<Null>(context, message), productIds));
productIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = productIds.length > 1
? localization.archivedProducts
.replaceFirst(':value', productIds.length.toString())
: localization.archivedProduct;
store.dispatch(ArchiveProductsRequest( store.dispatch(ArchiveProductsRequest(
snackBarCompleter<Null>(context, localization.archivedProduct), snackBarCompleter<Null>(context, message), productIds));
productIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = productIds.length > 1
? localization.deletedProducts
.replaceFirst(':value', productIds.length.toString())
: localization.deletedProduct;
store.dispatch(DeleteProductsRequest( store.dispatch(DeleteProductsRequest(
snackBarCompleter<Null>(context, localization.deletedProduct), snackBarCompleter<Null>(context, message), productIds));
productIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.productListState.isInMultiselect()) { if (!store.state.productListState.isInMultiselect()) {

View File

@ -267,6 +267,7 @@ void handleProjectAction(
final project = projects.first as ProjectEntity; final project = projects.first as ProjectEntity;
final projectIds = projects.map((project) => project.id).toList(); final projectIds = projects.map((project) => project.id).toList();
final client = state.clientState.get(project.clientId); final client = state.clientState.get(project.clientId);
final localization = AppLocalization.of(context);
switch (action) { switch (action) {
case EntityAction.edit: case EntityAction.edit:
@ -298,22 +299,28 @@ void handleProjectAction(
createEntity(context: context, entity: project.clone); createEntity(context: context, entity: project.clone);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = projectIds.length > 1
? localization.restoredProjects
.replaceFirst(':value', projectIds.length.toString())
: localization.restoredProject;
store.dispatch(RestoreProjectRequest( store.dispatch(RestoreProjectRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), projectIds));
context, AppLocalization.of(context).restoredProject),
projectIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = projectIds.length > 1
? localization.archivedProjects
.replaceFirst(':value', projectIds.length.toString())
: localization.archivedProject;
store.dispatch(ArchiveProjectRequest( store.dispatch(ArchiveProjectRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), projectIds));
context, AppLocalization.of(context).archivedProject),
projectIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = projectIds.length > 1
? localization.deletedProjects
.replaceFirst(':value', projectIds.length.toString())
: localization.deletedProject;
store.dispatch(DeleteProjectRequest( store.dispatch(DeleteProjectRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), projectIds));
context, AppLocalization.of(context).deletedProject),
projectIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.projectListState.isInMultiselect()) { if (!store.state.projectListState.isInMultiselect()) {

View File

@ -513,19 +513,28 @@ Future handleQuoteAction(
.rebuild((b) => b..entityType = EntityType.recurringInvoice)); .rebuild((b) => b..entityType = EntityType.recurringInvoice));
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = quoteIds.length > 1
? localization.restoredQuotes
.replaceFirst(':value', quoteIds.length.toString())
: localization.restoredQuote;
store.dispatch(RestoreQuotesRequest( store.dispatch(RestoreQuotesRequest(
snackBarCompleter<Null>(context, localization.restoredQuote), snackBarCompleter<Null>(context, message), quoteIds));
quoteIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = quoteIds.length > 1
? localization.archivedQuotes
.replaceFirst(':value', quoteIds.length.toString())
: localization.archivedQuote;
store.dispatch(ArchiveQuotesRequest( store.dispatch(ArchiveQuotesRequest(
snackBarCompleter<Null>(context, localization.archivedQuote), snackBarCompleter<Null>(context, message), quoteIds));
quoteIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = quoteIds.length > 1
? localization.deletedQuotes
.replaceFirst(':value', quoteIds.length.toString())
: localization.deletedQuote;
store.dispatch(DeleteQuotesRequest( store.dispatch(DeleteQuotesRequest(
snackBarCompleter<Null>(context, localization.deletedQuote), snackBarCompleter<Null>(context, message), quoteIds));
quoteIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.quoteListState.isInMultiselect()) { if (!store.state.quoteListState.isInMultiselect()) {

View File

@ -472,22 +472,28 @@ void handleRecurringInvoiceAction(BuildContext context,
)); ));
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = recurringInvoiceIds.length > 1
? localization.restoredRecurringInvoices
.replaceFirst(':value', recurringInvoiceIds.length.toString())
: localization.restoredRecurringInvoice;
store.dispatch(RestoreRecurringInvoicesRequest( store.dispatch(RestoreRecurringInvoicesRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), recurringInvoiceIds));
context, localization.restoredRecurringInvoice),
recurringInvoiceIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = recurringInvoiceIds.length > 1
? localization.archivedRecurringInvoices
.replaceFirst(':value', recurringInvoiceIds.length.toString())
: localization.archivedRecurringInvoice;
store.dispatch(ArchiveRecurringInvoicesRequest( store.dispatch(ArchiveRecurringInvoicesRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), recurringInvoiceIds));
context, localization.archivedRecurringInvoice),
recurringInvoiceIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = recurringInvoiceIds.length > 1
? localization.deletedRecurringInvoices
.replaceFirst(':value', recurringInvoiceIds.length.toString())
: localization.deletedRecurringInvoice;
store.dispatch(DeleteRecurringInvoicesRequest( store.dispatch(DeleteRecurringInvoicesRequest(
snackBarCompleter<Null>( snackBarCompleter<Null>(context, message), recurringInvoiceIds));
context, localization.deletedRecurringInvoice),
recurringInvoiceIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.recurringInvoiceListState.isInMultiselect()) { if (!store.state.recurringInvoiceListState.isInMultiselect()) {

View File

@ -346,18 +346,28 @@ void handleTaskAction(
createEntity(context: context, entity: task.clone); createEntity(context: context, entity: task.clone);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = taskIds.length > 1
? localization.restoredTasks
.replaceFirst(':value', taskIds.length.toString())
: localization.restoredTask;
store.dispatch(RestoreTaskRequest( store.dispatch(RestoreTaskRequest(
snackBarCompleter<Null>(context, localization.restoredTask), snackBarCompleter<Null>(context, message), taskIds));
taskIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = taskIds.length > 1
? localization.archivedTasks
.replaceFirst(':value', taskIds.length.toString())
: localization.archivedTask;
store.dispatch(ArchiveTaskRequest( store.dispatch(ArchiveTaskRequest(
snackBarCompleter<Null>(context, localization.archivedTask), snackBarCompleter<Null>(context, message), taskIds));
taskIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = taskIds.length > 1
? localization.deletedTasks
.replaceFirst(':value', taskIds.length.toString())
: localization.deletedTask;
store.dispatch(DeleteTaskRequest( store.dispatch(DeleteTaskRequest(
snackBarCompleter<Null>(context, localization.deletedTask), taskIds)); snackBarCompleter<Null>(context, message), taskIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.taskListState.isInMultiselect()) { if (!store.state.taskListState.isInMultiselect()) {

View File

@ -283,19 +283,28 @@ void handleTaskStatusAction(
editEntity(context: context, entity: taskStatus); editEntity(context: context, entity: taskStatus);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = taskStatusIds.length > 1
? localization.restoredTaskStatuses
.replaceFirst(':value', taskStatusIds.length.toString())
: localization.restoredTaskStatus;
store.dispatch(RestoreTaskStatusesRequest( store.dispatch(RestoreTaskStatusesRequest(
snackBarCompleter<Null>(context, localization.restoredTaskStatus), snackBarCompleter<Null>(context, message), taskStatusIds));
taskStatusIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = taskStatusIds.length > 1
? localization.archivedTaskStatuses
.replaceFirst(':value', taskStatusIds.length.toString())
: localization.archivedTaskStatus;
store.dispatch(ArchiveTaskStatusesRequest( store.dispatch(ArchiveTaskStatusesRequest(
snackBarCompleter<Null>(context, localization.archivedTaskStatus), snackBarCompleter<Null>(context, message), taskStatusIds));
taskStatusIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = taskStatusIds.length > 1
? localization.deletedTaskStatuses
.replaceFirst(':value', taskStatusIds.length.toString())
: localization.deletedTaskStatus;
store.dispatch(DeleteTaskStatusesRequest( store.dispatch(DeleteTaskStatusesRequest(
snackBarCompleter<Null>(context, localization.deletedTaskStatus), snackBarCompleter<Null>(context, message), taskStatusIds));
taskStatusIds));
break; break;
case EntityAction.newTask: case EntityAction.newTask:
createEntity( createEntity(

View File

@ -254,19 +254,28 @@ void handleTaxRateAction(
editEntity(context: context, entity: taxRate); editEntity(context: context, entity: taxRate);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = taxRateIds.length > 1
? localization.restoredTaxRates
.replaceFirst(':value', taxRateIds.length.toString())
: localization.restoredTaxRate;
store.dispatch(RestoreTaxRateRequest( store.dispatch(RestoreTaxRateRequest(
snackBarCompleter<Null>(context, localization.restoredTaxRate), snackBarCompleter<Null>(context, message), taxRateIds));
taxRateIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = taxRateIds.length > 1
? localization.archivedTaxRates
.replaceFirst(':value', taxRateIds.length.toString())
: localization.archivedTaxRate;
store.dispatch(ArchiveTaxRateRequest( store.dispatch(ArchiveTaxRateRequest(
snackBarCompleter<Null>(context, localization.archivedTaxRate), snackBarCompleter<Null>(context, message), taxRateIds));
taxRateIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = taxRateIds.length > 1
? localization.deletedTaxRates
.replaceFirst(':value', taxRateIds.length.toString())
: localization.deletedTaxRate;
store.dispatch(DeleteTaxRateRequest( store.dispatch(DeleteTaxRateRequest(
snackBarCompleter<Null>(context, localization.deletedTaxRate), snackBarCompleter<Null>(context, message), taxRateIds));
taxRateIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.taxRateListState.isInMultiselect()) { if (!store.state.taxRateListState.isInMultiselect()) {

View File

@ -272,19 +272,28 @@ void handleTokenAction(
editEntity(context: context, entity: token); editEntity(context: context, entity: token);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = tokenIds.length > 1
? localization.restoredTokens
.replaceFirst(':value', tokenIds.length.toString())
: localization.restoredToken;
store.dispatch(RestoreTokensRequest( store.dispatch(RestoreTokensRequest(
snackBarCompleter<Null>(context, localization.restoredToken), snackBarCompleter<Null>(context, message), tokenIds));
tokenIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = tokenIds.length > 1
? localization.archivedTokens
.replaceFirst(':value', tokenIds.length.toString())
: localization.archivedToken;
store.dispatch(ArchiveTokensRequest( store.dispatch(ArchiveTokensRequest(
snackBarCompleter<Null>(context, localization.archivedToken), snackBarCompleter<Null>(context, message), tokenIds));
tokenIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = tokenIds.length > 1
? localization.deletedTokens
.replaceFirst(':value', tokenIds.length.toString())
: localization.deletedToken;
store.dispatch(DeleteTokensRequest( store.dispatch(DeleteTokensRequest(
snackBarCompleter<Null>(context, localization.deletedToken), snackBarCompleter<Null>(context, message), tokenIds));
tokenIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.tokenListState.isInMultiselect()) { if (!store.state.tokenListState.isInMultiselect()) {

View File

@ -342,9 +342,12 @@ void handleUserAction(
); );
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = userIds.length > 1
? localization.restoredUsers
.replaceFirst(':value', userIds.length.toString())
: localization.restoredUser;
final dispatch = ([String password]) => store.dispatch(RestoreUserRequest( final dispatch = ([String password]) => store.dispatch(RestoreUserRequest(
completer: completer: snackBarCompleter<Null>(context, message),
snackBarCompleter<Null>(context, localization.restoredUser),
userIds: userIds, userIds: userIds,
password: password)); password: password));
passwordCallback( passwordCallback(
@ -354,9 +357,12 @@ void handleUserAction(
}); });
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = userIds.length > 1
? localization.archivedUsers
.replaceFirst(':value', userIds.length.toString())
: localization.archivedUser;
final dispatch = ([String password]) => store.dispatch(ArchiveUserRequest( final dispatch = ([String password]) => store.dispatch(ArchiveUserRequest(
completer: completer: snackBarCompleter<Null>(context, message),
snackBarCompleter<Null>(context, localization.archivedUser),
userIds: userIds, userIds: userIds,
password: password)); password: password));
passwordCallback( passwordCallback(
@ -366,8 +372,12 @@ void handleUserAction(
}); });
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = userIds.length > 1
? localization.deletedUsers
.replaceFirst(':value', userIds.length.toString())
: localization.deletedUser;
final dispatch = ([String password]) => store.dispatch(DeleteUserRequest( final dispatch = ([String password]) => store.dispatch(DeleteUserRequest(
completer: snackBarCompleter<Null>(context, localization.deletedUser), completer: snackBarCompleter<Null>(context, message),
userIds: userIds, userIds: userIds,
password: password)); password: password));
passwordCallback( passwordCallback(
@ -377,8 +387,12 @@ void handleUserAction(
}); });
break; break;
case EntityAction.remove: case EntityAction.remove:
final message = userIds.length > 1
? localization.removedUsers
.replaceFirst(':value', userIds.length.toString())
: localization.removedUser;
final dispatch = ([String password]) => store.dispatch(RemoveUserRequest( final dispatch = ([String password]) => store.dispatch(RemoveUserRequest(
completer: snackBarCompleter<Null>(context, localization.removedUser), completer: snackBarCompleter<Null>(context, message),
userId: user.id, userId: user.id,
password: password)); password: password));
confirmCallback( confirmCallback(

View File

@ -305,19 +305,28 @@ void handleVendorAction(
); );
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = vendorIds.length > 1
? localization.restoredVendors
.replaceFirst(':value', vendorIds.length.toString())
: localization.restoredVendor;
store.dispatch(RestoreVendorRequest( store.dispatch(RestoreVendorRequest(
snackBarCompleter<Null>(context, localization.restoredVendor), snackBarCompleter<Null>(context, message), vendorIds));
vendorIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = vendorIds.length > 1
? localization.archivedVendors
.replaceFirst(':value', vendorIds.length.toString())
: localization.archivedVendor;
store.dispatch(ArchiveVendorRequest( store.dispatch(ArchiveVendorRequest(
snackBarCompleter<Null>(context, localization.archivedVendor), snackBarCompleter<Null>(context, message), vendorIds));
vendorIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = vendorIds.length > 1
? localization.deletedVendors
.replaceFirst(':value', vendorIds.length.toString())
: localization.deletedVendor;
store.dispatch(DeleteVendorRequest( store.dispatch(DeleteVendorRequest(
snackBarCompleter<Null>(context, localization.deletedVendor), snackBarCompleter<Null>(context, message), vendorIds));
vendorIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.vendorListState.isInMultiselect()) { if (!store.state.vendorListState.isInMultiselect()) {

View File

@ -268,19 +268,28 @@ void handleWebhookAction(
editEntity(context: context, entity: webhook); editEntity(context: context, entity: webhook);
break; break;
case EntityAction.restore: case EntityAction.restore:
final message = webhookIds.length > 1
? localization.restoredWebhooks
.replaceFirst(':value', webhookIds.length.toString())
: localization.restoredWebhook;
store.dispatch(RestoreWebhooksRequest( store.dispatch(RestoreWebhooksRequest(
snackBarCompleter<Null>(context, localization.restoredWebhook), snackBarCompleter<Null>(context, message), webhookIds));
webhookIds));
break; break;
case EntityAction.archive: case EntityAction.archive:
final message = webhookIds.length > 1
? localization.archivedWebhooks
.replaceFirst(':value', webhookIds.length.toString())
: localization.archivedWebhook;
store.dispatch(ArchiveWebhooksRequest( store.dispatch(ArchiveWebhooksRequest(
snackBarCompleter<Null>(context, localization.archivedWebhook), snackBarCompleter<Null>(context, message), webhookIds));
webhookIds));
break; break;
case EntityAction.delete: case EntityAction.delete:
final message = webhookIds.length > 1
? localization.deletedWebhooks
.replaceFirst(':value', webhookIds.length.toString())
: localization.deletedWebhook;
store.dispatch(DeleteWebhooksRequest( store.dispatch(DeleteWebhooksRequest(
snackBarCompleter<Null>(context, localization.deletedWebhook), snackBarCompleter<Null>(context, message), webhookIds));
webhookIds));
break; break;
case EntityAction.toggleMultiselect: case EntityAction.toggleMultiselect:
if (!store.state.webhookListState.isInMultiselect()) { if (!store.state.webhookListState.isInMultiselect()) {

View File

@ -51,6 +51,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_task_status': 'Successfully deleted task status', 'deleted_task_status': 'Successfully deleted task status',
'removed_task_status': 'Successfully removed task status', 'removed_task_status': 'Successfully removed task status',
'restored_task_status': 'Successfully restored task status', 'restored_task_status': 'Successfully restored task status',
'archived_task_statuses': 'Successfully archived :value task statuses',
'deleted_task_statuses': 'Successfully deleted :value task statuses',
'restored_task_statuses': 'Successfully restored :value task statuses',
'search_task_status': 'Search 1 Task Status', 'search_task_status': 'Search 1 Task Status',
'search_task_statuses': 'Search :count Task Statuses', 'search_task_statuses': 'Search :count Task Statuses',
'show_tasks_table': 'Show Tasks Table', 'show_tasks_table': 'Show Tasks Table',
@ -71,6 +74,12 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_expense_category': 'Successfully deleted expense category', 'deleted_expense_category': 'Successfully deleted expense category',
'removed_expense_category': 'Successfully removed expense category', 'removed_expense_category': 'Successfully removed expense category',
'restored_expense_category': 'Successfully restored expense category', 'restored_expense_category': 'Successfully restored expense category',
'archived_expense_categories':
'Successfully archived expense :value categories',
'deleted_expense_categories':
'Successfully deleted expense :value categories',
'restored_expense_categories':
'Successfully restored expense :value categories',
'search_expense_category': 'Search 1 Expense Category', 'search_expense_category': 'Search 1 Expense Category',
'search_expense_categories': 'Search :count Expense Categories', 'search_expense_categories': 'Search :count Expense Categories',
'use_available_credits': 'Use Available Credits', 'use_available_credits': 'Use Available Credits',
@ -128,6 +137,12 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_recurring_invoice': 'Successfully deleted recurring invoice', 'deleted_recurring_invoice': 'Successfully deleted recurring invoice',
'removed_recurring_invoice': 'Successfully removed recurring invoice', 'removed_recurring_invoice': 'Successfully removed recurring invoice',
'restored_recurring_invoice': 'Successfully restored recurring invoice', 'restored_recurring_invoice': 'Successfully restored recurring invoice',
'archived_recurring_invoices':
'Successfully archived recurring :value invoices',
'deleted_recurring_invoices':
'Successfully deleted recurring :value invoices',
'restored_recurring_invoices':
'Successfully restored recurring :value invoices',
'search_recurring_invoice': 'Search 1 Recurring Invoice', 'search_recurring_invoice': 'Search 1 Recurring Invoice',
'search_recurring_invoices': 'Search :count Recurring Invoices', 'search_recurring_invoices': 'Search :count Recurring Invoices',
'send_date': 'Send Date', 'send_date': 'Send Date',
@ -261,6 +276,10 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_webhook': 'Successfully deleted webhook', 'deleted_webhook': 'Successfully deleted webhook',
'removed_webhook': 'Successfully removed webhook', 'removed_webhook': 'Successfully removed webhook',
'restored_webhook': 'Successfully restored webhook', 'restored_webhook': 'Successfully restored webhook',
'archived_webhooks': 'Successfully archived :value webhooks',
'deleted_webhooks': 'Successfully deleted :value webhooks',
'removed_webhooks': 'Successfully removed :value webhooks',
'restored_webhooks': 'Successfully restored :value webhooks',
'api_tokens': 'API Tokens', 'api_tokens': 'API Tokens',
'search_tokens': 'Search :count Tokens', 'search_tokens': 'Search :count Tokens',
'search_token': 'Search 1 Token', 'search_token': 'Search 1 Token',
@ -274,6 +293,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_token': 'Successfully deleted token', 'deleted_token': 'Successfully deleted token',
'removed_token': 'Successfully removed token', 'removed_token': 'Successfully removed token',
'restored_token': 'Successfully restored token', 'restored_token': 'Successfully restored token',
'archived_tokens': 'Successfully archived :value tokens',
'deleted_tokens': 'Successfully deleted :value tokens',
'restored_tokens': 'Successfully restored :value tokens',
'client_registration': 'Client Registration', 'client_registration': 'Client Registration',
'client_registration_help': 'client_registration_help':
'Enable clients to self register in the portal', 'Enable clients to self register in the portal',
@ -302,6 +324,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_payment_term': 'Successfully deleted payment term', 'deleted_payment_term': 'Successfully deleted payment term',
'removed_payment_term': 'Successfully removed payment term', 'removed_payment_term': 'Successfully removed payment term',
'restored_payment_term': 'Successfully restored payment term', 'restored_payment_term': 'Successfully restored payment term',
'archived_payment_terms': 'Successfully archived :value payment terms',
'deleted_payment_terms': 'Successfully deleted :value payment terms',
'restored_payment_terms': 'Successfully restored :value payment terms',
'email_sign_in': 'Sign in with email', 'email_sign_in': 'Sign in with email',
'change': 'Change', 'change': 'Change',
'change_to_mobile_layout': 'Change to the mobile layout?', 'change_to_mobile_layout': 'Change to the mobile layout?',
@ -424,6 +449,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_design': 'Successfully deleted design', 'deleted_design': 'Successfully deleted design',
'removed_design': 'Successfully removed design', 'removed_design': 'Successfully removed design',
'restored_design': 'Successfully restored design', 'restored_design': 'Successfully restored design',
'archived_designs': 'Successfully archived :value designs',
'deleted_designs': 'Successfully deleted :value designs',
'restored_designs': 'Successfully restored :value designs',
'proposals': 'Proposals', 'proposals': 'Proposals',
'tickets': 'Tickets', 'tickets': 'Tickets',
'recurring_quotes': 'Recurring Quotes', 'recurring_quotes': 'Recurring Quotes',
@ -441,6 +469,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_credit': 'Successfully deleted credit', 'deleted_credit': 'Successfully deleted credit',
'removed_credit': 'Successfully removed credit', 'removed_credit': 'Successfully removed credit',
'restored_credit': 'Successfully restored credit', 'restored_credit': 'Successfully restored credit',
'archived_credits': 'Successfully archived :value credits',
'deleted_credits': 'Successfully deleted :value credits',
'restored_credits': 'Successfully restored :value credits',
'current_version': 'Current Version', 'current_version': 'Current Version',
'latest_version': 'Latest Version', 'latest_version': 'Latest Version',
'update_now': 'Update Now', 'update_now': 'Update Now',
@ -673,6 +704,10 @@ mixin LocalizationsProvider on LocaleCodeAware {
'deleted_user': 'Successfully deleted user', 'deleted_user': 'Successfully deleted user',
'removed_user': 'Successfully removed user', 'removed_user': 'Successfully removed user',
'restored_user': 'Successfully restored user', 'restored_user': 'Successfully restored user',
'archived_users': 'Successfully archived :value users',
'deleted_users': 'Successfully deleted :value users',
'removed_users': 'Successfully removed :value users',
'restored_users': 'Successfully restored :value users',
'general_settings': 'General Settings', 'general_settings': 'General Settings',
'invoice_options': 'Invoice Options', 'invoice_options': 'Invoice Options',
'hide_paid_to_date': 'Hide Paid to Date', 'hide_paid_to_date': 'Hide Paid to Date',
@ -814,6 +849,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_tax_rate': 'Successfully archived tax rate', 'archived_tax_rate': 'Successfully archived tax rate',
'deleted_tax_rate': 'Successfully deleted tax rate', 'deleted_tax_rate': 'Successfully deleted tax rate',
'restored_tax_rate': 'Successfully restored tax rate', 'restored_tax_rate': 'Successfully restored tax rate',
'archived_tax_rates': 'Successfully archived :value tax rates',
'deleted_tax_rates': 'Successfully deleted :value tax rates',
'restored_tax_rates': 'Successfully restored :value tax rates',
'fill_products': 'Fill Products', 'fill_products': 'Fill Products',
'fill_products_help': 'fill_products_help':
'Selecting a product will automatically fill in the description and cost', 'Selecting a product will automatically fill in the description and cost',
@ -835,6 +873,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_company_gateway': 'Successfully archived gateway', 'archived_company_gateway': 'Successfully archived gateway',
'deleted_company_gateway': 'Successfully deleted gateway', 'deleted_company_gateway': 'Successfully deleted gateway',
'restored_company_gateway': 'Successfully restored gateway', 'restored_company_gateway': 'Successfully restored gateway',
'archived_company_gateways': 'Successfully archived :value gateways',
'deleted_company_gateways': 'Successfully deleted :value gateways',
'restored_company_gateways': 'Successfully restored :value gateways',
'continue_editing': 'Continue Editing', 'continue_editing': 'Continue Editing',
'discard_changes': 'Discard Changes', 'discard_changes': 'Discard Changes',
'default_value': 'Default value', 'default_value': 'Default value',
@ -881,9 +922,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'edit_group': 'Edit Group', 'edit_group': 'Edit Group',
'created_group': 'Successfully created group', 'created_group': 'Successfully created group',
'updated_group': 'Successfully updated group', 'updated_group': 'Successfully updated group',
'archived_group': 'Successfully archived group', 'archived_groups': 'Successfully archived :value groups',
'deleted_group': 'Successfully deleted group', 'deleted_groups': 'Successfully deleted :value groups',
'restored_group': 'Successfully restored group', 'restored_groups': 'Successfully restored :value groups',
'upload_logo': 'Upload Logo', 'upload_logo': 'Upload Logo',
'uploaded_logo': 'Successfully uploaded logo', 'uploaded_logo': 'Successfully uploaded logo',
'logo': 'Logo', 'logo': 'Logo',
@ -949,6 +990,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_document': 'Successfully archived document', 'archived_document': 'Successfully archived document',
'deleted_document': 'Successfully deleted document', 'deleted_document': 'Successfully deleted document',
'restored_document': 'Successfully restored document', 'restored_document': 'Successfully restored document',
'archived_documents': 'Successfully archived :value documents',
'deleted_documents': 'Successfully deleted :value documents',
'restored_documents': 'Successfully restored :value documents',
'no_history': 'No History', 'no_history': 'No History',
'expense_date': 'Expense Date', 'expense_date': 'Expense Date',
'pending': 'Pending', 'pending': 'Pending',
@ -968,12 +1012,18 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_vendor': 'Successfully archived vendor', 'archived_vendor': 'Successfully archived vendor',
'deleted_vendor': 'Successfully deleted vendor', 'deleted_vendor': 'Successfully deleted vendor',
'restored_vendor': 'Successfully restored vendor', 'restored_vendor': 'Successfully restored vendor',
'archived_vendors': 'Successfully archived :value vendors',
'deleted_vendors': 'Successfully deleted :value vendors',
'restored_vendors': 'Successfully restored :value vendors',
'new_expense': 'New Expense', 'new_expense': 'New Expense',
'created_expense': 'Successfully created expense', 'created_expense': 'Successfully created expense',
'updated_expense': 'Successfully updated expense', 'updated_expense': 'Successfully updated expense',
'archived_expense': 'Successfully archived expense', 'archived_expense': 'Successfully archived expense',
'deleted_expense': 'Successfully deleted expense', 'deleted_expense': 'Successfully deleted expense',
'restored_expense': 'Successfully restored expense', 'restored_expense': 'Successfully restored expense',
'archived_expenses': 'Successfully archived :value expenses',
'deleted_expenses': 'Successfully deleted :value expenses',
'restored_expenses': 'Successfully restored :value expenses',
'copy_shipping': 'Copy Shipping', 'copy_shipping': 'Copy Shipping',
'copy_billing': 'Copy Billing', 'copy_billing': 'Copy Billing',
'design': 'Design', 'design': 'Design',
@ -1004,6 +1054,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_task': 'Successfully archived task', 'archived_task': 'Successfully archived task',
'deleted_task': 'Successfully deleted task', 'deleted_task': 'Successfully deleted task',
'restored_task': 'Successfully restored task', 'restored_task': 'Successfully restored task',
'archived_tasks': 'Successfully archived :value tasks',
'deleted_tasks': 'Successfully deleted :value tasks',
'restored_tasks': 'Successfully restored :value tasks',
'please_enter_a_name': 'Please enter a name', 'please_enter_a_name': 'Please enter a name',
'budgeted_hours': 'Budgeted Hours', 'budgeted_hours': 'Budgeted Hours',
'created_project': 'Successfully created project', 'created_project': 'Successfully created project',
@ -1011,6 +1064,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_project': 'Successfully archived project', 'archived_project': 'Successfully archived project',
'deleted_project': 'Successfully deleted project', 'deleted_project': 'Successfully deleted project',
'restored_project': 'Successfully restored project', 'restored_project': 'Successfully restored project',
'archived_projects': 'Successfully archived :value projects',
'deleted_projects': 'Successfully deleted :value projects',
'restored_projects': 'Successfully restored :value projects',
'new_project': 'New Project', 'new_project': 'New Project',
'thank_you_for_using_our_app': 'Thank you for using our app!', 'thank_you_for_using_our_app': 'Thank you for using our app!',
'if_you_like_it': 'If you like it please', 'if_you_like_it': 'If you like it please',
@ -1130,6 +1186,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_product': 'Successfully archived product', 'archived_product': 'Successfully archived product',
'deleted_product': 'Successfully deleted product', 'deleted_product': 'Successfully deleted product',
'restored_product': 'Successfully restored product', 'restored_product': 'Successfully restored product',
'archived_products': 'Successfully archived :value products',
'deleted_products': 'Successfully deleted :value products',
'restored_products': 'Successfully restored :value products',
'product_key': 'Product', 'product_key': 'Product',
'notes': 'Notes', 'notes': 'Notes',
'cost': 'Cost', 'cost': 'Cost',
@ -1139,8 +1198,11 @@ mixin LocalizationsProvider on LocaleCodeAware {
'created_client': 'Successfully created client', 'created_client': 'Successfully created client',
'updated_client': 'Successfully updated client', 'updated_client': 'Successfully updated client',
'archived_client': 'Successfully archived client', 'archived_client': 'Successfully archived client',
'archived_clients': 'Successfully archived :value clients',
'deleted_client': 'Successfully deleted client', 'deleted_client': 'Successfully deleted client',
'deleted_clients': 'Successfully deleted :value clients',
'restored_client': 'Successfully restored client', 'restored_client': 'Successfully restored client',
'restored_clients': 'Successfully restored :value clients',
'address1': 'Street', 'address1': 'Street',
'address2': 'Apt/Suite', 'address2': 'Apt/Suite',
'city': 'City', 'city': 'City',
@ -1155,6 +1217,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_invoice': 'Successfully archived invoice', 'archived_invoice': 'Successfully archived invoice',
'deleted_invoice': 'Successfully deleted invoice', 'deleted_invoice': 'Successfully deleted invoice',
'restored_invoice': 'Successfully restored invoice', 'restored_invoice': 'Successfully restored invoice',
'archived_invoices': 'Successfully archived :value invoices',
'deleted_invoices': 'Successfully deleted :value invoices',
'restored_invoices': 'Successfully restored :value invoices',
'emailed_invoice': 'Successfully emailed invoice', 'emailed_invoice': 'Successfully emailed invoice',
'emailed_payment': 'Successfully emailed payment', 'emailed_payment': 'Successfully emailed payment',
'amount': 'Amount', 'amount': 'Amount',
@ -1277,6 +1342,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_payment': 'Successfully archived payment', 'archived_payment': 'Successfully archived payment',
'deleted_payment': 'Successfully deleted payment', 'deleted_payment': 'Successfully deleted payment',
'restored_payment': 'Successfully restored payment', 'restored_payment': 'Successfully restored payment',
'archived_payments': 'Successfully archived :value payments',
'deleted_payments': 'Successfully deleted :value payments',
'restored_payments': 'Successfully restored :value payments',
'quote': 'Quote', 'quote': 'Quote',
'quotes': 'Quotes', 'quotes': 'Quotes',
'new_quote': 'New Quote', 'new_quote': 'New Quote',
@ -1285,6 +1353,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
'archived_quote': 'Successfully archived quote', 'archived_quote': 'Successfully archived quote',
'deleted_quote': 'Successfully deleted quote', 'deleted_quote': 'Successfully deleted quote',
'restored_quote': 'Successfully restored quote', 'restored_quote': 'Successfully restored quote',
'archived_quotes': 'Successfully archived :value quotes',
'deleted_quotes': 'Successfully deleted :value quotes',
'restored_quotes': 'Successfully restored :value quotes',
'expense': 'Expense', 'expense': 'Expense',
'expenses': 'Expenses', 'expenses': 'Expenses',
'vendor': 'Vendor', 'vendor': 'Vendor',
@ -1479,6 +1550,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredProject => String get restoredProject =>
_localizedValues[localeCode]['restored_project'] ?? ''; _localizedValues[localeCode]['restored_project'] ?? '';
String get archivedProjects =>
_localizedValues[localeCode]['archived_projects'] ?? '';
String get deletedProjects =>
_localizedValues[localeCode]['deleted_projects'] ?? '';
String get restoredProjects =>
_localizedValues[localeCode]['restored_projects'] ?? '';
String get newProject => _localizedValues[localeCode]['new_project'] ?? ''; String get newProject => _localizedValues[localeCode]['new_project'] ?? '';
String get thankYouForUsingOurApp => String get thankYouForUsingOurApp =>
@ -1760,6 +1840,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredProduct => String get restoredProduct =>
_localizedValues[localeCode]['restored_product'] ?? ''; _localizedValues[localeCode]['restored_product'] ?? '';
String get archivedProducts =>
_localizedValues[localeCode]['archived_products'] ?? '';
String get deletedProducts =>
_localizedValues[localeCode]['deleted_products'] ?? '';
String get restoredProducts =>
_localizedValues[localeCode]['restored_products'] ?? '';
String get newVendor => _localizedValues[localeCode]['new_vendor'] ?? ''; String get newVendor => _localizedValues[localeCode]['new_vendor'] ?? '';
String get createdVendor => String get createdVendor =>
@ -1777,6 +1866,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredVendor => String get restoredVendor =>
_localizedValues[localeCode]['restored_vendor'] ?? ''; _localizedValues[localeCode]['restored_vendor'] ?? '';
String get archivedVendors =>
_localizedValues[localeCode]['archived_vendors'] ?? '';
String get deletedVendors =>
_localizedValues[localeCode]['deleted_vendors'] ?? '';
String get restoredVendors =>
_localizedValues[localeCode]['restored_vendors'] ?? '';
String get document => _localizedValues[localeCode]['document'] ?? ''; String get document => _localizedValues[localeCode]['document'] ?? '';
String get documents => _localizedValues[localeCode]['documents'] ?? ''; String get documents => _localizedValues[localeCode]['documents'] ?? '';
@ -1801,6 +1899,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredDocument => String get restoredDocument =>
_localizedValues[localeCode]['restored_document'] ?? ''; _localizedValues[localeCode]['restored_document'] ?? '';
String get archivedDocuments =>
_localizedValues[localeCode]['archived_documents'] ?? '';
String get deletedDocuments =>
_localizedValues[localeCode]['deleted_documents'] ?? '';
String get restoredDocuments =>
_localizedValues[localeCode]['restored_documents'] ?? '';
String get newExpense => _localizedValues[localeCode]['new_expense'] ?? ''; String get newExpense => _localizedValues[localeCode]['new_expense'] ?? '';
String get createdExpense => String get createdExpense =>
@ -1818,6 +1925,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredExpense => String get restoredExpense =>
_localizedValues[localeCode]['restored_expense'] ?? ''; _localizedValues[localeCode]['restored_expense'] ?? '';
String get archivedExpenses =>
_localizedValues[localeCode]['archived_expenses'] ?? '';
String get deletedExpenses =>
_localizedValues[localeCode]['deleted_expenses'] ?? '';
String get restoredExpenses =>
_localizedValues[localeCode]['restored_expenses'] ?? '';
String get productKey => _localizedValues[localeCode]['product_key'] ?? ''; String get productKey => _localizedValues[localeCode]['product_key'] ?? '';
String get notes => _localizedValues[localeCode]['notes'] ?? ''; String get notes => _localizedValues[localeCode]['notes'] ?? '';
@ -1845,6 +1961,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredClient => String get restoredClient =>
_localizedValues[localeCode]['restored_client'] ?? ''; _localizedValues[localeCode]['restored_client'] ?? '';
String get archivedClients =>
_localizedValues[localeCode]['archived_clients'] ?? '';
String get deletedClients =>
_localizedValues[localeCode]['deleted_clients'] ?? '';
String get restoredClients =>
_localizedValues[localeCode]['restored_clients'] ?? '';
String get address1 => _localizedValues[localeCode]['address1'] ?? ''; String get address1 => _localizedValues[localeCode]['address1'] ?? '';
String get address2 => _localizedValues[localeCode]['address2'] ?? ''; String get address2 => _localizedValues[localeCode]['address2'] ?? '';
@ -1878,6 +2003,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredInvoice => String get restoredInvoice =>
_localizedValues[localeCode]['restored_invoice'] ?? ''; _localizedValues[localeCode]['restored_invoice'] ?? '';
String get archivedInvoices =>
_localizedValues[localeCode]['archived_invoices'] ?? '';
String get deletedInvoices =>
_localizedValues[localeCode]['deleted_invoices'] ?? '';
String get restoredInvoices =>
_localizedValues[localeCode]['restored_invoices'] ?? '';
String get emailedInvoice => String get emailedInvoice =>
_localizedValues[localeCode]['emailed_invoice'] ?? ''; _localizedValues[localeCode]['emailed_invoice'] ?? '';
@ -2159,6 +2293,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredPayment => String get restoredPayment =>
_localizedValues[localeCode]['restored_payment'] ?? ''; _localizedValues[localeCode]['restored_payment'] ?? '';
String get archivedPayments =>
_localizedValues[localeCode]['archived_payments'] ?? '';
String get deletedPayments =>
_localizedValues[localeCode]['deleted_payments'] ?? '';
String get restoredPayments =>
_localizedValues[localeCode]['restored_payments'] ?? '';
String get quote => _localizedValues[localeCode]['quote'] ?? ''; String get quote => _localizedValues[localeCode]['quote'] ?? '';
String get quotes => _localizedValues[localeCode]['quotes'] ?? ''; String get quotes => _localizedValues[localeCode]['quotes'] ?? '';
@ -2180,6 +2323,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredQuote => String get restoredQuote =>
_localizedValues[localeCode]['restored_quote'] ?? ''; _localizedValues[localeCode]['restored_quote'] ?? '';
String get archivedQuotes =>
_localizedValues[localeCode]['archived_quotes'] ?? '';
String get deletedQuotes =>
_localizedValues[localeCode]['deleted_quotes'] ?? '';
String get restoredQuotes =>
_localizedValues[localeCode]['restored_quotes'] ?? '';
String get expense => _localizedValues[localeCode]['expense'] ?? ''; String get expense => _localizedValues[localeCode]['expense'] ?? '';
String get expenses => _localizedValues[localeCode]['expenses'] ?? ''; String get expenses => _localizedValues[localeCode]['expenses'] ?? '';
@ -2349,6 +2501,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredTask => String get restoredTask =>
_localizedValues[localeCode]['restored_task'] ?? ''; _localizedValues[localeCode]['restored_task'] ?? '';
String get archivedTasks =>
_localizedValues[localeCode]['archived_tasks'] ?? '';
String get deletedTasks =>
_localizedValues[localeCode]['deleted_tasks'] ?? '';
String get restoredTasks =>
_localizedValues[localeCode]['restored_tasks'] ?? '';
String get newTask => _localizedValues[localeCode]['new_task'] ?? ''; String get newTask => _localizedValues[localeCode]['new_task'] ?? '';
String get duration => _localizedValues[localeCode]['duration'] ?? ''; String get duration => _localizedValues[localeCode]['duration'] ?? '';
@ -2603,6 +2764,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredGroup => String get restoredGroup =>
_localizedValues[localeCode]['restored_group'] ?? ''; _localizedValues[localeCode]['restored_group'] ?? '';
String get archivedGroups =>
_localizedValues[localeCode]['archived_groups'] ?? '';
String get deletedGroups =>
_localizedValues[localeCode]['deleted_groups'] ?? '';
String get restoredGroups =>
_localizedValues[localeCode]['restored_groups'] ?? '';
String get editGroup => _localizedValues[localeCode]['edit_group'] ?? ''; String get editGroup => _localizedValues[localeCode]['edit_group'] ?? '';
String get groups => _localizedValues[localeCode]['groups'] ?? ''; String get groups => _localizedValues[localeCode]['groups'] ?? '';
@ -2726,6 +2896,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredCompanyGateway => String get restoredCompanyGateway =>
_localizedValues[localeCode]['restored_company_gateway'] ?? ''; _localizedValues[localeCode]['restored_company_gateway'] ?? '';
String get archivedCompanyGateways =>
_localizedValues[localeCode]['archived_company_gateways'] ?? '';
String get deletedCompanyGateways =>
_localizedValues[localeCode]['deleted_company_gateways'] ?? '';
String get restoredCompanyGateways =>
_localizedValues[localeCode]['restored_company_gateways'] ?? '';
String get companyGateways => String get companyGateways =>
_localizedValues[localeCode]['company_gateways'] ?? ''; _localizedValues[localeCode]['company_gateways'] ?? '';
@ -2773,6 +2952,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredTaxRate => String get restoredTaxRate =>
_localizedValues[localeCode]['restored_tax_rate'] ?? ''; _localizedValues[localeCode]['restored_tax_rate'] ?? '';
String get archivedTaxRates =>
_localizedValues[localeCode]['archived_tax_rates'] ?? '';
String get deletedTaxRates =>
_localizedValues[localeCode]['deleted_tax_rates'] ?? '';
String get restoredTaxRates =>
_localizedValues[localeCode]['restored_tax_rates'] ?? '';
String get editTaxRate => _localizedValues[localeCode]['edit_tax_rate'] ?? ''; String get editTaxRate => _localizedValues[localeCode]['edit_tax_rate'] ?? '';
String get taxRate => _localizedValues[localeCode]['tax_rate'] ?? ''; String get taxRate => _localizedValues[localeCode]['tax_rate'] ?? '';
@ -3113,6 +3301,18 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredUser => String get restoredUser =>
_localizedValues[localeCode]['restored_user'] ?? ''; _localizedValues[localeCode]['restored_user'] ?? '';
String get archivedUsers =>
_localizedValues[localeCode]['archived_users'] ?? '';
String get deletedUsers =>
_localizedValues[localeCode]['deleted_users'] ?? '';
String get removedUsers =>
_localizedValues[localeCode]['removed_users'] ?? '';
String get restoredUsers =>
_localizedValues[localeCode]['restored_users'] ?? '';
String get editUser => _localizedValues[localeCode]['edit_user'] ?? ''; String get editUser => _localizedValues[localeCode]['edit_user'] ?? '';
String get users => _localizedValues[localeCode]['users'] ?? ''; String get users => _localizedValues[localeCode]['users'] ?? '';
@ -3775,6 +3975,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredTaskStatus => String get restoredTaskStatus =>
_localizedValues[localeCode]['restored_task_status']; _localizedValues[localeCode]['restored_task_status'];
String get archivedTaskStatuses =>
_localizedValues[localeCode]['archived_task_statuses'];
String get deletedTaskStatuses =>
_localizedValues[localeCode]['deleted_task_statuses'];
String get restoredTaskStatuses =>
_localizedValues[localeCode]['restored_task_statuses'];
String get editTaskStatus => _localizedValues[localeCode]['edit_task_status']; String get editTaskStatus => _localizedValues[localeCode]['edit_task_status'];
String get searchTaskStatus => String get searchTaskStatus =>
@ -3804,6 +4013,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredExpenseCategory => String get restoredExpenseCategory =>
_localizedValues[localeCode]['restored_expense_category']; _localizedValues[localeCode]['restored_expense_category'];
String get archivedExpenseCategories =>
_localizedValues[localeCode]['archived_expense_categories'];
String get deletedExpenseCategories =>
_localizedValues[localeCode]['deleted_expense_categories'];
String get restoredExpenseCategories =>
_localizedValues[localeCode]['restored_expense_categories'];
String get editExpenseCategory => String get editExpenseCategory =>
_localizedValues[localeCode]['edit_expense_category']; _localizedValues[localeCode]['edit_expense_category'];
@ -3834,6 +4052,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredRecurringInvoice => String get restoredRecurringInvoice =>
_localizedValues[localeCode]['restored_recurring_invoice']; _localizedValues[localeCode]['restored_recurring_invoice'];
String get archivedRecurringInvoices =>
_localizedValues[localeCode]['archived_recurring_invoices'];
String get deletedRecurringInvoices =>
_localizedValues[localeCode]['deleted_recurring_invoices'];
String get restoredRecurringInvoices =>
_localizedValues[localeCode]['restored_recurring_invoices'];
String get stoppedRecurringInvoice => String get stoppedRecurringInvoice =>
_localizedValues[localeCode]['stopped_recurring_invoice']; _localizedValues[localeCode]['stopped_recurring_invoice'];
@ -3867,6 +4094,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredWebhook => String get restoredWebhook =>
_localizedValues[localeCode]['restored_webhook'] ?? ''; _localizedValues[localeCode]['restored_webhook'] ?? '';
String get archivedWebhooks =>
_localizedValues[localeCode]['archived_webhooks'] ?? '';
String get deletedWebhooks =>
_localizedValues[localeCode]['deleted_webhooks'] ?? '';
String get restoredWebhooks =>
_localizedValues[localeCode]['restored_webhooks'] ?? '';
String get editWebhook => _localizedValues[localeCode]['edit_webhook'] ?? ''; String get editWebhook => _localizedValues[localeCode]['edit_webhook'] ?? '';
String get token => _localizedValues[localeCode]['token'] ?? ''; String get token => _localizedValues[localeCode]['token'] ?? '';
@ -3890,6 +4126,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredToken => String get restoredToken =>
_localizedValues[localeCode]['restored_token'] ?? ''; _localizedValues[localeCode]['restored_token'] ?? '';
String get archivedTokens =>
_localizedValues[localeCode]['archived_tokens'] ?? '';
String get deletedTokens =>
_localizedValues[localeCode]['deleted_tokens'] ?? '';
String get restoredTokens =>
_localizedValues[localeCode]['restored_tokens'] ?? '';
String get editToken => _localizedValues[localeCode]['edit_token'] ?? ''; String get editToken => _localizedValues[localeCode]['edit_token'] ?? '';
String get paymentTerm => _localizedValues[localeCode]['payment_term'] ?? ''; String get paymentTerm => _localizedValues[localeCode]['payment_term'] ?? '';
@ -3912,6 +4157,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredPaymentTerm => String get restoredPaymentTerm =>
_localizedValues[localeCode]['restored_payment_term'] ?? ''; _localizedValues[localeCode]['restored_payment_term'] ?? '';
String get archivedPaymentTerms =>
_localizedValues[localeCode]['archived_payment_terms'] ?? '';
String get deletedPaymentTerms =>
_localizedValues[localeCode]['deleted_payment_terms'] ?? '';
String get restoredPaymentTerms =>
_localizedValues[localeCode]['restored_payment_terms'] ?? '';
String get editPaymentTerm => String get editPaymentTerm =>
_localizedValues[localeCode]['edit_payment_term'] ?? ''; _localizedValues[localeCode]['edit_payment_term'] ?? '';
@ -3934,6 +4188,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredDesign => String get restoredDesign =>
_localizedValues[localeCode]['restored_design'] ?? ''; _localizedValues[localeCode]['restored_design'] ?? '';
String get archivedDesigns =>
_localizedValues[localeCode]['archived_designs'] ?? '';
String get deletedDesigns =>
_localizedValues[localeCode]['deleted_designs'] ?? '';
String get restoredDesigns =>
_localizedValues[localeCode]['restored_designs'] ?? '';
String get editDesign => _localizedValues[localeCode]['edit_design'] ?? ''; String get editDesign => _localizedValues[localeCode]['edit_design'] ?? '';
String get newCredit => _localizedValues[localeCode]['new_credit'] ?? ''; String get newCredit => _localizedValues[localeCode]['new_credit'] ?? '';
@ -3953,6 +4216,15 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get restoredCredit => String get restoredCredit =>
_localizedValues[localeCode]['restored_credit'] ?? ''; _localizedValues[localeCode]['restored_credit'] ?? '';
String get archivedCredits =>
_localizedValues[localeCode]['archived_credits'] ?? '';
String get deletedCredits =>
_localizedValues[localeCode]['deleted_credits'] ?? '';
String get restoredCredits =>
_localizedValues[localeCode]['restored_credits'] ?? '';
String get creditDate => _localizedValues[localeCode]['credit_date'] ?? ''; String get creditDate => _localizedValues[localeCode]['credit_date'] ?? '';
String get accountManagement => String get accountManagement =>