@umituz/react-native-settings 4.21.25 → 4.21.27

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-settings",
3
- "version": "4.21.25",
3
+ "version": "4.21.27",
4
4
  "description": "Complete settings hub for React Native apps - consolidated package with settings, about, legal, appearance, feedback, FAQs, rating, and gamification",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -9,12 +9,14 @@ import { View, ScrollView, StyleSheet } from "react-native";
9
9
  import {
10
10
  AtomicText,
11
11
  AtomicIcon,
12
+ AtomicTouchable,
12
13
  useAppDesignTokens,
13
14
  useSafeAreaInsets,
14
15
  AppNavigation,
15
16
  AlertService,
17
+ NavigationHeader,
16
18
  } from "@umituz/react-native-design-system";
17
- import { NavigationHeader } from "@umituz/react-native-design-system";
19
+ import * as Clipboard from "expo-clipboard";
18
20
  import type { EnvConfig } from "../../types";
19
21
 
20
22
  export interface EnvViewerScreenProps {
@@ -41,7 +43,7 @@ export const EnvViewerScreen: React.FC<EnvViewerScreenProps> = ({ config }) => {
41
43
 
42
44
  const copyToClipboard = async (value: string, key: string) => {
43
45
  try {
44
- await navigator.clipboard.writeText(value);
46
+ await Clipboard.setStringAsync(value);
45
47
  AlertService.createSuccessAlert("Copied", `${key} copied to clipboard`);
46
48
  } catch {
47
49
  AlertService.createErrorAlert("Error", "Failed to copy to clipboard");
@@ -57,7 +59,7 @@ export const EnvViewerScreen: React.FC<EnvViewerScreenProps> = ({ config }) => {
57
59
  key={item.key}
58
60
  style={[
59
61
  styles.variableCard,
60
- { backgroundColor: tokens.colors.surfaceContainer, borderRadius: tokens.borders.radiusMd },
62
+ { backgroundColor: tokens.colors.surfaceSecondary, borderRadius: tokens.borders.radius.md },
61
63
  ]}
62
64
  >
63
65
  <View style={styles.variableHeader}>
@@ -66,20 +68,22 @@ export const EnvViewerScreen: React.FC<EnvViewerScreenProps> = ({ config }) => {
66
68
  </AtomicText>
67
69
  <View style={styles.actions}>
68
70
  {item.sensitive && (
71
+ <AtomicTouchable onPress={() => toggleReveal(item.key)}>
72
+ <AtomicIcon
73
+ name={isRevealed ? "eye-off" : "eye"}
74
+ size="sm"
75
+ color="textSecondary"
76
+ />
77
+ </AtomicTouchable>
78
+ )}
79
+ <AtomicTouchable onPress={() => copyToClipboard(item.value, item.key)}>
69
80
  <AtomicIcon
70
- name={isRevealed ? "eye-off" : "eye"}
81
+ name="copy"
71
82
  size="sm"
72
83
  color="textSecondary"
73
- onPress={() => toggleReveal(item.key)}
84
+ style={{ marginLeft: tokens.spacing.sm }}
74
85
  />
75
- )}
76
- <AtomicIcon
77
- name="copy"
78
- size="sm"
79
- color="textSecondary"
80
- onPress={() => copyToClipboard(item.value, item.key)}
81
- style={{ marginLeft: tokens.spacing.sm }}
82
- />
86
+ </AtomicTouchable>
83
87
  </View>
84
88
  </View>
85
89
  <AtomicText type="bodyMedium" color="textSecondary" style={{ marginTop: tokens.spacing.xs }}>
@@ -98,7 +102,7 @@ export const EnvViewerScreen: React.FC<EnvViewerScreenProps> = ({ config }) => {
98
102
  contentContainerStyle={{ paddingBottom: bottom + tokens.spacing.lg }}
99
103
  >
100
104
  {config.environmentName && (
101
- <View style={[styles.infoCard, { backgroundColor: tokens.colors.surfaceContainer }]}>
105
+ <View style={[styles.infoCard, { backgroundColor: tokens.colors.surfaceSecondary }]}>
102
106
  <AtomicText type="labelSmall" color="textSecondary">
103
107
  Environment
104
108
  </AtomicText>
@@ -109,7 +113,7 @@ export const EnvViewerScreen: React.FC<EnvViewerScreenProps> = ({ config }) => {
109
113
  )}
110
114
 
111
115
  {config.version && (
112
- <View style={[styles.infoCard, { backgroundColor: tokens.colors.surfaceContainer }]}>
116
+ <View style={[styles.infoCard, { backgroundColor: tokens.colors.surfaceSecondary }]}>
113
117
  <AtomicText type="labelSmall" color="textSecondary">
114
118
  Version
115
119
  </AtomicText>