@umituz/react-native-settings 5.3.34 → 5.3.36

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 +2 -2
  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,5 +0,0 @@
1
- export declare class NotificationPermissions {
2
- requestPermissions(): Promise<boolean>;
3
- hasPermissions(): Promise<boolean>;
4
- private createAndroidChannels;
5
- }
@@ -1,7 +0,0 @@
1
- import type { ScheduleNotificationOptions, ScheduledNotification } from './types';
2
- export declare class NotificationScheduler {
3
- scheduleNotification(options: ScheduleNotificationOptions): Promise<string>;
4
- cancelNotification(notificationId: string): Promise<void>;
5
- cancelAllNotifications(): Promise<void>;
6
- getScheduledNotifications(): Promise<ScheduledNotification[]>;
7
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * NotificationService
3
- *
4
- * Simple facade for offline notification system.
5
- * Works in ALL apps - offline, online, hybrid - no backend required.
6
- *
7
- * @module NotificationService
8
- */
9
- import { NotificationManager } from './NotificationManager';
10
- export * from './types';
11
- /**
12
- * Notification service singleton
13
- * Provides simple access to notification manager
14
- */
15
- export declare class NotificationService {
16
- private static instance;
17
- private isConfigured;
18
- readonly notifications: NotificationManager;
19
- private constructor();
20
- private ensureConfigured;
21
- static getInstance(): NotificationService;
22
- /**
23
- * Request notification permissions
24
- */
25
- requestPermissions(): Promise<boolean>;
26
- /**
27
- * Check if permissions are granted
28
- */
29
- hasPermissions(): Promise<boolean>;
30
- }
31
- export declare const notificationService: NotificationService;
@@ -1,147 +0,0 @@
1
- /**
2
- * Offline-First Notification Types
3
- * Uses expo-notifications for local device notifications
4
- */
5
- import * as Notifications from 'expo-notifications';
6
- export interface NotificationChannel {
7
- id: string;
8
- channel_type: 'push' | 'in_app';
9
- channel_address: string;
10
- preferences: Record<string, unknown>;
11
- is_verified: boolean;
12
- is_active: boolean;
13
- created_at: string;
14
- }
15
- export type NotificationTrigger = {
16
- type: 'date';
17
- date: Date;
18
- } | {
19
- type: 'daily';
20
- hour: number;
21
- minute: number;
22
- } | {
23
- type: 'weekly';
24
- weekday: number;
25
- hour: number;
26
- minute: number;
27
- } | {
28
- type: 'monthly';
29
- day: number;
30
- hour: number;
31
- minute: number;
32
- };
33
- export type NotificationData = Record<string, string | number | boolean | null>;
34
- export interface ScheduleNotificationOptions {
35
- title: string;
36
- body: string;
37
- data?: NotificationData;
38
- trigger: NotificationTrigger;
39
- sound?: boolean | string;
40
- badge?: number;
41
- categoryIdentifier?: string;
42
- }
43
- export interface ScheduledNotification {
44
- identifier: string;
45
- content: {
46
- title: string;
47
- body: string;
48
- data: NotificationData;
49
- };
50
- trigger: Notifications.NotificationTrigger;
51
- }
52
- export interface TimePreset {
53
- id: string;
54
- hour: number;
55
- minute: number;
56
- labelKey: string;
57
- iconName: string;
58
- }
59
- export type ReminderFrequency = 'once' | 'daily' | 'weekly' | 'monthly';
60
- export interface Reminder {
61
- id: string;
62
- title: string;
63
- body: string;
64
- frequency: ReminderFrequency;
65
- timePresetId?: string;
66
- hour: number;
67
- minute: number;
68
- weekday?: number;
69
- dayOfMonth?: number;
70
- enabled: boolean;
71
- notificationId?: string;
72
- createdAt: string;
73
- updatedAt: string;
74
- }
75
- export interface CreateReminderInput {
76
- title: string;
77
- body: string;
78
- frequency: ReminderFrequency;
79
- timePresetId?: string;
80
- hour: number;
81
- minute: number;
82
- weekday?: number;
83
- dayOfMonth?: number;
84
- }
85
- export interface UpdateReminderInput {
86
- title?: string;
87
- body?: string;
88
- frequency?: ReminderFrequency;
89
- timePresetId?: string;
90
- hour?: number;
91
- minute?: number;
92
- weekday?: number;
93
- dayOfMonth?: number;
94
- enabled?: boolean;
95
- }
96
- export interface QuietHoursConfig {
97
- enabled: boolean;
98
- startHour: number;
99
- startMinute: number;
100
- endHour: number;
101
- endMinute: number;
102
- }
103
- export interface NotificationPreferences {
104
- enabled: boolean;
105
- sound: boolean;
106
- vibration: boolean;
107
- quietHours: QuietHoursConfig;
108
- }
109
- export interface ReminderTranslations {
110
- screenTitle: string;
111
- emptyTitle: string;
112
- emptyDescription: string;
113
- addButtonLabel: string;
114
- editButtonLabel: string;
115
- deleteButtonLabel: string;
116
- enabledLabel: string;
117
- disabledLabel: string;
118
- frequencyOnce: string;
119
- frequencyDaily: string;
120
- frequencyWeekly: string;
121
- frequencyMonthly: string;
122
- timeLabel: string;
123
- titlePlaceholder: string;
124
- bodyPlaceholder: string;
125
- saveButtonLabel: string;
126
- cancelButtonLabel: string;
127
- }
128
- export interface QuietHoursTranslations {
129
- title: string;
130
- description: string;
131
- startTimeLabel: string;
132
- endTimeLabel: string;
133
- enabledLabel: string;
134
- }
135
- export interface NotificationSettingsTranslations {
136
- screenTitle: string;
137
- masterToggleTitle: string;
138
- masterToggleDescription: string;
139
- soundTitle: string;
140
- soundDescription: string;
141
- vibrationTitle: string;
142
- vibrationDescription: string;
143
- remindersTitle: string;
144
- remindersDescription: string;
145
- quietHoursTitle: string;
146
- quietHoursDescription: string;
147
- }
@@ -1,42 +0,0 @@
1
- /**
2
- * Unified Notification Store
3
- * Consolidates NotificationsStore, RemindersStore, and PreferencesStore
4
- *
5
- * Production-ready implementation with:
6
- * - Single source of truth for all notification state
7
- * - Proper state partializing (transient vs persistent)
8
- * - Type-safe actions and selectors
9
- * - Data migration support
10
- */
11
- import type { Reminder, QuietHoursConfig, NotificationPreferences } from '../services/types';
12
- interface NotificationState {
13
- hasPermissions: boolean;
14
- isInitialized: boolean;
15
- isLoading: boolean;
16
- preferences: NotificationPreferences;
17
- reminders: Reminder[];
18
- }
19
- interface NotificationActions {
20
- setPermissions: (granted: boolean) => void;
21
- setInitialized: (initialized: boolean) => void;
22
- initialize: () => void;
23
- updatePreferences: (updates: Partial<NotificationPreferences>) => void;
24
- updateQuietHours: (quietHours: QuietHoursConfig) => void;
25
- addReminder: (reminder: Reminder) => void;
26
- updateReminder: (id: string, updates: Partial<Reminder>) => void;
27
- deleteReminder: (id: string) => void;
28
- toggleReminder: (id: string) => void;
29
- reset: () => void;
30
- resetReminders: () => void;
31
- }
32
- export declare const useNotificationStore: import("zustand").UseBoundStore<import("zustand").StoreApi<NotificationState & NotificationActions>>;
33
- export declare const useNotificationPermissions: () => boolean;
34
- export declare const useNotificationInitialized: () => boolean;
35
- export declare const useRemindersLoading: () => boolean;
36
- export declare const useRemindersInitialized: () => boolean;
37
- export declare const useNotificationPreferences: () => NotificationPreferences;
38
- export declare const useQuietHours: () => QuietHoursConfig;
39
- export declare const useReminders: () => Reminder[];
40
- export declare const useEnabledReminders: () => Reminder[];
41
- export declare const useReminderById: (id: string) => Reminder;
42
- export {};
@@ -1,6 +0,0 @@
1
- /**
2
- * ID Generator Utility
3
- * Generates unique IDs for entities
4
- */
5
- export declare const generateId: (prefix?: string) => string;
6
- export declare const generateReminderId: () => string;
@@ -1,6 +0,0 @@
1
- /**
2
- * Trigger Builder Utility
3
- * Builds notification triggers from reminder data
4
- */
5
- import type { NotificationTrigger, Reminder } from '../services/types';
6
- export declare const buildTrigger: (reminder: Reminder) => NotificationTrigger;
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import type { StyleProp, ViewStyle } from 'react-native';
3
- export interface NotificationsSectionConfig {
4
- route?: string;
5
- onPress?: () => void;
6
- title?: string;
7
- description?: string;
8
- sectionTitle?: string;
9
- }
10
- export interface NotificationsSectionProps {
11
- config?: NotificationsSectionConfig;
12
- containerStyle?: StyleProp<ViewStyle>;
13
- noBackground?: boolean;
14
- hideMargin?: boolean;
15
- }
16
- export declare const NotificationsSection: React.FC<NotificationsSectionProps>;
@@ -1,12 +0,0 @@
1
- /**
2
- * RemindersNavRow Component
3
- * Reusable navigation row for reminders section with badge
4
- */
5
- import React from 'react';
6
- export interface RemindersNavRowProps {
7
- title: string;
8
- description: string;
9
- count: number;
10
- onPress: () => void;
11
- }
12
- export declare const RemindersNavRow: React.FC<RemindersNavRowProps>;
@@ -1,34 +0,0 @@
1
- /**
2
- * RemindersNavRow Styles
3
- */
4
- import type { DesignTokens } from '@umituz/react-native-design-system/theme';
5
- export declare const createStyles: (tokens: DesignTokens) => {
6
- navRow: {
7
- flexDirection: "row";
8
- alignItems: "center";
9
- };
10
- iconContainer: {
11
- width: number;
12
- height: number;
13
- borderRadius: number;
14
- backgroundColor: string;
15
- justifyContent: "center";
16
- alignItems: "center";
17
- marginRight: number;
18
- };
19
- textContainer: {
20
- flex: number;
21
- marginRight: number;
22
- };
23
- badge: {
24
- backgroundColor: string;
25
- paddingHorizontal: number;
26
- paddingVertical: number;
27
- borderRadius: number;
28
- marginRight: number;
29
- };
30
- badgeText: {
31
- color: string;
32
- fontWeight: "600";
33
- };
34
- };
@@ -1,14 +0,0 @@
1
- /**
2
- * Setting Row Component
3
- * Reusable toggle row for settings
4
- */
5
- import React from 'react';
6
- export interface SettingRowProps {
7
- iconName: string;
8
- title: string;
9
- description: string;
10
- value: boolean;
11
- onToggle: (value: boolean) => void;
12
- onHapticFeedback?: () => void;
13
- }
14
- export declare const SettingRow: React.FC<SettingRowProps>;
@@ -1,13 +0,0 @@
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
- };
@@ -1,21 +0,0 @@
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;
@@ -1,12 +0,0 @@
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>;
@@ -1,26 +0,0 @@
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
- };
@@ -1,18 +0,0 @@
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>;
@@ -1,13 +0,0 @@
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
- };
@@ -1,14 +0,0 @@
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>;
@@ -1,24 +0,0 @@
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
- };
@@ -1,11 +0,0 @@
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
- };
@@ -1,12 +0,0 @@
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>;
@@ -1,14 +0,0 @@
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>;
@@ -1,28 +0,0 @@
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
- }
@@ -1,7 +0,0 @@
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>;
@@ -1,31 +0,0 @@
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
- };
@@ -1,20 +0,0 @@
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>;
@@ -1,20 +0,0 @@
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>;
@@ -1,11 +0,0 @@
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>;
@@ -1,13 +0,0 @@
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>;