@umituz/react-native-settings 5.3.33 → 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.
- package/package.json +1 -1
- package/src/domains/localization/presentation/providers/LocalizationManager.tsx +24 -1
- package/LICENSE +0 -21
- package/README.md +0 -355
- package/dist/account.d.ts +0 -27
- package/dist/application/ports/ISettingsRepository.d.ts +0 -45
- package/dist/domains/about/domain/entities/AppInfo.d.ts +0 -76
- package/dist/domains/about/domain/repositories/IAboutRepository.d.ts +0 -19
- package/dist/domains/about/index.d.ts +0 -10
- package/dist/domains/about/infrastructure/repositories/AboutRepository.d.ts +0 -18
- package/dist/domains/about/presentation/components/AboutContent.d.ts +0 -14
- package/dist/domains/about/presentation/components/AboutHeader.d.ts +0 -21
- package/dist/domains/about/presentation/components/AboutSection.d.ts +0 -14
- package/dist/domains/about/presentation/components/AboutSettingItem.d.ts +0 -39
- package/dist/domains/about/presentation/hooks/useAboutInfo.d.ts +0 -2
- package/dist/domains/about/presentation/hooks/useAboutInfo.types.d.ts +0 -29
- package/dist/domains/about/presentation/screens/AboutScreen.d.ts +0 -21
- package/dist/domains/about/presentation/screens/AboutScreenContent.d.ts +0 -15
- package/dist/domains/about/utils/AppInfoFactory.d.ts +0 -9
- package/dist/domains/appearance/data/colorPalettes.d.ts +0 -25
- package/dist/domains/appearance/hooks/useAppearance.d.ts +0 -11
- package/dist/domains/appearance/hooks/useAppearanceActions.d.ts +0 -9
- package/dist/domains/appearance/index.d.ts +0 -9
- package/dist/domains/appearance/presentation/components/AppearanceHeader.d.ts +0 -18
- package/dist/domains/appearance/presentation/components/AppearancePreview.d.ts +0 -21
- package/dist/domains/appearance/presentation/components/AppearanceSection.d.ts +0 -16
- package/dist/domains/appearance/presentation/components/ColorPicker.d.ts +0 -15
- package/dist/domains/appearance/presentation/components/CustomColorsSection.d.ts +0 -25
- package/dist/domains/appearance/presentation/components/ThemeModeSection.d.ts +0 -24
- package/dist/domains/appearance/presentation/components/ThemeOption.d.ts +0 -20
- package/dist/domains/appearance/presentation/components/index.d.ts +0 -6
- package/dist/domains/appearance/presentation/screens/AppearanceScreen.d.ts +0 -16
- package/dist/domains/appearance/types/index.d.ts +0 -48
- package/dist/domains/cloud-sync/index.d.ts +0 -6
- package/dist/domains/cloud-sync/presentation/components/CloudSyncSetting.d.ts +0 -14
- package/dist/domains/dev/index.d.ts +0 -14
- package/dist/domains/dev/presentation/components/DevSettingsSection.d.ts +0 -34
- package/dist/domains/dev/presentation/components/EnvViewerSetting.d.ts +0 -20
- package/dist/domains/dev/presentation/components/StorageClearSetting.d.ts +0 -13
- package/dist/domains/dev/presentation/screens/EnvViewerScreen.d.ts +0 -12
- package/dist/domains/dev/types.d.ts +0 -22
- package/dist/domains/disclaimer/index.d.ts +0 -17
- package/dist/domains/disclaimer/presentation/components/DisclaimerCard.d.ts +0 -14
- package/dist/domains/disclaimer/presentation/components/DisclaimerModal.d.ts +0 -12
- package/dist/domains/disclaimer/presentation/components/DisclaimerSetting.d.ts +0 -34
- package/dist/domains/disclaimer/presentation/screens/DisclaimerScreen.d.ts +0 -27
- package/dist/domains/faqs/domain/entities/FAQEntity.d.ts +0 -21
- package/dist/domains/faqs/domain/services/FAQSearchService.d.ts +0 -12
- package/dist/domains/faqs/index.d.ts +0 -8
- package/dist/domains/faqs/presentation/components/FAQCategory.d.ts +0 -21
- package/dist/domains/faqs/presentation/components/FAQEmptyState.d.ts +0 -20
- package/dist/domains/faqs/presentation/components/FAQItem.d.ts +0 -24
- package/dist/domains/faqs/presentation/components/FAQSearchBar.d.ts +0 -18
- package/dist/domains/faqs/presentation/components/index.d.ts +0 -11
- package/dist/domains/faqs/presentation/hooks/index.d.ts +0 -5
- package/dist/domains/faqs/presentation/hooks/useFAQExpansion.d.ts +0 -12
- package/dist/domains/faqs/presentation/hooks/useFAQSearch.d.ts +0 -12
- package/dist/domains/faqs/presentation/screens/FAQScreen.d.ts +0 -33
- package/dist/domains/feedback/domain/entities/FeedbackEntity.d.ts +0 -25
- package/dist/domains/feedback/domain/repositories/IFeedbackRepository.d.ts +0 -20
- package/dist/domains/feedback/index.d.ts +0 -10
- package/dist/domains/feedback/presentation/components/FeedbackForm.d.ts +0 -7
- package/dist/domains/feedback/presentation/components/FeedbackForm.styles.d.ts +0 -48
- package/dist/domains/feedback/presentation/components/FeedbackFormProps.d.ts +0 -26
- package/dist/domains/feedback/presentation/components/FeedbackModal.d.ts +0 -23
- package/dist/domains/feedback/presentation/components/SupportSection.d.ts +0 -62
- package/dist/domains/feedback/presentation/hooks/useFeedbackForm.d.ts +0 -19
- package/dist/domains/gamification/components/AchievementCard.d.ts +0 -23
- package/dist/domains/gamification/components/AchievementItem.d.ts +0 -7
- package/dist/domains/gamification/components/AchievementToast.d.ts +0 -21
- package/dist/domains/gamification/components/GamificationScreen/AchievementsList.d.ts +0 -17
- package/dist/domains/gamification/components/GamificationScreen/GamificationScreen.d.ts +0 -11
- package/dist/domains/gamification/components/GamificationScreen/GamificationScreenWithConfig.d.ts +0 -11
- package/dist/domains/gamification/components/GamificationScreen/StatsGrid.d.ts +0 -16
- package/dist/domains/gamification/components/GamificationScreen/index.d.ts +0 -17
- package/dist/domains/gamification/components/GamificationScreen/styles.d.ts +0 -40
- package/dist/domains/gamification/components/GamificationScreen/types.d.ts +0 -42
- package/dist/domains/gamification/components/LevelProgress.d.ts +0 -27
- package/dist/domains/gamification/components/PointsBadge.d.ts +0 -16
- package/dist/domains/gamification/components/StatsCard.d.ts +0 -20
- package/dist/domains/gamification/components/StreakDisplay.d.ts +0 -21
- package/dist/domains/gamification/components/index.d.ts +0 -14
- package/dist/domains/gamification/components/styles/achievementItemStyles.d.ts +0 -71
- package/dist/domains/gamification/components/types/AchievementItemProps.d.ts +0 -22
- package/dist/domains/gamification/hooks/useGamification.d.ts +0 -22
- package/dist/domains/gamification/index.d.ts +0 -13
- package/dist/domains/gamification/store/gamificationStore.d.ts +0 -6
- package/dist/domains/gamification/types/index.d.ts +0 -99
- package/dist/domains/gamification/utils/calculations.d.ts +0 -10
- package/dist/domains/legal/domain/entities/LegalConfig.d.ts +0 -28
- package/dist/domains/legal/domain/services/ContentValidationService.d.ts +0 -19
- package/dist/domains/legal/domain/services/StyleCacheService.d.ts +0 -38
- package/dist/domains/legal/domain/services/UrlHandlerService.d.ts +0 -32
- package/dist/domains/legal/index.d.ts +0 -8
- package/dist/domains/legal/presentation/components/LegalDocumentsList.d.ts +0 -21
- package/dist/domains/legal/presentation/components/LegalItem.d.ts +0 -35
- package/dist/domains/legal/presentation/components/LegalScreenHeader.d.ts +0 -12
- package/dist/domains/legal/presentation/components/LegalSection.d.ts +0 -14
- package/dist/domains/legal/presentation/screens/LegalContentScreen.d.ts +0 -19
- package/dist/domains/legal/presentation/screens/LegalScreen.d.ts +0 -24
- package/dist/domains/legal/presentation/screens/PrivacyPolicyScreen.d.ts +0 -15
- package/dist/domains/legal/presentation/screens/TermsOfServiceScreen.d.ts +0 -15
- package/dist/domains/localization/domain/repositories/ILocalizationRepository.d.ts +0 -16
- package/dist/domains/localization/index.d.ts +0 -16
- package/dist/domains/localization/infrastructure/components/LanguageSwitcher.d.ts +0 -19
- package/dist/domains/localization/infrastructure/components/LanguageSwitcher.styles.d.ts +0 -37
- package/dist/domains/localization/infrastructure/components/useLanguageNavigation.d.ts +0 -4
- package/dist/domains/localization/infrastructure/components/useLanguageSwitcher.d.ts +0 -13
- package/dist/domains/localization/infrastructure/config/DeviceLocale.d.ts +0 -10
- package/dist/domains/localization/infrastructure/config/I18nInitializer.d.ts +0 -14
- package/dist/domains/localization/infrastructure/config/LanguageQuery.d.ts +0 -10
- package/dist/domains/localization/infrastructure/config/LocaleMapping.d.ts +0 -5
- package/dist/domains/localization/infrastructure/config/NamespaceResolver.d.ts +0 -11
- package/dist/domains/localization/infrastructure/config/ResourceBuilder.d.ts +0 -10
- package/dist/domains/localization/infrastructure/config/TranslationLoader.d.ts +0 -16
- package/dist/domains/localization/infrastructure/config/constants/defaultLanguages.d.ts +0 -6
- package/dist/domains/localization/infrastructure/config/i18n.d.ts +0 -7
- package/dist/domains/localization/infrastructure/config/languages.d.ts +0 -7
- package/dist/domains/localization/infrastructure/hooks/useLanguageSelection.d.ts +0 -11
- package/dist/domains/localization/infrastructure/hooks/useLocalization.d.ts +0 -12
- package/dist/domains/localization/infrastructure/hooks/useTranslation.d.ts +0 -23
- package/dist/domains/localization/infrastructure/repository/LanguageRepository.d.ts +0 -18
- package/dist/domains/localization/infrastructure/storage/LanguageInitializer.d.ts +0 -20
- package/dist/domains/localization/infrastructure/storage/LanguageSwitcher.d.ts +0 -16
- package/dist/domains/localization/infrastructure/storage/LocalizationStore.d.ts +0 -6
- package/dist/domains/localization/infrastructure/storage/localizationStoreUtils.d.ts +0 -44
- package/dist/domains/localization/infrastructure/storage/types/Language.d.ts +0 -12
- package/dist/domains/localization/infrastructure/storage/types/LocalizationState.d.ts +0 -22
- package/dist/domains/localization/presentation/components/LanguageItem.d.ts +0 -23
- package/dist/domains/localization/presentation/components/LanguageItem.styles.d.ts +0 -30
- package/dist/domains/localization/presentation/components/LanguageSection.d.ts +0 -15
- package/dist/domains/localization/presentation/providers/LocalizationManager.d.ts +0 -12
- package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.d.ts +0 -7
- package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.styles.d.ts +0 -7
- package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.types.d.ts +0 -26
- package/dist/domains/notifications/index.d.ts +0 -46
- package/dist/domains/notifications/infrastructure/config/notificationsConfig.d.ts +0 -19
- package/dist/domains/notifications/infrastructure/hooks/useNotificationSettings.d.ts +0 -8
- package/dist/domains/notifications/infrastructure/services/NotificationBadgeManager.d.ts +0 -4
- package/dist/domains/notifications/infrastructure/services/NotificationManager.d.ts +0 -23
- package/dist/domains/notifications/infrastructure/services/NotificationPermissions.d.ts +0 -5
- package/dist/domains/notifications/infrastructure/services/NotificationScheduler.d.ts +0 -7
- package/dist/domains/notifications/infrastructure/services/NotificationService.d.ts +0 -31
- package/dist/domains/notifications/infrastructure/services/types.d.ts +0 -147
- package/dist/domains/notifications/infrastructure/storage/UnifiedNotificationStore.d.ts +0 -42
- package/dist/domains/notifications/infrastructure/utils/idGenerator.d.ts +0 -6
- package/dist/domains/notifications/infrastructure/utils/triggerBuilder.d.ts +0 -6
- package/dist/domains/notifications/presentation/components/NotificationsSection.d.ts +0 -16
- package/dist/domains/notifications/presentation/components/RemindersNavRow.d.ts +0 -12
- package/dist/domains/notifications/presentation/components/RemindersNavRow.styles.d.ts +0 -34
- package/dist/domains/notifications/presentation/components/SettingRow.d.ts +0 -14
- package/dist/domains/notifications/presentation/hooks/useNotificationSettingsUI.d.ts +0 -13
- package/dist/domains/notifications/presentation/hooks/useTimePicker.d.ts +0 -21
- package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.d.ts +0 -12
- package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.styles.d.ts +0 -26
- package/dist/domains/notifications/presentation/screens/NotificationsScreen.d.ts +0 -18
- package/dist/domains/notifications/quietHours/infrastructure/hooks/useQuietHoursActions.d.ts +0 -13
- package/dist/domains/notifications/quietHours/presentation/components/QuietHoursCard.d.ts +0 -14
- package/dist/domains/notifications/reminders/infrastructure/config/reminderPresets.d.ts +0 -24
- package/dist/domains/notifications/reminders/infrastructure/hooks/useReminderActions.d.ts +0 -11
- package/dist/domains/notifications/reminders/presentation/components/FormButton.d.ts +0 -12
- package/dist/domains/notifications/reminders/presentation/components/FrequencySelector.d.ts +0 -14
- package/dist/domains/notifications/reminders/presentation/components/ReminderForm.constants.d.ts +0 -28
- package/dist/domains/notifications/reminders/presentation/components/ReminderForm.d.ts +0 -7
- package/dist/domains/notifications/reminders/presentation/components/ReminderForm.styles.d.ts +0 -31
- package/dist/domains/notifications/reminders/presentation/components/ReminderItem.d.ts +0 -20
- package/dist/domains/notifications/reminders/presentation/components/TimePresetSelector.d.ts +0 -20
- package/dist/domains/notifications/reminders/presentation/components/WeekdaySelector.d.ts +0 -11
- package/dist/domains/notifications/reminders/presentation/screens/ReminderListScreen.d.ts +0 -13
- package/dist/domains/rating/application/services/RatingService.d.ts +0 -33
- package/dist/domains/rating/domain/entities/Rating.d.ts +0 -15
- package/dist/domains/rating/domain/entities/RatingConfig.d.ts +0 -120
- package/dist/domains/rating/index.d.ts +0 -12
- package/dist/domains/rating/infrastructure/storage/RatingStorage.d.ts +0 -50
- package/dist/domains/rating/presentation/components/RatingPromptModal.d.ts +0 -16
- package/dist/domains/rating/presentation/components/StarRating.d.ts +0 -13
- package/dist/domains/rating/presentation/hooks/useAppRating.d.ts +0 -9
- package/dist/domains/video-tutorials/index.d.ts +0 -18
- package/dist/domains/video-tutorials/presentation/components/VideoTutorialCard.d.ts +0 -13
- package/dist/domains/video-tutorials/presentation/components/VideoTutorialSection.d.ts +0 -25
- package/dist/domains/video-tutorials/presentation/screens/VideoTutorialsScreen.d.ts +0 -25
- package/dist/domains/video-tutorials/types/index.d.ts +0 -26
- package/dist/index.d.ts +0 -41
- package/dist/infrastructure/repositories/SettingsRepository.d.ts +0 -12
- package/dist/infrastructure/services/SettingsService.d.ts +0 -14
- package/dist/infrastructure/utils/configFactory.d.ts +0 -39
- package/dist/infrastructure/utils/constants/textLimits.d.ts +0 -16
- package/dist/infrastructure/utils/sanitizers.d.ts +0 -13
- package/dist/infrastructure/utils/validation/core.d.ts +0 -8
- package/dist/infrastructure/utils/validation/formValidators.d.ts +0 -26
- package/dist/infrastructure/utils/validation/index.d.ts +0 -5
- package/dist/infrastructure/utils/validators.d.ts +0 -21
- package/dist/presentation/components/SettingsFooter.d.ts +0 -7
- package/dist/presentation/components/SettingsItemCard.d.ts +0 -22
- package/dist/presentation/components/SettingsNavigationItem.d.ts +0 -67
- package/dist/presentation/components/SettingsSection.d.ts +0 -6
- package/dist/presentation/components/settings/SettingsItemCardContent.d.ts +0 -12
- package/dist/presentation/components/settings/SettingsItemCardRightElement.d.ts +0 -11
- package/dist/presentation/components/settings/SettingsItemCardSection.d.ts +0 -5
- package/dist/presentation/hooks/mutations/useSettingsMutations.d.ts +0 -20
- package/dist/presentation/hooks/queries/useSettingsQuery.d.ts +0 -7
- package/dist/presentation/hooks/useSettings.d.ts +0 -26
- package/dist/presentation/hooks/useSettingsScreenConfig.d.ts +0 -41
- package/dist/presentation/navigation/SettingsStackNavigator.d.ts +0 -9
- package/dist/presentation/navigation/hooks/index.d.ts +0 -5
- package/dist/presentation/navigation/hooks/useNavigationHandlers.d.ts +0 -14
- package/dist/presentation/navigation/hooks/useSettingsNavigation.d.ts +0 -22
- package/dist/presentation/navigation/hooks/useSettingsScreens.d.ts +0 -12
- package/dist/presentation/navigation/types.d.ts +0 -134
- package/dist/presentation/navigation/utils/index.d.ts +0 -5
- package/dist/presentation/navigation/utils/navigationHelpers.d.ts +0 -13
- package/dist/presentation/navigation/utils/navigationTranslations.d.ts +0 -35
- package/dist/presentation/screens/AppearanceScreen.d.ts +0 -6
- package/dist/presentation/screens/SettingsScreen.d.ts +0 -49
- package/dist/presentation/screens/components/SettingsContent.d.ts +0 -3
- package/dist/presentation/screens/components/SettingsHeader.d.ts +0 -8
- package/dist/presentation/screens/components/sections/CustomSettingsList.d.ts +0 -7
- package/dist/presentation/screens/components/sections/FeatureSettingsSection.d.ts +0 -13
- package/dist/presentation/screens/components/sections/IdentitySettingsSection.d.ts +0 -12
- package/dist/presentation/screens/components/sections/ProfileSectionLoader.d.ts +0 -17
- package/dist/presentation/screens/components/sections/SupportSettingsSection.d.ts +0 -13
- package/dist/presentation/screens/components/types/SettingsContentProps.d.ts +0 -47
- package/dist/presentation/screens/components/utils/featureChecker.d.ts +0 -10
- package/dist/presentation/screens/hooks/useFeatureDetection.d.ts +0 -28
- package/dist/presentation/screens/hooks/useSettingsScreen.d.ts +0 -36
- package/dist/presentation/screens/types/BaseTypes.d.ts +0 -11
- package/dist/presentation/screens/types/ContentConfig.d.ts +0 -76
- package/dist/presentation/screens/types/CustomSection.d.ts +0 -38
- package/dist/presentation/screens/types/SettingsConfig.d.ts +0 -122
- package/dist/presentation/screens/types/SettingsTranslations.d.ts +0 -159
- package/dist/presentation/screens/types/UserFeatureConfig.d.ts +0 -178
- package/dist/presentation/screens/types/index.d.ts +0 -11
- package/dist/presentation/screens/utils/normalizeConfig.d.ts +0 -68
- package/dist/presentation/utils/accountConfigUtils.d.ts +0 -34
- package/dist/presentation/utils/config-creators/base-configs.d.ts +0 -26
- package/dist/presentation/utils/config-creators/feature-configs.d.ts +0 -17
- package/dist/presentation/utils/config-creators/index.d.ts +0 -7
- package/dist/presentation/utils/config-creators/support-configs.d.ts +0 -19
- package/dist/presentation/utils/config-creators/types.d.ts +0 -20
- package/dist/presentation/utils/faqTranslator.d.ts +0 -3
- package/dist/presentation/utils/index.d.ts +0 -8
- package/dist/presentation/utils/screenFactory.d.ts +0 -26
- package/dist/presentation/utils/settingsConfigFactory.d.ts +0 -33
- package/dist/presentation/utils/userProfileUtils.d.ts +0 -20
- package/dist/utils/appUtils.d.ts +0 -4
- package/dist/utils/devUtils.d.ts +0 -31
- package/dist/utils/errorUtils.d.ts +0 -22
- package/dist/utils/hooks/useAsyncStateUpdate.d.ts +0 -35
- package/dist/utils/hooks/useMountSafety.d.ts +0 -1
|
@@ -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";
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config Normalization Utilities
|
|
3
|
-
* Single Responsibility: Normalize config values to consistent format
|
|
4
|
-
*/
|
|
5
|
-
import type { AppearanceConfig, LanguageConfig, NotificationsConfig, AboutConfig, LegalConfig, DisclaimerConfig, UserProfileConfig, FeedbackConfig, RatingConfig, FAQConfig, SubscriptionConfig, WalletConfig, GamificationItemConfig, VideoTutorialConfig, SettingsConfig } from "../types";
|
|
6
|
-
export interface NormalizedConfig {
|
|
7
|
-
appearance: {
|
|
8
|
-
enabled: boolean;
|
|
9
|
-
config?: AppearanceConfig;
|
|
10
|
-
};
|
|
11
|
-
language: {
|
|
12
|
-
enabled: boolean;
|
|
13
|
-
config?: LanguageConfig;
|
|
14
|
-
};
|
|
15
|
-
notifications: {
|
|
16
|
-
enabled: boolean;
|
|
17
|
-
config?: NotificationsConfig;
|
|
18
|
-
};
|
|
19
|
-
about: {
|
|
20
|
-
enabled: boolean;
|
|
21
|
-
config?: AboutConfig;
|
|
22
|
-
};
|
|
23
|
-
legal: {
|
|
24
|
-
enabled: boolean;
|
|
25
|
-
config?: LegalConfig;
|
|
26
|
-
};
|
|
27
|
-
disclaimer: {
|
|
28
|
-
enabled: boolean;
|
|
29
|
-
config?: DisclaimerConfig;
|
|
30
|
-
};
|
|
31
|
-
userProfile: {
|
|
32
|
-
enabled: boolean;
|
|
33
|
-
config?: UserProfileConfig;
|
|
34
|
-
};
|
|
35
|
-
feedback: {
|
|
36
|
-
enabled: boolean;
|
|
37
|
-
config?: FeedbackConfig;
|
|
38
|
-
};
|
|
39
|
-
rating: {
|
|
40
|
-
enabled: boolean;
|
|
41
|
-
config?: RatingConfig;
|
|
42
|
-
};
|
|
43
|
-
faqs: {
|
|
44
|
-
enabled: boolean;
|
|
45
|
-
config?: FAQConfig;
|
|
46
|
-
};
|
|
47
|
-
subscription: {
|
|
48
|
-
enabled: boolean;
|
|
49
|
-
config?: SubscriptionConfig;
|
|
50
|
-
};
|
|
51
|
-
wallet: {
|
|
52
|
-
enabled: boolean;
|
|
53
|
-
config?: WalletConfig;
|
|
54
|
-
};
|
|
55
|
-
gamification: {
|
|
56
|
-
enabled: boolean;
|
|
57
|
-
config?: GamificationItemConfig;
|
|
58
|
-
};
|
|
59
|
-
videoTutorial: {
|
|
60
|
-
enabled: boolean;
|
|
61
|
-
config?: VideoTutorialConfig;
|
|
62
|
-
};
|
|
63
|
-
translations?: import("../types").SettingsTranslations;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Normalize entire SettingsConfig to consistent format
|
|
67
|
-
*/
|
|
68
|
-
export declare function normalizeSettingsConfig(config: SettingsConfig | undefined): NormalizedConfig;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Account Configuration Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for creating account screen configurations.
|
|
5
|
-
*/
|
|
6
|
-
import type { AccountConfig } from "../navigation/types";
|
|
7
|
-
export interface AccountTranslations {
|
|
8
|
-
editProfile?: string;
|
|
9
|
-
logout: string;
|
|
10
|
-
deleteAccount: string;
|
|
11
|
-
logoutConfirmTitle: string;
|
|
12
|
-
logoutConfirmMessage: string;
|
|
13
|
-
deleteConfirmTitle: string;
|
|
14
|
-
deleteConfirmMessage: string;
|
|
15
|
-
deleteErrorTitle?: string;
|
|
16
|
-
deleteErrorMessage?: string;
|
|
17
|
-
cancel: string;
|
|
18
|
-
}
|
|
19
|
-
export interface CreateAccountConfigParams {
|
|
20
|
-
displayName?: string;
|
|
21
|
-
userId?: string;
|
|
22
|
-
photoURL?: string;
|
|
23
|
-
isAnonymous?: boolean;
|
|
24
|
-
avatarUrl?: string;
|
|
25
|
-
onSignIn: () => void;
|
|
26
|
-
onLogout: () => Promise<void>;
|
|
27
|
-
onDeleteAccount: () => Promise<void>;
|
|
28
|
-
translations?: AccountTranslations;
|
|
29
|
-
PasswordPromptComponent?: React.ReactNode;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Create account screen configuration
|
|
33
|
-
*/
|
|
34
|
-
export declare function createAccountConfig(params: CreateAccountConfigParams): AccountConfig;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base Settings Config Creators
|
|
3
|
-
* Standard settings: appearance, language, notifications, about, legal
|
|
4
|
-
* Refactored to use configFactory pattern for consistency
|
|
5
|
-
*/
|
|
6
|
-
import type { AppearanceConfig, LanguageConfig, NotificationsConfig, AboutConfig, LegalConfig } from "../../screens/types";
|
|
7
|
-
/**
|
|
8
|
-
* Create appearance configuration
|
|
9
|
-
*/
|
|
10
|
-
export declare const createAppearanceConfig: (routeOrOnPress?: string | (() => void)) => AppearanceConfig;
|
|
11
|
-
/**
|
|
12
|
-
* Create language configuration
|
|
13
|
-
*/
|
|
14
|
-
export declare const createLanguageConfig: (routeOrOnPress?: string | (() => void)) => LanguageConfig;
|
|
15
|
-
/**
|
|
16
|
-
* Create notifications configuration
|
|
17
|
-
*/
|
|
18
|
-
export declare const createNotificationsConfig: (routeOrOnPress?: string | (() => void)) => NotificationsConfig;
|
|
19
|
-
/**
|
|
20
|
-
* Create about configuration
|
|
21
|
-
*/
|
|
22
|
-
export declare const createAboutConfig: (routeOrOnPress?: string | (() => void)) => AboutConfig;
|
|
23
|
-
/**
|
|
24
|
-
* Create legal configuration
|
|
25
|
-
*/
|
|
26
|
-
export declare const createLegalConfig: (routeOrOnPress?: string | (() => void)) => LegalConfig;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Feature Settings Config Creators
|
|
3
|
-
* Subscription, gamification
|
|
4
|
-
*/
|
|
5
|
-
import type { SubscriptionConfig } from "../../screens/types";
|
|
6
|
-
import type { GamificationConfig, AchievementDefinition, LevelDefinition } from "../../../domains/gamification/types";
|
|
7
|
-
import type { SettingsStackParamList } from "../../navigation/types";
|
|
8
|
-
/**
|
|
9
|
-
* Create subscription configuration
|
|
10
|
-
* @param route - Navigation route name (preferred for stack navigation)
|
|
11
|
-
* @param onPress - Callback function (use route instead when possible)
|
|
12
|
-
*/
|
|
13
|
-
export declare const createSubscriptionConfig: (isPremium: boolean, routeOrOnPress: keyof SettingsStackParamList | (() => void)) => SubscriptionConfig;
|
|
14
|
-
/**
|
|
15
|
-
* Create gamification configuration
|
|
16
|
-
*/
|
|
17
|
-
export declare const createGamificationConfig: (storageKey: string, achievements: AchievementDefinition[], levels: LevelDefinition[], enabled?: boolean) => GamificationConfig;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config Creators - Barrel export
|
|
3
|
-
*/
|
|
4
|
-
export type { TranslationFunction, FeedbackFormData } from "./types";
|
|
5
|
-
export { createAppearanceConfig, createLanguageConfig, createNotificationsConfig, createAboutConfig, createLegalConfig, } from "./base-configs";
|
|
6
|
-
export { createFeedbackConfig, createRatingConfig, createFAQConfig, } from "./support-configs";
|
|
7
|
-
export { createSubscriptionConfig, createGamificationConfig, } from "./feature-configs";
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Support Settings Config Creators
|
|
3
|
-
* Feedback, rating, FAQ
|
|
4
|
-
*/
|
|
5
|
-
import type { FeedbackConfig, RatingConfig, FAQConfig } from "../../screens/types";
|
|
6
|
-
import type { FeedbackFormData } from "./types";
|
|
7
|
-
/**
|
|
8
|
-
* Create feedback configuration
|
|
9
|
-
*/
|
|
10
|
-
export declare const createFeedbackConfig: (onSubmit: (data: FeedbackFormData) => Promise<void>) => FeedbackConfig;
|
|
11
|
-
/**
|
|
12
|
-
* Create rating configuration
|
|
13
|
-
*/
|
|
14
|
-
export declare const createRatingConfig: (onRate: () => void, storeUrl?: string) => RatingConfig;
|
|
15
|
-
/**
|
|
16
|
-
* Create FAQ configuration
|
|
17
|
-
* Navigation is handled internally by the package - no callback needed
|
|
18
|
-
*/
|
|
19
|
-
export declare const createFAQConfig: () => FAQConfig;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config Creator Types
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Translation options for i18n parameters
|
|
6
|
-
*/
|
|
7
|
-
export type TranslationOptions = Record<string, string | number | boolean>;
|
|
8
|
-
/**
|
|
9
|
-
* Translation function type
|
|
10
|
-
*/
|
|
11
|
-
export type TranslationFunction = (key: string, options?: TranslationOptions) => string;
|
|
12
|
-
/**
|
|
13
|
-
* Feedback form data interface
|
|
14
|
-
*/
|
|
15
|
-
export interface FeedbackFormData {
|
|
16
|
-
type: string;
|
|
17
|
-
rating: number;
|
|
18
|
-
description: string;
|
|
19
|
-
title: string;
|
|
20
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Screen Factory Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for creating stack screen configurations.
|
|
5
|
-
*/
|
|
6
|
-
import React from "react";
|
|
7
|
-
import type { StackScreen } from "@umituz/react-native-design-system/molecules";
|
|
8
|
-
import type { AdditionalScreen } from "../navigation/types";
|
|
9
|
-
/**
|
|
10
|
-
* Create a screen with props
|
|
11
|
-
*/
|
|
12
|
-
export declare function createScreenWithProps<P>(name: string, component: React.ComponentType<P>, props: P, options?: {
|
|
13
|
-
headerShown?: boolean;
|
|
14
|
-
}): StackScreen;
|
|
15
|
-
/**
|
|
16
|
-
* Convert additional screen to stack screen
|
|
17
|
-
*/
|
|
18
|
-
export declare function convertAdditionalScreen(screen: AdditionalScreen): StackScreen;
|
|
19
|
-
/**
|
|
20
|
-
* Create conditional screen
|
|
21
|
-
*/
|
|
22
|
-
export declare function createConditionalScreen(condition: boolean, screenFactory: () => StackScreen): StackScreen | null;
|
|
23
|
-
/**
|
|
24
|
-
* Combine screens excluding null values
|
|
25
|
-
*/
|
|
26
|
-
export declare function combineScreens(...screens: (StackScreen | null | StackScreen[])[]): StackScreen[];
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Config Factory Utility
|
|
3
|
-
* Creates settings configuration based on feature flags
|
|
4
|
-
*/
|
|
5
|
-
import type { FeedbackFormData } from "./config-creators/types";
|
|
6
|
-
import type { SettingsConfig } from "../screens/types";
|
|
7
|
-
export interface SettingsConfigFactoryParams {
|
|
8
|
-
onFeedbackSubmit: (data: FeedbackFormData) => Promise<void>;
|
|
9
|
-
handleRatePress: () => void;
|
|
10
|
-
appStoreUrl: string;
|
|
11
|
-
isPremium: boolean;
|
|
12
|
-
features: {
|
|
13
|
-
notifications: boolean;
|
|
14
|
-
appearance: boolean;
|
|
15
|
-
language: boolean;
|
|
16
|
-
feedback: boolean;
|
|
17
|
-
rating: boolean;
|
|
18
|
-
faqs: boolean;
|
|
19
|
-
about: boolean;
|
|
20
|
-
legal: boolean;
|
|
21
|
-
gamification: boolean;
|
|
22
|
-
videoTutorial: boolean;
|
|
23
|
-
subscription: boolean;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Creates settings configuration based on enabled features
|
|
28
|
-
*/
|
|
29
|
-
export declare const createSettingsConfig: (params: SettingsConfigFactoryParams) => SettingsConfig;
|
|
30
|
-
/**
|
|
31
|
-
* Hook for creating settings config with memoization
|
|
32
|
-
*/
|
|
33
|
-
export declare const useSettingsConfigFactory: (params: SettingsConfigFactoryParams) => SettingsConfig;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Profile Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for creating user profile configurations.
|
|
5
|
-
*/
|
|
6
|
-
import type { UserProfileDisplay } from "../navigation/types";
|
|
7
|
-
export interface UserProfileConfig {
|
|
8
|
-
displayName?: string;
|
|
9
|
-
userId?: string;
|
|
10
|
-
isAnonymous?: boolean;
|
|
11
|
-
avatarUrl?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface CreateUserProfileParams {
|
|
14
|
-
profileData?: UserProfileConfig;
|
|
15
|
-
onSignIn?: () => void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Create user profile display configuration
|
|
19
|
-
*/
|
|
20
|
-
export declare function createUserProfileDisplay(params: CreateUserProfileParams): UserProfileDisplay;
|
package/dist/utils/appUtils.d.ts
DELETED
package/dist/utils/devUtils.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Development Mode Utilities
|
|
3
|
-
*
|
|
4
|
-
* Provides safe, standardized helpers for development-only code.
|
|
5
|
-
* All utilities check for __DEV__ existence to prevent runtime errors.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Safe development mode check
|
|
9
|
-
* Handles cases where __DEV__ is not defined
|
|
10
|
-
*
|
|
11
|
-
* @returns true if in development mode, false otherwise
|
|
12
|
-
*/
|
|
13
|
-
export declare const isDev: () => boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Log only in development mode
|
|
16
|
-
*
|
|
17
|
-
* @param args - Arguments to log
|
|
18
|
-
*/
|
|
19
|
-
export declare const devLog: (...args: unknown[]) => void;
|
|
20
|
-
/**
|
|
21
|
-
* Warn only in development mode
|
|
22
|
-
*
|
|
23
|
-
* @param args - Arguments to warn
|
|
24
|
-
*/
|
|
25
|
-
export declare const devWarn: (...args: unknown[]) => void;
|
|
26
|
-
/**
|
|
27
|
-
* Error only in development mode
|
|
28
|
-
*
|
|
29
|
-
* @param args - Arguments to error
|
|
30
|
-
*/
|
|
31
|
-
export declare const devError: (...args: unknown[]) => void;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error Utilities
|
|
3
|
-
* Centralized error message formatting and handling
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Format error message from unknown error type
|
|
7
|
-
* Handles Error instances, string errors, and unknown error types
|
|
8
|
-
*
|
|
9
|
-
* @param error - The error to format
|
|
10
|
-
* @returns Formatted error message string
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* try {
|
|
15
|
-
* await riskyOperation();
|
|
16
|
-
* } catch (err) {
|
|
17
|
-
* const message = formatErrorMessage(err);
|
|
18
|
-
* console.error(message);
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export declare const formatErrorMessage: (error: unknown) => string;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export interface AsyncStateOptions<T> {
|
|
2
|
-
/** Initial data value */
|
|
3
|
-
initialData?: T | null;
|
|
4
|
-
/** Callback invoked on successful operation */
|
|
5
|
-
onSuccess?: (data: T) => void;
|
|
6
|
-
/** Callback invoked on error */
|
|
7
|
-
onError?: (error: string) => void;
|
|
8
|
-
}
|
|
9
|
-
export interface AsyncStateResult<T> {
|
|
10
|
-
/** Current data value */
|
|
11
|
-
data: T | null;
|
|
12
|
-
/** Loading state */
|
|
13
|
-
loading: boolean;
|
|
14
|
-
/** Error message if operation failed */
|
|
15
|
-
error: string | null;
|
|
16
|
-
/** Execute an async operation with automatic state management */
|
|
17
|
-
execute: (operation: () => Promise<T>) => Promise<T | null>;
|
|
18
|
-
/** Manually set data */
|
|
19
|
-
setData: (data: T | null) => void;
|
|
20
|
-
/** Manually set error */
|
|
21
|
-
setError: (error: string | null) => void;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Hook for managing async operations with automatic state updates
|
|
25
|
-
*
|
|
26
|
-
* Features:
|
|
27
|
-
* - Automatic loading state management
|
|
28
|
-
* - Safe mounted state checks
|
|
29
|
-
* - Standardized error handling
|
|
30
|
-
* - Optional success/error callbacks
|
|
31
|
-
*
|
|
32
|
-
* @param options - Configuration options
|
|
33
|
-
* @returns Async state result with execute function
|
|
34
|
-
*/
|
|
35
|
-
export declare const useAsyncStateUpdate: <T = unknown>(options?: AsyncStateOptions<T>) => AsyncStateResult<T>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useMountSafety: () => import("react").RefObject<boolean>;
|