@umituz/react-native-settings 5.3.36 → 5.3.38

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 (251) hide show
  1. package/dist/account.d.ts +27 -0
  2. package/dist/application/ports/ISettingsRepository.d.ts +45 -0
  3. package/dist/domains/about/domain/entities/AppInfo.d.ts +76 -0
  4. package/dist/domains/about/domain/repositories/IAboutRepository.d.ts +19 -0
  5. package/dist/domains/about/index.d.ts +10 -0
  6. package/dist/domains/about/infrastructure/repositories/AboutRepository.d.ts +18 -0
  7. package/dist/domains/about/presentation/components/AboutContent.d.ts +14 -0
  8. package/dist/domains/about/presentation/components/AboutHeader.d.ts +21 -0
  9. package/dist/domains/about/presentation/components/AboutSection.d.ts +14 -0
  10. package/dist/domains/about/presentation/components/AboutSettingItem.d.ts +39 -0
  11. package/dist/domains/about/presentation/hooks/useAboutInfo.d.ts +2 -0
  12. package/dist/domains/about/presentation/hooks/useAboutInfo.types.d.ts +29 -0
  13. package/dist/domains/about/presentation/screens/AboutScreen.d.ts +21 -0
  14. package/dist/domains/about/presentation/screens/AboutScreenContent.d.ts +15 -0
  15. package/dist/domains/about/utils/AppInfoFactory.d.ts +9 -0
  16. package/dist/domains/appearance/data/colorPalettes.d.ts +25 -0
  17. package/dist/domains/appearance/hooks/useAppearance.d.ts +11 -0
  18. package/dist/domains/appearance/hooks/useAppearanceActions.d.ts +9 -0
  19. package/dist/domains/appearance/index.d.ts +9 -0
  20. package/dist/domains/appearance/presentation/components/AppearanceHeader.d.ts +18 -0
  21. package/dist/domains/appearance/presentation/components/AppearancePreview.d.ts +21 -0
  22. package/dist/domains/appearance/presentation/components/AppearanceSection.d.ts +16 -0
  23. package/dist/domains/appearance/presentation/components/ColorPicker.d.ts +15 -0
  24. package/dist/domains/appearance/presentation/components/CustomColorsSection.d.ts +25 -0
  25. package/dist/domains/appearance/presentation/components/ThemeModeSection.d.ts +24 -0
  26. package/dist/domains/appearance/presentation/components/ThemeOption.d.ts +20 -0
  27. package/dist/domains/appearance/presentation/components/index.d.ts +6 -0
  28. package/dist/domains/appearance/presentation/screens/AppearanceScreen.d.ts +16 -0
  29. package/dist/domains/appearance/types/index.d.ts +48 -0
  30. package/dist/domains/cloud-sync/index.d.ts +6 -0
  31. package/dist/domains/cloud-sync/presentation/components/CloudSyncSetting.d.ts +14 -0
  32. package/dist/domains/dev/index.d.ts +14 -0
  33. package/dist/domains/dev/presentation/components/DevSettingsSection.d.ts +34 -0
  34. package/dist/domains/dev/presentation/components/EnvViewerSetting.d.ts +20 -0
  35. package/dist/domains/dev/presentation/components/StorageClearSetting.d.ts +13 -0
  36. package/dist/domains/dev/presentation/screens/EnvViewerScreen.d.ts +12 -0
  37. package/dist/domains/dev/types.d.ts +22 -0
  38. package/dist/domains/disclaimer/index.d.ts +17 -0
  39. package/dist/domains/disclaimer/presentation/components/DisclaimerCard.d.ts +14 -0
  40. package/dist/domains/disclaimer/presentation/components/DisclaimerModal.d.ts +12 -0
  41. package/dist/domains/disclaimer/presentation/components/DisclaimerSetting.d.ts +34 -0
  42. package/dist/domains/disclaimer/presentation/screens/DisclaimerScreen.d.ts +27 -0
  43. package/dist/domains/faqs/domain/entities/FAQEntity.d.ts +21 -0
  44. package/dist/domains/faqs/domain/services/FAQSearchService.d.ts +12 -0
  45. package/dist/domains/faqs/index.d.ts +8 -0
  46. package/dist/domains/faqs/presentation/components/FAQCategory.d.ts +21 -0
  47. package/dist/domains/faqs/presentation/components/FAQEmptyState.d.ts +20 -0
  48. package/dist/domains/faqs/presentation/components/FAQItem.d.ts +24 -0
  49. package/dist/domains/faqs/presentation/components/FAQSearchBar.d.ts +18 -0
  50. package/dist/domains/faqs/presentation/components/index.d.ts +11 -0
  51. package/dist/domains/faqs/presentation/hooks/index.d.ts +5 -0
  52. package/dist/domains/faqs/presentation/hooks/useFAQExpansion.d.ts +12 -0
  53. package/dist/domains/faqs/presentation/hooks/useFAQSearch.d.ts +12 -0
  54. package/dist/domains/faqs/presentation/screens/FAQScreen.d.ts +33 -0
  55. package/dist/domains/feedback/domain/entities/FeedbackEntity.d.ts +25 -0
  56. package/dist/domains/feedback/domain/repositories/IFeedbackRepository.d.ts +20 -0
  57. package/dist/domains/feedback/index.d.ts +10 -0
  58. package/dist/domains/feedback/presentation/components/FeedbackForm.d.ts +7 -0
  59. package/dist/domains/feedback/presentation/components/FeedbackForm.styles.d.ts +48 -0
  60. package/dist/domains/feedback/presentation/components/FeedbackFormProps.d.ts +26 -0
  61. package/dist/domains/feedback/presentation/components/FeedbackModal.d.ts +23 -0
  62. package/dist/domains/feedback/presentation/components/SupportSection.d.ts +62 -0
  63. package/dist/domains/feedback/presentation/hooks/useFeedbackForm.d.ts +19 -0
  64. package/dist/domains/feedback/presentation/screens/FeatureRequestScreen.d.ts +2 -0
  65. package/dist/domains/gamification/components/AchievementCard.d.ts +23 -0
  66. package/dist/domains/gamification/components/AchievementItem.d.ts +7 -0
  67. package/dist/domains/gamification/components/AchievementToast.d.ts +21 -0
  68. package/dist/domains/gamification/components/GamificationScreen/AchievementsList.d.ts +17 -0
  69. package/dist/domains/gamification/components/GamificationScreen/GamificationScreen.d.ts +11 -0
  70. package/dist/domains/gamification/components/GamificationScreen/GamificationScreenWithConfig.d.ts +11 -0
  71. package/dist/domains/gamification/components/GamificationScreen/StatsGrid.d.ts +16 -0
  72. package/dist/domains/gamification/components/GamificationScreen/index.d.ts +17 -0
  73. package/dist/domains/gamification/components/GamificationScreen/styles.d.ts +40 -0
  74. package/dist/domains/gamification/components/GamificationScreen/types.d.ts +42 -0
  75. package/dist/domains/gamification/components/LevelProgress.d.ts +27 -0
  76. package/dist/domains/gamification/components/PointsBadge.d.ts +16 -0
  77. package/dist/domains/gamification/components/StatsCard.d.ts +20 -0
  78. package/dist/domains/gamification/components/StreakDisplay.d.ts +21 -0
  79. package/dist/domains/gamification/components/index.d.ts +14 -0
  80. package/dist/domains/gamification/components/styles/achievementItemStyles.d.ts +71 -0
  81. package/dist/domains/gamification/components/types/AchievementItemProps.d.ts +22 -0
  82. package/dist/domains/gamification/hooks/useGamification.d.ts +22 -0
  83. package/dist/domains/gamification/index.d.ts +13 -0
  84. package/dist/domains/gamification/store/gamificationStore.d.ts +6 -0
  85. package/dist/domains/gamification/types/index.d.ts +99 -0
  86. package/dist/domains/gamification/utils/calculations.d.ts +10 -0
  87. package/dist/domains/legal/domain/entities/LegalConfig.d.ts +28 -0
  88. package/dist/domains/legal/domain/services/ContentValidationService.d.ts +19 -0
  89. package/dist/domains/legal/domain/services/StyleCacheService.d.ts +38 -0
  90. package/dist/domains/legal/domain/services/UrlHandlerService.d.ts +32 -0
  91. package/dist/domains/legal/index.d.ts +8 -0
  92. package/dist/domains/legal/presentation/components/LegalDocumentsList.d.ts +21 -0
  93. package/dist/domains/legal/presentation/components/LegalItem.d.ts +35 -0
  94. package/dist/domains/legal/presentation/components/LegalScreenHeader.d.ts +12 -0
  95. package/dist/domains/legal/presentation/components/LegalSection.d.ts +14 -0
  96. package/dist/domains/legal/presentation/screens/LegalContentScreen.d.ts +19 -0
  97. package/dist/domains/legal/presentation/screens/LegalScreen.d.ts +24 -0
  98. package/dist/domains/legal/presentation/screens/PrivacyPolicyScreen.d.ts +15 -0
  99. package/dist/domains/legal/presentation/screens/TermsOfServiceScreen.d.ts +15 -0
  100. package/dist/domains/localization/domain/repositories/ILocalizationRepository.d.ts +16 -0
  101. package/dist/domains/localization/index.d.ts +16 -0
  102. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.d.ts +19 -0
  103. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.styles.d.ts +37 -0
  104. package/dist/domains/localization/infrastructure/components/useLanguageNavigation.d.ts +4 -0
  105. package/dist/domains/localization/infrastructure/components/useLanguageSwitcher.d.ts +13 -0
  106. package/dist/domains/localization/infrastructure/config/DeviceLocale.d.ts +10 -0
  107. package/dist/domains/localization/infrastructure/config/I18nInitializer.d.ts +14 -0
  108. package/dist/domains/localization/infrastructure/config/LanguageQuery.d.ts +10 -0
  109. package/dist/domains/localization/infrastructure/config/LocaleMapping.d.ts +5 -0
  110. package/dist/domains/localization/infrastructure/config/NamespaceResolver.d.ts +11 -0
  111. package/dist/domains/localization/infrastructure/config/ResourceBuilder.d.ts +10 -0
  112. package/dist/domains/localization/infrastructure/config/TranslationLoader.d.ts +16 -0
  113. package/dist/domains/localization/infrastructure/config/constants/defaultLanguages.d.ts +6 -0
  114. package/dist/domains/localization/infrastructure/config/i18n.d.ts +7 -0
  115. package/dist/domains/localization/infrastructure/config/languages.d.ts +7 -0
  116. package/dist/domains/localization/infrastructure/hooks/useLanguageSelection.d.ts +11 -0
  117. package/dist/domains/localization/infrastructure/hooks/useLocalization.d.ts +12 -0
  118. package/dist/domains/localization/infrastructure/hooks/useTranslation.d.ts +23 -0
  119. package/dist/domains/localization/infrastructure/repository/LanguageRepository.d.ts +18 -0
  120. package/dist/domains/localization/infrastructure/storage/LanguageInitializer.d.ts +20 -0
  121. package/dist/domains/localization/infrastructure/storage/LanguageSwitcher.d.ts +16 -0
  122. package/dist/domains/localization/infrastructure/storage/LocalizationStore.d.ts +6 -0
  123. package/dist/domains/localization/infrastructure/storage/localizationStoreUtils.d.ts +44 -0
  124. package/dist/domains/localization/infrastructure/storage/types/Language.d.ts +12 -0
  125. package/dist/domains/localization/infrastructure/storage/types/LocalizationState.d.ts +22 -0
  126. package/dist/domains/localization/presentation/components/LanguageItem.d.ts +23 -0
  127. package/dist/domains/localization/presentation/components/LanguageItem.styles.d.ts +30 -0
  128. package/dist/domains/localization/presentation/components/LanguageSection.d.ts +15 -0
  129. package/dist/domains/localization/presentation/providers/LocalizationManager.d.ts +12 -0
  130. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.d.ts +7 -0
  131. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.styles.d.ts +7 -0
  132. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.types.d.ts +26 -0
  133. package/dist/domains/notifications/index.d.ts +46 -0
  134. package/dist/domains/notifications/infrastructure/config/notificationsConfig.d.ts +19 -0
  135. package/dist/domains/notifications/infrastructure/hooks/useNotificationSettings.d.ts +8 -0
  136. package/dist/domains/notifications/infrastructure/services/NotificationBadgeManager.d.ts +4 -0
  137. package/dist/domains/notifications/infrastructure/services/NotificationManager.d.ts +23 -0
  138. package/dist/domains/notifications/infrastructure/services/NotificationPermissions.d.ts +5 -0
  139. package/dist/domains/notifications/infrastructure/services/NotificationScheduler.d.ts +7 -0
  140. package/dist/domains/notifications/infrastructure/services/NotificationService.d.ts +31 -0
  141. package/dist/domains/notifications/infrastructure/services/types.d.ts +147 -0
  142. package/dist/domains/notifications/infrastructure/storage/UnifiedNotificationStore.d.ts +42 -0
  143. package/dist/domains/notifications/infrastructure/utils/idGenerator.d.ts +6 -0
  144. package/dist/domains/notifications/infrastructure/utils/triggerBuilder.d.ts +6 -0
  145. package/dist/domains/notifications/presentation/components/NotificationsSection.d.ts +16 -0
  146. package/dist/domains/notifications/presentation/components/RemindersNavRow.d.ts +12 -0
  147. package/dist/domains/notifications/presentation/components/RemindersNavRow.styles.d.ts +34 -0
  148. package/dist/domains/notifications/presentation/components/SettingRow.d.ts +14 -0
  149. package/dist/domains/notifications/presentation/hooks/useNotificationSettingsUI.d.ts +13 -0
  150. package/dist/domains/notifications/presentation/hooks/useTimePicker.d.ts +21 -0
  151. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.d.ts +12 -0
  152. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.styles.d.ts +26 -0
  153. package/dist/domains/notifications/presentation/screens/NotificationsScreen.d.ts +18 -0
  154. package/dist/domains/notifications/quietHours/infrastructure/hooks/useQuietHoursActions.d.ts +13 -0
  155. package/dist/domains/notifications/quietHours/presentation/components/QuietHoursCard.d.ts +14 -0
  156. package/dist/domains/notifications/reminders/infrastructure/config/reminderPresets.d.ts +24 -0
  157. package/dist/domains/notifications/reminders/infrastructure/hooks/useReminderActions.d.ts +11 -0
  158. package/dist/domains/notifications/reminders/presentation/components/FormButton.d.ts +12 -0
  159. package/dist/domains/notifications/reminders/presentation/components/FrequencySelector.d.ts +14 -0
  160. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.constants.d.ts +28 -0
  161. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.d.ts +7 -0
  162. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.styles.d.ts +31 -0
  163. package/dist/domains/notifications/reminders/presentation/components/ReminderItem.d.ts +20 -0
  164. package/dist/domains/notifications/reminders/presentation/components/TimePresetSelector.d.ts +20 -0
  165. package/dist/domains/notifications/reminders/presentation/components/WeekdaySelector.d.ts +11 -0
  166. package/dist/domains/notifications/reminders/presentation/screens/ReminderListScreen.d.ts +13 -0
  167. package/dist/domains/rating/application/services/RatingService.d.ts +33 -0
  168. package/dist/domains/rating/domain/entities/Rating.d.ts +15 -0
  169. package/dist/domains/rating/domain/entities/RatingConfig.d.ts +120 -0
  170. package/dist/domains/rating/index.d.ts +12 -0
  171. package/dist/domains/rating/infrastructure/storage/RatingStorage.d.ts +50 -0
  172. package/dist/domains/rating/presentation/components/RatingPromptModal.d.ts +16 -0
  173. package/dist/domains/rating/presentation/components/StarRating.d.ts +13 -0
  174. package/dist/domains/rating/presentation/hooks/useAppRating.d.ts +9 -0
  175. package/dist/domains/video-tutorials/index.d.ts +18 -0
  176. package/dist/domains/video-tutorials/presentation/components/VideoTutorialCard.d.ts +13 -0
  177. package/dist/domains/video-tutorials/presentation/components/VideoTutorialSection.d.ts +25 -0
  178. package/dist/domains/video-tutorials/presentation/screens/VideoTutorialsScreen.d.ts +25 -0
  179. package/dist/domains/video-tutorials/types/index.d.ts +26 -0
  180. package/dist/index.d.ts +41 -0
  181. package/dist/infrastructure/repositories/SettingsRepository.d.ts +12 -0
  182. package/dist/infrastructure/services/SettingsService.d.ts +14 -0
  183. package/dist/infrastructure/utils/configFactory.d.ts +39 -0
  184. package/dist/infrastructure/utils/constants/textLimits.d.ts +16 -0
  185. package/dist/infrastructure/utils/sanitizers.d.ts +13 -0
  186. package/dist/infrastructure/utils/validation/core.d.ts +8 -0
  187. package/dist/infrastructure/utils/validation/formValidators.d.ts +26 -0
  188. package/dist/infrastructure/utils/validation/index.d.ts +5 -0
  189. package/dist/infrastructure/utils/validators.d.ts +21 -0
  190. package/dist/presentation/components/SettingsFooter.d.ts +7 -0
  191. package/dist/presentation/components/SettingsItemCard.d.ts +22 -0
  192. package/dist/presentation/components/SettingsNavigationItem.d.ts +67 -0
  193. package/dist/presentation/components/SettingsSection.d.ts +6 -0
  194. package/dist/presentation/components/settings/SettingsItemCardContent.d.ts +12 -0
  195. package/dist/presentation/components/settings/SettingsItemCardRightElement.d.ts +11 -0
  196. package/dist/presentation/components/settings/SettingsItemCardSection.d.ts +5 -0
  197. package/dist/presentation/hooks/mutations/useSettingsMutations.d.ts +20 -0
  198. package/dist/presentation/hooks/queries/useSettingsQuery.d.ts +7 -0
  199. package/dist/presentation/hooks/useSettings.d.ts +26 -0
  200. package/dist/presentation/hooks/useSettingsScreenConfig.d.ts +41 -0
  201. package/dist/presentation/navigation/SettingsStackNavigator.d.ts +9 -0
  202. package/dist/presentation/navigation/hooks/index.d.ts +5 -0
  203. package/dist/presentation/navigation/hooks/useNavigationHandlers.d.ts +14 -0
  204. package/dist/presentation/navigation/hooks/useSettingsNavigation.d.ts +22 -0
  205. package/dist/presentation/navigation/hooks/useSettingsScreens.d.ts +12 -0
  206. package/dist/presentation/navigation/types.d.ts +135 -0
  207. package/dist/presentation/navigation/utils/index.d.ts +5 -0
  208. package/dist/presentation/navigation/utils/navigationHelpers.d.ts +13 -0
  209. package/dist/presentation/navigation/utils/navigationTranslations.d.ts +35 -0
  210. package/dist/presentation/screens/AppearanceScreen.d.ts +6 -0
  211. package/dist/presentation/screens/SettingsScreen.d.ts +49 -0
  212. package/dist/presentation/screens/components/SettingsContent.d.ts +3 -0
  213. package/dist/presentation/screens/components/SettingsHeader.d.ts +8 -0
  214. package/dist/presentation/screens/components/sections/CustomSettingsList.d.ts +7 -0
  215. package/dist/presentation/screens/components/sections/FeatureSettingsSection.d.ts +13 -0
  216. package/dist/presentation/screens/components/sections/IdentitySettingsSection.d.ts +12 -0
  217. package/dist/presentation/screens/components/sections/ProfileSectionLoader.d.ts +17 -0
  218. package/dist/presentation/screens/components/sections/SupportSettingsSection.d.ts +13 -0
  219. package/dist/presentation/screens/components/types/SettingsContentProps.d.ts +47 -0
  220. package/dist/presentation/screens/components/utils/featureChecker.d.ts +10 -0
  221. package/dist/presentation/screens/hooks/useFeatureDetection.d.ts +28 -0
  222. package/dist/presentation/screens/hooks/useSettingsScreen.d.ts +36 -0
  223. package/dist/presentation/screens/types/BaseTypes.d.ts +11 -0
  224. package/dist/presentation/screens/types/ContentConfig.d.ts +76 -0
  225. package/dist/presentation/screens/types/CustomSection.d.ts +38 -0
  226. package/dist/presentation/screens/types/SettingsConfig.d.ts +122 -0
  227. package/dist/presentation/screens/types/SettingsTranslations.d.ts +159 -0
  228. package/dist/presentation/screens/types/UserFeatureConfig.d.ts +178 -0
  229. package/dist/presentation/screens/types/index.d.ts +11 -0
  230. package/dist/presentation/screens/utils/normalizeConfig.d.ts +68 -0
  231. package/dist/presentation/utils/accountConfigUtils.d.ts +34 -0
  232. package/dist/presentation/utils/config-creators/base-configs.d.ts +26 -0
  233. package/dist/presentation/utils/config-creators/feature-configs.d.ts +17 -0
  234. package/dist/presentation/utils/config-creators/index.d.ts +7 -0
  235. package/dist/presentation/utils/config-creators/support-configs.d.ts +19 -0
  236. package/dist/presentation/utils/config-creators/types.d.ts +20 -0
  237. package/dist/presentation/utils/faqTranslator.d.ts +3 -0
  238. package/dist/presentation/utils/index.d.ts +8 -0
  239. package/dist/presentation/utils/screenFactory.d.ts +26 -0
  240. package/dist/presentation/utils/settingsConfigFactory.d.ts +33 -0
  241. package/dist/presentation/utils/userProfileUtils.d.ts +20 -0
  242. package/dist/utils/appUtils.d.ts +4 -0
  243. package/dist/utils/devUtils.d.ts +31 -0
  244. package/dist/utils/errorUtils.d.ts +22 -0
  245. package/dist/utils/hooks/useAsyncStateUpdate.d.ts +35 -0
  246. package/dist/utils/hooks/useMountSafety.d.ts +1 -0
  247. package/package.json +1 -1
  248. package/src/domains/feedback/presentation/screens/FeatureRequestScreen.tsx +449 -0
  249. package/src/presentation/navigation/hooks/useSettingsScreens.ts +29 -9
  250. package/src/presentation/navigation/types.ts +1 -0
  251. package/src/presentation/screens/components/sections/SupportSettingsSection.tsx +1 -1
@@ -0,0 +1,13 @@
1
+ /**
2
+ * useNotificationSettingsUI Hook
3
+ * Handles all business logic for notification settings screen
4
+ */
5
+ export declare const useNotificationSettingsUI: () => {
6
+ preferences: import("../..").NotificationPreferences;
7
+ quietHours: import("../..").QuietHoursConfig;
8
+ isLoading: boolean;
9
+ handleMasterToggle: (value: boolean) => Promise<void>;
10
+ handleSoundToggle: (value: boolean) => Promise<void>;
11
+ handleVibrationToggle: (value: boolean) => Promise<void>;
12
+ handleQuietHoursToggle: (value: boolean) => Promise<void>;
13
+ };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * useTimePicker Hook
3
+ * Encapsulates DateTimePicker logic for notification settings
4
+ */
5
+ import type { QuietHoursConfig } from '../../infrastructure/services/types';
6
+ export type PickerMode = 'start' | 'end' | null;
7
+ export interface UseTimePickerParams {
8
+ quietHours: QuietHoursConfig;
9
+ onStartTimeChange: (hours: number, minutes: number) => void;
10
+ onEndTimeChange: (hours: number, minutes: number) => void;
11
+ }
12
+ export interface TimePickerHandlers {
13
+ pickerMode: PickerMode;
14
+ handleStartTimePress: () => void;
15
+ handleEndTimePress: () => void;
16
+ handleTimeChange: (event: {
17
+ type: string;
18
+ }, selectedDate?: Date) => void;
19
+ getPickerDate: () => Date;
20
+ }
21
+ export declare const useTimePicker: ({ quietHours, onStartTimeChange, onEndTimeChange, }: UseTimePickerParams) => TimePickerHandlers;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * NotificationSettingsScreen
3
+ * Clean presentation-only screen for notification settings
4
+ */
5
+ import React from 'react';
6
+ import type { NotificationSettingsTranslations, QuietHoursTranslations } from '../../infrastructure/services/types';
7
+ export interface NotificationSettingsScreenProps {
8
+ translations: NotificationSettingsTranslations;
9
+ quietHoursTranslations: QuietHoursTranslations;
10
+ onHapticFeedback?: () => void;
11
+ }
12
+ export declare const NotificationSettingsScreen: React.FC<NotificationSettingsScreenProps>;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * NotificationSettingsScreen Styles
3
+ * Extracted styles for better organization and maintainability
4
+ */
5
+ import type { DesignTokens } from '@umituz/react-native-design-system/theme';
6
+ export declare const createStyles: (tokens: DesignTokens) => {
7
+ container: {
8
+ flex: number;
9
+ padding: number;
10
+ };
11
+ loadingContainer: {
12
+ flex: number;
13
+ justifyContent: "center";
14
+ alignItems: "center";
15
+ };
16
+ card: {
17
+ marginBottom: number;
18
+ padding: number;
19
+ backgroundColor: string;
20
+ };
21
+ divider: {
22
+ height: number;
23
+ backgroundColor: string;
24
+ marginVertical: number;
25
+ };
26
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Notifications Screen - Dynamic and Reusable
3
+ *
4
+ * A clean notification settings screen that accepts all text and configuration
5
+ * as props to make it completely reusable across different applications.
6
+ */
7
+ import React from 'react';
8
+ export interface NotificationsScreenProps {
9
+ translations: {
10
+ title: string;
11
+ description: string;
12
+ loadingText?: string;
13
+ };
14
+ iconName?: string;
15
+ iconColor?: string;
16
+ testID?: string;
17
+ }
18
+ export declare const NotificationsScreen: React.FC<NotificationsScreenProps>;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * useQuietHoursActions Hook
3
+ * Manages quiet hours configuration
4
+ */
5
+ import type { QuietHoursConfig } from '../../../infrastructure/services/types';
6
+ export declare const useQuietHoursActions: () => {
7
+ quietHours: QuietHoursConfig;
8
+ setQuietHoursEnabled: (enabled: boolean) => Promise<void>;
9
+ setStartTime: (hour: number, minute: number) => Promise<void>;
10
+ setEndTime: (hour: number, minute: number) => Promise<void>;
11
+ setQuietHours: (config: QuietHoursConfig) => Promise<void>;
12
+ isInQuietHours: () => boolean;
13
+ };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * QuietHoursCard Component
3
+ * Displays and manages quiet hours settings
4
+ */
5
+ import React from 'react';
6
+ import type { QuietHoursConfig, QuietHoursTranslations } from '../../../infrastructure/services/types';
7
+ export interface QuietHoursCardProps {
8
+ config: QuietHoursConfig;
9
+ translations: QuietHoursTranslations;
10
+ onToggle: (enabled: boolean) => void;
11
+ onStartTimePress: () => void;
12
+ onEndTimePress: () => void;
13
+ }
14
+ export declare const QuietHoursCard: React.FC<QuietHoursCardProps>;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Reminder Presets Configuration
3
+ * Default time presets and frequency options for reminders
4
+ */
5
+ import type { TimePreset, ReminderFrequency } from '../../../infrastructure/services/types';
6
+ export declare const DEFAULT_TIME_PRESETS: TimePreset[];
7
+ export interface FrequencyOption {
8
+ id: ReminderFrequency;
9
+ labelKey: string;
10
+ iconName: string;
11
+ }
12
+ export declare const FREQUENCY_OPTIONS: FrequencyOption[];
13
+ export interface WeekdayOption {
14
+ id: number;
15
+ labelKey: string;
16
+ shortLabelKey: string;
17
+ }
18
+ export declare const WEEKDAY_OPTIONS: WeekdayOption[];
19
+ export declare const getTimePresetById: (id: string) => TimePreset | undefined;
20
+ export declare const formatTime: (hour: number, minute: number) => string;
21
+ export declare const parseTime: (timeString: string) => {
22
+ hour: number;
23
+ minute: number;
24
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * useReminderActions Hook
3
+ * Handles reminder CRUD operations with notification scheduling
4
+ */
5
+ import type { Reminder, CreateReminderInput, UpdateReminderInput } from '../../../infrastructure/services/types';
6
+ export declare const useReminderActions: () => {
7
+ createReminder: (input: CreateReminderInput) => Promise<Reminder>;
8
+ editReminder: (id: string, input: UpdateReminderInput) => Promise<void>;
9
+ removeReminder: (id: string) => Promise<void>;
10
+ toggleReminderEnabled: (id: string) => Promise<void>;
11
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * FormButton Component
3
+ * Simple button for forms
4
+ */
5
+ import React from 'react';
6
+ export interface FormButtonProps {
7
+ label: string;
8
+ onPress: () => void;
9
+ variant?: 'primary' | 'secondary';
10
+ disabled?: boolean;
11
+ }
12
+ export declare const FormButton: React.FC<FormButtonProps>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * FrequencySelector Component
3
+ * Allows selection of reminder frequency
4
+ */
5
+ import React from 'react';
6
+ import type { ReminderFrequency } from '../../../infrastructure/services/types';
7
+ import type { FrequencyOption } from '../../infrastructure/config/reminderPresets';
8
+ export interface FrequencySelectorProps {
9
+ options: FrequencyOption[];
10
+ selectedFrequency: ReminderFrequency;
11
+ onSelect: (frequency: ReminderFrequency) => void;
12
+ getLabel: (labelKey: string) => string;
13
+ }
14
+ export declare const FrequencySelector: React.FC<FrequencySelectorProps>;
@@ -0,0 +1,28 @@
1
+ import type { Reminder, CreateReminderInput, TimePreset } from '../../../infrastructure/services/types';
2
+ export declare const DEFAULT_HOUR = 9;
3
+ export declare const DEFAULT_MINUTE = 0;
4
+ export declare const DEFAULT_WEEKDAY = 2;
5
+ export declare const MAX_TITLE_LENGTH = 100;
6
+ export declare const MAX_BODY_LENGTH = 500;
7
+ export interface ReminderFormTranslations {
8
+ titleLabel: string;
9
+ titlePlaceholder: string;
10
+ bodyLabel: string;
11
+ bodyPlaceholder: string;
12
+ timeLabel: string;
13
+ frequencyLabel: string;
14
+ weekdayLabel: string;
15
+ saveButton: string;
16
+ cancelButton: string;
17
+ customTimeLabel: string;
18
+ getPresetLabel: (key: string) => string;
19
+ getFrequencyLabel: (key: string) => string;
20
+ getWeekdayLabel: (key: string) => string;
21
+ }
22
+ export interface ReminderFormProps {
23
+ initialData?: Reminder;
24
+ translations: ReminderFormTranslations;
25
+ onSave: (data: CreateReminderInput) => void;
26
+ onCancel: () => void;
27
+ timePresets?: TimePreset[];
28
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * ReminderForm Component
3
+ * Form for creating and editing reminders
4
+ */
5
+ import React from 'react';
6
+ import { type ReminderFormProps } from './ReminderForm.constants';
7
+ export declare const ReminderForm: React.FC<ReminderFormProps>;
@@ -0,0 +1,31 @@
1
+ import type { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
2
+ export declare const createReminderFormStyles: (tokens: ReturnType<typeof useAppDesignTokens>) => {
3
+ container: {
4
+ flex: number;
5
+ padding: number;
6
+ backgroundColor: string;
7
+ };
8
+ section: {
9
+ marginBottom: number;
10
+ };
11
+ label: {
12
+ color: string;
13
+ marginBottom: number;
14
+ };
15
+ input: {
16
+ backgroundColor: string;
17
+ borderRadius: number;
18
+ padding: number;
19
+ fontSize: number;
20
+ color: string;
21
+ };
22
+ multilineInput: {
23
+ minHeight: number;
24
+ textAlignVertical: "top";
25
+ };
26
+ buttonRow: {
27
+ flexDirection: "row";
28
+ gap: number;
29
+ marginTop: number;
30
+ };
31
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ReminderItem Component
3
+ * Displays a single reminder with toggle and actions
4
+ */
5
+ import React from 'react';
6
+ import type { Reminder } from '../../../infrastructure/services/types';
7
+ export interface ReminderItemTranslations {
8
+ frequencyOnce: string;
9
+ frequencyDaily: string;
10
+ frequencyWeekly: string;
11
+ frequencyMonthly: string;
12
+ }
13
+ export interface ReminderItemProps {
14
+ reminder: Reminder;
15
+ translations: ReminderItemTranslations;
16
+ onToggle: (id: string) => void;
17
+ onEdit: (reminder: Reminder) => void;
18
+ onDelete: (id: string) => void;
19
+ }
20
+ export declare const ReminderItem: React.FC<ReminderItemProps>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * TimePresetSelector Component
3
+ * Allows selection of preset times or custom time
4
+ */
5
+ import React from 'react';
6
+ import type { TimePreset } from '../../../infrastructure/services/types';
7
+ export interface TimePresetSelectorProps {
8
+ presets: TimePreset[];
9
+ selectedPresetId?: string;
10
+ customTime?: {
11
+ hour: number;
12
+ minute: number;
13
+ };
14
+ onSelectPreset: (preset: TimePreset) => void;
15
+ onSelectCustom: () => void;
16
+ getPresetLabel: (labelKey: string) => string;
17
+ customLabel: string;
18
+ isCustomSelected: boolean;
19
+ }
20
+ export declare const TimePresetSelector: React.FC<TimePresetSelectorProps>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WeekdaySelector Component
3
+ * Allows selection of a weekday for weekly reminders
4
+ */
5
+ import React from 'react';
6
+ export interface WeekdaySelectorProps {
7
+ selectedWeekday: number;
8
+ onSelect: (weekday: number) => void;
9
+ getLabel: (key: string) => string;
10
+ }
11
+ export declare const WeekdaySelector: React.FC<WeekdaySelectorProps>;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * ReminderListScreen
3
+ * Displays list of reminders with add, edit, delete functionality
4
+ */
5
+ import React from 'react';
6
+ import type { Reminder, ReminderTranslations } from '../../../infrastructure/services/types';
7
+ export interface ReminderListScreenProps {
8
+ translations: ReminderTranslations;
9
+ onAddPress: () => void;
10
+ onEditPress: (reminder: Reminder) => void;
11
+ maxReminders?: number;
12
+ }
13
+ export declare const ReminderListScreen: React.FC<ReminderListScreenProps>;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Rating Service
3
+ * Core business logic for app rating system
4
+ */
5
+ import type { RatingConfig, RatingState } from "../../domain/entities/RatingConfig";
6
+ /**
7
+ * Track an event occurrence
8
+ */
9
+ export declare function trackEvent(eventType: string): Promise<void>;
10
+ /**
11
+ * Check if prompt should be shown based on criteria
12
+ */
13
+ export declare function shouldShowPrompt(config: RatingConfig): Promise<boolean>;
14
+ /**
15
+ * Mark that prompt was shown to user
16
+ */
17
+ export declare function markPromptShown(eventType: string): Promise<void>;
18
+ /**
19
+ * Mark that user has rated the app
20
+ */
21
+ export declare function markRated(): Promise<void>;
22
+ /**
23
+ * Mark that user permanently dismissed the prompt
24
+ */
25
+ export declare function markDismissed(): Promise<void>;
26
+ /**
27
+ * Get current rating state for event type
28
+ */
29
+ export declare function getState(eventType: string): Promise<RatingState>;
30
+ /**
31
+ * Reset rating data (for testing or specific event type)
32
+ */
33
+ export declare function reset(eventType?: string): Promise<void>;
@@ -0,0 +1,15 @@
1
+ export type RatingValue = 0 | 1 | 2 | 3 | 4 | 5;
2
+ export interface Rating {
3
+ id: string;
4
+ userId: string;
5
+ entityId: string;
6
+ entityType: string;
7
+ value: RatingValue;
8
+ createdAt: string;
9
+ updatedAt: string;
10
+ }
11
+ export interface RatingStats {
12
+ average: number;
13
+ count: number;
14
+ distribution: Record<RatingValue, number>;
15
+ }
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Rating Configuration
3
+ * Types and interfaces for app rating system
4
+ */
5
+ import type React from "react";
6
+ /**
7
+ * Rating prompt configuration
8
+ */
9
+ export interface RatingConfig {
10
+ /**
11
+ * Type of event to track (e.g., "ai_generation", "onboarding_completed")
12
+ */
13
+ eventType: string;
14
+ /**
15
+ * Minimum number of events before showing prompt
16
+ * @default 3
17
+ */
18
+ minEventCount?: number;
19
+ /**
20
+ * Cooldown period in days before showing prompt again
21
+ * @default 90
22
+ */
23
+ cooldownDays?: number;
24
+ /**
25
+ * App name to display in prompt
26
+ */
27
+ appName?: string;
28
+ /**
29
+ * Custom translations for the prompt
30
+ */
31
+ translations?: RatingTranslations;
32
+ /**
33
+ * Callback when user gives positive feedback
34
+ */
35
+ onPositiveFeedback?: () => void | Promise<void>;
36
+ /**
37
+ * Callback when user gives negative feedback
38
+ */
39
+ onNegativeFeedback?: () => void | Promise<void>;
40
+ /**
41
+ * Callback after prompt is shown
42
+ */
43
+ onPromptShown?: () => void | Promise<void>;
44
+ /**
45
+ * Callback when prompt is dismissed
46
+ */
47
+ onPromptDismissed?: () => void | Promise<void>;
48
+ }
49
+ /**
50
+ * Custom translations for rating prompt
51
+ */
52
+ export interface RatingTranslations {
53
+ title: string;
54
+ message: string;
55
+ positiveButton: string;
56
+ negativeButton: string;
57
+ laterButton?: string;
58
+ }
59
+ /**
60
+ * Rating state stored in AsyncStorage
61
+ */
62
+ export interface RatingState {
63
+ /**
64
+ * Event count for specific event type
65
+ */
66
+ eventCount: number;
67
+ /**
68
+ * Last time prompt was shown (ISO date string)
69
+ */
70
+ lastPromptDate: string | null;
71
+ /**
72
+ * Whether user has rated the app
73
+ */
74
+ hasRated: boolean;
75
+ /**
76
+ * Whether user permanently dismissed the prompt
77
+ */
78
+ dismissed: boolean;
79
+ }
80
+ /**
81
+ * Result of useAppRating hook
82
+ */
83
+ export interface UseAppRatingResult {
84
+ /**
85
+ * Track an event (e.g., generation completed)
86
+ */
87
+ trackEvent: () => Promise<void>;
88
+ /**
89
+ * Check if should show prompt and show it automatically
90
+ */
91
+ checkAndShow: () => Promise<boolean>;
92
+ /**
93
+ * Manually check if criteria is met (without showing)
94
+ */
95
+ shouldShow: () => Promise<boolean>;
96
+ /**
97
+ * Manually show the rating prompt
98
+ */
99
+ showPrompt: () => Promise<void>;
100
+ /**
101
+ * Reset all rating data (for testing)
102
+ */
103
+ reset: () => Promise<void>;
104
+ /**
105
+ * Get current rating state
106
+ */
107
+ getState: () => Promise<RatingState>;
108
+ /**
109
+ * Whether prompt is currently visible
110
+ */
111
+ isVisible: boolean;
112
+ /**
113
+ * Modal component to render in your screen
114
+ */
115
+ modal: React.ReactNode;
116
+ }
117
+ /**
118
+ * Default rating configuration
119
+ */
120
+ export declare const DEFAULT_RATING_CONFIG: Required<Omit<RatingConfig, "onPositiveFeedback" | "onNegativeFeedback" | "onPromptShown" | "onPromptDismissed">>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Rating Domain
3
+ * Star ratings, user reviews, statistics, and app store rating prompts
4
+ */
5
+ export type { RatingValue, Rating, RatingStats, } from './domain/entities/Rating';
6
+ export type { RatingConfig, RatingState, RatingTranslations, UseAppRatingResult, } from './domain/entities/RatingConfig';
7
+ export { DEFAULT_RATING_CONFIG } from './domain/entities/RatingConfig';
8
+ export { StarRating } from './presentation/components/StarRating';
9
+ export type { StarRatingProps } from './presentation/components/StarRating';
10
+ export { RatingPromptModal } from './presentation/components/RatingPromptModal';
11
+ export type { RatingPromptModalProps } from './presentation/components/RatingPromptModal';
12
+ export { useAppRating } from './presentation/hooks/useAppRating';
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Rating Storage Repository
3
+ * Storage layer for rating system using design system storageRepository
4
+ */
5
+ import type { RatingState } from "../../domain/entities/RatingConfig";
6
+ /**
7
+ * Get event count for specific event type
8
+ */
9
+ export declare function getEventCount(eventType: string): Promise<number>;
10
+ /**
11
+ * Set event count for specific event type
12
+ */
13
+ export declare function setEventCount(eventType: string, count: number): Promise<void>;
14
+ /**
15
+ * Increment event count for specific event type.
16
+ * Chains operations per-key to prevent concurrent read-modify-write races.
17
+ */
18
+ export declare function incrementEventCount(eventType: string): Promise<void>;
19
+ /**
20
+ * Get last prompt date for specific event type
21
+ */
22
+ export declare function getLastPromptDate(eventType: string): Promise<string | null>;
23
+ /**
24
+ * Set last prompt date for specific event type
25
+ */
26
+ export declare function setLastPromptDate(eventType: string, date: string): Promise<void>;
27
+ /**
28
+ * Check if user has rated the app
29
+ */
30
+ export declare function getHasRated(): Promise<boolean>;
31
+ /**
32
+ * Set whether user has rated the app
33
+ */
34
+ export declare function setHasRated(value: boolean): Promise<void>;
35
+ /**
36
+ * Check if user permanently dismissed the prompt
37
+ */
38
+ export declare function getDismissed(): Promise<boolean>;
39
+ /**
40
+ * Set whether user permanently dismissed the prompt
41
+ */
42
+ export declare function setDismissed(value: boolean): Promise<void>;
43
+ /**
44
+ * Get complete rating state for specific event type
45
+ */
46
+ export declare function getRatingState(eventType: string): Promise<RatingState>;
47
+ /**
48
+ * Reset rating data for specific event type or all data
49
+ */
50
+ export declare function reset(eventType?: string): Promise<void>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Rating Prompt Modal
3
+ * 2-step rating prompt: Custom modal → Native review prompt
4
+ */
5
+ import React from "react";
6
+ import type { RatingTranslations } from "../../domain/entities/RatingConfig";
7
+ export interface RatingPromptModalProps {
8
+ visible: boolean;
9
+ onPositive: () => void;
10
+ onNegative: () => void;
11
+ onLater: () => void;
12
+ onDismiss: () => void;
13
+ translations?: RatingTranslations;
14
+ appName?: string;
15
+ }
16
+ export declare const RatingPromptModal: React.FC<RatingPromptModalProps>;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { ViewStyle } from "react-native";
3
+ export interface StarRatingProps {
4
+ rating: number;
5
+ maxRating?: number;
6
+ onRatingChange?: (rating: number) => void;
7
+ size?: number;
8
+ activeColor?: string;
9
+ inactiveColor?: string;
10
+ disabled?: boolean;
11
+ style?: ViewStyle;
12
+ }
13
+ export declare const StarRating: React.FC<StarRatingProps>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * useAppRating Hook
3
+ * React hook for app rating system
4
+ */
5
+ import type { RatingConfig, UseAppRatingResult } from "../../domain/entities/RatingConfig";
6
+ /**
7
+ * App rating hook with 2-step prompt flow
8
+ */
9
+ export declare function useAppRating(config: RatingConfig): UseAppRatingResult;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Video Tutorials Domain
3
+ *
4
+ * Props-based component - pass tutorials data from app config
5
+ *
6
+ * Usage:
7
+ * import { VideoTutorialsScreen, VideoTutorialCard, VideoTutorial } from '@umituz/react-native-settings';
8
+ *
9
+ * <VideoTutorialsScreen
10
+ * tutorials={myTutorials}
11
+ * featuredTutorials={myFeaturedTutorials}
12
+ * onTutorialPress={(tutorial) => Linking.openURL(tutorial.videoUrl)}
13
+ * />
14
+ */
15
+ export * from "./types";
16
+ export * from "./presentation/screens/VideoTutorialsScreen";
17
+ export * from "./presentation/components/VideoTutorialCard";
18
+ export * from "./presentation/components/VideoTutorialSection";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Video Tutorial Card Component
3
+ * Single Responsibility: Display individual video tutorial card
4
+ */
5
+ import React from "react";
6
+ import type { VideoTutorial } from "../../types";
7
+ interface VideoTutorialCardProps {
8
+ readonly tutorial: VideoTutorial;
9
+ readonly onPress: () => void;
10
+ readonly horizontal?: boolean;
11
+ }
12
+ export declare const VideoTutorialCard: React.FC<VideoTutorialCardProps>;
13
+ export {};