@umituz/react-native-settings 5.3.34 → 5.3.35

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 (248) hide show
  1. package/package.json +1 -1
  2. package/LICENSE +0 -21
  3. package/README.md +0 -355
  4. package/dist/account.d.ts +0 -27
  5. package/dist/application/ports/ISettingsRepository.d.ts +0 -45
  6. package/dist/domains/about/domain/entities/AppInfo.d.ts +0 -76
  7. package/dist/domains/about/domain/repositories/IAboutRepository.d.ts +0 -19
  8. package/dist/domains/about/index.d.ts +0 -10
  9. package/dist/domains/about/infrastructure/repositories/AboutRepository.d.ts +0 -18
  10. package/dist/domains/about/presentation/components/AboutContent.d.ts +0 -14
  11. package/dist/domains/about/presentation/components/AboutHeader.d.ts +0 -21
  12. package/dist/domains/about/presentation/components/AboutSection.d.ts +0 -14
  13. package/dist/domains/about/presentation/components/AboutSettingItem.d.ts +0 -39
  14. package/dist/domains/about/presentation/hooks/useAboutInfo.d.ts +0 -2
  15. package/dist/domains/about/presentation/hooks/useAboutInfo.types.d.ts +0 -29
  16. package/dist/domains/about/presentation/screens/AboutScreen.d.ts +0 -21
  17. package/dist/domains/about/presentation/screens/AboutScreenContent.d.ts +0 -15
  18. package/dist/domains/about/utils/AppInfoFactory.d.ts +0 -9
  19. package/dist/domains/appearance/data/colorPalettes.d.ts +0 -25
  20. package/dist/domains/appearance/hooks/useAppearance.d.ts +0 -11
  21. package/dist/domains/appearance/hooks/useAppearanceActions.d.ts +0 -9
  22. package/dist/domains/appearance/index.d.ts +0 -9
  23. package/dist/domains/appearance/presentation/components/AppearanceHeader.d.ts +0 -18
  24. package/dist/domains/appearance/presentation/components/AppearancePreview.d.ts +0 -21
  25. package/dist/domains/appearance/presentation/components/AppearanceSection.d.ts +0 -16
  26. package/dist/domains/appearance/presentation/components/ColorPicker.d.ts +0 -15
  27. package/dist/domains/appearance/presentation/components/CustomColorsSection.d.ts +0 -25
  28. package/dist/domains/appearance/presentation/components/ThemeModeSection.d.ts +0 -24
  29. package/dist/domains/appearance/presentation/components/ThemeOption.d.ts +0 -20
  30. package/dist/domains/appearance/presentation/components/index.d.ts +0 -6
  31. package/dist/domains/appearance/presentation/screens/AppearanceScreen.d.ts +0 -16
  32. package/dist/domains/appearance/types/index.d.ts +0 -48
  33. package/dist/domains/cloud-sync/index.d.ts +0 -6
  34. package/dist/domains/cloud-sync/presentation/components/CloudSyncSetting.d.ts +0 -14
  35. package/dist/domains/dev/index.d.ts +0 -14
  36. package/dist/domains/dev/presentation/components/DevSettingsSection.d.ts +0 -34
  37. package/dist/domains/dev/presentation/components/EnvViewerSetting.d.ts +0 -20
  38. package/dist/domains/dev/presentation/components/StorageClearSetting.d.ts +0 -13
  39. package/dist/domains/dev/presentation/screens/EnvViewerScreen.d.ts +0 -12
  40. package/dist/domains/dev/types.d.ts +0 -22
  41. package/dist/domains/disclaimer/index.d.ts +0 -17
  42. package/dist/domains/disclaimer/presentation/components/DisclaimerCard.d.ts +0 -14
  43. package/dist/domains/disclaimer/presentation/components/DisclaimerModal.d.ts +0 -12
  44. package/dist/domains/disclaimer/presentation/components/DisclaimerSetting.d.ts +0 -34
  45. package/dist/domains/disclaimer/presentation/screens/DisclaimerScreen.d.ts +0 -27
  46. package/dist/domains/faqs/domain/entities/FAQEntity.d.ts +0 -21
  47. package/dist/domains/faqs/domain/services/FAQSearchService.d.ts +0 -12
  48. package/dist/domains/faqs/index.d.ts +0 -8
  49. package/dist/domains/faqs/presentation/components/FAQCategory.d.ts +0 -21
  50. package/dist/domains/faqs/presentation/components/FAQEmptyState.d.ts +0 -20
  51. package/dist/domains/faqs/presentation/components/FAQItem.d.ts +0 -24
  52. package/dist/domains/faqs/presentation/components/FAQSearchBar.d.ts +0 -18
  53. package/dist/domains/faqs/presentation/components/index.d.ts +0 -11
  54. package/dist/domains/faqs/presentation/hooks/index.d.ts +0 -5
  55. package/dist/domains/faqs/presentation/hooks/useFAQExpansion.d.ts +0 -12
  56. package/dist/domains/faqs/presentation/hooks/useFAQSearch.d.ts +0 -12
  57. package/dist/domains/faqs/presentation/screens/FAQScreen.d.ts +0 -33
  58. package/dist/domains/feedback/domain/entities/FeedbackEntity.d.ts +0 -25
  59. package/dist/domains/feedback/domain/repositories/IFeedbackRepository.d.ts +0 -20
  60. package/dist/domains/feedback/index.d.ts +0 -10
  61. package/dist/domains/feedback/presentation/components/FeedbackForm.d.ts +0 -7
  62. package/dist/domains/feedback/presentation/components/FeedbackForm.styles.d.ts +0 -48
  63. package/dist/domains/feedback/presentation/components/FeedbackFormProps.d.ts +0 -26
  64. package/dist/domains/feedback/presentation/components/FeedbackModal.d.ts +0 -23
  65. package/dist/domains/feedback/presentation/components/SupportSection.d.ts +0 -62
  66. package/dist/domains/feedback/presentation/hooks/useFeedbackForm.d.ts +0 -19
  67. package/dist/domains/gamification/components/AchievementCard.d.ts +0 -23
  68. package/dist/domains/gamification/components/AchievementItem.d.ts +0 -7
  69. package/dist/domains/gamification/components/AchievementToast.d.ts +0 -21
  70. package/dist/domains/gamification/components/GamificationScreen/AchievementsList.d.ts +0 -17
  71. package/dist/domains/gamification/components/GamificationScreen/GamificationScreen.d.ts +0 -11
  72. package/dist/domains/gamification/components/GamificationScreen/GamificationScreenWithConfig.d.ts +0 -11
  73. package/dist/domains/gamification/components/GamificationScreen/StatsGrid.d.ts +0 -16
  74. package/dist/domains/gamification/components/GamificationScreen/index.d.ts +0 -17
  75. package/dist/domains/gamification/components/GamificationScreen/styles.d.ts +0 -40
  76. package/dist/domains/gamification/components/GamificationScreen/types.d.ts +0 -42
  77. package/dist/domains/gamification/components/LevelProgress.d.ts +0 -27
  78. package/dist/domains/gamification/components/PointsBadge.d.ts +0 -16
  79. package/dist/domains/gamification/components/StatsCard.d.ts +0 -20
  80. package/dist/domains/gamification/components/StreakDisplay.d.ts +0 -21
  81. package/dist/domains/gamification/components/index.d.ts +0 -14
  82. package/dist/domains/gamification/components/styles/achievementItemStyles.d.ts +0 -71
  83. package/dist/domains/gamification/components/types/AchievementItemProps.d.ts +0 -22
  84. package/dist/domains/gamification/hooks/useGamification.d.ts +0 -22
  85. package/dist/domains/gamification/index.d.ts +0 -13
  86. package/dist/domains/gamification/store/gamificationStore.d.ts +0 -6
  87. package/dist/domains/gamification/types/index.d.ts +0 -99
  88. package/dist/domains/gamification/utils/calculations.d.ts +0 -10
  89. package/dist/domains/legal/domain/entities/LegalConfig.d.ts +0 -28
  90. package/dist/domains/legal/domain/services/ContentValidationService.d.ts +0 -19
  91. package/dist/domains/legal/domain/services/StyleCacheService.d.ts +0 -38
  92. package/dist/domains/legal/domain/services/UrlHandlerService.d.ts +0 -32
  93. package/dist/domains/legal/index.d.ts +0 -8
  94. package/dist/domains/legal/presentation/components/LegalDocumentsList.d.ts +0 -21
  95. package/dist/domains/legal/presentation/components/LegalItem.d.ts +0 -35
  96. package/dist/domains/legal/presentation/components/LegalScreenHeader.d.ts +0 -12
  97. package/dist/domains/legal/presentation/components/LegalSection.d.ts +0 -14
  98. package/dist/domains/legal/presentation/screens/LegalContentScreen.d.ts +0 -19
  99. package/dist/domains/legal/presentation/screens/LegalScreen.d.ts +0 -24
  100. package/dist/domains/legal/presentation/screens/PrivacyPolicyScreen.d.ts +0 -15
  101. package/dist/domains/legal/presentation/screens/TermsOfServiceScreen.d.ts +0 -15
  102. package/dist/domains/localization/domain/repositories/ILocalizationRepository.d.ts +0 -16
  103. package/dist/domains/localization/index.d.ts +0 -16
  104. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.d.ts +0 -19
  105. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.styles.d.ts +0 -37
  106. package/dist/domains/localization/infrastructure/components/useLanguageNavigation.d.ts +0 -4
  107. package/dist/domains/localization/infrastructure/components/useLanguageSwitcher.d.ts +0 -13
  108. package/dist/domains/localization/infrastructure/config/DeviceLocale.d.ts +0 -10
  109. package/dist/domains/localization/infrastructure/config/I18nInitializer.d.ts +0 -14
  110. package/dist/domains/localization/infrastructure/config/LanguageQuery.d.ts +0 -10
  111. package/dist/domains/localization/infrastructure/config/LocaleMapping.d.ts +0 -5
  112. package/dist/domains/localization/infrastructure/config/NamespaceResolver.d.ts +0 -11
  113. package/dist/domains/localization/infrastructure/config/ResourceBuilder.d.ts +0 -10
  114. package/dist/domains/localization/infrastructure/config/TranslationLoader.d.ts +0 -16
  115. package/dist/domains/localization/infrastructure/config/constants/defaultLanguages.d.ts +0 -6
  116. package/dist/domains/localization/infrastructure/config/i18n.d.ts +0 -7
  117. package/dist/domains/localization/infrastructure/config/languages.d.ts +0 -7
  118. package/dist/domains/localization/infrastructure/hooks/useLanguageSelection.d.ts +0 -11
  119. package/dist/domains/localization/infrastructure/hooks/useLocalization.d.ts +0 -12
  120. package/dist/domains/localization/infrastructure/hooks/useTranslation.d.ts +0 -23
  121. package/dist/domains/localization/infrastructure/repository/LanguageRepository.d.ts +0 -18
  122. package/dist/domains/localization/infrastructure/storage/LanguageInitializer.d.ts +0 -20
  123. package/dist/domains/localization/infrastructure/storage/LanguageSwitcher.d.ts +0 -16
  124. package/dist/domains/localization/infrastructure/storage/LocalizationStore.d.ts +0 -6
  125. package/dist/domains/localization/infrastructure/storage/localizationStoreUtils.d.ts +0 -44
  126. package/dist/domains/localization/infrastructure/storage/types/Language.d.ts +0 -12
  127. package/dist/domains/localization/infrastructure/storage/types/LocalizationState.d.ts +0 -22
  128. package/dist/domains/localization/presentation/components/LanguageItem.d.ts +0 -23
  129. package/dist/domains/localization/presentation/components/LanguageItem.styles.d.ts +0 -30
  130. package/dist/domains/localization/presentation/components/LanguageSection.d.ts +0 -15
  131. package/dist/domains/localization/presentation/providers/LocalizationManager.d.ts +0 -12
  132. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.d.ts +0 -7
  133. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.styles.d.ts +0 -7
  134. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.types.d.ts +0 -26
  135. package/dist/domains/notifications/index.d.ts +0 -46
  136. package/dist/domains/notifications/infrastructure/config/notificationsConfig.d.ts +0 -19
  137. package/dist/domains/notifications/infrastructure/hooks/useNotificationSettings.d.ts +0 -8
  138. package/dist/domains/notifications/infrastructure/services/NotificationBadgeManager.d.ts +0 -4
  139. package/dist/domains/notifications/infrastructure/services/NotificationManager.d.ts +0 -23
  140. package/dist/domains/notifications/infrastructure/services/NotificationPermissions.d.ts +0 -5
  141. package/dist/domains/notifications/infrastructure/services/NotificationScheduler.d.ts +0 -7
  142. package/dist/domains/notifications/infrastructure/services/NotificationService.d.ts +0 -31
  143. package/dist/domains/notifications/infrastructure/services/types.d.ts +0 -147
  144. package/dist/domains/notifications/infrastructure/storage/UnifiedNotificationStore.d.ts +0 -42
  145. package/dist/domains/notifications/infrastructure/utils/idGenerator.d.ts +0 -6
  146. package/dist/domains/notifications/infrastructure/utils/triggerBuilder.d.ts +0 -6
  147. package/dist/domains/notifications/presentation/components/NotificationsSection.d.ts +0 -16
  148. package/dist/domains/notifications/presentation/components/RemindersNavRow.d.ts +0 -12
  149. package/dist/domains/notifications/presentation/components/RemindersNavRow.styles.d.ts +0 -34
  150. package/dist/domains/notifications/presentation/components/SettingRow.d.ts +0 -14
  151. package/dist/domains/notifications/presentation/hooks/useNotificationSettingsUI.d.ts +0 -13
  152. package/dist/domains/notifications/presentation/hooks/useTimePicker.d.ts +0 -21
  153. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.d.ts +0 -12
  154. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.styles.d.ts +0 -26
  155. package/dist/domains/notifications/presentation/screens/NotificationsScreen.d.ts +0 -18
  156. package/dist/domains/notifications/quietHours/infrastructure/hooks/useQuietHoursActions.d.ts +0 -13
  157. package/dist/domains/notifications/quietHours/presentation/components/QuietHoursCard.d.ts +0 -14
  158. package/dist/domains/notifications/reminders/infrastructure/config/reminderPresets.d.ts +0 -24
  159. package/dist/domains/notifications/reminders/infrastructure/hooks/useReminderActions.d.ts +0 -11
  160. package/dist/domains/notifications/reminders/presentation/components/FormButton.d.ts +0 -12
  161. package/dist/domains/notifications/reminders/presentation/components/FrequencySelector.d.ts +0 -14
  162. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.constants.d.ts +0 -28
  163. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.d.ts +0 -7
  164. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.styles.d.ts +0 -31
  165. package/dist/domains/notifications/reminders/presentation/components/ReminderItem.d.ts +0 -20
  166. package/dist/domains/notifications/reminders/presentation/components/TimePresetSelector.d.ts +0 -20
  167. package/dist/domains/notifications/reminders/presentation/components/WeekdaySelector.d.ts +0 -11
  168. package/dist/domains/notifications/reminders/presentation/screens/ReminderListScreen.d.ts +0 -13
  169. package/dist/domains/rating/application/services/RatingService.d.ts +0 -33
  170. package/dist/domains/rating/domain/entities/Rating.d.ts +0 -15
  171. package/dist/domains/rating/domain/entities/RatingConfig.d.ts +0 -120
  172. package/dist/domains/rating/index.d.ts +0 -12
  173. package/dist/domains/rating/infrastructure/storage/RatingStorage.d.ts +0 -50
  174. package/dist/domains/rating/presentation/components/RatingPromptModal.d.ts +0 -16
  175. package/dist/domains/rating/presentation/components/StarRating.d.ts +0 -13
  176. package/dist/domains/rating/presentation/hooks/useAppRating.d.ts +0 -9
  177. package/dist/domains/video-tutorials/index.d.ts +0 -18
  178. package/dist/domains/video-tutorials/presentation/components/VideoTutorialCard.d.ts +0 -13
  179. package/dist/domains/video-tutorials/presentation/components/VideoTutorialSection.d.ts +0 -25
  180. package/dist/domains/video-tutorials/presentation/screens/VideoTutorialsScreen.d.ts +0 -25
  181. package/dist/domains/video-tutorials/types/index.d.ts +0 -26
  182. package/dist/index.d.ts +0 -41
  183. package/dist/infrastructure/repositories/SettingsRepository.d.ts +0 -12
  184. package/dist/infrastructure/services/SettingsService.d.ts +0 -14
  185. package/dist/infrastructure/utils/configFactory.d.ts +0 -39
  186. package/dist/infrastructure/utils/constants/textLimits.d.ts +0 -16
  187. package/dist/infrastructure/utils/sanitizers.d.ts +0 -13
  188. package/dist/infrastructure/utils/validation/core.d.ts +0 -8
  189. package/dist/infrastructure/utils/validation/formValidators.d.ts +0 -26
  190. package/dist/infrastructure/utils/validation/index.d.ts +0 -5
  191. package/dist/infrastructure/utils/validators.d.ts +0 -21
  192. package/dist/presentation/components/SettingsFooter.d.ts +0 -7
  193. package/dist/presentation/components/SettingsItemCard.d.ts +0 -22
  194. package/dist/presentation/components/SettingsNavigationItem.d.ts +0 -67
  195. package/dist/presentation/components/SettingsSection.d.ts +0 -6
  196. package/dist/presentation/components/settings/SettingsItemCardContent.d.ts +0 -12
  197. package/dist/presentation/components/settings/SettingsItemCardRightElement.d.ts +0 -11
  198. package/dist/presentation/components/settings/SettingsItemCardSection.d.ts +0 -5
  199. package/dist/presentation/hooks/mutations/useSettingsMutations.d.ts +0 -20
  200. package/dist/presentation/hooks/queries/useSettingsQuery.d.ts +0 -7
  201. package/dist/presentation/hooks/useSettings.d.ts +0 -26
  202. package/dist/presentation/hooks/useSettingsScreenConfig.d.ts +0 -41
  203. package/dist/presentation/navigation/SettingsStackNavigator.d.ts +0 -9
  204. package/dist/presentation/navigation/hooks/index.d.ts +0 -5
  205. package/dist/presentation/navigation/hooks/useNavigationHandlers.d.ts +0 -14
  206. package/dist/presentation/navigation/hooks/useSettingsNavigation.d.ts +0 -22
  207. package/dist/presentation/navigation/hooks/useSettingsScreens.d.ts +0 -12
  208. package/dist/presentation/navigation/types.d.ts +0 -134
  209. package/dist/presentation/navigation/utils/index.d.ts +0 -5
  210. package/dist/presentation/navigation/utils/navigationHelpers.d.ts +0 -13
  211. package/dist/presentation/navigation/utils/navigationTranslations.d.ts +0 -35
  212. package/dist/presentation/screens/AppearanceScreen.d.ts +0 -6
  213. package/dist/presentation/screens/SettingsScreen.d.ts +0 -49
  214. package/dist/presentation/screens/components/SettingsContent.d.ts +0 -3
  215. package/dist/presentation/screens/components/SettingsHeader.d.ts +0 -8
  216. package/dist/presentation/screens/components/sections/CustomSettingsList.d.ts +0 -7
  217. package/dist/presentation/screens/components/sections/FeatureSettingsSection.d.ts +0 -13
  218. package/dist/presentation/screens/components/sections/IdentitySettingsSection.d.ts +0 -12
  219. package/dist/presentation/screens/components/sections/ProfileSectionLoader.d.ts +0 -17
  220. package/dist/presentation/screens/components/sections/SupportSettingsSection.d.ts +0 -13
  221. package/dist/presentation/screens/components/types/SettingsContentProps.d.ts +0 -47
  222. package/dist/presentation/screens/components/utils/featureChecker.d.ts +0 -10
  223. package/dist/presentation/screens/hooks/useFeatureDetection.d.ts +0 -28
  224. package/dist/presentation/screens/hooks/useSettingsScreen.d.ts +0 -36
  225. package/dist/presentation/screens/types/BaseTypes.d.ts +0 -11
  226. package/dist/presentation/screens/types/ContentConfig.d.ts +0 -76
  227. package/dist/presentation/screens/types/CustomSection.d.ts +0 -38
  228. package/dist/presentation/screens/types/SettingsConfig.d.ts +0 -122
  229. package/dist/presentation/screens/types/SettingsTranslations.d.ts +0 -159
  230. package/dist/presentation/screens/types/UserFeatureConfig.d.ts +0 -178
  231. package/dist/presentation/screens/types/index.d.ts +0 -11
  232. package/dist/presentation/screens/utils/normalizeConfig.d.ts +0 -68
  233. package/dist/presentation/utils/accountConfigUtils.d.ts +0 -34
  234. package/dist/presentation/utils/config-creators/base-configs.d.ts +0 -26
  235. package/dist/presentation/utils/config-creators/feature-configs.d.ts +0 -17
  236. package/dist/presentation/utils/config-creators/index.d.ts +0 -7
  237. package/dist/presentation/utils/config-creators/support-configs.d.ts +0 -19
  238. package/dist/presentation/utils/config-creators/types.d.ts +0 -20
  239. package/dist/presentation/utils/faqTranslator.d.ts +0 -3
  240. package/dist/presentation/utils/index.d.ts +0 -8
  241. package/dist/presentation/utils/screenFactory.d.ts +0 -26
  242. package/dist/presentation/utils/settingsConfigFactory.d.ts +0 -33
  243. package/dist/presentation/utils/userProfileUtils.d.ts +0 -20
  244. package/dist/utils/appUtils.d.ts +0 -4
  245. package/dist/utils/devUtils.d.ts +0 -31
  246. package/dist/utils/errorUtils.d.ts +0 -22
  247. package/dist/utils/hooks/useAsyncStateUpdate.d.ts +0 -35
  248. package/dist/utils/hooks/useMountSafety.d.ts +0 -1
@@ -1,10 +0,0 @@
1
- /**
2
- * Feature Checker Utilities
3
- * Centralized logic for checking if features are enabled
4
- */
5
- import type { SettingsContentFeatures } from "../types/SettingsContentProps";
6
- import type { CustomSettingsSection } from "../../types";
7
- /**
8
- * Check if any settings features are enabled
9
- */
10
- export declare function hasAnyFeaturesEnabled(features: SettingsContentFeatures, customSections: CustomSettingsSection[]): boolean;
@@ -1,28 +0,0 @@
1
- /**
2
- * Feature Detection Hook
3
- * Single Responsibility: Detect which features should be shown
4
- */
5
- import type { NormalizedConfig } from "../utils/normalizeConfig";
6
- /**
7
- * Hook to detect which features should be shown
8
- */
9
- export declare function useFeatureDetection(normalizedConfig: NormalizedConfig, navigation: {
10
- navigate: (route: string) => void;
11
- } | null, options?: {
12
- notificationServiceAvailable?: boolean;
13
- }): {
14
- appearance: boolean;
15
- language: boolean;
16
- notifications: boolean;
17
- about: boolean;
18
- legal: boolean;
19
- disclaimer: boolean;
20
- userProfile: boolean;
21
- feedback: boolean;
22
- rating: boolean;
23
- faqs: boolean;
24
- subscription: boolean;
25
- wallet: boolean;
26
- gamification: boolean;
27
- videoTutorial: boolean;
28
- };
@@ -1,36 +0,0 @@
1
- /**
2
- * useSettingsScreen Hook
3
- * Refactored: Extracted business logic from SettingsScreen component
4
- */
5
- import type { SettingsConfig } from "../types";
6
- export interface UseSettingsScreenParams {
7
- config?: SettingsConfig;
8
- showUserProfile?: boolean;
9
- featureOptions?: {
10
- notificationServiceAvailable?: boolean;
11
- };
12
- appVersion?: string;
13
- onClose?: () => void;
14
- }
15
- export declare function useSettingsScreen({ config, showUserProfile, featureOptions, appVersion: providedVersion, onClose, }: UseSettingsScreenParams): {
16
- normalizedConfig: import("../utils/normalizeConfig").NormalizedConfig;
17
- features: {
18
- appearance: boolean;
19
- language: boolean;
20
- notifications: boolean;
21
- about: boolean;
22
- legal: boolean;
23
- disclaimer: boolean;
24
- userProfile: boolean;
25
- feedback: boolean;
26
- rating: boolean;
27
- faqs: boolean;
28
- subscription: boolean;
29
- wallet: boolean;
30
- gamification: boolean;
31
- videoTutorial: boolean;
32
- };
33
- shouldShowUserProfile: boolean;
34
- appVersion: string;
35
- handleClose: () => void;
36
- };
@@ -1,11 +0,0 @@
1
- /**
2
- * Base Feature Types
3
- * Core types for feature visibility and configuration
4
- */
5
- /**
6
- * Feature visibility configuration
7
- * - true: Always show (if navigation screen exists)
8
- * - false: Never show
9
- * - 'auto': Automatically detect (check if navigation screen exists and package is available)
10
- */
11
- export type FeatureVisibility = boolean | "auto";
@@ -1,76 +0,0 @@
1
- /**
2
- * Content Feature Configuration Types
3
- * Types for content-related features (About, Legal, Disclaimer)
4
- */
5
- import type { FeatureVisibility } from "./BaseTypes";
6
- import type { AppearanceTexts } from "../../../domains/appearance/types";
7
- /**
8
- * Base configuration interface for content features
9
- */
10
- interface BaseContentConfig {
11
- /** Show section */
12
- enabled?: FeatureVisibility;
13
- /** Custom navigation route */
14
- route?: string;
15
- /** Custom navigation handler (overrides route) */
16
- onPress?: () => void;
17
- /** Custom title */
18
- title?: string;
19
- /** Custom description */
20
- description?: string;
21
- /** Custom icon name (Ionicons) */
22
- icon?: string;
23
- /** Custom section title for grouping */
24
- sectionTitle?: string;
25
- }
26
- /**
27
- * About Settings Configuration
28
- */
29
- export interface AboutConfig extends BaseContentConfig {
30
- /** Default route name when no custom route provided */
31
- defaultRoute?: string;
32
- }
33
- /**
34
- * Legal Settings Configuration
35
- */
36
- export interface LegalConfig extends BaseContentConfig {
37
- /** Default route name when no custom route provided */
38
- defaultRoute?: string;
39
- }
40
- /**
41
- * Disclaimer Settings Configuration
42
- */
43
- export interface DisclaimerConfig extends BaseContentConfig {
44
- }
45
- /**
46
- * Appearance Settings Configuration
47
- */
48
- export interface AppearanceConfig extends BaseContentConfig {
49
- /** Show theme toggle */
50
- showTheme?: boolean;
51
- /** Default route name when no custom route provided */
52
- defaultRoute?: string;
53
- /** Appearance screen texts (theme mode labels, descriptions, etc.) */
54
- texts?: AppearanceTexts;
55
- }
56
- /**
57
- * Language Settings Configuration
58
- */
59
- export interface LanguageConfig extends BaseContentConfig {
60
- /** Default language display when no language is detected */
61
- defaultLanguageDisplay?: string;
62
- }
63
- /**
64
- * Notifications Settings Configuration
65
- */
66
- export interface NotificationsConfig extends BaseContentConfig {
67
- /** Show notification toggle switch */
68
- showToggle?: boolean;
69
- /** Initial toggle value */
70
- initialValue?: boolean;
71
- /** Toggle change handler */
72
- onToggleChange?: (value: boolean) => void;
73
- /** Default route name when no custom route provided */
74
- defaultRoute?: string;
75
- }
76
- export {};
@@ -1,38 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { IconName } from "@umituz/react-native-design-system/atoms";
3
- /**
4
- * Custom Settings Item
5
- */
6
- export interface CustomSettingsItem {
7
- /** Item unique ID */
8
- id: string;
9
- /** Item title */
10
- title: string;
11
- /** Optional subtitle or description */
12
- subtitle?: string;
13
- /** Icon name (Ionicons) */
14
- icon: IconName;
15
- /** Press handler */
16
- onPress: () => void;
17
- /** Optional right icon (Ionicons) */
18
- rightIcon?: IconName;
19
- /** Optional icon color */
20
- iconColor?: string;
21
- /** Optional icon background color */
22
- iconBgColor?: string;
23
- }
24
- /**
25
- * Custom Settings Section
26
- */
27
- export interface CustomSettingsSection {
28
- /** Section title */
29
- title: string;
30
- /** Section content (React nodes) - takes priority over items */
31
- content?: ReactNode;
32
- /** List of settings items to render */
33
- items?: CustomSettingsItem[];
34
- /** Section order (lower = higher in list) */
35
- order?: number;
36
- /** Section ID for identification */
37
- id?: string;
38
- }
@@ -1,122 +0,0 @@
1
- /**
2
- * Main Settings Configuration Type
3
- * Combines all feature configurations
4
- */
5
- import type { FeatureVisibility } from "./BaseTypes";
6
- import type { AppearanceConfig, LanguageConfig, NotificationsConfig, AboutConfig, LegalConfig, DisclaimerConfig } from "./ContentConfig";
7
- import type { UserProfileConfig, FeedbackConfig, RatingConfig, FAQConfig, CloudSyncConfig, SubscriptionConfig, WalletConfig, GamificationItemConfig, VideoTutorialConfig } from "./UserFeatureConfig";
8
- import type { SettingsTranslations } from "./SettingsTranslations";
9
- /**
10
- * Main Settings Configuration
11
- *
12
- * Controls which settings features are visible in the SettingsScreen.
13
- * Each feature can be configured with:
14
- * - Simple: boolean | 'auto' (quick setup)
15
- * - Advanced: Detailed config object (full control)
16
- *
17
- * @example
18
- * // Simple configuration
19
- * const config: SettingsConfig = {
20
- * appearance: true,
21
- * notifications: 'auto',
22
- * about: false,
23
- * };
24
- *
25
- * @example
26
- * // Advanced configuration
27
- * const config: SettingsConfig = {
28
- * appearance: {
29
- * enabled: true,
30
- * route: 'CustomAppearance',
31
- * showTheme: true,
32
- * },
33
- * notifications: {
34
- * enabled: 'auto',
35
- * showToggle: true,
36
- * initialValue: false,
37
- * },
38
- * };
39
- */
40
- export interface SettingsConfig {
41
- /**
42
- * Application-wide translations
43
- */
44
- translations?: SettingsTranslations;
45
- /**
46
- * Appearance settings (Theme customization)
47
- * @default 'auto'
48
- */
49
- appearance?: FeatureVisibility | AppearanceConfig;
50
- /**
51
- * Language settings
52
- * @default 'auto'
53
- */
54
- language?: FeatureVisibility | LanguageConfig;
55
- /**
56
- * Notifications settings
57
- * @default 'auto'
58
- */
59
- notifications?: FeatureVisibility | NotificationsConfig;
60
- /**
61
- * About settings
62
- * @default 'auto'
63
- */
64
- about?: FeatureVisibility | AboutConfig;
65
- /**
66
- * Legal settings (Terms, Privacy Policy)
67
- * @default 'auto'
68
- */
69
- legal?: FeatureVisibility | LegalConfig;
70
- /**
71
- * Disclaimer settings (Important notices)
72
- * @default false
73
- */
74
- disclaimer?: FeatureVisibility | DisclaimerConfig;
75
- /**
76
- * User profile header settings
77
- * @default false
78
- */
79
- userProfile?: boolean | UserProfileConfig;
80
- /**
81
- * Feedback settings
82
- * @default 'auto'
83
- */
84
- feedback?: FeatureVisibility | FeedbackConfig;
85
- /**
86
- * Rating settings configuration
87
- */
88
- rating?: FeatureVisibility | RatingConfig;
89
- /**
90
- * FAQ settings configuration
91
- */
92
- faqs?: FeatureVisibility | FAQConfig;
93
- /**
94
- * Cloud sync settings configuration
95
- * @default false
96
- */
97
- cloudSync?: FeatureVisibility | CloudSyncConfig;
98
- /**
99
- * Subscription settings configuration
100
- * @default false
101
- */
102
- subscription?: FeatureVisibility | SubscriptionConfig;
103
- /**
104
- * Wallet settings configuration
105
- * @default false
106
- */
107
- wallet?: FeatureVisibility | WalletConfig;
108
- /**
109
- * Gamification settings configuration
110
- * @default 'auto'
111
- */
112
- gamification?: FeatureVisibility | GamificationItemConfig;
113
- /**
114
- * Video tutorial settings configuration
115
- * @default 'auto'
116
- */
117
- videoTutorial?: FeatureVisibility | VideoTutorialConfig;
118
- /**
119
- * Custom empty state text when no settings are available
120
- */
121
- emptyStateText?: string;
122
- }
@@ -1,159 +0,0 @@
1
- /**
2
- * Settings Translations Type
3
- * Defines all translation keys for the settings package
4
- */
5
- /**
6
- * Global Settings Translations
7
- */
8
- export interface SettingsTranslations {
9
- title?: string;
10
- profile?: {
11
- anonymousName?: string;
12
- signIn?: string;
13
- signInDescription?: string;
14
- anonymousBenefits?: {
15
- title?: string;
16
- items?: string[];
17
- };
18
- };
19
- account?: {
20
- editProfile?: string;
21
- logout?: string;
22
- deleteAccount?: string;
23
- logoutConfirmTitle?: string;
24
- logoutConfirmMessage?: string;
25
- deleteConfirmTitle?: string;
26
- deleteConfirmMessage?: string;
27
- deleteAccountTitle?: string;
28
- deleteAccountMessage?: string;
29
- deleteErrorTitle?: string;
30
- deleteErrorMessage?: string;
31
- cancel?: string;
32
- delete?: string;
33
- };
34
- sections?: {
35
- app?: string;
36
- progress?: string;
37
- about?: string;
38
- support?: string;
39
- subscription?: string;
40
- };
41
- features?: {
42
- appearance?: {
43
- title?: string;
44
- description?: string;
45
- themeModes?: {
46
- light?: string;
47
- dark?: string;
48
- auto?: string;
49
- };
50
- };
51
- language?: {
52
- title?: string;
53
- description?: string;
54
- searchPlaceholder?: string;
55
- };
56
- notifications?: {
57
- title?: string;
58
- description?: string;
59
- masterToggleTitle?: string;
60
- masterToggleDescription?: string;
61
- soundTitle?: string;
62
- soundDescription?: string;
63
- vibrationTitle?: string;
64
- vibrationDescription?: string;
65
- remindersTitle?: string;
66
- remindersDescription?: string;
67
- quietHoursTitle?: string;
68
- quietHoursDescription?: string;
69
- quietHours?: {
70
- title?: string;
71
- description?: string;
72
- startTimeLabel?: string;
73
- endTimeLabel?: string;
74
- enabledLabel?: string;
75
- };
76
- };
77
- about?: {
78
- title?: string;
79
- description?: string;
80
- contact?: string;
81
- more?: string;
82
- developer?: string;
83
- email?: string;
84
- website?: string;
85
- moreApps?: string;
86
- versionPrefix?: string;
87
- };
88
- legal?: {
89
- title?: string;
90
- description?: string;
91
- documentsHeader?: string;
92
- privacyTitle?: string;
93
- privacyDescription?: string;
94
- termsTitle?: string;
95
- termsDescription?: string;
96
- eulaTitle?: string;
97
- eulaDescription?: string;
98
- };
99
- feedback?: {
100
- title?: string;
101
- description?: string;
102
- };
103
- rating?: {
104
- title?: string;
105
- description?: string;
106
- };
107
- faqs?: {
108
- title?: string;
109
- description?: string;
110
- searchPlaceholder?: string;
111
- emptySearchTitle?: string;
112
- emptySearchMessage?: string;
113
- headerTitle?: string;
114
- };
115
- languageSelection?: {
116
- searchPlaceholder?: string;
117
- };
118
- subscription?: {
119
- title?: string;
120
- description?: string;
121
- };
122
- videoTutorial?: {
123
- title?: string;
124
- description?: string;
125
- };
126
- gamification?: {
127
- title?: string;
128
- description?: string;
129
- };
130
- };
131
- feedbackModal?: {
132
- title?: string;
133
- ratingLabel?: string;
134
- descriptionPlaceholder?: string;
135
- submitButton?: string;
136
- submittingButton?: string;
137
- types?: {
138
- general?: string;
139
- bugReport?: string;
140
- featureRequest?: string;
141
- improvement?: string;
142
- other?: string;
143
- };
144
- };
145
- noOptionsAvailable?: string;
146
- footer?: {
147
- version?: string;
148
- };
149
- errors?: {
150
- common?: string;
151
- unknown?: string;
152
- unknownError?: string;
153
- appStoreUrlMissing?: string;
154
- appStoreUrlNotConfigured?: string;
155
- unableToOpenAppStore?: string;
156
- failedToOpenAppStore?: string;
157
- deleteAccountError?: string;
158
- };
159
- }
@@ -1,178 +0,0 @@
1
- /**
2
- * User Feature Configuration Types
3
- * Types for user-related features (Profile, Feedback, FAQ, etc.)
4
- */
5
- import type { FeatureVisibility } from "./BaseTypes";
6
- import type { FeedbackType } from "../../../domains/feedback/domain/entities/FeedbackEntity";
7
- import type { FAQCategory } from "../../../domains/faqs/domain/entities/FAQEntity";
8
- import type { SettingsStackParamList } from "../../navigation/types";
9
- /**
10
- * User Profile Settings Configuration
11
- */
12
- export interface UserProfileConfig {
13
- /** Show user profile header */
14
- enabled?: boolean;
15
- /** Custom section title for grouping */
16
- sectionTitle?: string;
17
- /** Custom display name for anonymous users */
18
- anonymousDisplayName?: string;
19
- /** Custom avatar service URL */
20
- avatarServiceUrl?: string;
21
- /** Navigation route for account settings (shows chevron if set) */
22
- accountSettingsRoute?: string;
23
- }
24
- /**
25
- * Feedback Settings Configuration
26
- */
27
- export interface FeedbackConfig {
28
- /** Enable feedback feature */
29
- enabled?: FeatureVisibility;
30
- /** Custom title for the feedback section */
31
- title?: string;
32
- /** Custom label for the feedback item */
33
- description?: string;
34
- /** Custom icon name (Ionicons) */
35
- icon?: string;
36
- /** Custom section title for grouping */
37
- sectionTitle?: string;
38
- /** Initial feedback type */
39
- initialType?: FeedbackType;
40
- /** Feedback submission handler */
41
- onSubmit?: (data: {
42
- type: FeedbackType;
43
- rating: number;
44
- description: string;
45
- title: string;
46
- }) => Promise<void>;
47
- /** Custom handler to open feedback screen (overrides default modal) */
48
- onPress?: () => void;
49
- }
50
- /**
51
- * FAQ Settings Configuration
52
- */
53
- export interface FAQConfig {
54
- /** Enable FAQ feature */
55
- enabled?: FeatureVisibility;
56
- /** Custom title for the FAQ section */
57
- title?: string;
58
- /** Custom label for the FAQ button */
59
- description?: string;
60
- /** Custom icon name (Ionicons) */
61
- icon?: string;
62
- /** Custom section title for grouping */
63
- sectionTitle?: string;
64
- /** FAQ items passed from app */
65
- items?: FAQCategory[];
66
- /** Handler to open FAQ screen */
67
- onPress?: () => void;
68
- }
69
- /**
70
- * Rating Settings Configuration
71
- */
72
- export interface RatingConfig {
73
- /** Enable rating feature */
74
- enabled?: FeatureVisibility;
75
- /** Custom title for the rating section */
76
- title?: string;
77
- /** Custom label for the rate app button */
78
- description?: string;
79
- /** Store URL for direct linking (optional) */
80
- storeUrl?: string;
81
- /** Custom handler for rating action (e.g. open store review) */
82
- onRate?: () => void;
83
- }
84
- /**
85
- * Cloud Sync Settings Configuration
86
- */
87
- export interface CloudSyncConfig {
88
- /** Enable cloud sync feature */
89
- enabled?: FeatureVisibility;
90
- /** Custom title for the sync section */
91
- title?: string;
92
- /** Custom description for the sync toggle */
93
- description?: string;
94
- /** Custom icon name (Ionicons) */
95
- icon?: string;
96
- /** Custom section title for grouping */
97
- sectionTitle?: string;
98
- /** Firestore collection name */
99
- collectionName?: string;
100
- }
101
- /**
102
- * Subscription Settings Configuration
103
- */
104
- export interface SubscriptionConfig {
105
- /** Show subscription section */
106
- enabled?: FeatureVisibility;
107
- /** Custom title for the subscription section */
108
- title?: string;
109
- /** Custom label for the subscription item */
110
- description?: string;
111
- /** Custom icon name (Ionicons) */
112
- icon?: string;
113
- /** Custom section title for grouping */
114
- sectionTitle?: string;
115
- /** Navigation route for subscription screen (preferred over onPress) */
116
- route?: keyof SettingsStackParamList;
117
- /** Handler to open subscription screen (use route instead for stack navigation) */
118
- onPress?: () => void;
119
- /** Whether user is premium (to show active status) */
120
- isPremium?: boolean;
121
- }
122
- /**
123
- * Wallet Settings Configuration
124
- */
125
- export interface WalletConfig {
126
- /** Show wallet section */
127
- enabled?: FeatureVisibility;
128
- /** Custom title for the wallet section */
129
- title?: string;
130
- /** Custom label for the wallet item */
131
- description?: string;
132
- /** Custom icon name (Ionicons) */
133
- icon?: string;
134
- /** Custom section title for grouping */
135
- sectionTitle?: string;
136
- /** Navigation route for wallet screen */
137
- route?: keyof SettingsStackParamList;
138
- /** Current balance to display */
139
- balance?: number;
140
- }
141
- /**
142
- * Gamification Settings Item Configuration
143
- */
144
- export interface GamificationItemConfig {
145
- /** Show gamification section */
146
- enabled?: FeatureVisibility;
147
- /** Custom title for the gamification section */
148
- title?: string;
149
- /** Custom label for the gamification item */
150
- description?: string;
151
- /** Custom icon name (Ionicons) */
152
- icon?: string;
153
- /** Custom section title for grouping */
154
- sectionTitle?: string;
155
- /** Navigation route for gamification screen */
156
- route?: keyof SettingsStackParamList;
157
- /** Achievements to display */
158
- achievementsCount?: number;
159
- }
160
- /**
161
- * Video Tutorial Settings Configuration
162
- */
163
- export interface VideoTutorialConfig {
164
- /** Enable video tutorial feature */
165
- enabled?: FeatureVisibility;
166
- /** Custom title for the video tutorial section */
167
- title?: string;
168
- /** Custom label for the video tutorial item */
169
- description?: string;
170
- /** Custom icon name (Ionicons) */
171
- icon?: string;
172
- /** Custom section title for grouping */
173
- sectionTitle?: string;
174
- /** Handler to open video tutorial screen */
175
- onPress?: () => void;
176
- /** Navigation route for video tutorial screen */
177
- route?: keyof SettingsStackParamList;
178
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Settings Types - Public API
3
- * Exports all settings-related types
4
- */
5
- export type { FeatureVisibility } from "./BaseTypes";
6
- export type { AboutConfig, LegalConfig, DisclaimerConfig, AppearanceConfig, LanguageConfig, NotificationsConfig, } from "./ContentConfig";
7
- export type { UserProfileConfig, FeedbackConfig, FAQConfig, RatingConfig, CloudSyncConfig, SubscriptionConfig, WalletConfig, GamificationItemConfig, VideoTutorialConfig, } from "./UserFeatureConfig";
8
- export type { GamificationSettingsConfig as GamificationConfig } from "../../../domains/gamification";
9
- export type { SettingsConfig } from "./SettingsConfig";
10
- export type { SettingsTranslations } from "./SettingsTranslations";
11
- export type { CustomSettingsSection } from "./CustomSection";