@pi-spi/app 1.5.1 → 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 (107) hide show
  1. package/lib/module/l10n/app_localizations.js.map +1 -1
  2. package/lib/module/l10n/app_localizations_en.js +12 -1
  3. package/lib/module/l10n/app_localizations_en.js.map +1 -1
  4. package/lib/module/l10n/app_localizations_fr.js +12 -1
  5. package/lib/module/l10n/app_localizations_fr.js.map +1 -1
  6. package/lib/module/l10n/app_localizations_pt.js +12 -1
  7. package/lib/module/l10n/app_localizations_pt.js.map +1 -1
  8. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js +15 -19
  9. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js.map +1 -1
  10. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js +4 -11
  11. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js.map +1 -1
  12. package/lib/module/modules/compte/presentation/pages/compte_details_widget.js +6 -7
  13. package/lib/module/modules/compte/presentation/pages/compte_details_widget.js.map +1 -1
  14. package/lib/module/modules/profile/presentation/pages/compte/profile_compte_page.js +25 -11
  15. package/lib/module/modules/profile/presentation/pages/compte/profile_compte_page.js.map +1 -1
  16. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page.js +12 -18
  17. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page.js.map +1 -1
  18. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js +109 -103
  19. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js.map +1 -1
  20. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js +55 -72
  21. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js.map +1 -1
  22. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.js +31 -45
  23. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.js.map +1 -1
  24. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.js +103 -67
  25. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.js.map +1 -1
  26. package/lib/module/modules/profile/presentation/pages/profile_app_bar.js +26 -0
  27. package/lib/module/modules/profile/presentation/pages/profile_app_bar.js.map +1 -0
  28. package/lib/module/modules/profile/presentation/pages/profile_menu.js +143 -34
  29. package/lib/module/modules/profile/presentation/pages/profile_menu.js.map +1 -1
  30. package/lib/module/modules/profile/presentation/pages/profile_page.js +95 -63
  31. package/lib/module/modules/profile/presentation/pages/profile_page.js.map +1 -1
  32. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js +97 -45
  33. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js.map +1 -1
  34. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js +9 -8
  35. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js.map +1 -1
  36. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js +26 -2
  37. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js.map +1 -1
  38. package/lib/module/modules/search/presentation/pages/search_page.js +0 -1
  39. package/lib/module/modules/search/presentation/pages/search_page.js.map +1 -1
  40. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.js +4 -11
  41. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.js.map +1 -1
  42. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js +13 -10
  43. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js.map +1 -1
  44. package/lib/module/shared/utils/color.js +15 -0
  45. package/lib/module/shared/utils/color.js.map +1 -0
  46. package/lib/module/shared/widgets/error_card_widget.js +70 -0
  47. package/lib/module/shared/widgets/error_card_widget.js.map +1 -0
  48. package/lib/module/shared/widgets/selection.js +136 -0
  49. package/lib/module/shared/widgets/selection.js.map +1 -0
  50. package/lib/typescript/src/l10n/app_localizations.d.ts +22 -0
  51. package/lib/typescript/src/l10n/app_localizations.d.ts.map +1 -1
  52. package/lib/typescript/src/l10n/app_localizations_en.d.ts.map +1 -1
  53. package/lib/typescript/src/l10n/app_localizations_fr.d.ts.map +1 -1
  54. package/lib/typescript/src/l10n/app_localizations_pt.d.ts.map +1 -1
  55. package/lib/typescript/src/modules/alias/presentation/pages/alias_delete_btn_widget.d.ts.map +1 -1
  56. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_claim.d.ts.map +1 -1
  57. package/lib/typescript/src/modules/compte/presentation/pages/compte_details_widget.d.ts.map +1 -1
  58. package/lib/typescript/src/modules/profile/presentation/pages/compte/profile_compte_page.d.ts.map +1 -1
  59. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page.d.ts.map +1 -1
  60. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.d.ts.map +1 -1
  61. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.d.ts.map +1 -1
  62. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.d.ts.map +1 -1
  63. package/lib/typescript/src/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.d.ts.map +1 -1
  64. package/lib/typescript/src/modules/profile/presentation/pages/profile_app_bar.d.ts +5 -0
  65. package/lib/typescript/src/modules/profile/presentation/pages/profile_app_bar.d.ts.map +1 -0
  66. package/lib/typescript/src/modules/profile/presentation/pages/profile_menu.d.ts +31 -4
  67. package/lib/typescript/src/modules/profile/presentation/pages/profile_menu.d.ts.map +1 -1
  68. package/lib/typescript/src/modules/profile/presentation/pages/profile_page.d.ts +4 -1
  69. package/lib/typescript/src/modules/profile/presentation/pages/profile_page.d.ts.map +1 -1
  70. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_avatar.d.ts +1 -1
  71. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_avatar.d.ts.map +1 -1
  72. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts.d.ts.map +1 -1
  73. package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts.map +1 -1
  74. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.d.ts.map +1 -1
  75. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.d.ts.map +1 -1
  76. package/lib/typescript/src/shared/utils/color.d.ts +7 -0
  77. package/lib/typescript/src/shared/utils/color.d.ts.map +1 -0
  78. package/lib/typescript/src/shared/widgets/error_card_widget.d.ts +11 -0
  79. package/lib/typescript/src/shared/widgets/error_card_widget.d.ts.map +1 -0
  80. package/lib/typescript/src/shared/widgets/selection.d.ts +21 -0
  81. package/lib/typescript/src/shared/widgets/selection.d.ts.map +1 -0
  82. package/package.json +1 -1
  83. package/src/l10n/app_localizations.ts +22 -0
  84. package/src/l10n/app_localizations_en.ts +11 -0
  85. package/src/l10n/app_localizations_fr.ts +11 -0
  86. package/src/l10n/app_localizations_pt.ts +11 -0
  87. package/src/modules/alias/presentation/pages/alias_delete_btn_widget.tsx +13 -12
  88. package/src/modules/alias/presentation/pages/alias_page_claim.tsx +5 -4
  89. package/src/modules/compte/presentation/pages/compte_details_widget.tsx +3 -4
  90. package/src/modules/profile/presentation/pages/compte/profile_compte_page.tsx +15 -7
  91. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page.tsx +10 -12
  92. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.tsx +89 -68
  93. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx +84 -54
  94. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.tsx +28 -24
  95. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_theme.tsx +77 -44
  96. package/src/modules/profile/presentation/pages/profile_app_bar.tsx +21 -0
  97. package/src/modules/profile/presentation/pages/profile_menu.tsx +126 -33
  98. package/src/modules/profile/presentation/pages/profile_page.tsx +90 -66
  99. package/src/modules/profile/presentation/pages/profile_page_avatar.tsx +69 -28
  100. package/src/modules/profile/presentation/pages/profile_page_contacts.tsx +5 -4
  101. package/src/modules/search/presentation/pages/search_fonctionnalites.ts +40 -7
  102. package/src/modules/search/presentation/pages/search_page.tsx +1 -1
  103. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page.tsx +2 -4
  104. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.tsx +13 -6
  105. package/src/shared/utils/color.ts +14 -0
  106. package/src/shared/widgets/error_card_widget.tsx +58 -0
  107. package/src/shared/widgets/selection.tsx +98 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { MaterialIcons } from '@expo/vector-icons';
4
4
  import { useState } from 'react';
5
- import { Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';
5
+ import { ScrollView, StyleSheet, Text, View } from 'react-native';
6
6
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
7
7
  import { Images } from "../../../../../core/assets.js";
8
8
  import { useBloc } from "../../../../../core/bloc_react.js";
@@ -11,11 +11,12 @@ import { SoundManager } from "../../../../../core/sounds.js";
11
11
  import { useTheme } from "../../../../../core/theme.js";
12
12
  import { useAppLocalizations } from "../../../../../l10n/localizations.js";
13
13
  import { TextButton } from "../../../../../shared/material/buttons.js";
14
- import { Card } from "../../../../../shared/material/card.js";
14
+ import { AppBar } from "../../../../../shared/material/scaffold.js";
15
15
  import { ConfigBloc } from "../../../../config/adapters/ui/bloc/config_bloc.js";
16
16
  import { ConfigChangeEvent } from "../../../../config/adapters/ui/bloc/config_event.js";
17
17
  import { ConfigKey } from "../../../../config/domain/models/config_keys.js";
18
- import { SettingToggle } from "./settings_widgets.js";
18
+ import { ProfileMenuTile, ProfilePageMenu } from "../profile_menu.js";
19
+ import { SwitchThemed } from "./settings_widgets.js";
19
20
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
21
  const NONE = 'NONE';
21
22
 
@@ -41,55 +42,53 @@ export function ProfileParametrePageNotificationsSon() {
41
42
  AppRouter.pop(router);
42
43
  }
43
44
  };
45
+ const basculer = () => setSelectedSound(enabled ? NONE : SoundManager.liste[0]?.path ?? null);
44
46
  return /*#__PURE__*/_jsxs(View, {
45
47
  style: [styles.flex, {
46
48
  paddingBottom: insets.bottom
47
49
  }],
48
- children: [/*#__PURE__*/_jsxs(View, {
49
- style: styles.bar,
50
- children: [/*#__PURE__*/_jsx(Pressable, {
51
- accessibilityRole: "button",
52
- hitSlop: 12,
53
- style: styles.back,
54
- onPress: () => AppRouter.pop(router),
55
- children: /*#__PURE__*/_jsx(MaterialIcons, {
56
- name: "arrow-back",
57
- size: 24,
58
- color: theme.colorScheme.onSurface
59
- })
60
- }), /*#__PURE__*/_jsx(View, {
50
+ children: [/*#__PURE__*/_jsx(AppBar, {
51
+ backgroundColor: "transparent",
52
+ onBack: () => AppRouter.pop(router),
53
+ title: /*#__PURE__*/_jsx(Text, {
54
+ numberOfLines: 1,
55
+ style: theme.textTheme.headlineMedium,
56
+ children: traductions.appSettingPageMenuNotificationSonPageTitle
57
+ }),
58
+ actions: /*#__PURE__*/_jsx(View, {
61
59
  style: styles.save,
62
60
  children: /*#__PURE__*/_jsx(TextButton, {
63
61
  onPress: save,
64
62
  children: traductions.btnTextSave
65
63
  })
66
- })]
64
+ })
67
65
  }), /*#__PURE__*/_jsxs(ScrollView, {
68
66
  style: styles.flex,
69
67
  contentContainerStyle: styles.content,
70
- children: [/*#__PURE__*/_jsx(Text, {
71
- style: theme.textTheme.headlineMedium,
72
- children: traductions.appSettingPageMenuNotificationSonPageTitle
73
- }), /*#__PURE__*/_jsx(View, {
74
- style: styles.gap20
75
- }), /*#__PURE__*/_jsx(SettingToggle, {
76
- icon: Images.iconsCloche,
77
- title: traductions.notificationPageTitle,
78
- value: enabled,
79
- onChange: value => setSelectedSound(value ? SoundManager.liste[0]?.path ?? null : NONE)
68
+ children: [/*#__PURE__*/_jsx(ProfilePageMenu, {
69
+ items: [/*#__PURE__*/_jsx(ProfileMenuTile, {
70
+ image: Images.iconsCloche,
71
+ titre: traductions.notificationPageTitle,
72
+ onPress: basculer,
73
+ trailing: /*#__PURE__*/_jsx(SwitchThemed, {
74
+ value: enabled,
75
+ onChange: basculer
76
+ })
77
+ }, "son")]
80
78
  }), /*#__PURE__*/_jsx(View, {
81
- style: styles.gap20
82
- }), /*#__PURE__*/_jsx(Text, {
83
- style: theme.textTheme.headlineMedium,
84
- children: traductions.appSettingPageMenuNotificationSonTitle
85
- }), /*#__PURE__*/_jsx(View, {
86
- style: styles.gap10
87
- }), /*#__PURE__*/_jsxs(Card, {
88
- children: [/*#__PURE__*/_jsx(SoundRow, {
79
+ style: styles.gap24
80
+ }), /*#__PURE__*/_jsx(ProfilePageMenu, {
81
+ titre: traductions.appSettingPageMenuNotificationSonTitle,
82
+ items: [
83
+ /*#__PURE__*/
84
+ // Aucun
85
+ _jsx(SoundRow, {
86
+ icone: "music-off",
89
87
  label: traductions.appSettingPageMenuNotificationStyleNone,
90
88
  checked: selectedSound === NONE,
91
89
  onPress: () => setSelectedSound(NONE)
92
- }), SoundManager.liste.map(sound => /*#__PURE__*/_jsx(SoundRow, {
90
+ }, NONE), ...SoundManager.liste.map(sound => /*#__PURE__*/_jsx(SoundRow, {
91
+ icone: "music-note",
93
92
  label: sound.name,
94
93
  checked: selectedSound === sound.path,
95
94
  onPress: () => {
@@ -103,63 +102,47 @@ export function ProfileParametrePageNotificationsSon() {
103
102
  })]
104
103
  });
105
104
  }
105
+
106
+ /** Son de la liste, coché quand il est choisi */
106
107
  function SoundRow({
108
+ icone,
107
109
  label,
108
110
  checked,
109
111
  onPress
110
112
  }) {
111
113
  const theme = useTheme();
112
- return /*#__PURE__*/_jsxs(Pressable, {
113
- accessibilityRole: "radio",
114
- accessibilityState: {
115
- checked
116
- },
114
+ return /*#__PURE__*/_jsx(ProfileMenuTile, {
115
+ icone: icone,
116
+ titre: label,
117
117
  onPress: onPress,
118
- style: ({
119
- pressed
120
- }) => [styles.row, pressed ? {
121
- backgroundColor: theme.colorScheme.secondary
122
- } : null],
123
- children: [/*#__PURE__*/_jsx(Text, {
124
- style: [theme.textTheme.bodyLarge, styles.flex],
125
- children: label
126
- }), checked && /*#__PURE__*/_jsx(MaterialIcons, {
127
- name: "check",
128
- size: 18,
129
- color: theme.colorScheme.onSurface
130
- })]
118
+ trailing: checked ? /*#__PURE__*/_jsx(MaterialIcons, {
119
+ name: "check-circle",
120
+ size: 22,
121
+ color: theme.colorScheme.primary
122
+ }) : /*#__PURE__*/_jsx(View, {
123
+ style: styles.vide
124
+ })
131
125
  });
132
126
  }
133
127
  const styles = StyleSheet.create({
134
128
  flex: {
135
129
  flex: 1
136
130
  },
137
- bar: {
138
- flexDirection: 'row',
139
- alignItems: 'center',
140
- justifyContent: 'space-between'
141
- },
142
- back: {
143
- padding: 12
144
- },
145
131
  save: {
146
132
  paddingRight: 12
147
133
  },
148
134
  content: {
149
- paddingTop: 12,
150
- paddingHorizontal: 12
135
+ paddingTop: 8,
136
+ paddingHorizontal: 20
151
137
  },
152
- row: {
153
- flexDirection: 'row',
154
- alignItems: 'center',
155
- paddingHorizontal: 16,
156
- minHeight: 52
157
- },
158
- gap10: {
159
- height: 10
138
+ vide: {
139
+ width: 22
160
140
  },
161
141
  gap20: {
162
142
  height: 20
143
+ },
144
+ gap24: {
145
+ height: 24
163
146
  }
164
147
  });
165
148
  //# sourceMappingURL=profile_parametre_page_notifications_son.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MaterialIcons","useState","Pressable","ScrollView","StyleSheet","Text","View","useSafeAreaInsets","Images","useBloc","AppRouter","useAppRouter","SoundManager","useTheme","useAppLocalizations","TextButton","Card","ConfigBloc","ConfigChangeEvent","ConfigKey","SettingToggle","jsx","_jsx","jsxs","_jsxs","NONE","ProfileParametrePageNotificationsSon","traductions","theme","router","insets","configBloc","selectedSound","setSelectedSound","state","configParams","params","notificationAlertSound","enabled","save","add","pop","style","styles","flex","paddingBottom","bottom","children","bar","accessibilityRole","hitSlop","back","onPress","name","size","color","colorScheme","onSurface","btnTextSave","contentContainerStyle","content","textTheme","headlineMedium","appSettingPageMenuNotificationSonPageTitle","gap20","icon","iconsCloche","title","notificationPageTitle","value","onChange","liste","path","appSettingPageMenuNotificationSonTitle","gap10","SoundRow","label","appSettingPageMenuNotificationStyleNone","checked","map","sound","playSound","accessibilityState","pressed","row","backgroundColor","secondary","bodyLarge","create","flexDirection","alignItems","justifyContent","padding","paddingRight","paddingTop","paddingHorizontal","minHeight","height"],"sourceRoot":"../../../../../../../src","sources":["modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MaterialIcons","useState","ScrollView","StyleSheet","Text","View","useSafeAreaInsets","Images","useBloc","AppRouter","useAppRouter","SoundManager","useTheme","useAppLocalizations","TextButton","AppBar","ConfigBloc","ConfigChangeEvent","ConfigKey","ProfileMenuTile","ProfilePageMenu","SwitchThemed","jsx","_jsx","jsxs","_jsxs","NONE","ProfileParametrePageNotificationsSon","traductions","theme","router","insets","configBloc","selectedSound","setSelectedSound","state","configParams","params","notificationAlertSound","enabled","save","add","pop","basculer","liste","path","style","styles","flex","paddingBottom","bottom","children","backgroundColor","onBack","title","numberOfLines","textTheme","headlineMedium","appSettingPageMenuNotificationSonPageTitle","actions","onPress","btnTextSave","contentContainerStyle","content","items","image","iconsCloche","titre","notificationPageTitle","trailing","value","onChange","gap24","appSettingPageMenuNotificationSonTitle","SoundRow","icone","label","appSettingPageMenuNotificationStyleNone","checked","map","sound","name","playSound","gap20","size","color","colorScheme","primary","vide","create","paddingRight","paddingTop","paddingHorizontal","width","height"],"sourceRoot":"../../../../../../../src","sources":["modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,70 +1,56 @@
1
1
  "use strict";
2
2
 
3
- import { ScrollView, StyleSheet, Text, useWindowDimensions, View } from 'react-native';
4
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
3
+ import { StyleSheet, Text, View } from 'react-native';
5
4
  import { Images } from "../../../../../core/assets.js";
6
5
  import { useBloc, useBlocBuilder } from "../../../../../core/bloc_react.js";
7
- import { useTheme } from "../../../../../core/theme.js";
6
+ import { Themer, useTheme } from "../../../../../core/theme.js";
8
7
  import { useAppLocalizations } from "../../../../../l10n/localizations.js";
8
+ import { SbSelectionSheet } from "../../../../../shared/widgets/selection.js";
9
9
  import { ConfigBloc } from "../../../../config/adapters/ui/bloc/config_bloc.js";
10
10
  import { ConfigChangeEvent } from "../../../../config/adapters/ui/bloc/config_event.js";
11
11
  import { ConfigLoadedState } from "../../../../config/adapters/ui/bloc/config_state.js";
12
12
  import { ConfigKey } from "../../../../config/domain/models/config_keys.js";
13
- import { SettingToggle } from "./settings_widgets.js";
13
+ import { ProfileMenuTile, ProfilePageMenu } from "../profile_menu.js";
14
+ import { SwitchThemed } from "./settings_widgets.js";
14
15
 
15
16
  /** Feuille « Mon QR code » : afficher ou non le QR code de l'alias sur l'accueil. */
16
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
+ import { jsx as _jsx } from "react/jsx-runtime";
17
18
  export function ProfileParametrePageQRcode() {
18
19
  const traductions = useAppLocalizations();
19
20
  const theme = useTheme();
20
- const insets = useSafeAreaInsets();
21
- const {
22
- height
23
- } = useWindowDimensions();
24
21
  const configBloc = useBloc(ConfigBloc);
25
22
  const state = useBlocBuilder(configBloc, (_p, current) => current instanceof ConfigLoadedState && current.updatedKey === ConfigKey.showQRcode);
26
23
  const showQRcode = state.configParams.params[ConfigKey.showQRcode] !== '0';
27
- return /*#__PURE__*/_jsx(View, {
28
- style: [styles.box, {
29
- backgroundColor: theme.colorScheme.surface,
30
- maxHeight: height * 0.5
31
- }],
32
- children: /*#__PURE__*/_jsxs(ScrollView, {
33
- contentContainerStyle: [styles.content, {
34
- paddingBottom: 20 + insets.bottom
24
+ const basculer = () => configBloc.add(new ConfigChangeEvent(ConfigKey.showQRcode, showQRcode ? '0' : '1'));
25
+ return /*#__PURE__*/_jsx(SbSelectionSheet, {
26
+ titre: traductions.appSettingPageMenuQrCodeTitle,
27
+ entete: /*#__PURE__*/_jsx(Text, {
28
+ style: [theme.textTheme.displaySmall, {
29
+ color: Themer.neural03Color
35
30
  }],
36
- children: [/*#__PURE__*/_jsx(Text, {
37
- style: theme.textTheme.headlineLarge,
38
- children: traductions.appSettingPageMenuQrCodeTitle
39
- }), /*#__PURE__*/_jsx(View, {
40
- style: styles.gap8
41
- }), /*#__PURE__*/_jsx(Text, {
42
- style: theme.textTheme.displaySmall,
43
- children: showQRcode ? traductions.appSettingPageMenuQrCodeDeselectTitle : traductions.appSettingPageMenuQrCodeSelectTitle
44
- }), /*#__PURE__*/_jsx(View, {
45
- style: styles.gap15
46
- }), /*#__PURE__*/_jsx(SettingToggle, {
47
- icon: Images.homeFooterQrcode,
48
- title: traductions.appSettingPageMenuQrCodeTitle,
49
- value: showQRcode,
50
- onChange: () => configBloc.add(new ConfigChangeEvent(ConfigKey.showQRcode, showQRcode ? '0' : '1'))
51
- })]
31
+ children: showQRcode ? traductions.appSettingPageMenuQrCodeDeselectTitle : traductions.appSettingPageMenuQrCodeSelectTitle
32
+ }),
33
+ contenu: /*#__PURE__*/_jsx(View, {
34
+ style: styles.contenu,
35
+ children: /*#__PURE__*/_jsx(ProfilePageMenu, {
36
+ items: [/*#__PURE__*/_jsx(ProfileMenuTile, {
37
+ image: Images.homeFooterQrcode,
38
+ titre: traductions.appSettingPageMenuQrCodeTitle,
39
+ onPress: basculer,
40
+ trailing: /*#__PURE__*/_jsx(SwitchThemed, {
41
+ value: showQRcode,
42
+ onChange: basculer
43
+ })
44
+ }, "qrcode")]
45
+ })
52
46
  })
53
47
  });
54
48
  }
55
49
  const styles = StyleSheet.create({
56
- box: {
57
- borderRadius: 20,
58
- overflow: 'hidden'
59
- },
60
- content: {
61
- padding: 20
62
- },
63
- gap8: {
64
- height: 8
65
- },
66
- gap15: {
67
- height: 15
50
+ contenu: {
51
+ paddingHorizontal: 20,
52
+ paddingTop: 8,
53
+ paddingBottom: 20
68
54
  }
69
55
  });
70
56
  //# sourceMappingURL=profile_parametre_page_qrcode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ScrollView","StyleSheet","Text","useWindowDimensions","View","useSafeAreaInsets","Images","useBloc","useBlocBuilder","useTheme","useAppLocalizations","ConfigBloc","ConfigChangeEvent","ConfigLoadedState","ConfigKey","SettingToggle","jsx","_jsx","jsxs","_jsxs","ProfileParametrePageQRcode","traductions","theme","insets","height","configBloc","state","_p","current","updatedKey","showQRcode","configParams","params","style","styles","box","backgroundColor","colorScheme","surface","maxHeight","children","contentContainerStyle","content","paddingBottom","bottom","textTheme","headlineLarge","appSettingPageMenuQrCodeTitle","gap8","displaySmall","appSettingPageMenuQrCodeDeselectTitle","appSettingPageMenuQrCodeSelectTitle","gap15","icon","homeFooterQrcode","title","value","onChange","add","create","borderRadius","overflow","padding"],"sourceRoot":"../../../../../../../src","sources":["modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","Text","View","Images","useBloc","useBlocBuilder","Themer","useTheme","useAppLocalizations","SbSelectionSheet","ConfigBloc","ConfigChangeEvent","ConfigLoadedState","ConfigKey","ProfileMenuTile","ProfilePageMenu","SwitchThemed","jsx","_jsx","ProfileParametrePageQRcode","traductions","theme","configBloc","state","_p","current","updatedKey","showQRcode","configParams","params","basculer","add","titre","appSettingPageMenuQrCodeTitle","entete","style","textTheme","displaySmall","color","neural03Color","children","appSettingPageMenuQrCodeDeselectTitle","appSettingPageMenuQrCodeSelectTitle","contenu","styles","items","image","homeFooterQrcode","onPress","trailing","value","onChange","create","paddingHorizontal","paddingTop","paddingBottom"],"sourceRoot":"../../../../../../../src","sources":["modules/profile/presentation/pages/parametre/profile_parametre_page_qrcode.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAErD,SAASC,MAAM,QAAQ,+BAA4B;AACnD,SAASC,OAAO,EAAEC,cAAc,QAAQ,mCAAgC;AACxE,SAASC,MAAM,EAAEC,QAAQ,QAAQ,8BAA2B;AAC5D,SAASC,mBAAmB,QAAQ,sCAAmC;AACvE,SAASC,gBAAgB,QAAQ,4CAAyC;AAC1E,SAASC,UAAU,QAAQ,oDAAiD;AAC5E,SAASC,iBAAiB,QAAQ,qDAAkD;AACpF,SAASC,iBAAiB,QAAQ,qDAAkD;AACpF,SAASC,SAAS,QAAQ,iDAA8C;AACxE,SAASC,eAAe,EAAEC,eAAe,QAAQ,oBAAiB;AAClE,SAASC,YAAY,QAAQ,uBAAoB;;AAEjD;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,OAAO,SAASC,0BAA0BA,CAAA,EAAG;EAC3C,MAAMC,WAAW,GAAGZ,mBAAmB,CAAC,CAAC;EACzC,MAAMa,KAAK,GAAGd,QAAQ,CAAC,CAAC;EACxB,MAAMe,UAAU,GAAGlB,OAAO,CAACM,UAAU,CAAC;EACtC,MAAMa,KAAK,GAAGlB,cAAc,CAC1BiB,UAAU,EACV,CAACE,EAAE,EAAEC,OAAO,KAAKA,OAAO,YAAYb,iBAAiB,IAAIa,OAAO,CAACC,UAAU,KAAKb,SAAS,CAACc,UAC5F,CAAC;EACD,MAAMA,UAAU,GAAGJ,KAAK,CAACK,YAAY,CAACC,MAAM,CAAChB,SAAS,CAACc,UAAU,CAAC,KAAK,GAAG;EAC1E,MAAMG,QAAQ,GAAGA,CAAA,KAAMR,UAAU,CAACS,GAAG,CAAC,IAAIpB,iBAAiB,CAACE,SAAS,CAACc,UAAU,EAAEA,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;EAE1G,oBACET,IAAA,CAACT,gBAAgB;IACfuB,KAAK,EAAEZ,WAAW,CAACa,6BAA8B;IACjDC,MAAM,eACJhB,IAAA,CAACjB,IAAI;MAACkC,KAAK,EAAE,CAACd,KAAK,CAACe,SAAS,CAACC,YAAY,EAAE;QAAEC,KAAK,EAAEhC,MAAM,CAACiC;MAAc,CAAC,CAAE;MAAAC,QAAA,EAC1Eb,UAAU,GAAGP,WAAW,CAACqB,qCAAqC,GAAGrB,WAAW,CAACsB;IAAmC,CAC7G,CACP;IACDC,OAAO,eACLzB,IAAA,CAAChB,IAAI;MAACiC,KAAK,EAAES,MAAM,CAACD,OAAQ;MAAAH,QAAA,eAC1BtB,IAAA,CAACH,eAAe;QACd8B,KAAK,EAAE,cACL3B,IAAA,CAACJ,eAAe;UAEdgC,KAAK,EAAE3C,MAAM,CAAC4C,gBAAiB;UAC/Bf,KAAK,EAAEZ,WAAW,CAACa,6BAA8B;UACjDe,OAAO,EAAElB,QAAS;UAClBmB,QAAQ,eAAE/B,IAAA,CAACF,YAAY;YAACkC,KAAK,EAAEvB,UAAW;YAACwB,QAAQ,EAAErB;UAAS,CAAE;QAAE,GAJ9D,QAKL,CAAC;MACF,CACH;IAAC,CACE;EACP,CACF,CAAC;AAEN;AAEA,MAAMc,MAAM,GAAG5C,UAAU,CAACoD,MAAM,CAAC;EAC/BT,OAAO,EAAE;IAAEU,iBAAiB,EAAE,EAAE;IAAEC,UAAU,EAAE,CAAC;IAAEC,aAAa,EAAE;EAAG;AACrE,CAAC,CAAC","ignoreList":[]}
@@ -1,21 +1,23 @@
1
1
  "use strict";
2
2
 
3
+ import { MaterialIcons } from '@expo/vector-icons';
3
4
  import { Image } from 'expo-image';
5
+ import { useState } from 'react';
4
6
  import { Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';
5
7
  import { Images } from "../../../../../core/assets.js";
6
8
  import { useBloc, useBlocBuilder } from "../../../../../core/bloc_react.js";
7
- import { AppRouter, useAppRouter } from "../../../../../core/router.js";
8
9
  import { Themer, Themes, useTheme } from "../../../../../core/theme.js";
9
10
  import { useAppLocalizations } from "../../../../../l10n/localizations.js";
10
11
  import { Card } from "../../../../../shared/material/card.js";
11
- import { AppBar, Scaffold } from "../../../../../shared/material/scaffold.js";
12
+ import { Scaffold } from "../../../../../shared/material/scaffold.js";
12
13
  import { MyPageContainer } from "../../../../../shared/widgets/my_page_container.js";
13
14
  import { ConfigBloc } from "../../../../config/adapters/ui/bloc/config_bloc.js";
14
15
  import { ConfigChangeEvent } from "../../../../config/adapters/ui/bloc/config_event.js";
15
16
  import { ConfigLoadedState } from "../../../../config/adapters/ui/bloc/config_state.js";
16
17
  import { ConfigKey } from "../../../../config/domain/models/config_keys.js";
17
- import { CheckedDot } from "./settings_widgets.js";
18
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ import { ProfileAppBar } from "../profile_app_bar.js";
19
+ import { ProfileSectionTitre } from "../profile_menu.js";
20
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
19
21
  function themeIcon(theme) {
20
22
  switch (theme) {
21
23
  case Themes.light:
@@ -47,47 +49,48 @@ function themeTitle(traductions, theme) {
47
49
  /** Choix du thème de l'application (route `profileParametreTheme`). */
48
50
  export function ProfileParametrePageTheme() {
49
51
  const traductions = useAppLocalizations();
50
- const theme = useTheme();
51
- const router = useAppRouter();
52
52
  const configBloc = useBloc(ConfigBloc);
53
53
  const state = useBlocBuilder(configBloc, (_p, current) => current instanceof ConfigLoadedState && current.updatedKey === ConfigKey.preferedTheme);
54
54
  const currentTheme = state.configParams.params[ConfigKey.preferedTheme];
55
+ const [largeurGrille, setLargeurGrille] = useState(0);
56
+ // Trois aperçus par ligne
57
+ // Arrondi vers le bas : sinon la troisième colonne peut passer à la ligne
58
+ const largeur = Math.floor((largeurGrille - 2 * ESPACE) / 3);
55
59
  return /*#__PURE__*/_jsx(Scaffold, {
56
- appBar: /*#__PURE__*/_jsx(AppBar, {
57
- onBack: () => AppRouter.pop(router)
60
+ appBar: /*#__PURE__*/_jsx(ProfileAppBar, {
61
+ titre: traductions.appSettingPageMenuThemePageTitle
58
62
  }),
59
63
  children: /*#__PURE__*/_jsx(MyPageContainer, {
60
64
  children: /*#__PURE__*/_jsxs(ScrollView, {
61
- children: [/*#__PURE__*/_jsx(Text, {
62
- style: theme.textTheme.titleSmall,
63
- children: traductions.appSettingPageMenuThemePageTitle
64
- }), /*#__PURE__*/_jsx(View, {
65
- style: styles.gap20
66
- }), /*#__PURE__*/_jsx(Text, {
67
- style: theme.textTheme.headlineMedium,
68
- children: traductions.appSettingPageMenuThemeTitle
69
- }), /*#__PURE__*/_jsx(View, {
70
- style: styles.gap10
65
+ contentContainerStyle: styles.contenu,
66
+ children: [/*#__PURE__*/_jsx(ProfileSectionTitre, {
67
+ titre: traductions.appSettingPageMenuThemeTitle
71
68
  }), /*#__PURE__*/_jsx(Card, {
72
- children: /*#__PURE__*/_jsxs(View, {
73
- style: styles.wrap,
74
- children: [Themer.customTheme != null && /*#__PURE__*/_jsx(ThemeOption, {
75
- title: traductions.appSettingPageMenuThemeCustom,
76
- selected: currentTheme === Themer.customThemeCode,
77
- onSelect: () => configBloc.add(new ConfigChangeEvent(ConfigKey.preferedTheme, Themer.customThemeCode)),
78
- preview: /*#__PURE__*/_jsx(CustomThemePreview, {
79
- theme: Themer.customTheme
80
- })
81
- }), Themes.list().map(item => /*#__PURE__*/_jsx(ThemeOption, {
82
- title: themeTitle(traductions, item),
83
- selected: currentTheme === item,
84
- onSelect: () => configBloc.add(new ConfigChangeEvent(ConfigKey.preferedTheme, item)),
85
- preview: /*#__PURE__*/_jsx(Image, {
86
- source: themeIcon(item),
87
- style: styles.flex,
88
- contentFit: "cover"
89
- })
90
- }, item))]
69
+ style: styles.card,
70
+ children: /*#__PURE__*/_jsx(View, {
71
+ style: styles.grille,
72
+ onLayout: e => setLargeurGrille(e.nativeEvent.layout.width - 2 * 14),
73
+ children: largeurGrille > 0 && /*#__PURE__*/_jsxs(_Fragment, {
74
+ children: [Themer.customTheme != null && /*#__PURE__*/_jsx(ThemeOption, {
75
+ largeur: largeur,
76
+ title: traductions.appSettingPageMenuThemeCustom,
77
+ selected: currentTheme === Themer.customThemeCode,
78
+ onSelect: () => configBloc.add(new ConfigChangeEvent(ConfigKey.preferedTheme, Themer.customThemeCode)),
79
+ preview: /*#__PURE__*/_jsx(CustomThemePreview, {
80
+ theme: Themer.customTheme
81
+ })
82
+ }), Themes.list().map(item => /*#__PURE__*/_jsx(ThemeOption, {
83
+ largeur: largeur,
84
+ title: themeTitle(traductions, item),
85
+ selected: currentTheme === item,
86
+ onSelect: () => configBloc.add(new ConfigChangeEvent(ConfigKey.preferedTheme, item)),
87
+ preview: /*#__PURE__*/_jsx(Image, {
88
+ source: themeIcon(item),
89
+ style: styles.flex,
90
+ contentFit: "cover"
91
+ })
92
+ }, item))]
93
+ })
91
94
  })
92
95
  })]
93
96
  })
@@ -95,8 +98,9 @@ export function ProfileParametrePageTheme() {
95
98
  });
96
99
  }
97
100
 
98
- /** Une option de thème : aperçu, nom et pastille de sélection */
101
+ /** Une option de thème : aperçu, entouré et coché quand il est choisi, puis son nom */
99
102
  function ThemeOption({
103
+ largeur,
100
104
  title,
101
105
  selected,
102
106
  onSelect,
@@ -105,25 +109,41 @@ function ThemeOption({
105
109
  const theme = useTheme();
106
110
  return /*#__PURE__*/_jsxs(Pressable, {
107
111
  accessibilityRole: "button",
112
+ accessibilityState: {
113
+ selected
114
+ },
108
115
  disabled: selected,
109
116
  onPress: onSelect,
110
- style: styles.item,
117
+ style: [styles.item, {
118
+ width: largeur
119
+ }],
111
120
  children: [/*#__PURE__*/_jsx(View, {
112
- style: [styles.preview, {
113
- backgroundColor: theme.colorScheme.surface
121
+ style: [styles.cadre, {
122
+ borderColor: selected ? theme.colorScheme.primary : 'transparent'
114
123
  }],
115
- children: preview
116
- }), /*#__PURE__*/_jsx(View, {
117
- style: styles.gap5
124
+ children: /*#__PURE__*/_jsx(View, {
125
+ style: [styles.apercu, {
126
+ backgroundColor: theme.colorScheme.surface
127
+ }],
128
+ children: preview
129
+ })
130
+ }), selected && /*#__PURE__*/_jsx(View, {
131
+ style: [styles.coche, {
132
+ backgroundColor: theme.colorScheme.primary,
133
+ borderColor: theme.colorScheme.surface
134
+ }],
135
+ children: /*#__PURE__*/_jsx(MaterialIcons, {
136
+ name: "check",
137
+ size: 14,
138
+ color: theme.colorScheme.onPrimary
139
+ })
118
140
  }), /*#__PURE__*/_jsx(Text, {
119
- style: theme.textTheme.displayMedium,
141
+ style: [theme.textTheme.displayMedium, styles.libelle, {
142
+ fontWeight: selected ? '700' : '500'
143
+ }, selected ? null : {
144
+ color: Themer.neural03Color
145
+ }],
120
146
  children: title
121
- }), /*#__PURE__*/_jsx(View, {
122
- style: styles.gap5
123
- }), /*#__PURE__*/_jsx(CheckedDot, {
124
- value: selected
125
- }), /*#__PURE__*/_jsx(View, {
126
- style: styles.gap20
127
147
  })]
128
148
  });
129
149
  }
@@ -182,6 +202,7 @@ function CustomThemePreview({
182
202
  }, i))]
183
203
  });
184
204
  }
205
+ const ESPACE = 12;
185
206
  const styles = StyleSheet.create({
186
207
  flex: {
187
208
  flex: 1
@@ -232,31 +253,46 @@ const styles = StyleSheet.create({
232
253
  gap14: {
233
254
  height: 14
234
255
  },
235
- wrap: {
236
- padding: 20,
256
+ contenu: {
257
+ paddingTop: 8,
258
+ paddingBottom: 16
259
+ },
260
+ card: {
261
+ margin: 0
262
+ },
263
+ grille: {
264
+ padding: 14,
237
265
  flexDirection: 'row',
238
266
  flexWrap: 'wrap',
239
- justifyContent: 'space-between',
240
- columnGap: 10,
241
- rowGap: 10
267
+ columnGap: ESPACE,
268
+ rowGap: 16
242
269
  },
243
270
  item: {
244
271
  alignItems: 'center'
245
272
  },
246
- preview: {
247
- width: 120,
248
- height: 200,
249
- borderRadius: 8,
250
- overflow: 'hidden'
273
+ cadre: {
274
+ alignSelf: 'stretch',
275
+ padding: 3,
276
+ borderWidth: 2,
277
+ borderRadius: 14
251
278
  },
252
- gap5: {
253
- height: 5
279
+ apercu: {
280
+ width: '100%',
281
+ aspectRatio: 0.6,
282
+ borderRadius: 10,
283
+ overflow: 'hidden'
254
284
  },
255
- gap10: {
256
- height: 10
285
+ coche: {
286
+ position: 'absolute',
287
+ top: 8,
288
+ right: 8,
289
+ borderRadius: 12,
290
+ borderWidth: 2,
291
+ padding: 1
257
292
  },
258
- gap20: {
259
- height: 20
293
+ libelle: {
294
+ marginTop: 8,
295
+ textAlign: 'center'
260
296
  }
261
297
  });
262
298
  //# sourceMappingURL=profile_parametre_page_theme.js.map