@umituz/react-native-settings 2.4.1 → 3.0.1
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 +5 -13
- package/src/presentation/components/CloudSyncSetting.tsx +2 -2
- package/src/presentation/components/SettingItem.tsx +4 -4
- package/src/presentation/components/StorageClearSetting.tsx +2 -2
- package/src/presentation/components/UserProfileHeader.tsx +3 -3
- package/src/presentation/screens/components/AboutLegalSection.tsx +3 -3
- package/src/presentation/screens/components/AppearanceSection.tsx +2 -2
- package/src/presentation/screens/components/LanguageSection.tsx +2 -2
- package/src/presentation/screens/components/NotificationsSection.tsx +3 -3
- package/lib/__tests__/setup.d.ts +0 -5
- package/lib/__tests__/setup.d.ts.map +0 -1
- package/lib/__tests__/setup.js +0 -143
- package/lib/__tests__/setup.js.map +0 -1
- package/lib/domain/repositories/ISettingsRepository.d.ts +0 -51
- package/lib/domain/repositories/ISettingsRepository.d.ts.map +0 -1
- package/lib/domain/repositories/ISettingsRepository.js +0 -8
- package/lib/domain/repositories/ISettingsRepository.js.map +0 -1
- package/lib/index.d.ts +0 -35
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -32
- package/lib/index.js.map +0 -1
- package/lib/infrastructure/storage/SettingsStore.d.ts +0 -36
- package/lib/infrastructure/storage/SettingsStore.d.ts.map +0 -1
- package/lib/infrastructure/storage/SettingsStore.js +0 -144
- package/lib/infrastructure/storage/SettingsStore.js.map +0 -1
- package/lib/presentation/components/CloudSyncSetting.d.ts +0 -16
- package/lib/presentation/components/CloudSyncSetting.d.ts.map +0 -1
- package/lib/presentation/components/CloudSyncSetting.js +0 -30
- package/lib/presentation/components/CloudSyncSetting.js.map +0 -1
- package/lib/presentation/components/DisclaimerCard.d.ts +0 -15
- package/lib/presentation/components/DisclaimerCard.d.ts.map +0 -1
- package/lib/presentation/components/DisclaimerCard.js +0 -73
- package/lib/presentation/components/DisclaimerCard.js.map +0 -1
- package/lib/presentation/components/DisclaimerModal.d.ts +0 -13
- package/lib/presentation/components/DisclaimerModal.d.ts.map +0 -1
- package/lib/presentation/components/DisclaimerModal.js +0 -62
- package/lib/presentation/components/DisclaimerModal.js.map +0 -1
- package/lib/presentation/components/DisclaimerSetting.d.ts +0 -39
- package/lib/presentation/components/DisclaimerSetting.d.ts.map +0 -1
- package/lib/presentation/components/DisclaimerSetting.js +0 -59
- package/lib/presentation/components/DisclaimerSetting.js.map +0 -1
- package/lib/presentation/components/SettingItem.d.ts +0 -45
- package/lib/presentation/components/SettingItem.d.ts.map +0 -1
- package/lib/presentation/components/SettingItem.js +0 -113
- package/lib/presentation/components/SettingItem.js.map +0 -1
- package/lib/presentation/components/SettingsErrorBoundary.d.ts +0 -23
- package/lib/presentation/components/SettingsErrorBoundary.d.ts.map +0 -1
- package/lib/presentation/components/SettingsErrorBoundary.js +0 -73
- package/lib/presentation/components/SettingsErrorBoundary.js.map +0 -1
- package/lib/presentation/components/SettingsFooter.d.ts +0 -11
- package/lib/presentation/components/SettingsFooter.d.ts.map +0 -1
- package/lib/presentation/components/SettingsFooter.js +0 -31
- package/lib/presentation/components/SettingsFooter.js.map +0 -1
- package/lib/presentation/components/SettingsSection.d.ts +0 -13
- package/lib/presentation/components/SettingsSection.d.ts.map +0 -1
- package/lib/presentation/components/SettingsSection.js +0 -37
- package/lib/presentation/components/SettingsSection.js.map +0 -1
- package/lib/presentation/components/StorageClearSetting.d.ts +0 -16
- package/lib/presentation/components/StorageClearSetting.d.ts.map +0 -1
- package/lib/presentation/components/StorageClearSetting.js +0 -21
- package/lib/presentation/components/StorageClearSetting.js.map +0 -1
- package/lib/presentation/components/UserProfileHeader.d.ts +0 -30
- package/lib/presentation/components/UserProfileHeader.d.ts.map +0 -1
- package/lib/presentation/components/UserProfileHeader.js +0 -119
- package/lib/presentation/components/UserProfileHeader.js.map +0 -1
- package/lib/presentation/screens/AppearanceScreen.d.ts +0 -8
- package/lib/presentation/screens/AppearanceScreen.d.ts.map +0 -1
- package/lib/presentation/screens/AppearanceScreen.js +0 -8
- package/lib/presentation/screens/AppearanceScreen.js.map +0 -1
- package/lib/presentation/screens/SettingsScreen.d.ts +0 -38
- package/lib/presentation/screens/SettingsScreen.d.ts.map +0 -1
- package/lib/presentation/screens/SettingsScreen.js +0 -37
- package/lib/presentation/screens/SettingsScreen.js.map +0 -1
- package/lib/presentation/screens/components/AboutLegalSection.d.ts +0 -15
- package/lib/presentation/screens/components/AboutLegalSection.d.ts.map +0 -1
- package/lib/presentation/screens/components/AboutLegalSection.js +0 -28
- package/lib/presentation/screens/components/AboutLegalSection.js.map +0 -1
- package/lib/presentation/screens/components/AppearanceSection.d.ts +0 -12
- package/lib/presentation/screens/components/AppearanceSection.d.ts.map +0 -1
- package/lib/presentation/screens/components/AppearanceSection.js +0 -21
- package/lib/presentation/screens/components/AppearanceSection.js.map +0 -1
- package/lib/presentation/screens/components/LanguageSection.d.ts +0 -12
- package/lib/presentation/screens/components/LanguageSection.d.ts.map +0 -1
- package/lib/presentation/screens/components/LanguageSection.js +0 -26
- package/lib/presentation/screens/components/LanguageSection.js.map +0 -1
- package/lib/presentation/screens/components/NotificationsSection.d.ts +0 -12
- package/lib/presentation/screens/components/NotificationsSection.d.ts.map +0 -1
- package/lib/presentation/screens/components/NotificationsSection.js +0 -58
- package/lib/presentation/screens/components/NotificationsSection.js.map +0 -1
- package/lib/presentation/screens/components/SettingsContent.d.ts +0 -36
- package/lib/presentation/screens/components/SettingsContent.d.ts.map +0 -1
- package/lib/presentation/screens/components/SettingsContent.js +0 -81
- package/lib/presentation/screens/components/SettingsContent.js.map +0 -1
- package/lib/presentation/screens/components/SettingsHeader.d.ts +0 -12
- package/lib/presentation/screens/components/SettingsHeader.d.ts.map +0 -1
- package/lib/presentation/screens/components/SettingsHeader.js +0 -59
- package/lib/presentation/screens/components/SettingsHeader.js.map +0 -1
- package/lib/presentation/screens/components/index.d.ts +0 -9
- package/lib/presentation/screens/components/index.d.ts.map +0 -1
- package/lib/presentation/screens/components/index.js +0 -9
- package/lib/presentation/screens/components/index.js.map +0 -1
- package/lib/presentation/screens/hooks/useFeatureDetection.d.ts +0 -21
- package/lib/presentation/screens/hooks/useFeatureDetection.d.ts.map +0 -1
- package/lib/presentation/screens/hooks/useFeatureDetection.js +0 -82
- package/lib/presentation/screens/hooks/useFeatureDetection.js.map +0 -1
- package/lib/presentation/screens/types/CustomSection.d.ts +0 -19
- package/lib/presentation/screens/types/CustomSection.d.ts.map +0 -1
- package/lib/presentation/screens/types/CustomSection.js +0 -6
- package/lib/presentation/screens/types/CustomSection.js.map +0 -1
- package/lib/presentation/screens/types/ExtendedConfig.d.ts +0 -68
- package/lib/presentation/screens/types/ExtendedConfig.d.ts.map +0 -1
- package/lib/presentation/screens/types/ExtendedConfig.js +0 -6
- package/lib/presentation/screens/types/ExtendedConfig.js.map +0 -1
- package/lib/presentation/screens/types/FeatureConfig.d.ts +0 -95
- package/lib/presentation/screens/types/FeatureConfig.d.ts.map +0 -1
- package/lib/presentation/screens/types/FeatureConfig.js +0 -6
- package/lib/presentation/screens/types/FeatureConfig.js.map +0 -1
- package/lib/presentation/screens/types/SettingsConfig.d.ts +0 -97
- package/lib/presentation/screens/types/SettingsConfig.d.ts.map +0 -1
- package/lib/presentation/screens/types/SettingsConfig.js +0 -6
- package/lib/presentation/screens/types/SettingsConfig.js.map +0 -1
- package/lib/presentation/screens/types/index.d.ts +0 -10
- package/lib/presentation/screens/types/index.d.ts.map +0 -1
- package/lib/presentation/screens/types/index.js +0 -6
- package/lib/presentation/screens/types/index.js.map +0 -1
- package/lib/presentation/screens/utils/normalizeConfig.d.ts +0 -44
- package/lib/presentation/screens/utils/normalizeConfig.d.ts.map +0 -1
- package/lib/presentation/screens/utils/normalizeConfig.js +0 -38
- package/lib/presentation/screens/utils/normalizeConfig.js.map +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Screen
|
|
3
|
-
* Presentation layer - Composition only, no business logic
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { View, StatusBar, StyleSheet } from "react-native";
|
|
7
|
-
import { useNavigation } from "@react-navigation/native";
|
|
8
|
-
import { useDesignSystemTheme, useAppDesignTokens, } from "@umituz/react-native-design-system-theme";
|
|
9
|
-
import { SettingsHeader } from "./components/SettingsHeader";
|
|
10
|
-
import { SettingsContent } from "./components/SettingsContent";
|
|
11
|
-
import { SettingsErrorBoundary } from "../components/SettingsErrorBoundary";
|
|
12
|
-
import { normalizeSettingsConfig } from "./utils/normalizeConfig";
|
|
13
|
-
import { useFeatureDetection } from "./hooks/useFeatureDetection";
|
|
14
|
-
export const SettingsScreen = ({ config = {}, showUserProfile = false, userProfile, showFooter = true, footerText, customSections = [], showCloseButton = false, onClose, featureOptions, }) => {
|
|
15
|
-
const navigation = useNavigation();
|
|
16
|
-
const { themeMode } = useDesignSystemTheme();
|
|
17
|
-
const tokens = useAppDesignTokens();
|
|
18
|
-
const isDark = themeMode === "dark";
|
|
19
|
-
const colors = tokens.colors;
|
|
20
|
-
const normalizedConfig = normalizeSettingsConfig(config);
|
|
21
|
-
const features = useFeatureDetection(normalizedConfig, navigation, featureOptions);
|
|
22
|
-
return (<View style={[styles.container, { backgroundColor: colors.backgroundPrimary }]}>
|
|
23
|
-
<StatusBar barStyle={isDark ? "light-content" : "dark-content"}/>
|
|
24
|
-
|
|
25
|
-
<SettingsHeader showCloseButton={showCloseButton} onClose={onClose}/>
|
|
26
|
-
|
|
27
|
-
<SettingsErrorBoundary>
|
|
28
|
-
<SettingsContent normalizedConfig={normalizedConfig} features={features} showUserProfile={showUserProfile} userProfile={userProfile} showFooter={showFooter} footerText={footerText} customSections={customSections} showCloseButton={showCloseButton}/>
|
|
29
|
-
</SettingsErrorBoundary>
|
|
30
|
-
</View>);
|
|
31
|
-
};
|
|
32
|
-
const styles = StyleSheet.create({
|
|
33
|
-
container: {
|
|
34
|
-
flex: 1,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=SettingsScreen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsScreen.js","sourceRoot":"","sources":["../../../src/presentation/screens/SettingsScreen.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAkClE,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,MAAM,GAAG,EAAE,EACX,eAAe,GAAG,KAAK,EACvB,WAAW,EACX,UAAU,GAAG,IAAI,EACjB,UAAU,EACV,cAAc,GAAG,EAAE,EACnB,eAAe,GAAG,KAAK,EACvB,OAAO,EACP,cAAc,GACf,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,SAAS,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAEnF,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAC7E;MAAA,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,EAE/D;;MAAA,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAEnE;;MAAA,CAAC,qBAAqB,CACpB;QAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CACnC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,eAAe,CAAC,CAAC,eAAe,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,eAAe,CAAC,CAAC,eAAe,CAAC,EAErC;MAAA,EAAE,qBAAqB,CACzB;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;KACR;CACF,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* About & Legal Section Component
|
|
3
|
-
* Single Responsibility: Render about and legal settings section
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import type { AboutConfig, LegalConfig } from "../types";
|
|
7
|
-
interface AboutLegalSectionProps {
|
|
8
|
-
showAbout: boolean;
|
|
9
|
-
showLegal: boolean;
|
|
10
|
-
aboutConfig?: AboutConfig;
|
|
11
|
-
legalConfig?: LegalConfig;
|
|
12
|
-
}
|
|
13
|
-
export declare const AboutLegalSection: React.FC<AboutLegalSectionProps>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=AboutLegalSection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AboutLegalSection.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/components/AboutLegalSection.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEzD,UAAU,sBAAsB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAUD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA4C9D,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* About & Legal Section Component
|
|
3
|
-
* Single Responsibility: Render about and legal settings section
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { Info, FileText } from "lucide-react-native";
|
|
7
|
-
import { useNavigation } from "@react-navigation/native";
|
|
8
|
-
import { useLocalization } from "@umituz/react-native-localization";
|
|
9
|
-
import { SettingItem } from "../../components/SettingItem";
|
|
10
|
-
import { SettingsSection } from "../../components/SettingsSection";
|
|
11
|
-
export const AboutLegalSection = ({ showAbout, showLegal, aboutConfig, legalConfig, }) => {
|
|
12
|
-
const navigation = useNavigation();
|
|
13
|
-
const { t } = useLocalization();
|
|
14
|
-
if (!showAbout && !showLegal) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
const aboutRoute = aboutConfig?.route || aboutConfig?.defaultRoute || "About";
|
|
18
|
-
const aboutTitle = aboutConfig?.title || t("settings.about.title");
|
|
19
|
-
const aboutDescription = aboutConfig?.description || t("settings.about.description");
|
|
20
|
-
const legalRoute = legalConfig?.route || legalConfig?.defaultRoute || "Legal";
|
|
21
|
-
const legalTitle = legalConfig?.title || t("settings.legal.title");
|
|
22
|
-
const legalDescription = legalConfig?.description || t("settings.legal.description");
|
|
23
|
-
return (<SettingsSection title={t("settings.sections.about")}>
|
|
24
|
-
{showAbout && (<SettingItem icon={Info} title={aboutTitle} value={aboutDescription} onPress={() => navigation.navigate(aboutRoute)}/>)}
|
|
25
|
-
{showLegal && (<SettingItem icon={FileText} title={legalTitle} value={legalDescription} onPress={() => navigation.navigate(legalRoute)} isLast={true}/>)}
|
|
26
|
-
</SettingsSection>);
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=AboutLegalSection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AboutLegalSection.js","sourceRoot":"","sources":["../../../../src/presentation/screens/components/AboutLegalSection.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAkBnE,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAkB,CAAC;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;IAEhC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,IAAI,WAAW,EAAE,YAAY,IAAI,OAAO,CAAC;IAC9E,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACnE,MAAM,gBAAgB,GACpB,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,IAAI,WAAW,EAAE,YAAY,IAAI,OAAO,CAAC;IAC9E,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACnE,MAAM,gBAAgB,GACpB,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAE9D,OAAO,CACL,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CACnD;MAAA,CAAC,SAAS,IAAI,CACZ,CAAC,WAAW,CACV,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,KAAK,CAAC,CAAC,UAAU,CAAC,CAClB,KAAK,CAAC,CAAC,gBAAgB,CAAC,CACxB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAoB,CAAC,CAAC,EACzD,CACH,CACD;MAAA,CAAC,SAAS,IAAI,CACZ,CAAC,WAAW,CACV,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,KAAK,CAAC,CAAC,UAAU,CAAC,CAClB,KAAK,CAAC,CAAC,gBAAgB,CAAC,CACxB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAoB,CAAC,CAAC,CACzD,MAAM,CAAC,CAAC,IAAI,CAAC,EACb,CACH,CACH;IAAA,EAAE,eAAe,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Appearance Section Component
|
|
3
|
-
* Single Responsibility: Render appearance settings section (theme customization)
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import type { AppearanceConfig } from "../types";
|
|
7
|
-
interface AppearanceSectionProps {
|
|
8
|
-
config?: AppearanceConfig;
|
|
9
|
-
}
|
|
10
|
-
export declare const AppearanceSection: React.FC<AppearanceSectionProps>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=AppearanceSection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppearanceSection.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/components/AppearanceSection.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoB9D,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Appearance Section Component
|
|
3
|
-
* Single Responsibility: Render appearance settings section (theme customization)
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { Palette } from "lucide-react-native";
|
|
7
|
-
import { useNavigation } from "@react-navigation/native";
|
|
8
|
-
import { useLocalization } from "@umituz/react-native-localization";
|
|
9
|
-
import { SettingItem } from "../../components/SettingItem";
|
|
10
|
-
import { SettingsSection } from "../../components/SettingsSection";
|
|
11
|
-
export const AppearanceSection = ({ config, }) => {
|
|
12
|
-
const navigation = useNavigation();
|
|
13
|
-
const { t } = useLocalization();
|
|
14
|
-
const route = config?.route || config?.defaultRoute || "Appearance";
|
|
15
|
-
const title = config?.title || t("settings.appearance.title");
|
|
16
|
-
const description = config?.description || t("settings.appearance.description");
|
|
17
|
-
return (<SettingsSection title={t("settings.sections.app.title")}>
|
|
18
|
-
<SettingItem icon={Palette} title={title} value={description} onPress={() => navigation.navigate(route)}/>
|
|
19
|
-
</SettingsSection>);
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=AppearanceSection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppearanceSection.js","sourceRoot":"","sources":["../../../../src/presentation/screens/components/AppearanceSection.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOnE,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,MAAM,GACP,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;IAEhC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,YAAY,IAAI,YAAY,CAAC;IACpE,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC;IAEhF,OAAO,CACL,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CACvD;MAAA,CAAC,WAAW,CACV,IAAI,CAAC,CAAC,OAAO,CAAC,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAC,EAEvD;IAAA,EAAE,eAAe,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Language Section Component
|
|
3
|
-
* Single Responsibility: Render language settings section
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import type { LanguageConfig } from "../types";
|
|
7
|
-
interface LanguageSectionProps {
|
|
8
|
-
config?: LanguageConfig;
|
|
9
|
-
}
|
|
10
|
-
export declare const LanguageSection: React.FC<LanguageSectionProps>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=LanguageSection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSection.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/components/LanguageSection.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA0B1D,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Language Section Component
|
|
3
|
-
* Single Responsibility: Render language settings section
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { Languages } from "lucide-react-native";
|
|
7
|
-
import { useNavigation } from "@react-navigation/native";
|
|
8
|
-
import { useLocalization, getLanguageByCode } from "@umituz/react-native-localization";
|
|
9
|
-
import { SettingItem } from "../../components/SettingItem";
|
|
10
|
-
import { SettingsSection } from "../../components/SettingsSection";
|
|
11
|
-
export const LanguageSection = ({ config, }) => {
|
|
12
|
-
const navigation = useNavigation();
|
|
13
|
-
const { t, currentLanguage } = useLocalization();
|
|
14
|
-
const route = config?.route || "LanguageSelection";
|
|
15
|
-
const title = config?.title || t("settings.language");
|
|
16
|
-
const description = config?.description || "";
|
|
17
|
-
const currentLang = getLanguageByCode(currentLanguage);
|
|
18
|
-
const defaultLanguageDisplay = config?.defaultLanguageDisplay || "English";
|
|
19
|
-
const languageDisplay = currentLang
|
|
20
|
-
? `${currentLang.flag} ${currentLang.nativeName}`
|
|
21
|
-
: defaultLanguageDisplay;
|
|
22
|
-
return (<SettingsSection title={t("settings.sections.app.title")}>
|
|
23
|
-
<SettingItem icon={Languages} title={title} value={languageDisplay} onPress={() => navigation.navigate(route)}/>
|
|
24
|
-
</SettingsSection>);
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=LanguageSection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSection.js","sourceRoot":"","sources":["../../../../src/presentation/screens/components/LanguageSection.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOnE,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,MAAM,GACP,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CAAC;IAEjD,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,mBAAmB,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;IAE9C,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,sBAAsB,GAAG,MAAM,EAAE,sBAAsB,IAAI,SAAS,CAAC;IAC3E,MAAM,eAAe,GAAG,WAAW;QACjC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,UAAU,EAAE;QACjD,CAAC,CAAC,sBAAsB,CAAC;IAE3B,OAAO,CACL,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CACvD;MAAA,CAAC,WAAW,CACV,IAAI,CAAC,CAAC,SAAS,CAAC,CAChB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,eAAe,CAAC,CACvB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAC,EAEvD;IAAA,EAAE,eAAe,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Notifications Section Component
|
|
3
|
-
* Single Responsibility: Render notifications settings section
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import type { NotificationsConfig } from "../types";
|
|
7
|
-
interface NotificationsSectionProps {
|
|
8
|
-
config?: NotificationsConfig;
|
|
9
|
-
}
|
|
10
|
-
export declare const NotificationsSection: React.FC<NotificationsSectionProps>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=NotificationsSection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationsSection.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/components/NotificationsSection.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAiBpD,UAAU,yBAAyB;IACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA+DpE,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Notifications Section Component
|
|
3
|
-
* Single Responsibility: Render notifications settings section
|
|
4
|
-
*/
|
|
5
|
-
import React, { useState, useEffect, useCallback } from "react";
|
|
6
|
-
import { Bell } from "lucide-react-native";
|
|
7
|
-
import { useNavigation } from "@react-navigation/native";
|
|
8
|
-
import { useLocalization } from "@umituz/react-native-localization";
|
|
9
|
-
import { SettingItem } from "../../components/SettingItem";
|
|
10
|
-
import { SettingsSection } from "../../components/SettingsSection";
|
|
11
|
-
// Optional notification service
|
|
12
|
-
let notificationService = null;
|
|
13
|
-
try {
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
15
|
-
const module = require("@umituz/react-native-notifications");
|
|
16
|
-
if (module?.notificationService && typeof module.notificationService === 'object') {
|
|
17
|
-
notificationService = module.notificationService;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
// Package not available
|
|
22
|
-
}
|
|
23
|
-
export const NotificationsSection = ({ config, }) => {
|
|
24
|
-
const navigation = useNavigation();
|
|
25
|
-
const { t } = useLocalization();
|
|
26
|
-
const [notificationsEnabled, setNotificationsEnabled] = useState(config?.initialValue ?? true);
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
if (config?.initialValue !== undefined) {
|
|
29
|
-
setNotificationsEnabled(config.initialValue);
|
|
30
|
-
}
|
|
31
|
-
}, [config?.initialValue]);
|
|
32
|
-
const handleToggle = useCallback(async (value) => {
|
|
33
|
-
if (notificationService && !value) {
|
|
34
|
-
const hasPermissions = await notificationService.hasPermissions?.();
|
|
35
|
-
if (!hasPermissions) {
|
|
36
|
-
await notificationService.requestPermissions?.();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
setNotificationsEnabled(value);
|
|
40
|
-
config?.onToggleChange?.(value);
|
|
41
|
-
}, [config?.onToggleChange]);
|
|
42
|
-
const handlePress = useCallback(async () => {
|
|
43
|
-
if (notificationService) {
|
|
44
|
-
const hasPermissions = await notificationService.hasPermissions?.();
|
|
45
|
-
if (!hasPermissions) {
|
|
46
|
-
await notificationService.requestPermissions?.();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
navigation.navigate(config?.route || config?.defaultRoute || "Notifications");
|
|
50
|
-
}, [navigation, config?.route, config?.defaultRoute]);
|
|
51
|
-
const title = config?.title || t("settings.notifications.title");
|
|
52
|
-
const description = config?.description || t("settings.notifications.description");
|
|
53
|
-
const showToggle = config?.showToggle ?? true;
|
|
54
|
-
return (<SettingsSection title={t("settings.sections.general")}>
|
|
55
|
-
{showToggle ? (<SettingItem icon={Bell} title={title} showSwitch={true} switchValue={notificationsEnabled} onSwitchChange={handleToggle} isLast={true}/>) : (<SettingItem icon={Bell} title={title} value={description} onPress={handlePress} isLast={true}/>)}
|
|
56
|
-
</SettingsSection>);
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=NotificationsSection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationsSection.js","sourceRoot":"","sources":["../../../../src/presentation/screens/components/NotificationsSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Content Component
|
|
3
|
-
* Renders all settings sections and custom content
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import type { NormalizedConfig } from "../utils/normalizeConfig";
|
|
7
|
-
import type { CustomSettingsSection } from "../types";
|
|
8
|
-
interface SettingsContentProps {
|
|
9
|
-
normalizedConfig: NormalizedConfig;
|
|
10
|
-
config?: any;
|
|
11
|
-
features: {
|
|
12
|
-
appearance: boolean;
|
|
13
|
-
language: boolean;
|
|
14
|
-
notifications: boolean;
|
|
15
|
-
about: boolean;
|
|
16
|
-
legal: boolean;
|
|
17
|
-
};
|
|
18
|
-
showUserProfile?: boolean;
|
|
19
|
-
userProfile?: {
|
|
20
|
-
displayName?: string;
|
|
21
|
-
userId?: string;
|
|
22
|
-
isGuest?: boolean;
|
|
23
|
-
avatarUrl?: string;
|
|
24
|
-
accountSettingsRoute?: string;
|
|
25
|
-
onPress?: () => void;
|
|
26
|
-
guestDisplayName?: string;
|
|
27
|
-
avatarServiceUrl?: string;
|
|
28
|
-
};
|
|
29
|
-
showFooter?: boolean;
|
|
30
|
-
footerText?: string;
|
|
31
|
-
customSections?: CustomSettingsSection[];
|
|
32
|
-
showCloseButton?: boolean;
|
|
33
|
-
}
|
|
34
|
-
export declare const SettingsContent: React.FC<SettingsContentProps>;
|
|
35
|
-
export {};
|
|
36
|
-
//# sourceMappingURL=SettingsContent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsContent.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/components/SettingsContent.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAYvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEtD,UAAU,oBAAoB;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE;QACR,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuG1D,CAAC"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Content Component
|
|
3
|
-
* Renders all settings sections and custom content
|
|
4
|
-
*/
|
|
5
|
-
import React, { useMemo } from "react";
|
|
6
|
-
import { View, ScrollView, StyleSheet } from "react-native";
|
|
7
|
-
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
8
|
-
import { useAppDesignTokens } from "@umituz/react-native-design-system-theme";
|
|
9
|
-
import { useLocalization } from "@umituz/react-native-localization";
|
|
10
|
-
import { SettingsFooter } from "../../components/SettingsFooter";
|
|
11
|
-
import { UserProfileHeader } from "../../components/UserProfileHeader";
|
|
12
|
-
import { SettingsSection } from "../../components/SettingsSection";
|
|
13
|
-
import { AppearanceSection } from "./AppearanceSection";
|
|
14
|
-
import { LanguageSection } from "./LanguageSection";
|
|
15
|
-
import { NotificationsSection } from "./NotificationsSection";
|
|
16
|
-
import { AboutLegalSection } from "./AboutLegalSection";
|
|
17
|
-
export const SettingsContent = ({ normalizedConfig, config, features, showUserProfile = false, userProfile, showFooter = true, footerText, customSections = [], showCloseButton = false, }) => {
|
|
18
|
-
const tokens = useAppDesignTokens();
|
|
19
|
-
const insets = useSafeAreaInsets();
|
|
20
|
-
const { t } = useLocalization();
|
|
21
|
-
const hasAnyFeatures = useMemo(() => features.appearance ||
|
|
22
|
-
features.language ||
|
|
23
|
-
features.notifications ||
|
|
24
|
-
features.about ||
|
|
25
|
-
features.legal ||
|
|
26
|
-
customSections.length > 0, [features, customSections.length]);
|
|
27
|
-
const sortedSections = useMemo(() => {
|
|
28
|
-
return Array.from(customSections)
|
|
29
|
-
.sort((a, b) => (a.order ?? 999) - (b.order ?? 999));
|
|
30
|
-
}, [customSections]);
|
|
31
|
-
return (<ScrollView style={styles.scrollView} contentContainerStyle={[
|
|
32
|
-
styles.scrollContent,
|
|
33
|
-
{
|
|
34
|
-
paddingTop: showCloseButton ? tokens.spacing.md : insets.top + tokens.spacing.md,
|
|
35
|
-
paddingBottom: tokens.spacing.xxxl + tokens.spacing.xl,
|
|
36
|
-
paddingHorizontal: 0,
|
|
37
|
-
},
|
|
38
|
-
]} showsVerticalScrollIndicator={false}>
|
|
39
|
-
{showUserProfile && (<View style={styles.profileContainer}>
|
|
40
|
-
<UserProfileHeader displayName={userProfile?.displayName} userId={userProfile?.userId} isGuest={userProfile?.isGuest} avatarUrl={userProfile?.avatarUrl} accountSettingsRoute={userProfile?.accountSettingsRoute} onPress={userProfile?.onPress}/>
|
|
41
|
-
</View>)}
|
|
42
|
-
|
|
43
|
-
{features.appearance && (<AppearanceSection config={normalizedConfig.appearance.config}/>)}
|
|
44
|
-
|
|
45
|
-
{features.language && (<LanguageSection config={normalizedConfig.language.config}/>)}
|
|
46
|
-
|
|
47
|
-
{features.notifications && (<NotificationsSection config={normalizedConfig.notifications.config}/>)}
|
|
48
|
-
|
|
49
|
-
{(features.about || features.legal) && (<AboutLegalSection showAbout={features.about} showLegal={features.legal} aboutConfig={normalizedConfig.about.config} legalConfig={normalizedConfig.legal.config}/>)}
|
|
50
|
-
|
|
51
|
-
{customSections && customSections.length > 0 && (<>
|
|
52
|
-
{sortedSections.map((section, index) => (<SettingsSection key={section.id || `custom-${index}`} title={section.title}>
|
|
53
|
-
{section.content}
|
|
54
|
-
</SettingsSection>))}
|
|
55
|
-
</>)}
|
|
56
|
-
|
|
57
|
-
{!hasAnyFeatures && (<View style={styles.emptyContainer}>
|
|
58
|
-
<SettingsSection title={config?.emptyStateText || t("settings.noOptionsAvailable") || "No settings available"}>
|
|
59
|
-
<View />
|
|
60
|
-
</SettingsSection>
|
|
61
|
-
</View>)}
|
|
62
|
-
|
|
63
|
-
{showFooter && <SettingsFooter versionText={footerText}/>}
|
|
64
|
-
</ScrollView>);
|
|
65
|
-
};
|
|
66
|
-
const styles = StyleSheet.create({
|
|
67
|
-
scrollView: {
|
|
68
|
-
flex: 1,
|
|
69
|
-
},
|
|
70
|
-
scrollContent: {
|
|
71
|
-
flexGrow: 1,
|
|
72
|
-
},
|
|
73
|
-
profileContainer: {
|
|
74
|
-
marginBottom: 32,
|
|
75
|
-
paddingHorizontal: 0,
|
|
76
|
-
},
|
|
77
|
-
emptyContainer: {
|
|
78
|
-
paddingVertical: 24,
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
//# sourceMappingURL=SettingsContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsContent.js","sourceRoot":"","sources":["../../../../src/presentation/screens/components/SettingsContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Header Component
|
|
3
|
-
* Handles close button functionality
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
interface SettingsHeaderProps {
|
|
7
|
-
showCloseButton?: boolean;
|
|
8
|
-
onClose?: () => void;
|
|
9
|
-
}
|
|
10
|
-
export declare const SettingsHeader: React.FC<SettingsHeaderProps>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=SettingsHeader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsHeader.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/components/SettingsHeader.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,UAAU,mBAAmB;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4CxD,CAAC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Header Component
|
|
3
|
-
* Handles close button functionality
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { View, TouchableOpacity, StyleSheet } from "react-native";
|
|
7
|
-
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
8
|
-
import { useNavigation } from "@react-navigation/native";
|
|
9
|
-
import { useAppDesignTokens } from "@umituz/react-native-design-system-theme";
|
|
10
|
-
import { AtomicIcon } from "@umituz/react-native-design-system-atoms";
|
|
11
|
-
export const SettingsHeader = ({ showCloseButton = false, onClose, }) => {
|
|
12
|
-
const navigation = useNavigation();
|
|
13
|
-
const tokens = useAppDesignTokens();
|
|
14
|
-
const insets = useSafeAreaInsets();
|
|
15
|
-
const handleClose = () => {
|
|
16
|
-
if (onClose) {
|
|
17
|
-
onClose();
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
navigation.goBack();
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
if (!showCloseButton) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
return (<View style={[
|
|
27
|
-
styles.closeButtonContainer,
|
|
28
|
-
{
|
|
29
|
-
paddingTop: insets.top + tokens.spacing.xs,
|
|
30
|
-
paddingRight: tokens.spacing.md,
|
|
31
|
-
},
|
|
32
|
-
]}>
|
|
33
|
-
<TouchableOpacity onPress={handleClose} style={[
|
|
34
|
-
styles.closeButton,
|
|
35
|
-
{
|
|
36
|
-
backgroundColor: tokens.colors.surface,
|
|
37
|
-
},
|
|
38
|
-
]} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }}>
|
|
39
|
-
<AtomicIcon name="X" size="lg" color="primary"/>
|
|
40
|
-
</TouchableOpacity>
|
|
41
|
-
</View>);
|
|
42
|
-
};
|
|
43
|
-
const styles = StyleSheet.create({
|
|
44
|
-
closeButtonContainer: {
|
|
45
|
-
position: "absolute",
|
|
46
|
-
top: 0,
|
|
47
|
-
right: 0,
|
|
48
|
-
zIndex: 10,
|
|
49
|
-
alignItems: "flex-end",
|
|
50
|
-
},
|
|
51
|
-
closeButton: {
|
|
52
|
-
width: 44,
|
|
53
|
-
height: 44,
|
|
54
|
-
borderRadius: 22,
|
|
55
|
-
justifyContent: "center",
|
|
56
|
-
alignItems: "center",
|
|
57
|
-
},
|
|
58
|
-
});
|
|
59
|
-
//# sourceMappingURL=SettingsHeader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsHeader.js","sourceRoot":"","sources":["../../../../src/presentation/screens/components/SettingsHeader.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAOtE,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,eAAe,GAAG,KAAK,EACvB,OAAO,GACR,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,oBAAoB;YAC3B;gBACE,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC1C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;aAChC;SACF,CAAC,CAEF;MAAA,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,WAAW;YAClB;gBACE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;aACvC;SACF,CAAC,CACF,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAEtD;QAAA,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAChD;MAAA,EAAE,gBAAgB,CACpB;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,oBAAoB,EAAE;QACpB,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,UAAU;KACvB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Screen Components
|
|
3
|
-
* Barrel export for all section components
|
|
4
|
-
*/
|
|
5
|
-
export { AppearanceSection } from "./AppearanceSection";
|
|
6
|
-
export { LanguageSection } from "./LanguageSection";
|
|
7
|
-
export { NotificationsSection } from "./NotificationsSection";
|
|
8
|
-
export { AboutLegalSection } from "./AboutLegalSection";
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Screen Components
|
|
3
|
-
* Barrel export for all section components
|
|
4
|
-
*/
|
|
5
|
-
export { AppearanceSection } from "./AppearanceSection";
|
|
6
|
-
export { LanguageSection } from "./LanguageSection";
|
|
7
|
-
export { NotificationsSection } from "./NotificationsSection";
|
|
8
|
-
export { AboutLegalSection } from "./AboutLegalSection";
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/presentation/screens/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Feature Detection Hook
|
|
3
|
-
* Single Responsibility: Detect which features should be shown
|
|
4
|
-
*/
|
|
5
|
-
import type { NormalizedConfig } from "../utils/normalizeConfig";
|
|
6
|
-
/**
|
|
7
|
-
* Hook to detect which features should be shown
|
|
8
|
-
*/
|
|
9
|
-
export declare function useFeatureDetection(normalizedConfig: NormalizedConfig, navigation: any, options?: {
|
|
10
|
-
notificationServiceAvailable?: boolean;
|
|
11
|
-
}): {
|
|
12
|
-
appearance: boolean;
|
|
13
|
-
language: boolean;
|
|
14
|
-
notifications: boolean;
|
|
15
|
-
about: boolean;
|
|
16
|
-
legal: boolean;
|
|
17
|
-
account: boolean;
|
|
18
|
-
support: boolean;
|
|
19
|
-
developer: boolean;
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=useFeatureDetection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFeatureDetection.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screens/hooks/useFeatureDetection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA8CjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,GAAG,EACf,OAAO,CAAC,EAAE;IACR,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;;;;;;;;;EAwDF"}
|