@pi-spi/app 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/l10n/app_localizations.js.map +1 -1
- package/lib/module/l10n/app_localizations_en.js +32 -8
- package/lib/module/l10n/app_localizations_en.js.map +1 -1
- package/lib/module/l10n/app_localizations_fr.js +41 -14
- package/lib/module/l10n/app_localizations_fr.js.map +1 -1
- package/lib/module/l10n/app_localizations_pt.js +33 -7
- package/lib/module/l10n/app_localizations_pt.js.map +1 -1
- package/lib/module/modules/alias/domain/models/alias_revendication.js +4 -2
- package/lib/module/modules/alias/domain/models/alias_revendication.js.map +1 -1
- package/lib/module/modules/alias/infra/alias_output_local.js +11 -0
- package/lib/module/modules/alias/infra/alias_output_local.js.map +1 -1
- package/lib/module/modules/alias/infra/alias_output_repository.js +9 -8
- package/lib/module/modules/alias/infra/alias_output_repository.js.map +1 -1
- package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js +14 -18
- package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js.map +1 -1
- package/lib/module/modules/alias/presentation/pages/alias_page_claim.js +113 -60
- package/lib/module/modules/alias/presentation/pages/alias_page_claim.js.map +1 -1
- package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js +151 -76
- package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js.map +1 -1
- package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js +38 -24
- package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js.map +1 -1
- package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js +28 -26
- package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js.map +1 -1
- package/lib/module/modules/alias/presentation/pages/alias_page_otp.js +27 -110
- package/lib/module/modules/alias/presentation/pages/alias_page_otp.js.map +1 -1
- package/lib/module/modules/categorie/domain/services/categorie_service.js +2 -1
- package/lib/module/modules/categorie/domain/services/categorie_service.js.map +1 -1
- package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js +38 -42
- package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js.map +1 -1
- package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js +88 -80
- package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js.map +1 -1
- package/lib/module/modules/categorie/presentation/pages/categorie_icon.js +39 -0
- package/lib/module/modules/categorie/presentation/pages/categorie_icon.js.map +1 -1
- package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js +55 -27
- package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js.map +1 -1
- package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js +21 -81
- package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js.map +1 -1
- package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js +53 -16
- package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js.map +1 -1
- package/lib/module/modules/config/domain/models/config_keys.js +2 -0
- package/lib/module/modules/config/domain/models/config_keys.js.map +1 -1
- package/lib/module/modules/contacts/domain/contact_pi.js +3 -5
- package/lib/module/modules/contacts/domain/contact_pi.js.map +1 -1
- package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js +30 -14
- package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js.map +1 -1
- package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js +106 -0
- package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js.map +1 -0
- package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js +17 -7
- package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js.map +1 -1
- package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js +5 -4
- package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js.map +1 -1
- package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js +76 -67
- package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js.map +1 -1
- package/lib/module/modules/contacts/presentation/pages/contact_section.js +14 -4
- package/lib/module/modules/contacts/presentation/pages/contact_section.js.map +1 -1
- package/lib/module/modules/contacts/presentation/pages/contact_select_page.js +131 -110
- package/lib/module/modules/contacts/presentation/pages/contact_select_page.js.map +1 -1
- package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js +118 -59
- package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js.map +1 -1
- package/lib/module/modules/home/presentation/pages/home_page.js +3 -13
- package/lib/module/modules/home/presentation/pages/home_page.js.map +1 -1
- package/lib/module/modules/introduction/presentation/pages/introduction.js +17 -4
- package/lib/module/modules/introduction/presentation/pages/introduction.js.map +1 -1
- package/lib/module/modules/introduction/presentation/pages/introduction_footer.js +15 -53
- package/lib/module/modules/introduction/presentation/pages/introduction_footer.js.map +1 -1
- package/lib/module/modules/introduction/presentation/pages/introduction_page.js +22 -4
- package/lib/module/modules/introduction/presentation/pages/introduction_page.js.map +1 -1
- package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js +2 -2
- package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js.map +1 -1
- package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js +1 -1
- package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js.map +1 -1
- package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js +2 -2
- package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js.map +1 -1
- package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js +14 -52
- package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js.map +1 -1
- package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js +11 -1
- package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js.map +1 -1
- package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js +3 -3
- package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js.map +1 -1
- package/lib/module/modules/search/domain/models/fonctionnalite.js +51 -0
- package/lib/module/modules/search/domain/models/fonctionnalite.js.map +1 -1
- package/lib/module/modules/search/presentation/pages/search_btn_widget.js +136 -0
- package/lib/module/modules/search/presentation/pages/search_btn_widget.js.map +1 -0
- package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js +21 -1
- package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js.map +1 -1
- package/lib/module/modules/search/presentation/pages/search_page.js +266 -97
- package/lib/module/modules/search/presentation/pages/search_page.js.map +1 -1
- package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js +5 -3
- package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js.map +1 -1
- package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js +5 -6
- package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js.map +1 -1
- package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js +3 -3
- package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js.map +1 -1
- package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js +1 -2
- package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js.map +1 -1
- package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js +17 -0
- package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js +30 -23
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js +6 -6
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js +6 -6
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js +16 -4
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js +11 -9
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js +9 -7
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js +8 -10
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js +127 -105
- package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js +9 -15
- package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js +5 -11
- package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js.map +1 -1
- package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js +9 -9
- package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js.map +1 -1
- package/lib/module/shared/widgets/alias_widget.js +33 -12
- package/lib/module/shared/widgets/alias_widget.js.map +1 -1
- package/lib/module/shared/widgets/auth_code_field.js +89 -0
- package/lib/module/shared/widgets/auth_code_field.js.map +1 -0
- package/lib/module/shared/widgets/calendar_date_picker.js +21 -16
- package/lib/module/shared/widgets/calendar_date_picker.js.map +1 -1
- package/lib/module/shared/widgets/confirm_action_sheet_widget.js +20 -1
- package/lib/module/shared/widgets/confirm_action_sheet_widget.js.map +1 -1
- package/lib/module/shared/widgets/emoji_select_widget.js +34 -39
- package/lib/module/shared/widgets/emoji_select_widget.js.map +1 -1
- package/lib/module/shared/widgets/frequence_input_widget.js +18 -29
- package/lib/module/shared/widgets/frequence_input_widget.js.map +1 -1
- package/lib/module/shared/widgets/frequence_select_widget.js +233 -140
- package/lib/module/shared/widgets/frequence_select_widget.js.map +1 -1
- package/lib/module/shared/widgets/image_select_widget.js +4 -4
- package/lib/module/shared/widgets/image_select_widget.js.map +1 -1
- package/lib/module/shared/widgets/input_text.js +1 -1
- package/lib/module/shared/widgets/input_text.js.map +1 -1
- package/lib/module/shared/widgets/notification_dialog.js +3 -2
- package/lib/module/shared/widgets/notification_dialog.js.map +1 -1
- package/lib/module/shared/widgets/pin_entete.js +114 -0
- package/lib/module/shared/widgets/pin_entete.js.map +1 -0
- package/lib/module/shared/widgets/select_date_widget.js +74 -59
- package/lib/module/shared/widgets/select_date_widget.js.map +1 -1
- package/lib/module/shared/widgets/selection.js +21 -16
- package/lib/module/shared/widgets/selection.js.map +1 -1
- package/lib/typescript/src/l10n/app_localizations.d.ts +59 -11
- package/lib/typescript/src/l10n/app_localizations.d.ts.map +1 -1
- package/lib/typescript/src/l10n/app_localizations_en.d.ts.map +1 -1
- package/lib/typescript/src/l10n/app_localizations_fr.d.ts.map +1 -1
- package/lib/typescript/src/l10n/app_localizations_pt.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/domain/models/alias_revendication.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts +5 -0
- package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/infra/alias_output_repository.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_delete_btn_widget.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_claim.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_form.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts +1 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts +4 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts.map +1 -1
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts +9 -5
- package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts.map +1 -1
- package/lib/typescript/src/modules/categorie/domain/services/categorie_service.d.ts.map +1 -1
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts +3 -0
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts.map +1 -1
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_form_pages.d.ts.map +1 -1
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts +9 -0
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts.map +1 -1
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts +7 -2
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts.map +1 -1
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts +10 -2
- package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts.map +1 -1
- package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts +3 -1
- package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts +0 -2
- package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts +7 -0
- package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts +14 -0
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts.map +1 -0
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts +4 -2
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_phone_widget.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts +6 -4
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts +3 -1
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/presentation/pages/contact_select_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/contacts/presentation/pages/create/contact_create_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/home/presentation/pages/home_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/introduction/presentation/pages/introduction.d.ts.map +1 -1
- package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts +5 -1
- package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts.map +1 -1
- package/lib/typescript/src/modules/introduction/presentation/pages/introduction_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts.d.ts.map +1 -1
- package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts_actions.d.ts.map +1 -1
- package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts +20 -0
- package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts.map +1 -1
- package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts +11 -0
- package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts.map +1 -0
- package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts.map +1 -1
- package/lib/typescript/src/modules/search/presentation/pages/search_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts +4 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts +4 -0
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.d.ts.map +1 -1
- package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/alias_widget.d.ts +2 -2
- package/lib/typescript/src/shared/widgets/alias_widget.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/auth_code_field.d.ts +17 -0
- package/lib/typescript/src/shared/widgets/auth_code_field.d.ts.map +1 -0
- package/lib/typescript/src/shared/widgets/calendar_date_picker.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts +12 -1
- package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/emoji_select_widget.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts +6 -3
- package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts +23 -5
- package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/image_select_widget.d.ts +1 -1
- package/lib/typescript/src/shared/widgets/input_text.d.ts +2 -0
- package/lib/typescript/src/shared/widgets/input_text.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/notification_dialog.d.ts +3 -1
- package/lib/typescript/src/shared/widgets/notification_dialog.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/pin_entete.d.ts +15 -0
- package/lib/typescript/src/shared/widgets/pin_entete.d.ts.map +1 -0
- package/lib/typescript/src/shared/widgets/select_date_widget.d.ts +4 -0
- package/lib/typescript/src/shared/widgets/select_date_widget.d.ts.map +1 -1
- package/lib/typescript/src/shared/widgets/selection.d.ts +11 -7
- package/lib/typescript/src/shared/widgets/selection.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/l10n/app_localizations.ts +59 -11
- package/src/l10n/app_localizations_en.ts +32 -8
- package/src/l10n/app_localizations_fr.ts +38 -14
- package/src/l10n/app_localizations_pt.ts +31 -7
- package/src/modules/alias/domain/models/alias_revendication.ts +4 -2
- package/src/modules/alias/infra/alias_output_local.ts +11 -0
- package/src/modules/alias/infra/alias_output_repository.ts +9 -8
- package/src/modules/alias/presentation/pages/alias_delete_btn_widget.tsx +17 -24
- package/src/modules/alias/presentation/pages/alias_page_claim.tsx +76 -48
- package/src/modules/alias/presentation/pages/alias_page_create_mbno_form.tsx +113 -65
- package/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.tsx +34 -25
- package/src/modules/alias/presentation/pages/alias_page_create_options.tsx +29 -36
- package/src/modules/alias/presentation/pages/alias_page_otp.tsx +24 -88
- package/src/modules/categorie/domain/services/categorie_service.ts +2 -1
- package/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.tsx +38 -28
- package/src/modules/categorie/presentation/pages/categorie_form_pages.tsx +71 -41
- package/src/modules/categorie/presentation/pages/categorie_icon.tsx +26 -0
- package/src/modules/categorie/presentation/pages/categorie_liste_widget.tsx +45 -24
- package/src/modules/categorie/presentation/pages/categorie_select_page.tsx +10 -46
- package/src/modules/categorie/presentation/pages/categorie_select_widget.tsx +54 -13
- package/src/modules/config/domain/models/config_keys.ts +3 -0
- package/src/modules/contacts/domain/contact_pi.ts +3 -6
- package/src/modules/contacts/presentation/bloc/contact_bloc.ts +37 -20
- package/src/modules/contacts/presentation/pages/contact_actions_sheet.tsx +69 -0
- package/src/modules/contacts/presentation/pages/contact_list_alias_widget.tsx +26 -4
- package/src/modules/contacts/presentation/pages/contact_list_phone_widget.tsx +3 -0
- package/src/modules/contacts/presentation/pages/contact_list_widget_item.tsx +54 -65
- package/src/modules/contacts/presentation/pages/contact_section.tsx +13 -3
- package/src/modules/contacts/presentation/pages/contact_select_page.tsx +106 -74
- package/src/modules/contacts/presentation/pages/create/contact_create_page.tsx +86 -47
- package/src/modules/home/presentation/pages/home_page.tsx +2 -9
- package/src/modules/introduction/presentation/pages/introduction.tsx +8 -0
- package/src/modules/introduction/presentation/pages/introduction_footer.tsx +16 -36
- package/src/modules/introduction/presentation/pages/introduction_page.tsx +17 -5
- package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.tsx +2 -2
- package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx +1 -1
- package/src/modules/profile/presentation/pages/profile_page_avatar.tsx +2 -2
- package/src/modules/profile/presentation/pages/profile_page_contacts.tsx +12 -19
- package/src/modules/profile/presentation/pages/profile_page_contacts_actions.tsx +10 -1
- package/src/modules/qrcode/presentation/pages/qrcode_alias_page_share.tsx +3 -3
- package/src/modules/search/domain/models/fonctionnalite.ts +56 -0
- package/src/modules/search/presentation/pages/search_btn_widget.tsx +91 -0
- package/src/modules/search/presentation/pages/search_fonctionnalites.ts +21 -1
- package/src/modules/search/presentation/pages/search_page.tsx +166 -57
- package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.tsx +4 -2
- package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.tsx +5 -5
- package/src/modules/subscription/presentation/pages/subscription_menu_widget.tsx +3 -3
- package/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.ts +1 -2
- package/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.ts +17 -0
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.tsx +26 -17
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.tsx +9 -9
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.tsx +9 -9
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page.tsx +20 -2
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.tsx +6 -8
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.tsx +5 -5
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.tsx +5 -7
- package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.tsx +112 -103
- package/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.tsx +6 -10
- package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.tsx +3 -6
- package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.tsx +5 -5
- package/src/shared/widgets/alias_widget.tsx +45 -18
- package/src/shared/widgets/auth_code_field.tsx +89 -0
- package/src/shared/widgets/calendar_date_picker.tsx +12 -11
- package/src/shared/widgets/confirm_action_sheet_widget.tsx +19 -1
- package/src/shared/widgets/emoji_select_widget.tsx +31 -29
- package/src/shared/widgets/frequence_input_widget.tsx +18 -24
- package/src/shared/widgets/frequence_select_widget.tsx +237 -117
- package/src/shared/widgets/image_select_widget.tsx +4 -4
- package/src/shared/widgets/input_text.tsx +3 -0
- package/src/shared/widgets/notification_dialog.tsx +4 -1
- package/src/shared/widgets/pin_entete.tsx +74 -0
- package/src/shared/widgets/select_date_widget.tsx +66 -34
- package/src/shared/widgets/selection.tsx +23 -12
|
@@ -15,7 +15,7 @@ import { withAlpha } from '../../../../shared/utils/color';
|
|
|
15
15
|
import { AvatarWidget } from '../../../../shared/widgets/avatar_widget';
|
|
16
16
|
import { ClipboardWidget } from '../../../../shared/widgets/clipboard_widget';
|
|
17
17
|
import { ImageSelectWidget } from '../../../../shared/widgets/image_select_widget';
|
|
18
|
-
import {
|
|
18
|
+
import { SelectionOption } from '../../../../shared/widgets/selection';
|
|
19
19
|
import { AliasBloc } from '../../../alias/presentation/bloc/alias_bloc';
|
|
20
20
|
import { AliasExistState } from '../../../alias/presentation/bloc/alias_state';
|
|
21
21
|
import { ProfileAvatar } from '../../domain/profile_avatar';
|
|
@@ -46,7 +46,7 @@ export function ProfilePageAvatar() {
|
|
|
46
46
|
otherActions={
|
|
47
47
|
avatar != null
|
|
48
48
|
? [
|
|
49
|
-
<
|
|
49
|
+
<SelectionOption
|
|
50
50
|
key="delete"
|
|
51
51
|
icone="delete-forever"
|
|
52
52
|
titre={traductions.btnTextDelete}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { MaterialIcons } from '@expo/vector-icons';
|
|
2
|
-
import { Image } from 'expo-image';
|
|
3
2
|
import { useState } from 'react';
|
|
4
|
-
import { Keyboard, Pressable, StyleSheet,
|
|
3
|
+
import { Keyboard, Pressable, StyleSheet, TextInput, View } from 'react-native';
|
|
5
4
|
|
|
6
5
|
import { Images } from '../../../../core/assets';
|
|
7
6
|
import { useBloc } from '../../../../core/bloc_react';
|
|
@@ -11,6 +10,7 @@ import { useAppLocalizations } from '../../../../l10n/localizations';
|
|
|
11
10
|
import { Card } from '../../../../shared/material/card';
|
|
12
11
|
import { showModalBottomSheet } from '../../../../shared/material/overlays';
|
|
13
12
|
import { Scaffold } from '../../../../shared/material/scaffold';
|
|
13
|
+
import { SelectionOption } from '../../../../shared/widgets/selection';
|
|
14
14
|
import { MyPageContainer } from '../../../../shared/widgets/my_page_container';
|
|
15
15
|
import type { ContactPI } from '../../../contacts/domain/contact_pi';
|
|
16
16
|
import type { PhoneContact } from '../../../contacts/domain/phone_contact';
|
|
@@ -67,18 +67,13 @@ export function ProfilePageContacts({ contactPI }: { contactPI?: ContactPI | nul
|
|
|
67
67
|
{/* Nouveau contact */}
|
|
68
68
|
{!hasInputSearchFocused && searchKeyword == null && (
|
|
69
69
|
<>
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
<Text style={theme.textTheme.displaySmall}>{traductions.profileContactPageaActionAddSubtitle}</Text>
|
|
78
|
-
</View>
|
|
79
|
-
</Pressable>
|
|
80
|
-
</Card>
|
|
81
|
-
<View style={styles.gap10} />
|
|
70
|
+
<SelectionOption
|
|
71
|
+
image={Images.iconTransactionSendByNewContact}
|
|
72
|
+
titre={traductions.profileContactPageaActionAdd}
|
|
73
|
+
sousTitre={traductions.profileContactPageaActionAddSubtitle}
|
|
74
|
+
onPress={() => void onSelect(null, null)}
|
|
75
|
+
/>
|
|
76
|
+
<View style={styles.gap16} />
|
|
82
77
|
</>
|
|
83
78
|
)}
|
|
84
79
|
{/* Contacts (la recherche est transmise à la pagination : le SDK
|
|
@@ -88,6 +83,8 @@ export function ProfilePageContacts({ contactPI }: { contactPI?: ContactPI | nul
|
|
|
88
83
|
hideTitle
|
|
89
84
|
expanded
|
|
90
85
|
searchKeyword={searchKeyword}
|
|
86
|
+
// Le toucher ouvre déjà la feuille du contact
|
|
87
|
+
showActions={false}
|
|
91
88
|
onSelect={(contact, alias) => void onSelect(contact, alias)}
|
|
92
89
|
/>
|
|
93
90
|
</View>
|
|
@@ -102,10 +99,6 @@ const styles = StyleSheet.create({
|
|
|
102
99
|
flex: { flex: 1 },
|
|
103
100
|
search: { height: 36, flexDirection: 'row', alignItems: 'center', paddingHorizontal: 12 },
|
|
104
101
|
input: { flex: 1, marginLeft: 8, paddingVertical: 0 },
|
|
105
|
-
|
|
106
|
-
actionIcon: { width: 45, height: 45, borderRadius: 14, alignItems: 'center', justifyContent: 'center' },
|
|
107
|
-
icon: { width: 20, height: 20 },
|
|
108
|
-
texts: { flex: 1, marginLeft: 16 },
|
|
109
|
-
gap10: { height: 10 },
|
|
102
|
+
gap16: { height: 16 },
|
|
110
103
|
gap20: { height: 20 },
|
|
111
104
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MaterialIcons } from '@expo/vector-icons';
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import { Keyboard, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';
|
|
3
|
+
import { Keyboard, Platform, Pressable, ScrollView, Share, StyleSheet, Text, View } from 'react-native';
|
|
4
4
|
|
|
5
5
|
import { Images } from '../../../../core/assets';
|
|
6
6
|
import { useBloc, useBlocListener, useCreateBloc } from '../../../../core/bloc_react';
|
|
@@ -179,6 +179,15 @@ export function ProfilePageContactsActions({
|
|
|
179
179
|
setCanEdit(true);
|
|
180
180
|
}}
|
|
181
181
|
/>,
|
|
182
|
+
// Partager
|
|
183
|
+
<ProfileMenuTile
|
|
184
|
+
key="partager"
|
|
185
|
+
icone={Platform.OS === 'ios' ? 'ios-share' : 'share'}
|
|
186
|
+
titre={traductions.profileContactPageaActionShare}
|
|
187
|
+
onPress={() =>
|
|
188
|
+
void Share.share({ title: traductions.qrcodePagePartageAliasMessage(name ?? ''), message: alias })
|
|
189
|
+
}
|
|
190
|
+
/>,
|
|
182
191
|
// Supprimer
|
|
183
192
|
<ProfileMenuTile
|
|
184
193
|
key="supprimer"
|
|
@@ -3,7 +3,7 @@ import { ScrollView, Share, StyleSheet, View } from 'react-native';
|
|
|
3
3
|
import { Images } from '../../../../core/assets';
|
|
4
4
|
import { AppRouter, useAppRouter } from '../../../../core/router';
|
|
5
5
|
import { useAppLocalizations } from '../../../../l10n/localizations';
|
|
6
|
-
import {
|
|
6
|
+
import { SelectionOption, SelectionSheet } from '../../../../shared/widgets/selection';
|
|
7
7
|
|
|
8
8
|
/** Feuille « Partager » : le QR code (image) ou l'alias (texte). */
|
|
9
9
|
export function QrcodeAliasPageShare({
|
|
@@ -24,7 +24,7 @@ export function QrcodeAliasPageShare({
|
|
|
24
24
|
contenu={
|
|
25
25
|
<ScrollView bounces={false} contentContainerStyle={styles.content}>
|
|
26
26
|
{/* Partager le QR code */}
|
|
27
|
-
<
|
|
27
|
+
<SelectionOption
|
|
28
28
|
image={Images.homeFooterQrcode}
|
|
29
29
|
titre={traductions.qrcodePagePartageQrCodeTitle}
|
|
30
30
|
sousTitre={traductions.qrcodePagePartageQrCodeSubTitle}
|
|
@@ -35,7 +35,7 @@ export function QrcodeAliasPageShare({
|
|
|
35
35
|
/>
|
|
36
36
|
<View style={styles.gap10} />
|
|
37
37
|
{/* Partager l'alias */}
|
|
38
|
-
<
|
|
38
|
+
<SelectionOption
|
|
39
39
|
image={Images.iconsCircleUser}
|
|
40
40
|
titre={traductions.qrcodePagePartageAliasTitle}
|
|
41
41
|
sousTitre={traductions.qrcodePagePartageAliasSubTitle}
|
|
@@ -30,6 +30,14 @@ const ACCENTS: Record<string, string> = {
|
|
|
30
30
|
æ: 'ae',
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
+
/** Rubrique d'une fonctionnalité, pour grouper la liste quand rien n'est encore saisi. */
|
|
34
|
+
export enum FonctionnaliteRubrique {
|
|
35
|
+
paiements = 'paiements',
|
|
36
|
+
abonnements = 'abonnements',
|
|
37
|
+
servicesBancaires = 'servicesBancaires',
|
|
38
|
+
profil = 'profil',
|
|
39
|
+
}
|
|
40
|
+
|
|
33
41
|
/**
|
|
34
42
|
* Une fonctionnalité de l'application que l'utilisateur peut retrouver
|
|
35
43
|
* depuis la recherche.
|
|
@@ -59,18 +67,66 @@ export class Fonctionnalite {
|
|
|
59
67
|
*/
|
|
60
68
|
readonly ouvrir: () => void;
|
|
61
69
|
|
|
70
|
+
/** Rubrique sous laquelle elle est listée avant toute saisie. */
|
|
71
|
+
readonly rubrique: FonctionnaliteRubrique;
|
|
72
|
+
|
|
73
|
+
/** Proposée en raccourci en haut de la recherche, avant toute saisie. */
|
|
74
|
+
readonly raccourci: boolean;
|
|
75
|
+
|
|
62
76
|
constructor(options: {
|
|
63
77
|
icon: number;
|
|
64
78
|
titre: string;
|
|
65
79
|
sousTitre?: string;
|
|
66
80
|
motsCles?: readonly string[];
|
|
67
81
|
ouvrir: () => void;
|
|
82
|
+
rubrique?: FonctionnaliteRubrique;
|
|
83
|
+
raccourci?: boolean;
|
|
68
84
|
}) {
|
|
69
85
|
this.icon = options.icon;
|
|
70
86
|
this.titre = options.titre;
|
|
71
87
|
this.sousTitre = options.sousTitre;
|
|
72
88
|
this.motsCles = options.motsCles ?? [];
|
|
73
89
|
this.ouvrir = options.ouvrir;
|
|
90
|
+
this.rubrique = options.rubrique ?? FonctionnaliteRubrique.paiements;
|
|
91
|
+
this.raccourci = options.raccourci ?? false;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Parties de [texte] à mettre en évidence pour [recherche] : débuts de
|
|
96
|
+
* mots qui commencent par un mot saisi, sans tenir compte des accents ni
|
|
97
|
+
* des majuscules. Renvoie des intervalles [début, fin[ dans [texte],
|
|
98
|
+
* triés et sans chevauchement.
|
|
99
|
+
*/
|
|
100
|
+
static correspondances(texte: string, recherche: string): [number, number][] {
|
|
101
|
+
const saisis = Fonctionnalite.normaliser(recherche)
|
|
102
|
+
.split(/[^a-z0-9]+/)
|
|
103
|
+
.filter((mot) => mot.length >= 2);
|
|
104
|
+
if (saisis.length === 0) return [];
|
|
105
|
+
// Texte normalisé caractère par caractère, avec la position d'origine
|
|
106
|
+
let t = '';
|
|
107
|
+
const origine: number[] = [];
|
|
108
|
+
for (let i = 0; i < texte.length; i++) {
|
|
109
|
+
// Espace et ponctuation deviennent un séparateur
|
|
110
|
+
const lettre = Fonctionnalite.normaliser(texte[i]);
|
|
111
|
+
const n = lettre.length === 0 ? ' ' : lettre;
|
|
112
|
+
for (const c of n) {
|
|
113
|
+
t += c;
|
|
114
|
+
origine.push(i);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const intervalles: [number, number][] = [];
|
|
118
|
+
for (const mot of t.matchAll(/[a-z0-9]+/g)) {
|
|
119
|
+
const debut = mot.index ?? 0;
|
|
120
|
+
const fin = debut + mot[0].length;
|
|
121
|
+
for (const saisi of saisis) {
|
|
122
|
+
if (t.startsWith(saisi, debut) || saisi.startsWith(mot[0])) {
|
|
123
|
+
const longueur = Math.min(saisi.length, fin - debut);
|
|
124
|
+
intervalles.push([origine[debut], origine[debut + longueur - 1] + 1]);
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return intervalles;
|
|
74
130
|
}
|
|
75
131
|
|
|
76
132
|
/**
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { MaterialIcons } from '@expo/vector-icons';
|
|
2
|
+
import { useEffect, useRef } from 'react';
|
|
3
|
+
import { Animated, Easing, Pressable, StyleSheet, View } from 'react-native';
|
|
4
|
+
|
|
5
|
+
import { useBloc } from '../../../../core/bloc_react';
|
|
6
|
+
import { useTheme } from '../../../../core/theme';
|
|
7
|
+
import { useAppLocalizations } from '../../../../l10n/localizations';
|
|
8
|
+
import { withAlpha } from '../../../../shared/utils/color';
|
|
9
|
+
import { ConfigBloc } from '../../../config/adapters/ui/bloc/config_bloc';
|
|
10
|
+
import { ConfigChangeEvent } from '../../../config/adapters/ui/bloc/config_event';
|
|
11
|
+
import { ConfigLoadedState } from '../../../config/adapters/ui/bloc/config_state';
|
|
12
|
+
import { ConfigKey } from '../../../config/domain/models/config_keys';
|
|
13
|
+
|
|
14
|
+
/** Nombre de premiers affichages de l'accueil où la pastille pulse. */
|
|
15
|
+
const AFFICHAGES_AVEC_PULSATION = 3;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Bouton de recherche des fonctionnalités de la barre de l'accueil : loupe
|
|
19
|
+
* dans une pastille teintée, libellé d'accessibilité (et infobulle au
|
|
20
|
+
* toucher long sur le web). Aux trois premiers affichages de l'accueil, la
|
|
21
|
+
* pastille pulse deux fois pour attirer l'œil ; plus du tout une fois la
|
|
22
|
+
* recherche utilisée. [onPress] absent : bouton grisé.
|
|
23
|
+
*/
|
|
24
|
+
export function SearchBtnWidget({ onPress }: { onPress?: () => void }) {
|
|
25
|
+
const traductions = useAppLocalizations();
|
|
26
|
+
const theme = useTheme();
|
|
27
|
+
const primaire = theme.colorScheme.primary;
|
|
28
|
+
const configBloc = useBloc(ConfigBloc);
|
|
29
|
+
const pulsation = useRef(new Animated.Value(0)).current;
|
|
30
|
+
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (!(configBloc.state instanceof ConfigLoadedState)) return;
|
|
33
|
+
const vus = Number.parseInt(configBloc.getParamValue(ConfigKey.searchHintCount) ?? '', 10) || 0;
|
|
34
|
+
if (vus >= AFFICHAGES_AVEC_PULSATION) return;
|
|
35
|
+
configBloc.add(new ConfigChangeEvent(ConfigKey.searchHintCount, String(vus + 1)));
|
|
36
|
+
// Deux pulsations, une fois l'accueil affiché
|
|
37
|
+
const une = () =>
|
|
38
|
+
Animated.sequence([
|
|
39
|
+
Animated.timing(pulsation, { toValue: 1, duration: 900, easing: Easing.out(Easing.ease), useNativeDriver: true }),
|
|
40
|
+
Animated.timing(pulsation, { toValue: 0, duration: 0, useNativeDriver: true }),
|
|
41
|
+
]);
|
|
42
|
+
const animation = Animated.sequence([Animated.delay(800), une(), une()]);
|
|
43
|
+
animation.start();
|
|
44
|
+
return () => animation.stop();
|
|
45
|
+
}, [configBloc, pulsation]);
|
|
46
|
+
|
|
47
|
+
// Léger grossissement au milieu de la pulsation ; onde qui s'élargit et s'efface
|
|
48
|
+
const scale = pulsation.interpolate({ inputRange: [0, 0.5, 1], outputRange: [1, 1.12, 1] });
|
|
49
|
+
const ondeScale = pulsation.interpolate({ inputRange: [0, 1], outputRange: [1, 1.4] });
|
|
50
|
+
const ondeOpacite = pulsation.interpolate({ inputRange: [0, 0.01, 1], outputRange: [0, 0.25, 0] });
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<View style={styles.zone}>
|
|
54
|
+
<Animated.View
|
|
55
|
+
pointerEvents="none"
|
|
56
|
+
style={[styles.onde, { backgroundColor: primaire, opacity: ondeOpacite, transform: [{ scale: ondeScale }] }]}
|
|
57
|
+
/>
|
|
58
|
+
<Animated.View style={{ transform: [{ scale }] }}>
|
|
59
|
+
<Pressable
|
|
60
|
+
accessibilityRole="button"
|
|
61
|
+
accessibilityLabel={traductions.homePageSearchTooltip}
|
|
62
|
+
accessibilityState={{ disabled: onPress == null }}
|
|
63
|
+
disabled={onPress == null}
|
|
64
|
+
hitSlop={6}
|
|
65
|
+
onPress={() => {
|
|
66
|
+
// Recherche utilisée : plus de pulsation
|
|
67
|
+
if (
|
|
68
|
+
configBloc.state instanceof ConfigLoadedState &&
|
|
69
|
+
configBloc.getParamValue(ConfigKey.searchHintCount) !== String(AFFICHAGES_AVEC_PULSATION)
|
|
70
|
+
) {
|
|
71
|
+
configBloc.add(new ConfigChangeEvent(ConfigKey.searchHintCount, String(AFFICHAGES_AVEC_PULSATION)));
|
|
72
|
+
}
|
|
73
|
+
onPress?.();
|
|
74
|
+
}}
|
|
75
|
+
style={({ pressed }) => [
|
|
76
|
+
styles.pastille,
|
|
77
|
+
{ backgroundColor: withAlpha(primaire, pressed ? 0.22 : 0.12), opacity: onPress == null ? 0.4 : 1 },
|
|
78
|
+
]}
|
|
79
|
+
>
|
|
80
|
+
<MaterialIcons name="search" size={22} color={primaire} />
|
|
81
|
+
</Pressable>
|
|
82
|
+
</Animated.View>
|
|
83
|
+
</View>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const styles = StyleSheet.create({
|
|
88
|
+
zone: { width: 48, height: 48, alignItems: 'center', justifyContent: 'center' },
|
|
89
|
+
onde: { position: 'absolute', width: 40, height: 40, borderRadius: 20 },
|
|
90
|
+
pastille: { width: 40, height: 40, borderRadius: 20, alignItems: 'center', justifyContent: 'center' },
|
|
91
|
+
});
|
|
@@ -5,7 +5,7 @@ import { Di } from '../../../../core/di';
|
|
|
5
5
|
import { AppEnv } from '../../../../core/env';
|
|
6
6
|
import { AppRouter, type SdkRouter } from '../../../../core/router';
|
|
7
7
|
import type { AppLocalizations } from '../../../../l10n/app_localizations';
|
|
8
|
-
import { Fonctionnalite } from '../../domain/models/fonctionnalite';
|
|
8
|
+
import { Fonctionnalite, FonctionnaliteRubrique } from '../../domain/models/fonctionnalite';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Catalogue des fonctionnalités accessibles depuis la recherche.
|
|
@@ -34,6 +34,8 @@ export function fonctionnalitesRecherchables(
|
|
|
34
34
|
new Fonctionnalite({
|
|
35
35
|
icon: Images.arrowUp,
|
|
36
36
|
titre: traductions.homeActionSend,
|
|
37
|
+
rubrique: FonctionnaliteRubrique.paiements,
|
|
38
|
+
raccourci: true,
|
|
37
39
|
sousTitre: traductions.searchSendSubTitle,
|
|
38
40
|
motsCles: ['envoi', 'transfert', 'payer', 'virement', 'send', 'pay', 'transfer', 'enviar', 'pagar'],
|
|
39
41
|
ouvrir: () => aller(AppRouter.transactionSend),
|
|
@@ -41,6 +43,8 @@ export function fonctionnalitesRecherchables(
|
|
|
41
43
|
new Fonctionnalite({
|
|
42
44
|
icon: Images.arrowDown,
|
|
43
45
|
titre: traductions.homeActionRequest,
|
|
46
|
+
rubrique: FonctionnaliteRubrique.paiements,
|
|
47
|
+
raccourci: true,
|
|
44
48
|
sousTitre: traductions.searchReceiveSubTitle,
|
|
45
49
|
motsCles: ['demander', 'demande', 'rtp', 'request', 'receive', 'pedir', 'receber'],
|
|
46
50
|
ouvrir: () => aller(AppRouter.transactionReceive),
|
|
@@ -48,6 +52,7 @@ export function fonctionnalitesRecherchables(
|
|
|
48
52
|
new Fonctionnalite({
|
|
49
53
|
icon: Images.homeFooterQrcode,
|
|
50
54
|
titre: traductions.searchQrScanTitle,
|
|
55
|
+
rubrique: FonctionnaliteRubrique.paiements,
|
|
51
56
|
sousTitre: traductions.searchQrScanSubTitle,
|
|
52
57
|
motsCles: ['qr', 'qrcode', 'scanner', 'scan', 'camera'],
|
|
53
58
|
// Le QR scanné ouvre directement l'envoi, comme depuis l'accueil.
|
|
@@ -56,6 +61,8 @@ export function fonctionnalitesRecherchables(
|
|
|
56
61
|
new Fonctionnalite({
|
|
57
62
|
icon: Images.homeFooterQr,
|
|
58
63
|
titre: traductions.qrcodePagePartageQrCodeTitle,
|
|
64
|
+
rubrique: FonctionnaliteRubrique.paiements,
|
|
65
|
+
raccourci: true,
|
|
59
66
|
sousTitre: traductions.searchQrShowSubTitle,
|
|
60
67
|
motsCles: ['qr', 'qrcode', 'partager', 'share', 'partilhar'],
|
|
61
68
|
ouvrir: () => aller(AppRouter.qrcodeShow),
|
|
@@ -63,6 +70,7 @@ export function fonctionnalitesRecherchables(
|
|
|
63
70
|
new Fonctionnalite({
|
|
64
71
|
icon: Images.iconSend,
|
|
65
72
|
titre: traductions.transactionSearchTitle,
|
|
73
|
+
rubrique: FonctionnaliteRubrique.paiements,
|
|
66
74
|
sousTitre: traductions.searchTransactionsSubTitle,
|
|
67
75
|
motsCles: ['historique', 'paiement', 'operation', 'releve', 'history', 'payment', 'historico', 'pagamento'],
|
|
68
76
|
ouvrir: () => aller(AppRouter.transactionSearch),
|
|
@@ -70,6 +78,7 @@ export function fonctionnalitesRecherchables(
|
|
|
70
78
|
new Fonctionnalite({
|
|
71
79
|
icon: Images.iconsCloche,
|
|
72
80
|
titre: traductions.searchNotificationsTitle,
|
|
81
|
+
rubrique: FonctionnaliteRubrique.paiements,
|
|
73
82
|
sousTitre: traductions.searchNotificationsSubTitle,
|
|
74
83
|
motsCles: ['notification', 'alerte', 'message', 'nouveau', 'alert', 'news', 'notificacao', 'alerta'],
|
|
75
84
|
ouvrir: () => aller(AppRouter.notifications),
|
|
@@ -79,6 +88,8 @@ export function fonctionnalitesRecherchables(
|
|
|
79
88
|
new Fonctionnalite({
|
|
80
89
|
icon: Images.transactionPlanifier,
|
|
81
90
|
titre: traductions.homeActionMoreSheetProgrammerTitle,
|
|
91
|
+
rubrique: FonctionnaliteRubrique.abonnements,
|
|
92
|
+
raccourci: true,
|
|
82
93
|
sousTitre: traductions.homeActionMoreSheetProgrammerSubTitle,
|
|
83
94
|
motsCles: ['programmer', 'planifier', 'recurrent', 'schedule', 'agendar'],
|
|
84
95
|
ouvrir: () => aller(AppRouter.subscriptionSchedule),
|
|
@@ -86,6 +97,7 @@ export function fonctionnalitesRecherchables(
|
|
|
86
97
|
new Fonctionnalite({
|
|
87
98
|
icon: Images.homeMoreFindSubscription,
|
|
88
99
|
titre: traductions.homePageToolbarTabbarAbonnement,
|
|
100
|
+
rubrique: FonctionnaliteRubrique.abonnements,
|
|
89
101
|
sousTitre: traductions.searchAbonnementsSubTitle,
|
|
90
102
|
motsCles: ['abonnement', 'echeance', 'programme', 'subscription', 'assinatura'],
|
|
91
103
|
ouvrir: () => ouvrirOnglet(1),
|
|
@@ -93,6 +105,7 @@ export function fonctionnalitesRecherchables(
|
|
|
93
105
|
new Fonctionnalite({
|
|
94
106
|
icon: Images.homeMoreFindSubscription,
|
|
95
107
|
titre: traductions.homeActionMoreSheetAbonnementTitle,
|
|
108
|
+
rubrique: FonctionnaliteRubrique.abonnements,
|
|
96
109
|
sousTitre: traductions.homeActionMoreSheetAbonnementSubTitle,
|
|
97
110
|
motsCles: ['abonnement', 'subscription', 'assinatura'],
|
|
98
111
|
ouvrir: () => aller(AppRouter.subscriptionSubscribe),
|
|
@@ -100,6 +113,7 @@ export function fonctionnalitesRecherchables(
|
|
|
100
113
|
new Fonctionnalite({
|
|
101
114
|
icon: Images.homeMoreSplitPayments,
|
|
102
115
|
titre: traductions.homeActionMoreSheetPartagerTitle,
|
|
116
|
+
rubrique: FonctionnaliteRubrique.abonnements,
|
|
103
117
|
sousTitre: traductions.homeActionMoreSheetPartagerSubTitle,
|
|
104
118
|
motsCles: ['partager', 'repartir', 'diviser', 'amis', 'split', 'share', 'dividir'],
|
|
105
119
|
ouvrir: () => aller(AppRouter.transactionSplitPaymentTx),
|
|
@@ -109,6 +123,7 @@ export function fonctionnalitesRecherchables(
|
|
|
109
123
|
new Fonctionnalite({
|
|
110
124
|
icon: Images.iconsCircleUser,
|
|
111
125
|
titre: traductions.profilePageMenuCompteTitle,
|
|
126
|
+
rubrique: FonctionnaliteRubrique.profil,
|
|
112
127
|
sousTitre: traductions.searchCompteSubTitle,
|
|
113
128
|
motsCles: ['profil', 'compte', 'iban', 'rib', 'profile', 'account', 'perfil', 'conta'],
|
|
114
129
|
ouvrir: () => aller(AppRouter.profileCompte),
|
|
@@ -116,6 +131,7 @@ export function fonctionnalitesRecherchables(
|
|
|
116
131
|
new Fonctionnalite({
|
|
117
132
|
icon: Images.iconsSetting,
|
|
118
133
|
titre: traductions.profilePageMenuParametreTitle,
|
|
134
|
+
rubrique: FonctionnaliteRubrique.profil,
|
|
119
135
|
sousTitre: traductions.searchParametreSubTitle,
|
|
120
136
|
motsCles: ['parametre', 'reglage', 'theme', 'langue', 'notification', 'sombre', 'settings', 'language', 'dark', 'definicoes', 'idioma'],
|
|
121
137
|
ouvrir: () => aller(AppRouter.profileParametre),
|
|
@@ -126,6 +142,7 @@ export function fonctionnalitesRecherchables(
|
|
|
126
142
|
new Fonctionnalite({
|
|
127
143
|
icon: Images.iconsTheme,
|
|
128
144
|
titre: traductions.searchThemeTitle,
|
|
145
|
+
rubrique: FonctionnaliteRubrique.profil,
|
|
129
146
|
sousTitre: traductions.searchThemeSubTitle,
|
|
130
147
|
motsCles: ['theme', 'apparence', 'sombre', 'clair', 'couleur', 'mode', 'appearance', 'dark', 'light', 'color', 'tema', 'aparencia', 'escuro', 'claro', 'cor'],
|
|
131
148
|
ouvrir: () => aller(AppRouter.profileParametreTheme),
|
|
@@ -135,6 +152,7 @@ export function fonctionnalitesRecherchables(
|
|
|
135
152
|
new Fonctionnalite({
|
|
136
153
|
icon: Images.iconsCloche,
|
|
137
154
|
titre: traductions.searchNotificationsParametreTitle,
|
|
155
|
+
rubrique: FonctionnaliteRubrique.profil,
|
|
138
156
|
sousTitre: traductions.searchNotificationsParametreSubTitle,
|
|
139
157
|
motsCles: ['notification', 'son', 'vibration', 'sonnerie', 'style', 'sound', 'vibrate', 'som', 'vibracao', 'estilo'],
|
|
140
158
|
ouvrir: () => aller(AppRouter.profileParametreNotifications),
|
|
@@ -147,6 +165,7 @@ export function fonctionnalitesRecherchables(
|
|
|
147
165
|
new Fonctionnalite({
|
|
148
166
|
icon: Images.iconTransactionSendByAlias,
|
|
149
167
|
titre: traductions.profilePageMenuAliasContactTitle,
|
|
168
|
+
rubrique: FonctionnaliteRubrique.profil,
|
|
150
169
|
sousTitre: traductions.searchContactsSubTitle,
|
|
151
170
|
motsCles: ['contact', 'alias', 'repertoire', 'contacts', 'contactos'],
|
|
152
171
|
ouvrir: () => aller(AppRouter.profileContacts),
|
|
@@ -157,6 +176,7 @@ export function fonctionnalitesRecherchables(
|
|
|
157
176
|
new Fonctionnalite({
|
|
158
177
|
icon: Images.iconsHelp,
|
|
159
178
|
titre: traductions.profilePageMenuHelpTitle,
|
|
179
|
+
rubrique: FonctionnaliteRubrique.profil,
|
|
160
180
|
sousTitre: traductions.searchAideSubTitle,
|
|
161
181
|
motsCles: ['aide', 'faq', 'assistance', 'support', 'help', 'ajuda'],
|
|
162
182
|
ouvrir: () => aller(AppRouter.profileHelpCenter),
|