@pi-spi/app 1.5.0 → 1.6.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 (117) hide show
  1. package/README.md +3 -0
  2. package/lib/module/core/api.js +9 -0
  3. package/lib/module/core/api.js.map +1 -1
  4. package/lib/module/core/pi_spi_sdk_config.js +10 -0
  5. package/lib/module/core/pi_spi_sdk_config.js.map +1 -1
  6. package/lib/module/l10n/app_localizations.js.map +1 -1
  7. package/lib/module/l10n/app_localizations_en.js +12 -1
  8. package/lib/module/l10n/app_localizations_en.js.map +1 -1
  9. package/lib/module/l10n/app_localizations_fr.js +12 -1
  10. package/lib/module/l10n/app_localizations_fr.js.map +1 -1
  11. package/lib/module/l10n/app_localizations_pt.js +12 -1
  12. package/lib/module/l10n/app_localizations_pt.js.map +1 -1
  13. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js +15 -19
  14. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js.map +1 -1
  15. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js +4 -11
  16. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js.map +1 -1
  17. package/lib/module/modules/compte/presentation/pages/compte_details_widget.js +6 -7
  18. package/lib/module/modules/compte/presentation/pages/compte_details_widget.js.map +1 -1
  19. package/lib/module/modules/profile/presentation/pages/compte/profile_compte_page.js +25 -11
  20. package/lib/module/modules/profile/presentation/pages/compte/profile_compte_page.js.map +1 -1
  21. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page.js +12 -18
  22. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page.js.map +1 -1
  23. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js +109 -103
  24. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js.map +1 -1
  25. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js +55 -72
  26. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js.map +1 -1
  27. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.js +31 -45
  28. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.js.map +1 -1
  29. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.js +103 -67
  30. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.js.map +1 -1
  31. package/lib/module/modules/profile/presentation/pages/profile_app_bar.js +26 -0
  32. package/lib/module/modules/profile/presentation/pages/profile_app_bar.js.map +1 -0
  33. package/lib/module/modules/profile/presentation/pages/profile_menu.js +143 -34
  34. package/lib/module/modules/profile/presentation/pages/profile_menu.js.map +1 -1
  35. package/lib/module/modules/profile/presentation/pages/profile_page.js +95 -63
  36. package/lib/module/modules/profile/presentation/pages/profile_page.js.map +1 -1
  37. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js +97 -45
  38. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js.map +1 -1
  39. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js +9 -8
  40. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js.map +1 -1
  41. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js +26 -2
  42. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js.map +1 -1
  43. package/lib/module/modules/search/presentation/pages/search_page.js +0 -1
  44. package/lib/module/modules/search/presentation/pages/search_page.js.map +1 -1
  45. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.js +4 -11
  46. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.js.map +1 -1
  47. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js +13 -10
  48. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js.map +1 -1
  49. package/lib/module/shared/utils/color.js +15 -0
  50. package/lib/module/shared/utils/color.js.map +1 -0
  51. package/lib/module/shared/widgets/error_card_widget.js +70 -0
  52. package/lib/module/shared/widgets/error_card_widget.js.map +1 -0
  53. package/lib/module/shared/widgets/selection.js +136 -0
  54. package/lib/module/shared/widgets/selection.js.map +1 -0
  55. package/lib/typescript/src/core/api.d.ts.map +1 -1
  56. package/lib/typescript/src/core/pi_spi_sdk_config.d.ts +10 -0
  57. package/lib/typescript/src/core/pi_spi_sdk_config.d.ts.map +1 -1
  58. package/lib/typescript/src/l10n/app_localizations.d.ts +22 -0
  59. package/lib/typescript/src/l10n/app_localizations.d.ts.map +1 -1
  60. package/lib/typescript/src/l10n/app_localizations_en.d.ts.map +1 -1
  61. package/lib/typescript/src/l10n/app_localizations_fr.d.ts.map +1 -1
  62. package/lib/typescript/src/l10n/app_localizations_pt.d.ts.map +1 -1
  63. package/lib/typescript/src/modules/alias/presentation/pages/alias_delete_btn_widget.d.ts.map +1 -1
  64. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_claim.d.ts.map +1 -1
  65. package/lib/typescript/src/modules/compte/presentation/pages/compte_details_widget.d.ts.map +1 -1
  66. package/lib/typescript/src/modules/profile/presentation/pages/compte/profile_compte_page.d.ts.map +1 -1
  67. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page.d.ts.map +1 -1
  68. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.d.ts.map +1 -1
  69. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.d.ts.map +1 -1
  70. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.d.ts.map +1 -1
  71. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.d.ts.map +1 -1
  72. package/lib/typescript/src/modules/profile/presentation/pages/profile_app_bar.d.ts +5 -0
  73. package/lib/typescript/src/modules/profile/presentation/pages/profile_app_bar.d.ts.map +1 -0
  74. package/lib/typescript/src/modules/profile/presentation/pages/profile_menu.d.ts +31 -4
  75. package/lib/typescript/src/modules/profile/presentation/pages/profile_menu.d.ts.map +1 -1
  76. package/lib/typescript/src/modules/profile/presentation/pages/profile_page.d.ts +4 -1
  77. package/lib/typescript/src/modules/profile/presentation/pages/profile_page.d.ts.map +1 -1
  78. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_avatar.d.ts +1 -1
  79. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_avatar.d.ts.map +1 -1
  80. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts.d.ts.map +1 -1
  81. package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts.map +1 -1
  82. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.d.ts.map +1 -1
  83. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.d.ts.map +1 -1
  84. package/lib/typescript/src/shared/utils/color.d.ts +7 -0
  85. package/lib/typescript/src/shared/utils/color.d.ts.map +1 -0
  86. package/lib/typescript/src/shared/widgets/error_card_widget.d.ts +11 -0
  87. package/lib/typescript/src/shared/widgets/error_card_widget.d.ts.map +1 -0
  88. package/lib/typescript/src/shared/widgets/selection.d.ts +21 -0
  89. package/lib/typescript/src/shared/widgets/selection.d.ts.map +1 -0
  90. package/package.json +1 -1
  91. package/src/core/api.ts +4 -0
  92. package/src/core/pi_spi_sdk_config.ts +14 -0
  93. package/src/l10n/app_localizations.ts +22 -0
  94. package/src/l10n/app_localizations_en.ts +11 -0
  95. package/src/l10n/app_localizations_fr.ts +11 -0
  96. package/src/l10n/app_localizations_pt.ts +11 -0
  97. package/src/modules/alias/presentation/pages/alias_delete_btn_widget.tsx +13 -12
  98. package/src/modules/alias/presentation/pages/alias_page_claim.tsx +5 -4
  99. package/src/modules/compte/presentation/pages/compte_details_widget.tsx +3 -4
  100. package/src/modules/profile/presentation/pages/compte/profile_compte_page.tsx +15 -7
  101. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page.tsx +10 -12
  102. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.tsx +89 -68
  103. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx +84 -54
  104. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.tsx +28 -24
  105. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.tsx +77 -44
  106. package/src/modules/profile/presentation/pages/profile_app_bar.tsx +21 -0
  107. package/src/modules/profile/presentation/pages/profile_menu.tsx +126 -33
  108. package/src/modules/profile/presentation/pages/profile_page.tsx +90 -66
  109. package/src/modules/profile/presentation/pages/profile_page_avatar.tsx +69 -28
  110. package/src/modules/profile/presentation/pages/profile_page_contacts.tsx +5 -4
  111. package/src/modules/search/presentation/pages/search_fonctionnalites.ts +40 -7
  112. package/src/modules/search/presentation/pages/search_page.tsx +1 -1
  113. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.tsx +2 -4
  114. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.tsx +13 -6
  115. package/src/shared/utils/color.ts +14 -0
  116. package/src/shared/widgets/error_card_widget.tsx +58 -0
  117. package/src/shared/widgets/selection.tsx +98 -0
@@ -0,0 +1,98 @@
1
+ import { MaterialIcons } from '@expo/vector-icons';
2
+ import type { ReactNode } from 'react';
3
+ import { Pressable, StyleSheet, Text, useWindowDimensions, View } from 'react-native';
4
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
+
6
+ import { Themer, useTheme } from '../../core/theme';
7
+ import { withAlpha } from '../utils/color';
8
+
9
+ /**
10
+ * Feuille de sélection : poignée, [titre], [entete] facultatif, puis le
11
+ * [contenu] (qui défile s'il est trop long : utiliser un ScrollView).
12
+ * À ouvrir avec showModalBottomSheet.
13
+ */
14
+ export function SbSelectionSheet({
15
+ titre,
16
+ titreSize,
17
+ entete,
18
+ contenu,
19
+ }: {
20
+ titre?: string;
21
+ titreSize?: number;
22
+ entete?: ReactNode;
23
+ contenu: ReactNode;
24
+ }) {
25
+ const theme = useTheme();
26
+ const insets = useSafeAreaInsets();
27
+ const { height } = useWindowDimensions();
28
+ return (
29
+ <View
30
+ style={[
31
+ styles.sheet,
32
+ { maxHeight: height * 0.75, backgroundColor: theme.colorScheme.surface, paddingBottom: insets.bottom },
33
+ ]}
34
+ >
35
+ {/* Poignée */}
36
+ <View style={[styles.poignee, { backgroundColor: withAlpha(Themer.neural03Color, 0.4) }]} />
37
+ {titre != null && (
38
+ <Text style={[theme.textTheme.headlineLarge, styles.titre, titreSize != null ? { fontSize: titreSize } : null]}>{titre}</Text>
39
+ )}
40
+ {entete != null && <View style={styles.entete}>{entete}</View>}
41
+ <View style={styles.gap8} />
42
+ <View style={styles.contenu}>{contenu}</View>
43
+ </View>
44
+ );
45
+ }
46
+
47
+ /** Ligne d'une feuille de sélection : [pastille], [texte], [detail] facultatif et coche si elle est [choisie]. */
48
+ export function SbSelectionLigne({
49
+ pastille,
50
+ texte,
51
+ detail,
52
+ choisie,
53
+ onPress,
54
+ }: {
55
+ pastille: ReactNode;
56
+ texte: string;
57
+ detail?: string;
58
+ choisie: boolean;
59
+ onPress: () => void;
60
+ }) {
61
+ const theme = useTheme();
62
+ const primaire = theme.colorScheme.primary;
63
+ return (
64
+ <Pressable
65
+ accessibilityRole="button"
66
+ accessibilityState={{ selected: choisie }}
67
+ onPress={onPress}
68
+ style={({ pressed }) => [
69
+ styles.ligne,
70
+ { backgroundColor: choisie ? withAlpha(primaire, 0.08) : pressed ? theme.colorScheme.secondary : 'transparent' },
71
+ ]}
72
+ >
73
+ {pastille}
74
+ <View style={styles.textes}>
75
+ <Text numberOfLines={1} style={[theme.textTheme.displayLarge, { fontWeight: choisie ? '700' : '500' }]}>
76
+ {texte}
77
+ </Text>
78
+ {detail != null && detail.length > 0 && (
79
+ <Text numberOfLines={1} style={[theme.textTheme.displaySmall, { color: Themer.neural03Color }]}>
80
+ {detail}
81
+ </Text>
82
+ )}
83
+ </View>
84
+ {choisie && <MaterialIcons name="check-circle" size={22} color={primaire} />}
85
+ </Pressable>
86
+ );
87
+ }
88
+
89
+ const styles = StyleSheet.create({
90
+ sheet: { width: '100%', borderTopLeftRadius: 20, borderTopRightRadius: 20 },
91
+ poignee: { alignSelf: 'center', marginTop: 10, marginBottom: 14, width: 36, height: 4, borderRadius: 2 },
92
+ titre: { paddingHorizontal: 20 },
93
+ entete: { paddingHorizontal: 20, paddingTop: 12 },
94
+ contenu: { flexShrink: 1 },
95
+ gap8: { height: 8 },
96
+ ligne: { flexDirection: 'row', alignItems: 'center', marginVertical: 2, paddingHorizontal: 8, paddingVertical: 10, borderRadius: 14 },
97
+ textes: { flex: 1, marginHorizontal: 14 },
98
+ });