@pi-spi/app 2.0.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.
Files changed (389) hide show
  1. package/lib/module/core/api.js +14 -5
  2. package/lib/module/core/api.js.map +1 -1
  3. package/lib/module/l10n/app_localizations.js.map +1 -1
  4. package/lib/module/l10n/app_localizations_en.js +40 -8
  5. package/lib/module/l10n/app_localizations_en.js.map +1 -1
  6. package/lib/module/l10n/app_localizations_fr.js +49 -14
  7. package/lib/module/l10n/app_localizations_fr.js.map +1 -1
  8. package/lib/module/l10n/app_localizations_pt.js +41 -7
  9. package/lib/module/l10n/app_localizations_pt.js.map +1 -1
  10. package/lib/module/modules/alias/domain/models/alias_revendication.js +4 -2
  11. package/lib/module/modules/alias/domain/models/alias_revendication.js.map +1 -1
  12. package/lib/module/modules/alias/infra/alias_output_local.js +11 -0
  13. package/lib/module/modules/alias/infra/alias_output_local.js.map +1 -1
  14. package/lib/module/modules/alias/infra/alias_output_repository.js +9 -8
  15. package/lib/module/modules/alias/infra/alias_output_repository.js.map +1 -1
  16. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js +14 -18
  17. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js.map +1 -1
  18. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js +113 -60
  19. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js.map +1 -1
  20. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js +151 -76
  21. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js.map +1 -1
  22. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js +38 -24
  23. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js.map +1 -1
  24. package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js +28 -26
  25. package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js.map +1 -1
  26. package/lib/module/modules/alias/presentation/pages/alias_page_otp.js +27 -110
  27. package/lib/module/modules/alias/presentation/pages/alias_page_otp.js.map +1 -1
  28. package/lib/module/modules/categorie/domain/services/categorie_service.js +2 -1
  29. package/lib/module/modules/categorie/domain/services/categorie_service.js.map +1 -1
  30. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js +58 -72
  31. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js.map +1 -1
  32. package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js +88 -80
  33. package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js.map +1 -1
  34. package/lib/module/modules/categorie/presentation/pages/categorie_icon.js +39 -0
  35. package/lib/module/modules/categorie/presentation/pages/categorie_icon.js.map +1 -1
  36. package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js +55 -27
  37. package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js.map +1 -1
  38. package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js +21 -81
  39. package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js.map +1 -1
  40. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js +53 -16
  41. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js.map +1 -1
  42. package/lib/module/modules/config/domain/models/config_keys.js +2 -0
  43. package/lib/module/modules/config/domain/models/config_keys.js.map +1 -1
  44. package/lib/module/modules/contacts/domain/contact_pi.js +3 -5
  45. package/lib/module/modules/contacts/domain/contact_pi.js.map +1 -1
  46. package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js +30 -14
  47. package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js.map +1 -1
  48. package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js +106 -0
  49. package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js.map +1 -0
  50. package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js +17 -7
  51. package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js.map +1 -1
  52. package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js +5 -4
  53. package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js.map +1 -1
  54. package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js +76 -67
  55. package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js.map +1 -1
  56. package/lib/module/modules/contacts/presentation/pages/contact_section.js +14 -4
  57. package/lib/module/modules/contacts/presentation/pages/contact_section.js.map +1 -1
  58. package/lib/module/modules/contacts/presentation/pages/contact_select_page.js +131 -110
  59. package/lib/module/modules/contacts/presentation/pages/contact_select_page.js.map +1 -1
  60. package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js +118 -59
  61. package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js.map +1 -1
  62. package/lib/module/modules/home/presentation/pages/home_page.js +3 -13
  63. package/lib/module/modules/home/presentation/pages/home_page.js.map +1 -1
  64. package/lib/module/modules/introduction/presentation/pages/introduction.js +17 -4
  65. package/lib/module/modules/introduction/presentation/pages/introduction.js.map +1 -1
  66. package/lib/module/modules/introduction/presentation/pages/introduction_footer.js +15 -53
  67. package/lib/module/modules/introduction/presentation/pages/introduction_footer.js.map +1 -1
  68. package/lib/module/modules/introduction/presentation/pages/introduction_page.js +22 -4
  69. package/lib/module/modules/introduction/presentation/pages/introduction_page.js.map +1 -1
  70. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js +2 -2
  71. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js.map +1 -1
  72. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js +1 -1
  73. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js.map +1 -1
  74. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js +6 -28
  75. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js.map +1 -1
  76. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js +14 -53
  77. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js.map +1 -1
  78. package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js +131 -161
  79. package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js.map +1 -1
  80. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page.js +0 -1
  81. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page.js.map +1 -1
  82. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js +26 -38
  83. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js.map +1 -1
  84. package/lib/module/modules/search/domain/models/fonctionnalite.js +51 -0
  85. package/lib/module/modules/search/domain/models/fonctionnalite.js.map +1 -1
  86. package/lib/module/modules/search/presentation/pages/search_btn_widget.js +136 -0
  87. package/lib/module/modules/search/presentation/pages/search_btn_widget.js.map +1 -0
  88. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js +21 -1
  89. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js.map +1 -1
  90. package/lib/module/modules/search/presentation/pages/search_page.js +266 -97
  91. package/lib/module/modules/search/presentation/pages/search_page.js.map +1 -1
  92. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js +5 -3
  93. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js.map +1 -1
  94. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js +5 -6
  95. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js.map +1 -1
  96. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page.js +0 -1
  97. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page.js.map +1 -1
  98. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.js +0 -1
  99. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.js.map +1 -1
  100. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.js +38 -93
  101. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.js.map +1 -1
  102. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_empty_widget.js +0 -1
  103. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_empty_widget.js.map +1 -1
  104. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_widget.js +0 -1
  105. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_widget.js.map +1 -1
  106. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js +23 -42
  107. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js.map +1 -1
  108. package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js +1 -2
  109. package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js.map +1 -1
  110. package/lib/module/modules/transactions/infra/transaction_output_remote.js +2 -1
  111. package/lib/module/modules/transactions/infra/transaction_output_remote.js.map +1 -1
  112. package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js +17 -0
  113. package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js.map +1 -1
  114. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.js +0 -1
  115. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.js.map +1 -1
  116. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.js +34 -61
  117. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.js.map +1 -1
  118. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.js +49 -62
  119. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.js.map +1 -1
  120. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_ticket.js +68 -88
  121. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_ticket.js.map +1 -1
  122. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js +30 -23
  123. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js.map +1 -1
  124. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js +77 -0
  125. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js.map +1 -0
  126. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js +49 -155
  127. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js.map +1 -1
  128. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js +16 -4
  129. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js.map +1 -1
  130. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js +11 -9
  131. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js.map +1 -1
  132. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js +17 -35
  133. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js.map +1 -1
  134. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js +8 -10
  135. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js.map +1 -1
  136. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js +127 -106
  137. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js.map +1 -1
  138. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.js +50 -42
  139. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.js.map +1 -1
  140. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_widget.js +0 -1
  141. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_widget.js.map +1 -1
  142. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js +0 -1
  143. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js.map +1 -1
  144. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.js +37 -67
  145. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.js.map +1 -1
  146. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js +9 -15
  147. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js.map +1 -1
  148. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js +5 -11
  149. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js.map +1 -1
  150. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js +9 -9
  151. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js.map +1 -1
  152. package/lib/module/shared/widgets/alias_widget.js +33 -12
  153. package/lib/module/shared/widgets/alias_widget.js.map +1 -1
  154. package/lib/module/shared/widgets/auth_code_field.js +89 -0
  155. package/lib/module/shared/widgets/auth_code_field.js.map +1 -0
  156. package/lib/module/shared/widgets/calendar_date_picker.js +21 -16
  157. package/lib/module/shared/widgets/calendar_date_picker.js.map +1 -1
  158. package/lib/module/shared/widgets/confirm_action_sheet_widget.js +53 -67
  159. package/lib/module/shared/widgets/confirm_action_sheet_widget.js.map +1 -1
  160. package/lib/module/shared/widgets/emoji_select_widget.js +34 -39
  161. package/lib/module/shared/widgets/emoji_select_widget.js.map +1 -1
  162. package/lib/module/shared/widgets/frequence_input_widget.js +18 -29
  163. package/lib/module/shared/widgets/frequence_input_widget.js.map +1 -1
  164. package/lib/module/shared/widgets/frequence_select_widget.js +233 -140
  165. package/lib/module/shared/widgets/frequence_select_widget.js.map +1 -1
  166. package/lib/module/shared/widgets/image_select_widget.js +43 -107
  167. package/lib/module/shared/widgets/image_select_widget.js.map +1 -1
  168. package/lib/module/shared/widgets/input_text.js +1 -1
  169. package/lib/module/shared/widgets/input_text.js.map +1 -1
  170. package/lib/module/shared/widgets/notification_dialog.js +28 -37
  171. package/lib/module/shared/widgets/notification_dialog.js.map +1 -1
  172. package/lib/module/shared/widgets/pin_entete.js +114 -0
  173. package/lib/module/shared/widgets/pin_entete.js.map +1 -0
  174. package/lib/module/shared/widgets/select_date_widget.js +74 -59
  175. package/lib/module/shared/widgets/select_date_widget.js.map +1 -1
  176. package/lib/module/shared/widgets/selection.js +387 -6
  177. package/lib/module/shared/widgets/selection.js.map +1 -1
  178. package/lib/typescript/src/core/api.d.ts +6 -0
  179. package/lib/typescript/src/core/api.d.ts.map +1 -1
  180. package/lib/typescript/src/l10n/app_localizations.d.ts +75 -11
  181. package/lib/typescript/src/l10n/app_localizations.d.ts.map +1 -1
  182. package/lib/typescript/src/l10n/app_localizations_en.d.ts.map +1 -1
  183. package/lib/typescript/src/l10n/app_localizations_fr.d.ts.map +1 -1
  184. package/lib/typescript/src/l10n/app_localizations_pt.d.ts.map +1 -1
  185. package/lib/typescript/src/modules/alias/domain/models/alias_revendication.d.ts.map +1 -1
  186. package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts +5 -0
  187. package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts.map +1 -1
  188. package/lib/typescript/src/modules/alias/infra/alias_output_repository.d.ts.map +1 -1
  189. package/lib/typescript/src/modules/alias/presentation/pages/alias_delete_btn_widget.d.ts.map +1 -1
  190. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_claim.d.ts.map +1 -1
  191. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_form.d.ts.map +1 -1
  192. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts +1 -1
  193. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts.map +1 -1
  194. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts +4 -1
  195. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts.map +1 -1
  196. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts +9 -5
  197. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts.map +1 -1
  198. package/lib/typescript/src/modules/categorie/domain/services/categorie_service.d.ts.map +1 -1
  199. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts +3 -0
  200. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts.map +1 -1
  201. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_form_pages.d.ts.map +1 -1
  202. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts +9 -0
  203. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts.map +1 -1
  204. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts +7 -2
  205. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts.map +1 -1
  206. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_page.d.ts.map +1 -1
  207. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts +10 -2
  208. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts.map +1 -1
  209. package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts +3 -1
  210. package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts.map +1 -1
  211. package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts +0 -2
  212. package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts.map +1 -1
  213. package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts +7 -0
  214. package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts.map +1 -1
  215. package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts +14 -0
  216. package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts.map +1 -0
  217. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts +4 -2
  218. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts.map +1 -1
  219. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_phone_widget.d.ts.map +1 -1
  220. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts +6 -4
  221. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts.map +1 -1
  222. package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts +3 -1
  223. package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts.map +1 -1
  224. package/lib/typescript/src/modules/contacts/presentation/pages/contact_select_page.d.ts.map +1 -1
  225. package/lib/typescript/src/modules/contacts/presentation/pages/create/contact_create_page.d.ts.map +1 -1
  226. package/lib/typescript/src/modules/home/presentation/pages/home_page.d.ts.map +1 -1
  227. package/lib/typescript/src/modules/introduction/presentation/pages/introduction.d.ts.map +1 -1
  228. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts +5 -1
  229. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts.map +1 -1
  230. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_page.d.ts.map +1 -1
  231. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_avatar.d.ts.map +1 -1
  232. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts.d.ts.map +1 -1
  233. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts_actions.d.ts.map +1 -1
  234. package/lib/typescript/src/modules/qrcode/presentation/pages/qrcode_alias_page.d.ts.map +1 -1
  235. package/lib/typescript/src/modules/qrcode/presentation/pages/qrcode_alias_page_share.d.ts.map +1 -1
  236. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts +20 -0
  237. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts.map +1 -1
  238. package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts +11 -0
  239. package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts.map +1 -0
  240. package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts.map +1 -1
  241. package/lib/typescript/src/modules/search/presentation/pages/search_page.d.ts.map +1 -1
  242. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.d.ts.map +1 -1
  243. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page.d.ts.map +1 -1
  244. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.d.ts.map +1 -1
  245. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.d.ts +2 -2
  246. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.d.ts.map +1 -1
  247. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_menu_widget.d.ts.map +1 -1
  248. package/lib/typescript/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.d.ts.map +1 -1
  249. package/lib/typescript/src/modules/transactions/infra/transaction_output_remote.d.ts.map +1 -1
  250. package/lib/typescript/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.d.ts.map +1 -1
  251. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.d.ts.map +1 -1
  252. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.d.ts.map +1 -1
  253. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.d.ts.map +1 -1
  254. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts +4 -1
  255. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts.map +1 -1
  256. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.d.ts +17 -0
  257. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.d.ts.map +1 -0
  258. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.d.ts +6 -2
  259. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.d.ts.map +1 -1
  260. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts +4 -0
  261. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts.map +1 -1
  262. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.d.ts.map +1 -1
  263. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.d.ts.map +1 -1
  264. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.d.ts.map +1 -1
  265. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.d.ts.map +1 -1
  266. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.d.ts.map +1 -1
  267. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.d.ts.map +1 -1
  268. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.d.ts.map +1 -1
  269. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.d.ts.map +1 -1
  270. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.d.ts.map +1 -1
  271. package/lib/typescript/src/shared/widgets/alias_widget.d.ts +2 -2
  272. package/lib/typescript/src/shared/widgets/alias_widget.d.ts.map +1 -1
  273. package/lib/typescript/src/shared/widgets/auth_code_field.d.ts +17 -0
  274. package/lib/typescript/src/shared/widgets/auth_code_field.d.ts.map +1 -0
  275. package/lib/typescript/src/shared/widgets/calendar_date_picker.d.ts.map +1 -1
  276. package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts +16 -2
  277. package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts.map +1 -1
  278. package/lib/typescript/src/shared/widgets/emoji_select_widget.d.ts.map +1 -1
  279. package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts +6 -3
  280. package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts.map +1 -1
  281. package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts +23 -5
  282. package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts.map +1 -1
  283. package/lib/typescript/src/shared/widgets/image_select_widget.d.ts +6 -4
  284. package/lib/typescript/src/shared/widgets/image_select_widget.d.ts.map +1 -1
  285. package/lib/typescript/src/shared/widgets/input_text.d.ts +2 -0
  286. package/lib/typescript/src/shared/widgets/input_text.d.ts.map +1 -1
  287. package/lib/typescript/src/shared/widgets/notification_dialog.d.ts +5 -3
  288. package/lib/typescript/src/shared/widgets/notification_dialog.d.ts.map +1 -1
  289. package/lib/typescript/src/shared/widgets/pin_entete.d.ts +15 -0
  290. package/lib/typescript/src/shared/widgets/pin_entete.d.ts.map +1 -0
  291. package/lib/typescript/src/shared/widgets/select_date_widget.d.ts +4 -0
  292. package/lib/typescript/src/shared/widgets/select_date_widget.d.ts.map +1 -1
  293. package/lib/typescript/src/shared/widgets/selection.d.ts +74 -3
  294. package/lib/typescript/src/shared/widgets/selection.d.ts.map +1 -1
  295. package/package.json +1 -1
  296. package/src/core/api.ts +11 -2
  297. package/src/l10n/app_localizations.ts +75 -11
  298. package/src/l10n/app_localizations_en.ts +40 -8
  299. package/src/l10n/app_localizations_fr.ts +46 -14
  300. package/src/l10n/app_localizations_pt.ts +39 -7
  301. package/src/modules/alias/domain/models/alias_revendication.ts +4 -2
  302. package/src/modules/alias/infra/alias_output_local.ts +11 -0
  303. package/src/modules/alias/infra/alias_output_repository.ts +9 -8
  304. package/src/modules/alias/presentation/pages/alias_delete_btn_widget.tsx +17 -24
  305. package/src/modules/alias/presentation/pages/alias_page_claim.tsx +76 -48
  306. package/src/modules/alias/presentation/pages/alias_page_create_mbno_form.tsx +113 -65
  307. package/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.tsx +34 -25
  308. package/src/modules/alias/presentation/pages/alias_page_create_options.tsx +29 -36
  309. package/src/modules/alias/presentation/pages/alias_page_otp.tsx +24 -88
  310. package/src/modules/categorie/domain/services/categorie_service.ts +2 -1
  311. package/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.tsx +58 -50
  312. package/src/modules/categorie/presentation/pages/categorie_form_pages.tsx +71 -41
  313. package/src/modules/categorie/presentation/pages/categorie_icon.tsx +26 -0
  314. package/src/modules/categorie/presentation/pages/categorie_liste_widget.tsx +45 -24
  315. package/src/modules/categorie/presentation/pages/categorie_select_page.tsx +10 -46
  316. package/src/modules/categorie/presentation/pages/categorie_select_widget.tsx +54 -13
  317. package/src/modules/config/domain/models/config_keys.ts +3 -0
  318. package/src/modules/contacts/domain/contact_pi.ts +3 -6
  319. package/src/modules/contacts/presentation/bloc/contact_bloc.ts +37 -20
  320. package/src/modules/contacts/presentation/pages/contact_actions_sheet.tsx +69 -0
  321. package/src/modules/contacts/presentation/pages/contact_list_alias_widget.tsx +26 -4
  322. package/src/modules/contacts/presentation/pages/contact_list_phone_widget.tsx +3 -0
  323. package/src/modules/contacts/presentation/pages/contact_list_widget_item.tsx +54 -65
  324. package/src/modules/contacts/presentation/pages/contact_section.tsx +13 -3
  325. package/src/modules/contacts/presentation/pages/contact_select_page.tsx +106 -74
  326. package/src/modules/contacts/presentation/pages/create/contact_create_page.tsx +86 -47
  327. package/src/modules/home/presentation/pages/home_page.tsx +2 -9
  328. package/src/modules/introduction/presentation/pages/introduction.tsx +8 -0
  329. package/src/modules/introduction/presentation/pages/introduction_footer.tsx +16 -36
  330. package/src/modules/introduction/presentation/pages/introduction_page.tsx +17 -5
  331. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.tsx +2 -2
  332. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx +1 -1
  333. package/src/modules/profile/presentation/pages/profile_page_avatar.tsx +6 -12
  334. package/src/modules/profile/presentation/pages/profile_page_contacts.tsx +12 -20
  335. package/src/modules/profile/presentation/pages/profile_page_contacts_actions.tsx +120 -117
  336. package/src/modules/qrcode/presentation/pages/qrcode_alias_page.tsx +0 -1
  337. package/src/modules/qrcode/presentation/pages/qrcode_alias_page_share.tsx +32 -40
  338. package/src/modules/search/domain/models/fonctionnalite.ts +56 -0
  339. package/src/modules/search/presentation/pages/search_btn_widget.tsx +91 -0
  340. package/src/modules/search/presentation/pages/search_fonctionnalites.ts +21 -1
  341. package/src/modules/search/presentation/pages/search_page.tsx +166 -57
  342. package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.tsx +4 -2
  343. package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.tsx +5 -5
  344. package/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page.tsx +0 -1
  345. package/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.tsx +0 -1
  346. package/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.tsx +20 -59
  347. package/src/modules/subscription/presentation/pages/subscription_list/subscription_list_empty_widget.tsx +1 -1
  348. package/src/modules/subscription/presentation/pages/subscription_list/subscription_list_widget.tsx +1 -1
  349. package/src/modules/subscription/presentation/pages/subscription_menu_widget.tsx +25 -39
  350. package/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.ts +1 -2
  351. package/src/modules/transactions/infra/transaction_output_remote.ts +6 -1
  352. package/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.ts +17 -0
  353. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.tsx +0 -1
  354. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.tsx +39 -41
  355. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.tsx +41 -46
  356. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_ticket.tsx +46 -40
  357. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.tsx +26 -17
  358. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.tsx +92 -0
  359. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.tsx +48 -94
  360. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page.tsx +20 -2
  361. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.tsx +6 -8
  362. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.tsx +9 -22
  363. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.tsx +5 -7
  364. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.tsx +112 -104
  365. package/src/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.tsx +49 -42
  366. package/src/modules/transactions/presentation/pages/transaction_recents/transaction_recents_widget.tsx +1 -1
  367. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.tsx +0 -1
  368. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.tsx +47 -48
  369. package/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.tsx +6 -10
  370. package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.tsx +3 -6
  371. package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.tsx +5 -5
  372. package/src/shared/widgets/alias_widget.tsx +45 -18
  373. package/src/shared/widgets/auth_code_field.tsx +89 -0
  374. package/src/shared/widgets/calendar_date_picker.tsx +12 -11
  375. package/src/shared/widgets/confirm_action_sheet_widget.tsx +49 -35
  376. package/src/shared/widgets/emoji_select_widget.tsx +31 -29
  377. package/src/shared/widgets/frequence_input_widget.tsx +18 -24
  378. package/src/shared/widgets/frequence_select_widget.tsx +237 -117
  379. package/src/shared/widgets/image_select_widget.tsx +46 -61
  380. package/src/shared/widgets/input_text.tsx +3 -0
  381. package/src/shared/widgets/notification_dialog.tsx +70 -71
  382. package/src/shared/widgets/pin_entete.tsx +74 -0
  383. package/src/shared/widgets/select_date_widget.tsx +66 -34
  384. package/src/shared/widgets/selection.tsx +304 -5
  385. package/lib/module/modules/transactions/presentation/pages/transaction_details/sheet_box.js +0 -47
  386. package/lib/module/modules/transactions/presentation/pages/transaction_details/sheet_box.js.map +0 -1
  387. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/sheet_box.d.ts +0 -10
  388. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/sheet_box.d.ts.map +0 -1
  389. package/src/modules/transactions/presentation/pages/transaction_details/sheet_box.tsx +0 -30
@@ -19,6 +19,8 @@ export const AppLocalizationsPt: AppLocalizations = {
19
19
  reessayer: `Tente novamente`,
20
20
  errorDialogOk: `Entendi`,
21
21
  indisponible: `Indisponível`,
22
+ imageSelectCamera: `Tirar uma foto`,
23
+ imageSelectGalerie: `Escolher da galeria`,
22
24
  locationErrorMessage: `Parece que você não concedeu permissão para que o PI-SPI acesse a sua localização!`,
23
25
  notificationErrorMessage: `Parece que você não concedeu permissão ao PI-SPI para lhe enviar notificações!`,
24
26
  contactErrorMessage: `Parece que você não concedeu ao PI-SPI permissão para aceder aos seus contatos!`,
@@ -61,8 +63,7 @@ export const AppLocalizationsPt: AppLocalizations = {
61
63
  introductionItem5: `Economize e compartilhe despesas entre amigos`,
62
64
  introductionItem6: `Utilize o alias para privacidade e precisão`,
63
65
  introductionLogin: `Conectar`,
64
- introductionFooterTitle: `Você não tem uma conta`,
65
- introductionFooterSubtitle: `Encontre uma agência próxima`,
66
+ introductionPasser: `Saltar`,
66
67
  loginPageTitle: `Conectar`,
67
68
  loginPageWebSubtitle: `Para acessar sua conta, você precisa se autenticar.`,
68
69
  loginPageWebSubtitle2: `Redirecionando para o serviço de autenticação...`,
@@ -103,7 +104,8 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
103
104
  forgetCodePinFormTitle: `Introduza o seu novo código PIN`,
104
105
  updateCodePinError: `Falha ao alterar o código PIN, por favor tente novamente`,
105
106
  updateCodePinSuccess: `O seu código PIN foi alterado com sucesso`,
106
- forgetCodePinOptionPageTitle: `Escolha um método de recuperação`,
107
+ forgetCodePinOptionPageTitle: `Método de recuperação`,
108
+ forgetCodePinOptionPageSubTitle: `Será enviado um código de confirmação`,
107
109
  forgetCodePinOptionEmail: `Email`,
108
110
  forgetCodePinOptionPhone: `Telefone`,
109
111
  forgetCodePinOptionBtnContinuer: `Continuar`,
@@ -119,6 +121,8 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
119
121
  identificationFormLoginMessage: `Digite seu código PIN`,
120
122
  identificationFormForgotMessage: `Código PIN esquecido?`,
121
123
  identificationHelloUser: (user: string) => `Olá, ${user}`,
124
+ identificationGoodEveningUser: (user: string) => `Boa noite, ${user}`,
125
+ identificationConfirmationTitle: `Confirmação`,
122
126
  identificationErrorPinInvalid: `O código PIN é inválido`,
123
127
  permissionNotificationTitle: `Não perca nada`,
124
128
  permissionNotificationSubTitle: `Receba notificações sobre despesas, segurança e suas economias para ficar sempre atualizado`,
@@ -133,7 +137,7 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
133
137
  permissionErrorDevice: `Seu dispositivo não é suportado.`,
134
138
  permissionErrorToken: `Ocorreu um erro. Tente novamente`,
135
139
  permissionErrorApi: `Erro de comunicação - Verifique sua conexão com a internet ou tente novamente mais tarde!`,
136
- securityLogoutTitle: `Você tem certeza que deseja se desconectar?`,
140
+ securityLogoutTitle: `Já vai embora?`,
137
141
  securityLogoutSubTitle: `Se você deseja continuar trabalhando, clique em « Cancelar » e você voltará para o seu estado atual. Se você realmente deseja se desconectar, clique em « Desconectar ».`,
138
142
  securityLogoutBtnConfirmer: `Desconectar`,
139
143
  securityLogoutBtnAnnuler: `Cancelar`,
@@ -159,11 +163,12 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
159
163
  addPhoneNumberFormErrorEmpty: `Campo obrigatório`,
160
164
  addPhoneNumberFormErrorInvalid: `Número inválido`,
161
165
  addPhoneNumberFormBtnContinuer: `Continuar`,
166
+ addPhoneNumberIndicatifSheetTitle: `Indicativo do país`,
162
167
  verifyPhoneNumberPageTitle: `Código de verificação`,
163
168
  verifyPhoneNumberPageSubTitle: (number: string) => `Digite o código enviado para ${number}`,
164
169
  aliaMBNOResendMessage: (delay: string) => `Reenviar o código em ${delay}`,
165
170
  aliaMBNOResendMessageBtn: `Reenviar o código`,
166
- aliaMBNOInvalidOtpMessage: `Código OTP inválido`,
171
+ aliaMBNOInvalidOtpMessage: `Código inválido`,
167
172
  aliaMBNOServeurMessage: `Ocorreu um erro, por favor tente novamente`,
168
173
  aliaErrorPageTitle: `😔 Oooops`,
169
174
  aliaErrorPageSubTitle: `Este alias está ocupado`,
@@ -188,6 +193,8 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
188
193
  aliasClaimRejectSuccessTitle: `Revendicação rejeitada`,
189
194
  aliasClaimRejectSuccessDescription: (alias: string) => `Seu alias ${alias} foi conservado`,
190
195
  aliasClaimDetailsRefusPageSubTitile: `O rejeito só pode ser aceito se você provar que o número de telefone pertence a você inserindo o código OTP`,
196
+ aliasClaimRefusOtpTitle: `Recusar a reivindicação`,
197
+ aliasClaimRefusOtpSubTitle: (number: string) => `Para provar que o número ${number} é seu, insira o código que acaba de lhe ser enviado`,
191
198
  aliasClaimConfirmError: `A confirmação falhou, por favor, tente novamente`,
192
199
  aliasClaimConfirmSuccessRejectTitle: `Alias conservado`,
193
200
  aliasClaimConfirmSuccessAcceptTitle: `Alias deletado`,
@@ -217,11 +224,18 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
217
224
  contactCreateNameLabel: `Nome e sobrenome`,
218
225
  contactCreateNameErrorEmpty: `Nome obrigatório`,
219
226
  contactBtnSave: `Salvar e continuar`,
227
+ contactSelectBtnContinue: (nombre: string) => `Continuar (${nombre})`,
228
+ contactActionsCopy: `Copiar o alias`,
229
+ contactActionsShare: `Partilhar o alias`,
230
+ contactActionsTooltip: `Ações`,
231
+ contactSectionPi: `Contactos PI-SPI`,
220
232
  contactAliasSaveText: `Salvar nos contatos`,
233
+ aliasWidgetCopyTooltip: `Copiar o alias`,
221
234
  contactAliasSaveConfirmMessage: (clientNom: string, alias: string) => `Tem certeza de que deseja salvar ${clientNom} na lista de contatos com o alias ${alias}?`,
222
235
  homePageToolbarTabbarCompte: `Conta`,
223
236
  homePageToolbarTabbarAbonnement: `Assinaturas`,
224
237
  homePageToolbarTabbarEconomie: `Economia`,
238
+ homePageSearchTooltip: `Pesquisar uma funcionalidade`,
225
239
  homeSolde: `Saldo`,
226
240
  homeActionSend: `Enviar`,
227
241
  homeActionRequest: `Receber`,
@@ -302,6 +316,10 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
302
316
  transactionFormOthrMax: `O número de conta não deve exceder 34 caracteres`,
303
317
  transactionFormOthrPaysLabel: `País`,
304
318
  transactionFormOthrNomLabel: `Instituição financeira`,
319
+ transactionFormOthrPaysRecherche: `Pesquisar um país`,
320
+ transactionFormOthrPaysAucun: `Nenhum país encontrado`,
321
+ transactionFormOthrPspRecherche: `Pesquisar uma instituição`,
322
+ transactionFormOthrPspAucune: `Nenhuma instituição encontrada`,
305
323
  transactionFormContinueBtn: `Continuar`,
306
324
  transactionFormSaveContactBtn: `Salvar e fazer um transferência`,
307
325
  transactionFormVerificationTitle: `Confirmação`,
@@ -325,9 +343,13 @@ Verifique o Wi-Fi ou os dados móveis e toque em Tentar novamente.`,
325
343
  transactionFormScheduleFrequenceHebdomadaire: `Semanal`,
326
344
  transactionFormScheduleFrequenceMensuelle: `Mensal`,
327
345
  transactionFormScheduleFrequenceAnnuelle: `Anual`,
346
+ transactionFormScheduleFrequenceJour: `Todos os dias`,
347
+ transactionFormScheduleFrequenceSemaine: `Todas as semanas`,
348
+ transactionFormScheduleFrequenceMois: `Todos os meses`,
349
+ transactionFormScheduleFrequenceAnnuee: `Todos os anos`,
328
350
  transactionFormScheduleFrequenceSurMesure: `Sob medida`,
329
351
  transactionFormSchedulePeriodiciteLabel: `Périodicité`,
330
- transactionFormScheduleFrequenceSelected: (periodicite: string, frequence: string) => `Todos os ${periodicite} ${frequence}`,
352
+ transactionFormScheduleFrequenceSelected: (periodicite: string, frequence: string, unite: string) => `${(({ "semaine": `Todas as` } as Record<string, string>)[unite] ?? `Todos os`)} ${periodicite} ${frequence}`,
331
353
  transactionFormScheduleDateRange: (start: string, end: string) => `de ${start} a ${end}`,
332
354
  transactionFormScheduleDateSelected: (start: string) => `A partir de ${start}`,
333
355
  transactionFormScheduleSuccessMessage: (montant: string, payee: string) => `Você programou ${montant} FCFA para ${payee}`,
@@ -441,6 +463,7 @@ Se este pedido for de uma pessoa de confiança, basta adicionar o alias aos seus
441
463
  transactionDetailsRecuPaiementPDFSousTitre: `Você pode compartilhar ou baixar o PDF`,
442
464
  transactionDetailsTicketCaisse: `Recebido pago`,
443
465
  transactionDetailsTicketCaisseSubtitle: `Você pode compartilhar o recibo`,
466
+ transactionDetailsTicketPartager: `Partilhar`,
444
467
  transactionDetailsCompte: `Conta`,
445
468
  transactionDetailsInstitution: `Instituição`,
446
469
  transactionDetailsRejet: `Motivo da rejeição`,
@@ -536,6 +559,7 @@ Por favor, tente novamente mais tarde`,
536
559
  qrcodePagePartageQrCodeSubTitle: `Compartilhar a imagem`,
537
560
  qrcodePagePartageAliasTitle: `Seu alias`,
538
561
  qrcodePagePartageAliasSubTitle: `Compartilhamento de alias`,
562
+ qrcodePagePartageContactAjouterHint: `Adicionar o meu número`,
539
563
  qrcodePagePartageContactTitle: `Seu contato`,
540
564
  qrcodePagePartageContactSubTitle: `Compartilhar o contato do seu alias`,
541
565
  qrcodePagePartageAliasMessage: (name: string) => `Alias PI de ${name}`,
@@ -598,7 +622,7 @@ O scan é feito automaticamente`,
598
622
  compteDetailsPagePopupDeleteAliasTitle: `Você tem certeza que deseja suprimir o seu alias?`,
599
623
  compteDetailsPagePopupDeleteAliasSHIDSubTitle: `Se você confirmar a exclusão do seu alias, esta ação será irreversível. Seu alias será completamente removido do nosso sistema e outros usuários não poderão mais realizar pagamentos para você nem encontrá-lo usando este alias.`,
600
624
  compteDetailsPagePopupDeleteAliasMBNOSubTitle: `Se você confirmar a exclusão do seu alias, esta ação será irreversível. Seu alias de número de telefone será completamente removido do nosso sistema e outros usuários não poderão mais realizar pagamentos para você nem encontrá-lo usando este alias. No entanto, você permanecerá conectado ao PI-SPI com o seu alias de endereço de pagamento associado.`,
601
- compteDetailsPagePopupDeleteAliasBtnConfirmer: `Suprimir o meu alias`,
625
+ compteDetailsPagePopupDeleteAliasBtnConfirmer: `Suprimir`,
602
626
  compteDetailsPagePopupDeleteAliasBtnAnnuler: `Cancelar`,
603
627
  compteDetailsPagePopupDeleteAliasErrorMsg: `A supressão do seu alias falhou, por favor, tente novamente mais tarde`,
604
628
  appSettingPageTitle: `Configurações da aplicação`,
@@ -643,6 +667,7 @@ O scan é feito automaticamente`,
643
667
  appSettingPageMenuNotificationStyleDialogDesc: `Os alertas requerem uma ação antes de continuar. Os banners aparecem no topo da tela e desaparecem automaticamente`,
644
668
  appSettingPageMenuNotificationStyleNone: `Nenhum`,
645
669
  appSettingPageMenuNotificationSonTitle: `Som`,
670
+ appSettingPageMenuNotificationSonActiveTitle: `Notificações`,
646
671
  appSettingPageMenuNotificationSonPageTitle: `Notificação Sonora`,
647
672
  appSettingPageMenuNotificationSonDefault: `Por defeito`,
648
673
  appSettingPageMenuNotificationVibrTitle: `Vibração`,
@@ -650,6 +675,8 @@ O scan é feito automaticamente`,
650
675
  appSettingPageMenuHomeThemeTitle: `Página inicial`,
651
676
  appSettingPageMenuHomeThemeDefault: `Simples`,
652
677
  appSettingPageMenuHomeThemeWithtQr: `Com QR Code`,
678
+ categorieSelectionTitle: `Selecionar categorias`,
679
+ categorieSelectionUniqueTitle: `Escolher uma categoria`,
653
680
  categorieDefaultTitle: `Categorias por defeito`,
654
681
  categorieCustomTitle: `Categorias personalizadas`,
655
682
  categorieCustomAdd: `Adicionar uma categoria`,
@@ -702,6 +729,11 @@ O scan é feito automaticamente`,
702
729
  notificationMAJMessage: (systeme: string) => `Uma nova versão da aplicação está disponível em ${systeme}`,
703
730
  notificationMAJBtn: `Instalar`,
704
731
  searchTitle: `O que deseja fazer?`,
732
+ searchShortcutsTitle: `Atalhos`,
733
+ searchRubriquePaiements: `Pagamentos`,
734
+ searchRubriqueAbonnements: `Assinaturas`,
735
+ searchRubriqueServicesBancaires: `Serviços bancários`,
736
+ searchRubriqueProfil: `Perfil e definições`,
705
737
  searchHint: `Pesquisar uma funcionalidade`,
706
738
  searchEmpty: (motCle: string) => `Nenhuma funcionalidade corresponde a «${motCle}»`,
707
739
  searchSendSubTitle: `Enviar dinheiro a um contacto`,
@@ -53,7 +53,8 @@ export class AliasRevendication {
53
53
  }
54
54
 
55
55
  static fromJson(json: Record<string, any>): AliasRevendication {
56
- // Le cache local stocke le nom Dart du statut (`initiee`), l'API sa valeur (`INITIEE`).
56
+ // Valeur de l'API (`INITIEE`) ; le nom (`initiee`) mis en cache par les
57
+ // anciennes versions est aussi accepté.
57
58
  return new AliasRevendication({
58
59
  id: json.id,
59
60
  alias: json.alias,
@@ -70,7 +71,8 @@ export class AliasRevendication {
70
71
  return {
71
72
  id: this.id,
72
73
  alias: this.alias,
73
- statut: AliasRevendicationStatut.nameOf(this.statut),
74
+ // Même format que l'API, relu par fromJson
75
+ statut: this.statut,
74
76
  dateDemande: this.dateDemande.toISOString(),
75
77
  dateVerrouillage: this.dateVerrouillage.toISOString(),
76
78
  dateCloture: this.dateCloture.toISOString(),
@@ -18,6 +18,17 @@ export class AliasOutputLocal {
18
18
  await AppStorage.delete(AliasOutputLocal.collectionId, cle);
19
19
  }
20
20
 
21
+ /**
22
+ * Supprime l'alias de clé [cle] (numéro de téléphone ou adresse de
23
+ * paiement) : les alias sont rangés par compte, pas par clé
24
+ */
25
+ async supprimerParCle(cle: string): Promise<void> {
26
+ const aliases = await AppStorage.list(AliasOutputLocal.collectionId, (json) => Alias.fromJson(json));
27
+ for (const alias of aliases.filter((a) => a.cle === cle)) {
28
+ await this.supprimer(alias.compte);
29
+ }
30
+ }
31
+
21
32
  async revendicationEnregistrer(demande: AliasRevendication): Promise<void> {
22
33
  await AppStorage.save(AliasOutputLocal.revendicationCollectionId, demande.id, demande.toJson());
23
34
  }
@@ -22,7 +22,7 @@ export class AliasOutputRepository implements AliasOutputPort {
22
22
  try {
23
23
  const alias = await this.repoRemote.recuperer(compte);
24
24
  if (alias != null) {
25
- void this.repoLocal.enregistrer(alias);
25
+ await this.repoLocal.enregistrer(alias);
26
26
  }
27
27
  return alias;
28
28
  } catch (e) {
@@ -36,20 +36,21 @@ export class AliasOutputRepository implements AliasOutputPort {
36
36
  const response = await this.repoRemote.creer(alias);
37
37
  // Une fois crée on l'enregistre en local (si c'est MBNO, l'alias n'est pas encore créé)
38
38
  if (alias.type === AliasType.shid) {
39
- void this.repoLocal.enregistrer(response);
39
+ await this.repoLocal.enregistrer(response);
40
40
  }
41
41
  return response;
42
42
  }
43
43
 
44
44
  async confirmer(alias: AliasCreateCommand, otp: string): Promise<Alias> {
45
45
  const response = await this.repoRemote.confirmer(alias, otp);
46
- void this.repoLocal.enregistrer(response);
46
+ await this.repoLocal.enregistrer(response);
47
47
  return response;
48
48
  }
49
49
 
50
50
  async supprimer(cle: string): Promise<void> {
51
51
  await this.repoRemote.supprimer(cle);
52
- await this.repoLocal.supprimer(cle);
52
+ // En local, les alias sont rangés par compte
53
+ await this.repoLocal.supprimerParCle(cle);
53
54
  }
54
55
 
55
56
  async revendicationInitier(compte: string, phone: AliasCreateCommandPhoneNumber): Promise<void> {
@@ -59,7 +60,7 @@ export class AliasOutputRepository implements AliasOutputPort {
59
60
  async revendicationRecuperer(id: string): Promise<AliasRevendication | null> {
60
61
  const demande = await this.repoRemote.revendicationRecuperer(id);
61
62
  if (demande != null) {
62
- void this.repoLocal.revendicationEnregistrer(demande);
63
+ await this.repoLocal.revendicationEnregistrer(demande);
63
64
  }
64
65
  return demande;
65
66
  }
@@ -69,11 +70,11 @@ export class AliasOutputRepository implements AliasOutputPort {
69
70
  const response = await this.repoRemote.revendicationRepondre(id, decision, otpCode);
70
71
  if (decision) {
71
72
  // Supprimer l'alias MBNO en local
72
- void this.repoLocal.supprimer(response.alias);
73
+ await this.repoLocal.supprimerParCle(response.alias);
73
74
  // Creer l'alias SHID en local
74
- void this.repoLocal.enregistrer(response.shid!);
75
+ await this.repoLocal.enregistrer(response.shid!);
75
76
  }
76
- void this.repoLocal.revendicationEnregistrer(response);
77
+ await this.repoLocal.revendicationEnregistrer(response);
77
78
  return response;
78
79
  }
79
80
  }
@@ -7,8 +7,8 @@ import { AppRouter, useAppRouter } from '../../../../core/router';
7
7
  import { useTheme } from '../../../../core/theme';
8
8
  import { useAppLocalizations } from '../../../../l10n/localizations';
9
9
  import { Card } from '../../../../shared/material/card';
10
- import { showDialog, showModalBottomSheet } from '../../../../shared/material/overlays';
11
- import { CustomAlertDialog } from '../../../../shared/widgets/custom_alert_dialog';
10
+ import { showModalBottomSheet } from '../../../../shared/material/overlays';
11
+ import { showConfirmActionSheet } from '../../../../shared/widgets/confirm_action_sheet_widget';
12
12
  import { CustomLoadingDialog } from '../../../../shared/widgets/loading_page';
13
13
  import { NotificationDialog, NotificationType } from '../../../../shared/widgets/notification_dialog';
14
14
  import { ProfileMenuTile } from '../../../profile/presentation/pages/profile_menu';
@@ -30,7 +30,6 @@ export function AliasDeleteBtnWidget() {
30
30
  (state) => {
31
31
  // En cours de suppression
32
32
  if (state instanceof AliasDeletingState) {
33
- AppRouter.pop(router);
34
33
  CustomLoadingDialog.show(router);
35
34
  }
36
35
  // Supprimé
@@ -56,27 +55,21 @@ export function AliasDeleteBtnWidget() {
56
55
  state instanceof AliasDeletingState || state instanceof AliasDeleteErrorState || state instanceof AliasNotExistState,
57
56
  );
58
57
 
59
- const onPress = () => {
60
- void showDialog(router, {
61
- builder: () => (
62
- <CustomAlertDialog
63
- title={traductions.compteDetailsPagePopupDeleteAliasTitle}
64
- description={
65
- alias.type === AliasType.mbno
66
- ? traductions.compteDetailsPagePopupDeleteAliasMBNOSubTitle
67
- : traductions.compteDetailsPagePopupDeleteAliasSHIDSubTitle
68
- }
69
- confirmBtnText={traductions.compteDetailsPagePopupDeleteAliasBtnConfirmer}
70
- confirmBtnAction={async () => {
71
- // Action sensible : vérification (step-up) déléguée à l'hôte
72
- if (!(await Di.config.identification.requireStepUpIdentification())) return;
73
- aliasBloc.add(new AliasDeleteEvent(alias));
74
- }}
75
- cancelBtnText={traductions.compteDetailsPagePopupDeleteAliasBtnAnnuler}
76
- cancelBtnAction={() => AppRouter.pop(router)}
77
- />
78
- ),
58
+ const onPress = async () => {
59
+ // Confirmation, comme la suppression d'un appareil
60
+ const confirme = await showConfirmActionSheet(router, {
61
+ title: traductions.compteDetailsPagePopupDeleteAliasTitle,
62
+ subtitle:
63
+ alias.type === AliasType.mbno
64
+ ? traductions.compteDetailsPagePopupDeleteAliasMBNOSubTitle
65
+ : traductions.compteDetailsPagePopupDeleteAliasSHIDSubTitle,
66
+ confirmTitle: traductions.compteDetailsPagePopupDeleteAliasBtnConfirmer,
67
+ cancelTitle: traductions.compteDetailsPagePopupDeleteAliasBtnAnnuler,
79
68
  });
69
+ if (!confirme) return;
70
+ // Action sensible : vérification (step-up) déléguée à l'hôte
71
+ if (!(await Di.config.identification.requireStepUpIdentification())) return;
72
+ aliasBloc.add(new AliasDeleteEvent(alias));
80
73
  };
81
74
 
82
75
  // Ligne de menu du profil, en rouge
@@ -86,7 +79,7 @@ export function AliasDeleteBtnWidget() {
86
79
  icone="delete-outline"
87
80
  titre={traductions.compteDetailsPageBtnSupprimer}
88
81
  couleur={theme.colorScheme.error}
89
- onPress={onPress}
82
+ onPress={() => void onPress()}
90
83
  />
91
84
  </Card>
92
85
  );
@@ -1,5 +1,5 @@
1
1
  import { MaterialIcons } from '@expo/vector-icons';
2
- import { useEffect } from 'react';
2
+ import { useEffect, type ReactNode } from 'react';
3
3
  import { Keyboard, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';
4
4
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
5
 
@@ -11,9 +11,11 @@ import type { AppLocalizations } from '../../../../l10n/app_localizations';
11
11
  import { useAppLocalizations } from '../../../../l10n/localizations';
12
12
  import { ElevatedButton, FilledTonalButton } from '../../../../shared/material/buttons';
13
13
  import { Card } from '../../../../shared/material/card';
14
- import { showDialog, showModalBottomSheet } from '../../../../shared/material/overlays';
14
+ import { showModalBottomSheet } from '../../../../shared/material/overlays';
15
+ import { Divider } from '../../../../shared/material/divider';
16
+ import { withAlpha } from '../../../../shared/utils/color';
15
17
  import { DateFormat } from '../../../../shared/utils/date_format';
16
- import { CustomAlertDialog } from '../../../../shared/widgets/custom_alert_dialog';
18
+ import { showConfirmActionSheet } from '../../../../shared/widgets/confirm_action_sheet_widget';
17
19
  import { ErrorCardWidget } from '../../../../shared/widgets/error_card_widget';
18
20
  import { CustomLoadingDialog, LoadingPage } from '../../../../shared/widgets/loading_page';
19
21
  import type { Alias } from '../../domain/models/alias';
@@ -32,6 +34,7 @@ import {
32
34
  AliasClaimNotFoundState,
33
35
  AliasExistState,
34
36
  } from '../bloc/alias_state';
37
+ import { PinEntete } from '../../../../shared/widgets/pin_entete';
35
38
  import { AliasMBNOCountdownTimer } from './alias_page_create_mbno_timer';
36
39
  import { AliasPageError } from './alias_page_error';
37
40
  import { AliasPageOtp } from './alias_page_otp';
@@ -114,10 +117,11 @@ export function AliasPageClaim({ id }: { id: string }) {
114
117
  const rejecting = aliasState instanceof AliasClaimHandlingSuccessState ? false : aliasState.rejecting;
115
118
  const error = aliasState instanceof AliasClaimHandlingErrorState ? aliasState.error : null;
116
119
  const goHome = () => AppRouter.pushReplacement(router, AppRouter.home);
120
+ // Fermeture, en haut à droite : retour à l'accueil
117
121
  const back = (
118
122
  <View style={styles.backRow}>
119
123
  <Pressable accessibilityRole="button" hitSlop={12} onPress={goHome} style={styles.backButton}>
120
- <MaterialIcons name="arrow-back" size={24} color={theme.colorScheme.onSurface} />
124
+ <MaterialIcons name="close" size={24} color={theme.colorScheme.onSurface} />
121
125
  </Pressable>
122
126
  </View>
123
127
  );
@@ -129,8 +133,9 @@ export function AliasPageClaim({ id }: { id: string }) {
129
133
  <ScrollView style={styles.padded} keyboardShouldPersistTaps="handled">
130
134
  <AliasPageOtp
131
135
  pinLength={AliasMbnoOtpCommand.otpSize}
132
- title={traductions.verifyPhoneNumberPageTitle}
133
- subtitle={traductions.verifyPhoneNumberPageSubTitle(claim.alias)}
136
+ icone="verified-user"
137
+ title={traductions.aliasClaimRefusOtpTitle}
138
+ subtitle={traductions.aliasClaimRefusOtpSubTitle(claim.alias)}
134
139
  errorMessage={error === AliasError.invalidOtpCode ? traductions.aliaMBNOInvalidOtpMessage : null}
135
140
  countdownTimer={
136
141
  aliasBloc.state instanceof AliasClaimHandlingState ? (
@@ -181,48 +186,46 @@ function ClaimDetails({
181
186
  : traductions.statutRejete;
182
187
 
183
188
  const confirm = () => {
184
- void showDialog(router, {
185
- builder: () => (
186
- <CustomAlertDialog
187
- title={traductions.aliasClaimAcceptDialogTitle}
188
- description={traductions.aliasClaimAcceptDialogMessage(claim.alias)}
189
- confirmBtnText={traductions.btnTextConfirm}
190
- confirmBtnAction={() => {
191
- AppRouter.pop(router);
192
- aliasBloc.add(new AliasClaimRespondEvent(id, alias, claim, true, null));
193
- }}
194
- cancelBtnText={traductions.btnTextCancel}
195
- cancelBtnAction={() => AppRouter.pop(router)}
196
- />
197
- ),
189
+ // Confirmation, comme la suppression d'un appareil
190
+ void showConfirmActionSheet(router, {
191
+ title: traductions.aliasClaimAcceptDialogTitle,
192
+ subtitle: traductions.aliasClaimAcceptDialogMessage(claim.alias),
193
+ confirmTitle: traductions.btnTextConfirm,
194
+ cancelTitle: traductions.btnTextCancel,
195
+ }).then((confirme) => {
196
+ if (confirme) aliasBloc.add(new AliasClaimRespondEvent(id, alias, claim, true, null));
198
197
  });
199
198
  };
200
199
 
201
200
  return (
202
201
  <View style={styles.flex}>
203
202
  {/* Détails de la revendication */}
204
- <ScrollView style={styles.padded}>
205
- {/* Header: titre et numéro de téléphone */}
206
- <Text numberOfLines={1} style={theme.textTheme.titleSmall}>
207
- {traductions.aliasClaimDetailsHeadTitle}
208
- </Text>
209
- <Text numberOfLines={1} style={[styles.subtitle, { color: theme.colorScheme.primary }]}>
210
- {traductions.aliasClaimDetailsHeadSubTitle}
211
- </Text>
212
- <Text style={{ color: theme.colorScheme.onSurface }}>{claim.alias}</Text>
213
- <View style={styles.gap20} />
203
+ <ScrollView style={styles.padded} contentContainerStyle={styles.contenu}>
204
+ {/* En-tête : pastille, titre et sous-titre centrés */}
205
+ <PinEntete
206
+ icone="gpp-maybe"
207
+ titre={traductions.aliasClaimDetailsHeadTitle}
208
+ sousTitre={traductions.aliasClaimDetailsHeadSubTitle}
209
+ />
210
+ <View style={styles.gap12} />
211
+ {/* Alias réclamé, en évidence */}
212
+ <View style={[styles.alias, { backgroundColor: withAlpha(theme.colorScheme.primary, 0.08) }]}>
213
+ <Text style={[theme.textTheme.displayLarge, styles.aliasTexte]}>{claim.alias}</Text>
214
+ </View>
215
+ <View style={styles.gap24} />
214
216
 
215
217
  {/* Détails : statut et dates */}
216
218
  <Card>
217
219
  <View style={styles.card}>
220
+ {/* Statut en badge coloré */}
221
+ <Detail title={traductions.statutLabel} valeur={<BadgeStatut statut={claim.statut} texte={statut} />} />
222
+ <Divider height={24} />
218
223
  <Detail
219
224
  title={traductions.aliasClaimDetailsDateDemande}
220
225
  subtitle={new DateFormat('d MMM, HH:mm', locale).format(claim.dateDemande)}
221
226
  />
222
- <View style={styles.gap10} />
223
- <Detail title={traductions.statutLabel} subtitle={statut} />
224
- <View style={styles.gap10} />
225
227
  {/* Date acceptation ou rejet */}
228
+ {claim.dateAction != null && <Divider height={24} />}
226
229
  {claim.dateAction != null && (
227
230
  <Detail
228
231
  title={
@@ -235,7 +238,7 @@ function ClaimDetails({
235
238
  )}
236
239
  </View>
237
240
  </Card>
238
- <View style={styles.gap10} />
241
+ <View style={styles.gap12} />
239
242
 
240
243
  {/* Avertissement délai de traitement */}
241
244
  {initiee && (
@@ -267,32 +270,57 @@ function ClaimDetails({
267
270
  );
268
271
  }
269
272
 
270
- /** Affiche un détail de la revendication */
271
- function Detail({ title, subtitle }: { title: string; subtitle: string }) {
273
+ /** Affiche un détail de la revendication : [subtitle] ou [valeur] */
274
+ function Detail({ title, subtitle, valeur }: { title: string; subtitle?: string; valeur?: ReactNode }) {
272
275
  const theme = useTheme();
273
276
  return (
274
277
  <View style={styles.detail}>
275
- <Text numberOfLines={1} style={theme.textTheme.bodyLarge}>
278
+ <Text numberOfLines={1} style={[theme.textTheme.bodyLarge, { color: Themer.neural03Color }]}>
276
279
  {title}
277
280
  </Text>
278
- <Text numberOfLines={1} style={[theme.textTheme.bodyLarge, styles.detailValue, { color: Themer.neural03Color }]}>
279
- {subtitle}
280
- </Text>
281
+ <View style={styles.detailValue}>
282
+ {valeur ?? (
283
+ <Text numberOfLines={1} style={[theme.textTheme.bodyLarge, styles.detailTexte]}>
284
+ {subtitle}
285
+ </Text>
286
+ )}
287
+ </View>
288
+ </View>
289
+ );
290
+ }
291
+
292
+ /** Statut en badge coloré : en attente, acceptée ou rejetée */
293
+ function BadgeStatut({ statut, texte }: { statut: AliasRevendicationStatut; texte: string }) {
294
+ const theme = useTheme();
295
+ const couleur =
296
+ statut === AliasRevendicationStatut.initiee
297
+ ? Themer.amberColor
298
+ : statut === AliasRevendicationStatut.acceptee
299
+ ? Themer.successColor
300
+ : theme.colorScheme.error;
301
+ return (
302
+ <View style={[styles.badge, { backgroundColor: withAlpha(couleur, 0.12) }]}>
303
+ <Text style={[theme.textTheme.displaySmall, styles.badgeTexte, { color: couleur }]}>{texte}</Text>
281
304
  </View>
282
305
  );
283
306
  }
284
307
 
285
308
  const styles = StyleSheet.create({
286
309
  flex: { flex: 1 },
287
- backRow: { flexDirection: 'row' },
310
+ backRow: { flexDirection: 'row', justifyContent: 'flex-end' },
288
311
  backButton: { padding: 12 },
289
- padded: { paddingHorizontal: 12 },
290
- subtitle: { paddingBottom: 4 },
291
- gap10: { height: 10 },
292
- gap20: { height: 20 },
312
+ padded: { paddingHorizontal: 20 },
313
+ contenu: { paddingBottom: 16 },
314
+ alias: { alignSelf: 'center', paddingHorizontal: 16, paddingVertical: 8, borderRadius: 20 },
315
+ aliasTexte: { fontWeight: '700', letterSpacing: 0.5 },
316
+ gap12: { height: 12 },
317
+ gap24: { height: 24 },
293
318
  gap16w: { width: 16 },
294
- card: { paddingVertical: 10, paddingHorizontal: 15 },
319
+ card: { paddingVertical: 14, paddingHorizontal: 16 },
295
320
  detail: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' },
296
- detailValue: { flex: 1, textAlign: 'right' },
297
- actions: { flexDirection: 'row', paddingVertical: 10, paddingHorizontal: 10 },
321
+ detailValue: { flex: 1, marginLeft: 12, alignItems: 'flex-end' },
322
+ detailTexte: { fontWeight: '600', textAlign: 'right' },
323
+ badge: { paddingHorizontal: 10, paddingVertical: 4, borderRadius: 12 },
324
+ badgeTexte: { fontWeight: '700' },
325
+ actions: { flexDirection: 'row', paddingTop: 8, paddingBottom: 16, paddingHorizontal: 20 },
298
326
  });