@umituz/react-native-settings 4.20.1 → 4.20.2

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 (26) hide show
  1. package/package.json +1 -1
  2. package/src/domains/about/presentation/components/AboutContent.tsx +5 -5
  3. package/src/domains/about/presentation/components/AboutHeader.tsx +5 -5
  4. package/src/domains/about/presentation/components/AboutSettingItem.tsx +6 -6
  5. package/src/domains/about/presentation/screens/AboutScreen.tsx +5 -5
  6. package/src/domains/appearance/presentation/components/AppearanceHeader.tsx +2 -2
  7. package/src/domains/appearance/presentation/components/AppearancePreview.tsx +11 -11
  8. package/src/domains/appearance/presentation/components/CustomColorsSection.tsx +4 -4
  9. package/src/domains/appearance/presentation/components/ThemeModeSection.tsx +3 -3
  10. package/src/domains/appearance/presentation/components/ThemeOption.tsx +17 -17
  11. package/src/domains/appearance/presentation/screens/AppearanceScreen.tsx +2 -2
  12. package/src/domains/disclaimer/presentation/components/DisclaimerCard.tsx +14 -14
  13. package/src/domains/disclaimer/presentation/components/DisclaimerModal.tsx +5 -5
  14. package/src/domains/disclaimer/presentation/screens/DisclaimerScreen.tsx +8 -8
  15. package/src/domains/faqs/presentation/components/FAQCategory.tsx +4 -4
  16. package/src/domains/faqs/presentation/components/FAQItem.tsx +11 -11
  17. package/src/domains/faqs/presentation/components/FAQSearchBar.tsx +4 -4
  18. package/src/domains/faqs/presentation/screens/FAQScreen.tsx +4 -4
  19. package/src/domains/feedback/presentation/components/FeedbackForm.tsx +15 -15
  20. package/src/domains/feedback/presentation/components/FeedbackModal.tsx +6 -6
  21. package/src/domains/legal/presentation/screens/LegalScreen.tsx +6 -6
  22. package/src/domains/legal/presentation/screens/PrivacyPolicyScreen.tsx +6 -6
  23. package/src/domains/legal/presentation/screens/TermsOfServiceScreen.tsx +6 -6
  24. package/src/domains/rating/presentation/components/StarRating.tsx +3 -3
  25. package/src/domains/video-tutorials/presentation/components/VideoTutorialCard.tsx +26 -26
  26. package/src/domains/video-tutorials/presentation/screens/VideoTutorialsScreen.tsx +6 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-settings",
3
- "version": "4.20.1",
3
+ "version": "4.20.2",
4
4
  "description": "Complete settings hub for React Native apps - consolidated package with settings, about, legal, appearance, feedback, FAQs, and rating",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -91,17 +91,17 @@ export const AboutContent: React.FC<AboutContentProps> = ({
91
91
 
92
92
  const getStyles = (tokens: any) => StyleSheet.create({
93
93
  content: {
94
- paddingVertical: 8 * tokens.spacingMultiplier,
94
+ paddingVertical: 8,
95
95
  },
96
96
  section: {
97
- marginBottom: 24 * tokens.spacingMultiplier,
97
+ marginBottom: 24,
98
98
  },
99
99
  sectionHeader: {
100
100
  fontSize: tokens.typography.labelSmall.responsiveFontSize,
101
101
  fontWeight: '600',
102
- marginBottom: 8 * tokens.spacingMultiplier,
103
- paddingHorizontal: 16 * tokens.spacingMultiplier,
102
+ marginBottom: 8,
103
+ paddingHorizontal: 16,
104
104
  textTransform: 'uppercase',
105
- letterSpacing: 0.5 * tokens.spacingMultiplier,
105
+ letterSpacing: 0.5,
106
106
  },
107
107
  });
@@ -59,22 +59,22 @@ export const AboutHeader: React.FC<AboutHeaderProps> = ({
59
59
  const getStyles = (tokens: any) => StyleSheet.create({
60
60
  header: {
61
61
  alignItems: 'center',
62
- paddingVertical: 24 * tokens.spacingMultiplier,
63
- paddingHorizontal: 16 * tokens.spacingMultiplier,
62
+ paddingVertical: 24,
63
+ paddingHorizontal: 16,
64
64
  borderBottomWidth: 1,
65
65
  },
66
66
  appName: {
67
67
  fontSize: tokens.typography.headlineMedium.responsiveFontSize,
68
68
  fontWeight: 'bold',
69
- marginBottom: 4 * tokens.spacingMultiplier,
69
+ marginBottom: 4,
70
70
  },
71
71
  version: {
72
72
  fontSize: tokens.typography.bodyLarge.responsiveFontSize,
73
- marginBottom: 8 * tokens.spacingMultiplier,
73
+ marginBottom: 8,
74
74
  },
75
75
  description: {
76
76
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
77
77
  textAlign: 'center',
78
- lineHeight: 20 * tokens.spacingMultiplier,
78
+ lineHeight: 20,
79
79
  },
80
80
  });
@@ -173,14 +173,14 @@ const getStyles = (tokens: any) => StyleSheet.create({
173
173
  container: {
174
174
  flexDirection: 'row',
175
175
  alignItems: 'center',
176
- paddingVertical: 12 * tokens.spacingMultiplier,
177
- paddingHorizontal: 16 * tokens.spacingMultiplier,
176
+ paddingVertical: 12,
177
+ paddingHorizontal: 16,
178
178
  },
179
179
  disabled: {
180
180
  opacity: 0.5,
181
181
  },
182
182
  iconContainer: {
183
- marginRight: 12 * tokens.spacingMultiplier,
183
+ marginRight: 12,
184
184
  alignItems: 'center',
185
185
  justifyContent: 'center',
186
186
  },
@@ -193,17 +193,17 @@ const getStyles = (tokens: any) => StyleSheet.create({
193
193
  },
194
194
  description: {
195
195
  fontSize: tokens.typography.bodySmall.responsiveFontSize,
196
- marginTop: 2 * tokens.spacingMultiplier,
196
+ marginTop: 2,
197
197
  },
198
198
  value: {
199
199
  fontSize: tokens.typography.bodyLarge.responsiveFontSize,
200
- marginRight: 8 * tokens.spacingMultiplier,
200
+ marginRight: 8,
201
201
  flexShrink: 1,
202
202
  textAlign: 'right',
203
203
  maxWidth: '60%',
204
204
  },
205
205
  chevron: {
206
- fontSize: 20 * tokens.spacingMultiplier,
206
+ fontSize: 20,
207
207
  fontWeight: '300',
208
208
  },
209
209
  });
@@ -165,7 +165,7 @@ export const AboutScreen: React.FC<AboutScreenProps> = ({
165
165
  <ScrollView
166
166
  style={containerStyles}
167
167
  testID={testID}
168
- contentContainerStyle={{ paddingBottom: 32 * tokens.spacingMultiplier }}
168
+ contentContainerStyle={{ paddingBottom: 32 }}
169
169
  >
170
170
  {renderHeader()}
171
171
  {renderContent()}
@@ -179,18 +179,18 @@ const getStyles = (tokens: any) => StyleSheet.create({
179
179
  flex: 1,
180
180
  },
181
181
  footer: {
182
- paddingVertical: 16 * tokens.spacingMultiplier,
183
- paddingHorizontal: 16 * tokens.spacingMultiplier,
182
+ paddingVertical: 16,
183
+ paddingHorizontal: 16,
184
184
  borderTopWidth: 1,
185
185
  },
186
186
  loadingText: {
187
187
  textAlign: 'center',
188
188
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
189
- marginTop: 20 * tokens.spacingMultiplier,
189
+ marginTop: 20,
190
190
  },
191
191
  errorText: {
192
192
  textAlign: 'center',
193
193
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
194
- marginTop: 20 * tokens.spacingMultiplier,
194
+ marginTop: 20,
195
195
  },
196
196
  });
@@ -59,9 +59,9 @@ export const AppearanceHeader: React.FC<AppearanceHeaderProps> = ({
59
59
  const getStyles = (tokens: DesignTokens) =>
60
60
  StyleSheet.create({
61
61
  header: {
62
- marginBottom: tokens.spacing.lg * tokens.spacingMultiplier,
62
+ marginBottom: tokens.spacing.lg,
63
63
  },
64
64
  headerSubtitle: {
65
- marginTop: tokens.spacing.sm * tokens.spacingMultiplier,
65
+ marginTop: tokens.spacing.sm,
66
66
  },
67
67
  });
@@ -106,35 +106,35 @@ export const AppearancePreview: React.FC<AppearancePreviewProps> = ({
106
106
  const getStyles = (tokens: DesignTokens) =>
107
107
  StyleSheet.create({
108
108
  previewSection: {
109
- marginBottom: tokens.spacing.lg * tokens.spacingMultiplier,
109
+ marginBottom: tokens.spacing.lg,
110
110
  },
111
111
  sectionTitle: {
112
- marginBottom: tokens.spacing.xs * tokens.spacingMultiplier,
112
+ marginBottom: tokens.spacing.xs,
113
113
  },
114
114
  sectionDescription: {
115
- marginBottom: tokens.spacing.md * tokens.spacingMultiplier,
115
+ marginBottom: tokens.spacing.md,
116
116
  },
117
117
  previewContainer: {
118
118
  backgroundColor: tokens.colors.surface,
119
- borderRadius: 12 * tokens.spacingMultiplier,
120
- padding: tokens.spacing.md * tokens.spacingMultiplier,
119
+ borderRadius: 12,
120
+ padding: tokens.spacing.md,
121
121
  borderLeftWidth: 4,
122
122
  borderLeftColor: tokens.colors.primary,
123
123
  },
124
124
  previewColorRow: {
125
125
  flexDirection: "row",
126
126
  flexWrap: "wrap",
127
- gap: tokens.spacing.md * tokens.spacingMultiplier,
128
- marginTop: tokens.spacing.sm * tokens.spacingMultiplier,
127
+ gap: tokens.spacing.md,
128
+ marginTop: tokens.spacing.sm,
129
129
  },
130
130
  previewColorItem: {
131
131
  alignItems: "center",
132
132
  },
133
133
  previewColorCircle: {
134
- width: 32 * tokens.spacingMultiplier,
135
- height: 32 * tokens.spacingMultiplier,
136
- borderRadius: 16 * tokens.spacingMultiplier,
137
- marginBottom: tokens.spacing.xs * tokens.spacingMultiplier,
134
+ width: 32,
135
+ height: 32,
136
+ borderRadius: 16,
137
+ marginBottom: tokens.spacing.xs,
138
138
  borderWidth: 1,
139
139
  borderColor: tokens.colors.border,
140
140
  },
@@ -166,21 +166,21 @@ export const CustomColorsSection: React.FC<CustomColorsSectionProps> = ({
166
166
  const getStyles = (tokens: DesignTokens) =>
167
167
  StyleSheet.create({
168
168
  section: {
169
- marginBottom: tokens.spacing.xl * tokens.spacingMultiplier,
169
+ marginBottom: tokens.spacing.xl,
170
170
  },
171
171
  sectionHeader: {
172
172
  flexDirection: "row",
173
173
  justifyContent: "space-between",
174
174
  alignItems: "flex-start",
175
- marginBottom: tokens.spacing.md * tokens.spacingMultiplier,
175
+ marginBottom: tokens.spacing.md,
176
176
  },
177
177
  titleContainer: {
178
178
  flex: 1,
179
179
  },
180
180
  sectionTitle: {
181
- marginBottom: tokens.spacing.xs * tokens.spacingMultiplier,
181
+ marginBottom: tokens.spacing.xs,
182
182
  },
183
183
  sectionDescription: {
184
- marginBottom: tokens.spacing.md * tokens.spacingMultiplier,
184
+ marginBottom: tokens.spacing.md,
185
185
  },
186
186
  });
@@ -99,12 +99,12 @@ export const ThemeModeSection: React.FC<ThemeModeSectionProps> = ({
99
99
  const getStyles = (tokens: DesignTokens) =>
100
100
  StyleSheet.create({
101
101
  section: {
102
- marginBottom: tokens.spacing.xl * tokens.spacingMultiplier,
102
+ marginBottom: tokens.spacing.xl,
103
103
  },
104
104
  sectionTitle: {
105
- marginBottom: tokens.spacing.xs * tokens.spacingMultiplier,
105
+ marginBottom: tokens.spacing.xs,
106
106
  },
107
107
  sectionDescription: {
108
- marginBottom: tokens.spacing.md * tokens.spacingMultiplier,
108
+ marginBottom: tokens.spacing.md,
109
109
  },
110
110
  });
@@ -41,7 +41,7 @@ export const ThemeOption: React.FC<ThemeOptionProps> = ({
41
41
  >
42
42
  <View style={styles.header}>
43
43
  <View style={styles.iconContainer}>
44
- <AtomicIcon name={iconName} customSize={24 * tokens.spacingMultiplier} customColor={tokens.colors.primary} />
44
+ <AtomicIcon name={iconName} customSize={24} customColor={tokens.colors.primary} />
45
45
  </View>
46
46
  <View style={styles.textContainer}>
47
47
  <AtomicText type="titleLarge" color="primary">
@@ -53,7 +53,7 @@ export const ThemeOption: React.FC<ThemeOptionProps> = ({
53
53
  </View>
54
54
  <AtomicIcon
55
55
  name={isSelected ? "checkmark-circle-outline" : "ellipse-outline"}
56
- customSize={24 * tokens.spacingMultiplier}
56
+ customSize={24}
57
57
  customColor={isSelected ? tokens.colors.primary : tokens.colors.secondary}
58
58
  />
59
59
  </View>
@@ -93,9 +93,9 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
93
93
  StyleSheet.create({
94
94
  container: {
95
95
  backgroundColor: tokens.colors.surface,
96
- borderRadius: 12 * tokens.spacingMultiplier,
97
- padding: 16 * tokens.spacingMultiplier,
98
- marginBottom: 16 * tokens.spacingMultiplier,
96
+ borderRadius: 12,
97
+ padding: 16,
98
+ marginBottom: 16,
99
99
  borderWidth: 2,
100
100
  borderColor: tokens.colors.border,
101
101
  },
@@ -105,34 +105,34 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
105
105
  header: {
106
106
  flexDirection: "row",
107
107
  alignItems: "center",
108
- marginBottom: 12 * tokens.spacingMultiplier,
108
+ marginBottom: 12,
109
109
  },
110
110
  iconContainer: {
111
- width: 48 * tokens.spacingMultiplier,
112
- height: 48 * tokens.spacingMultiplier,
113
- borderRadius: 24 * tokens.spacingMultiplier,
111
+ width: 48,
112
+ height: 48,
113
+ borderRadius: 24,
114
114
  backgroundColor: `${tokens.colors.primary}15`,
115
115
  justifyContent: "center",
116
116
  alignItems: "center",
117
- marginRight: 12 * tokens.spacingMultiplier,
117
+ marginRight: 12,
118
118
  },
119
119
  textContainer: {
120
120
  flex: 1,
121
121
  },
122
122
  description: {
123
- marginBottom: 12 * tokens.spacingMultiplier,
124
- lineHeight: 20 * tokens.spacingMultiplier,
123
+ marginBottom: 12,
124
+ lineHeight: 20,
125
125
  },
126
126
  featuresContainer: {
127
127
  backgroundColor: `${tokens.colors.primary}08`,
128
- borderRadius: 8 * tokens.spacingMultiplier,
129
- padding: 12 * tokens.spacingMultiplier,
128
+ borderRadius: 8,
129
+ padding: 12,
130
130
  },
131
131
  featuresTitle: {
132
- marginBottom: 8 * tokens.spacingMultiplier,
132
+ marginBottom: 8,
133
133
  },
134
134
  feature: {
135
- marginBottom: 4 * tokens.spacingMultiplier,
136
- lineHeight: 18 * tokens.spacingMultiplier,
135
+ marginBottom: 4,
136
+ lineHeight: 18,
137
137
  },
138
138
  });
@@ -221,7 +221,7 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
221
221
  flex: 1,
222
222
  },
223
223
  scrollContent: {
224
- padding: tokens.spacing.md * tokens.spacingMultiplier,
225
- paddingBottom: tokens.spacing.xl * tokens.spacingMultiplier,
224
+ padding: tokens.spacing.md,
225
+ paddingBottom: tokens.spacing.xl,
226
226
  },
227
227
  });
@@ -78,27 +78,27 @@ export const DisclaimerCard: React.FC<DisclaimerCardProps> = ({
78
78
  const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
79
79
  StyleSheet.create({
80
80
  container: {
81
- paddingHorizontal: tokens.spacing.md * tokens.spacingMultiplier,
82
- paddingVertical: tokens.spacing.md * tokens.spacingMultiplier,
83
- marginHorizontal: tokens.spacing.md * tokens.spacingMultiplier,
84
- marginTop: 8 * tokens.spacingMultiplier,
85
- marginBottom: 8 * tokens.spacingMultiplier,
86
- borderRadius: 12 * tokens.spacingMultiplier,
81
+ paddingHorizontal: tokens.spacing.md,
82
+ paddingVertical: tokens.spacing.md,
83
+ marginHorizontal: tokens.spacing.md,
84
+ marginTop: 8,
85
+ marginBottom: 8,
86
+ borderRadius: 12,
87
87
  },
88
88
 
89
89
  headerRow: {
90
90
  flexDirection: 'row',
91
91
  alignItems: 'center',
92
- marginBottom: 12 * tokens.spacingMultiplier,
92
+ marginBottom: 12,
93
93
  },
94
94
 
95
95
  iconContainer: {
96
- width: 40 * tokens.spacingMultiplier,
97
- height: 40 * tokens.spacingMultiplier,
98
- borderRadius: 20 * tokens.spacingMultiplier,
96
+ width: 40,
97
+ height: 40,
98
+ borderRadius: 20,
99
99
  alignItems: 'center',
100
100
  justifyContent: 'center',
101
- marginRight: 12 * tokens.spacingMultiplier,
101
+ marginRight: 12,
102
102
  },
103
103
 
104
104
  title: {
@@ -108,8 +108,8 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
108
108
  },
109
109
 
110
110
  shortMessage: {
111
- lineHeight: 18 * tokens.spacingMultiplier,
112
- paddingLeft: 52 * tokens.spacingMultiplier, // Align with title (40px icon + 12px margin)
113
- fontSize: 13 * tokens.spacingMultiplier, // Or tokens.typography.bodySmall.responsiveFontSize
111
+ lineHeight: 18,
112
+ paddingLeft: 52, // Align with title (40px icon + 12px margin)
113
+ fontSize: 13, // Or tokens.typography.bodySmall.responsiveFontSize
114
114
  },
115
115
  });
@@ -81,8 +81,8 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
81
81
  flexDirection: 'row',
82
82
  justifyContent: 'space-between',
83
83
  alignItems: 'center',
84
- paddingHorizontal: 20 * tokens.spacingMultiplier,
85
- paddingVertical: 16 * tokens.spacingMultiplier,
84
+ paddingHorizontal: 20,
85
+ paddingVertical: 16,
86
86
  borderBottomWidth: 1,
87
87
  },
88
88
 
@@ -91,11 +91,11 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
91
91
  },
92
92
 
93
93
  modalContentContainer: {
94
- padding: 20 * tokens.spacingMultiplier,
94
+ padding: 20,
95
95
  },
96
96
 
97
97
  modalText: {
98
- lineHeight: 24 * tokens.spacingMultiplier,
99
- fontSize: 15 * tokens.spacingMultiplier, // or tokens.typography.bodyMedium.responsiveFontSize
98
+ lineHeight: 24,
99
+ fontSize: 15, // or tokens.typography.bodyMedium.responsiveFontSize
100
100
  },
101
101
  });
@@ -95,27 +95,27 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
95
95
  flex: 1,
96
96
  },
97
97
  scrollContent: {
98
- padding: tokens.spacing.lg * tokens.spacingMultiplier,
99
- paddingTop: tokens.spacing.xl * tokens.spacingMultiplier,
98
+ padding: tokens.spacing.lg,
99
+ paddingTop: tokens.spacing.xl,
100
100
  },
101
101
  iconHeader: {
102
102
  alignItems: 'center',
103
- marginBottom: tokens.spacing.lg * tokens.spacingMultiplier,
103
+ marginBottom: tokens.spacing.lg,
104
104
  },
105
105
  iconContainer: {
106
- width: 72 * tokens.spacingMultiplier,
107
- height: 72 * tokens.spacingMultiplier,
108
- borderRadius: 36 * tokens.spacingMultiplier,
106
+ width: 72,
107
+ height: 72,
108
+ borderRadius: 36,
109
109
  alignItems: 'center',
110
110
  justifyContent: 'center',
111
111
  borderWidth: 2,
112
112
  },
113
113
  title: {
114
114
  textAlign: 'center',
115
- marginBottom: tokens.spacing.lg * tokens.spacingMultiplier,
115
+ marginBottom: tokens.spacing.lg,
116
116
  },
117
117
  content: {
118
- lineHeight: 24 * tokens.spacingMultiplier,
118
+ lineHeight: 24,
119
119
  textAlign: 'left',
120
120
  },
121
121
  });
@@ -35,11 +35,11 @@ export const FAQCategoryComponent: React.FC<FAQCategoryProps> = ({
35
35
  () =>
36
36
  StyleSheet.create({
37
37
  container: {
38
- marginBottom: tokens.spacing.xl * tokens.spacingMultiplier,
38
+ marginBottom: tokens.spacing.xl,
39
39
  },
40
40
  titleContainer: {
41
- marginBottom: tokens.spacing.sm * tokens.spacingMultiplier,
42
- paddingHorizontal: tokens.spacing.lg * tokens.spacingMultiplier,
41
+ marginBottom: tokens.spacing.sm,
42
+ paddingHorizontal: tokens.spacing.lg,
43
43
  flexDirection: 'row',
44
44
  alignItems: 'center',
45
45
  },
@@ -47,7 +47,7 @@ export const FAQCategoryComponent: React.FC<FAQCategoryProps> = ({
47
47
  flex: 1,
48
48
  height: 1,
49
49
  backgroundColor: tokens.colors.border,
50
- marginLeft: tokens.spacing.md * tokens.spacingMultiplier,
50
+ marginLeft: tokens.spacing.md,
51
51
  }
52
52
  }),
53
53
  [tokens]
@@ -38,9 +38,9 @@ export const FAQItemComponent: React.FC<FAQItemProps> = ({
38
38
  () =>
39
39
  StyleSheet.create({
40
40
  container: {
41
- marginHorizontal: tokens.spacing.md * tokens.spacingMultiplier,
42
- marginBottom: tokens.spacing.sm * tokens.spacingMultiplier,
43
- borderRadius: 20 * tokens.spacingMultiplier,
41
+ marginHorizontal: tokens.spacing.md,
42
+ marginBottom: tokens.spacing.sm,
43
+ borderRadius: 20,
44
44
  backgroundColor: tokens.colors.surface,
45
45
  borderWidth: 1,
46
46
  borderColor: isExpanded ? tokens.colors.primary : tokens.colors.border,
@@ -49,26 +49,26 @@ export const FAQItemComponent: React.FC<FAQItemProps> = ({
49
49
  header: {
50
50
  flexDirection: 'row',
51
51
  alignItems: 'center',
52
- padding: tokens.spacing.lg * tokens.spacingMultiplier,
52
+ padding: tokens.spacing.lg,
53
53
  },
54
54
  content: {
55
55
  flex: 1,
56
- marginRight: tokens.spacing.md * tokens.spacingMultiplier,
56
+ marginRight: tokens.spacing.md,
57
57
  },
58
58
  questionText: {
59
59
  fontWeight: '700',
60
60
  },
61
61
  answerContainer: {
62
- paddingHorizontal: tokens.spacing.lg * tokens.spacingMultiplier,
63
- paddingBottom: tokens.spacing.lg * tokens.spacingMultiplier,
62
+ paddingHorizontal: tokens.spacing.lg,
63
+ paddingBottom: tokens.spacing.lg,
64
64
  borderTopWidth: 1,
65
65
  borderTopColor: tokens.colors.borderLight,
66
66
  backgroundColor: tokens.colors.surfaceSecondary || tokens.colors.backgroundSecondary,
67
67
  },
68
68
  iconContainer: {
69
- width: 36 * tokens.spacingMultiplier,
70
- height: 36 * tokens.spacingMultiplier,
71
- borderRadius: 18 * tokens.spacingMultiplier,
69
+ width: 36,
70
+ height: 36,
71
+ borderRadius: 18,
72
72
  backgroundColor: isExpanded ? tokens.colors.primary : tokens.colors.surfaceSecondary || tokens.colors.backgroundSecondary,
73
73
  alignItems: 'center',
74
74
  justifyContent: 'center',
@@ -107,7 +107,7 @@ export const FAQItemComponent: React.FC<FAQItemProps> = ({
107
107
  <AtomicText
108
108
  type="bodyMedium"
109
109
  color="textSecondary"
110
- style={[{ lineHeight: 22 * tokens.spacingMultiplier }, customStyles?.answerStyle]}
110
+ style={[{ lineHeight: 22 }, customStyles?.answerStyle]}
111
111
  >
112
112
  {item.answer}
113
113
  </AtomicText>
@@ -35,14 +35,14 @@ export const FAQSearchBar: React.FC<FAQSearchBarProps> = ({
35
35
  flexDirection: 'row',
36
36
  alignItems: 'center',
37
37
  backgroundColor: tokens.colors.surfaceSecondary || tokens.colors.backgroundSecondary,
38
- borderRadius: 16 * tokens.spacingMultiplier,
39
- paddingHorizontal: tokens.spacing.md * tokens.spacingMultiplier,
38
+ borderRadius: 16,
39
+ paddingHorizontal: tokens.spacing.md,
40
40
  borderWidth: 1,
41
41
  borderColor: tokens.colors.borderLight,
42
- height: 48 * tokens.spacingMultiplier,
42
+ height: 48,
43
43
  },
44
44
  iconContainer: {
45
- marginRight: tokens.spacing.sm * tokens.spacingMultiplier,
45
+ marginRight: tokens.spacing.sm,
46
46
  },
47
47
  input: {
48
48
  flex: 1,
@@ -58,7 +58,7 @@ export const FAQScreen: React.FC<FAQScreenProps> = ({
58
58
  flex: 1,
59
59
  },
60
60
  header: {
61
- padding: tokens.spacing.md * tokens.spacingMultiplier,
61
+ padding: tokens.spacing.md,
62
62
  },
63
63
  content: {
64
64
  flex: 1,
@@ -84,7 +84,7 @@ export const FAQScreen: React.FC<FAQScreenProps> = ({
84
84
  <AtomicText
85
85
  type="headlineMedium"
86
86
  color="textPrimary"
87
- style={{ marginBottom: tokens.spacing.md * tokens.spacingMultiplier, fontWeight: '700' }}
87
+ style={{ marginBottom: tokens.spacing.md, fontWeight: '700' }}
88
88
  >
89
89
  {headerTitle}
90
90
  </AtomicText>
@@ -98,7 +98,7 @@ export const FAQScreen: React.FC<FAQScreenProps> = ({
98
98
 
99
99
  <ScrollView
100
100
  style={[styles.content, customStyles?.content]}
101
- contentContainerStyle={{ paddingVertical: tokens.spacing.md * tokens.spacingMultiplier }}
101
+ contentContainerStyle={{ paddingVertical: tokens.spacing.md }}
102
102
  showsVerticalScrollIndicator={false}
103
103
  >
104
104
  {filteredCategories.map((category) => (
@@ -110,7 +110,7 @@ export const FAQScreen: React.FC<FAQScreenProps> = ({
110
110
  styles={customStyles?.category}
111
111
  />
112
112
  ))}
113
- <View style={{ height: tokens.spacing.xl * 2 * tokens.spacingMultiplier }} />
113
+ <View style={{ height: tokens.spacing.xl * 2 }} />
114
114
  </ScrollView>
115
115
  </View>
116
116
  );
@@ -49,7 +49,7 @@ export const FeedbackForm: React.FC<FeedbackFormProps> = ({
49
49
 
50
50
  const renderRating = () => (
51
51
  <View style={styles.ratingContainer}>
52
- <AtomicText type="bodyMedium" style={{ marginBottom: 8 * tokens.spacingMultiplier, color: tokens.colors.textSecondary }}>
52
+ <AtomicText type="bodyMedium" style={{ marginBottom: 8, color: tokens.colors.textSecondary }}>
53
53
  {texts.ratingLabel}
54
54
  </AtomicText>
55
55
  <View style={styles.stars}>
@@ -61,7 +61,7 @@ export const FeedbackForm: React.FC<FeedbackFormProps> = ({
61
61
  >
62
62
  <AtomicIcon
63
63
  name={star <= rating ? "star" : "star-outline"}
64
- customSize={32 * tokens.spacingMultiplier}
64
+ customSize={32}
65
65
  customColor={star <= rating ? tokens.colors.warning : tokens.colors.border}
66
66
  />
67
67
  </TouchableOpacity>
@@ -149,40 +149,40 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
149
149
  width: "100%",
150
150
  },
151
151
  typeContainer: {
152
- marginBottom: 24 * tokens.spacingMultiplier,
152
+ marginBottom: 24,
153
153
  },
154
154
  typeScroll: {
155
- gap: 8 * tokens.spacingMultiplier,
155
+ gap: 8,
156
156
  },
157
157
  typeButton: {
158
158
  flexDirection: "row",
159
159
  alignItems: "center",
160
- paddingHorizontal: 16 * tokens.spacingMultiplier,
161
- paddingVertical: 8 * tokens.spacingMultiplier,
162
- borderRadius: 20 * tokens.spacingMultiplier,
160
+ paddingHorizontal: 16,
161
+ paddingVertical: 8,
162
+ borderRadius: 20,
163
163
  borderWidth: 1,
164
- gap: 6 * tokens.spacingMultiplier,
164
+ gap: 6,
165
165
  },
166
166
  ratingContainer: {
167
167
  alignItems: "center",
168
- marginBottom: 24 * tokens.spacingMultiplier,
168
+ marginBottom: 24,
169
169
  },
170
170
  stars: {
171
171
  flexDirection: "row",
172
- gap: 8 * tokens.spacingMultiplier,
172
+ gap: 8,
173
173
  },
174
174
  starButton: {
175
- padding: 4 * tokens.spacingMultiplier,
175
+ padding: 4,
176
176
  },
177
177
  inputContainer: {
178
- marginBottom: 24 * tokens.spacingMultiplier,
178
+ marginBottom: 24,
179
179
  },
180
180
  textArea: {
181
181
  textAlignVertical: "top",
182
- minHeight: 120 * tokens.spacingMultiplier,
182
+ minHeight: 120,
183
183
  borderWidth: 1,
184
- borderRadius: 8 * tokens.spacingMultiplier,
185
- padding: 12 * tokens.spacingMultiplier,
184
+ borderRadius: 8,
185
+ padding: 12,
186
186
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
187
187
  },
188
188
  submitButton: {
@@ -47,7 +47,7 @@ export const FeedbackModal: React.FC<FeedbackModalProps> = ({
47
47
  {title}
48
48
  </AtomicText>
49
49
  {subtitle && (
50
- <AtomicText type="bodySmall" color="textSecondary" style={{ marginTop: 4 * tokens.spacingMultiplier }}>
50
+ <AtomicText type="bodySmall" color="textSecondary" style={{ marginTop: 4 }}>
51
51
  {subtitle}
52
52
  </AtomicText>
53
53
  )}
@@ -90,20 +90,20 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
90
90
  flexDirection: "row",
91
91
  justifyContent: "space-between",
92
92
  alignItems: "center",
93
- padding: 16 * tokens.spacingMultiplier,
93
+ padding: 16,
94
94
  borderBottomWidth: 1,
95
95
  },
96
96
  headerText: {
97
97
  flex: 1,
98
98
  },
99
99
  closeButton: {
100
- width: 36 * tokens.spacingMultiplier,
101
- height: 36 * tokens.spacingMultiplier,
102
- borderRadius: 18 * tokens.spacingMultiplier,
100
+ width: 36,
101
+ height: 36,
102
+ borderRadius: 18,
103
103
  justifyContent: "center",
104
104
  alignItems: "center",
105
105
  },
106
106
  content: {
107
- padding: 20 * tokens.spacingMultiplier,
107
+ padding: 20,
108
108
  },
109
109
  });
@@ -220,18 +220,18 @@ export const LegalScreen: React.FC<LegalScreenProps> = React.memo(({
220
220
  const createLegalScreenStyles = (tokens: DesignTokens) => {
221
221
  return StyleSheet.create({
222
222
  header: {
223
- paddingBottom: tokens.spacing.lg * tokens.spacingMultiplier,
224
- paddingTop: tokens.spacing.md * tokens.spacingMultiplier,
223
+ paddingBottom: tokens.spacing.lg,
224
+ paddingTop: tokens.spacing.md,
225
225
  },
226
226
  headerSubtitle: {
227
- marginTop: tokens.spacing.xs * tokens.spacingMultiplier,
227
+ marginTop: tokens.spacing.xs,
228
228
  },
229
229
  section: {
230
- marginTop: tokens.spacing.md * tokens.spacingMultiplier,
230
+ marginTop: tokens.spacing.md,
231
231
  },
232
232
  sectionHeader: {
233
- marginBottom: tokens.spacing.sm * tokens.spacingMultiplier,
234
- paddingHorizontal: tokens.spacing.md * tokens.spacingMultiplier,
233
+ marginBottom: tokens.spacing.sm,
234
+ paddingHorizontal: tokens.spacing.md,
235
235
  },
236
236
  });
237
237
  };
@@ -178,29 +178,29 @@ const createPrivacyPolicyStyles = (tokens: any) => {
178
178
  },
179
179
  scrollContent: {
180
180
  flexGrow: 1,
181
- padding: 20 * tokens.spacingMultiplier,
181
+ padding: 20,
182
182
  },
183
183
  content: {
184
184
  flex: 1,
185
185
  },
186
186
  title: {
187
- marginBottom: 24 * tokens.spacingMultiplier,
187
+ marginBottom: 24,
188
188
  },
189
189
  text: {
190
- lineHeight: 24 * tokens.spacingMultiplier,
190
+ lineHeight: 24,
191
191
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
192
192
  },
193
193
  urlContainer: {
194
- marginTop: 32 * tokens.spacingMultiplier,
194
+ marginTop: 32,
195
195
  alignItems: "center",
196
196
  },
197
197
  urlText: {
198
- marginBottom: 16 * tokens.spacingMultiplier,
198
+ marginBottom: 16,
199
199
  textAlign: "center",
200
200
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
201
201
  },
202
202
  urlButton: {
203
- marginTop: 8 * tokens.spacingMultiplier,
203
+ marginTop: 8,
204
204
  },
205
205
  });
206
206
  };
@@ -178,29 +178,29 @@ const createTermsOfServiceStyles = (tokens: any) => {
178
178
  },
179
179
  scrollContent: {
180
180
  flexGrow: 1,
181
- padding: 20 * tokens.spacingMultiplier,
181
+ padding: 20,
182
182
  },
183
183
  content: {
184
184
  flex: 1,
185
185
  },
186
186
  title: {
187
- marginBottom: 24 * tokens.spacingMultiplier,
187
+ marginBottom: 24,
188
188
  },
189
189
  text: {
190
- lineHeight: 24 * tokens.spacingMultiplier,
190
+ lineHeight: 24,
191
191
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
192
192
  },
193
193
  urlContainer: {
194
- marginTop: 32 * tokens.spacingMultiplier,
194
+ marginTop: 32,
195
195
  alignItems: "center",
196
196
  },
197
197
  urlText: {
198
- marginBottom: 16 * tokens.spacingMultiplier,
198
+ marginBottom: 16,
199
199
  textAlign: "center",
200
200
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
201
201
  },
202
202
  urlButton: {
203
- marginTop: 8 * tokens.spacingMultiplier,
203
+ marginTop: 8,
204
204
  },
205
205
  });
206
206
  };
@@ -31,7 +31,7 @@ export const StarRating: React.FC<StarRatingProps> = ({
31
31
  const emptyColor = inactiveColor || tokens.colors.border || "#E0E0E0";
32
32
 
33
33
  // Scale the size
34
- const responsiveSize = size * tokens.spacingMultiplier;
34
+ const responsiveSize = size;
35
35
 
36
36
  const handlePress = (index: number) => {
37
37
  if (disabled) return;
@@ -66,9 +66,9 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
66
66
  container: {
67
67
  flexDirection: "row",
68
68
  alignItems: "center",
69
- gap: 4 * tokens.spacingMultiplier,
69
+ gap: 4,
70
70
  },
71
71
  starContainer: {
72
- padding: 4 * tokens.spacingMultiplier,
72
+ padding: 4,
73
73
  },
74
74
  });
@@ -111,14 +111,14 @@ export const VideoTutorialCard: React.FC<VideoTutorialCardProps> = ({
111
111
  const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
112
112
  StyleSheet.create({
113
113
  container: {
114
- borderRadius: 12 * tokens.spacingMultiplier,
114
+ borderRadius: 12,
115
115
  borderWidth: 1,
116
- marginBottom: 12 * tokens.spacingMultiplier,
116
+ marginBottom: 12,
117
117
  overflow: "hidden",
118
118
  },
119
119
  horizontalContainer: {
120
- width: 280 * tokens.spacingMultiplier,
121
- marginRight: 12 * tokens.spacingMultiplier,
120
+ width: 280,
121
+ marginRight: 12,
122
122
  marginBottom: 0,
123
123
  },
124
124
  imageContainer: {
@@ -126,56 +126,56 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
126
126
  },
127
127
  thumbnail: {
128
128
  width: "100%",
129
- height: 180 * tokens.spacingMultiplier,
129
+ height: 180,
130
130
  },
131
131
  horizontalThumbnail: {
132
- height: 140 * tokens.spacingMultiplier,
132
+ height: 140,
133
133
  },
134
134
  durationBadge: {
135
135
  position: "absolute",
136
- bottom: 8 * tokens.spacingMultiplier,
137
- right: 8 * tokens.spacingMultiplier,
138
- paddingHorizontal: 6 * tokens.spacingMultiplier,
139
- paddingVertical: 2 * tokens.spacingMultiplier,
140
- borderRadius: 4 * tokens.spacingMultiplier,
136
+ bottom: 8,
137
+ right: 8,
138
+ paddingHorizontal: 6,
139
+ paddingVertical: 2,
140
+ borderRadius: 4,
141
141
  },
142
142
  durationText: {
143
143
  color: "white",
144
- fontSize: 12 * tokens.spacingMultiplier,
144
+ fontSize: 12,
145
145
  fontWeight: "500",
146
146
  },
147
147
  featuredBadge: {
148
148
  position: "absolute",
149
- top: 8 * tokens.spacingMultiplier,
150
- left: 8 * tokens.spacingMultiplier,
151
- paddingHorizontal: 8 * tokens.spacingMultiplier,
152
- paddingVertical: 4 * tokens.spacingMultiplier,
153
- borderRadius: 4 * tokens.spacingMultiplier,
149
+ top: 8,
150
+ left: 8,
151
+ paddingHorizontal: 8,
152
+ paddingVertical: 4,
153
+ borderRadius: 4,
154
154
  },
155
155
  featuredText: {
156
- fontSize: 11 * tokens.spacingMultiplier,
156
+ fontSize: 11,
157
157
  fontWeight: "600",
158
158
  },
159
159
  content: {
160
- padding: 12 * tokens.spacingMultiplier,
160
+ padding: 12,
161
161
  },
162
162
  title: {
163
163
  fontSize: tokens.typography.titleMedium.responsiveFontSize,
164
164
  fontWeight: "600",
165
- marginBottom: 6 * tokens.spacingMultiplier,
165
+ marginBottom: 6,
166
166
  },
167
167
  horizontalTitle: {
168
168
  fontSize: tokens.typography.bodyLarge.responsiveFontSize,
169
169
  },
170
170
  description: {
171
171
  fontSize: tokens.typography.bodyMedium.responsiveFontSize,
172
- lineHeight: 20 * tokens.spacingMultiplier,
173
- marginBottom: 8 * tokens.spacingMultiplier,
172
+ lineHeight: 20,
173
+ marginBottom: 8,
174
174
  },
175
175
  horizontalDescription: {
176
176
  fontSize: tokens.typography.bodySmall.responsiveFontSize,
177
- lineHeight: 16 * tokens.spacingMultiplier,
178
- marginBottom: 6 * tokens.spacingMultiplier,
177
+ lineHeight: 16,
178
+ marginBottom: 6,
179
179
  },
180
180
  metadata: {
181
181
  flexDirection: "row",
@@ -183,12 +183,12 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
183
183
  alignItems: "center",
184
184
  },
185
185
  category: {
186
- fontSize: 12 * tokens.spacingMultiplier,
186
+ fontSize: 12,
187
187
  textTransform: "capitalize",
188
188
  fontWeight: "500",
189
189
  },
190
190
  difficulty: {
191
- fontSize: 12 * tokens.spacingMultiplier,
191
+ fontSize: 12,
192
192
  textTransform: "capitalize",
193
193
  fontWeight: "500",
194
194
  },
@@ -175,26 +175,26 @@ const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
175
175
  title: {
176
176
  fontSize: tokens.typography.headlineLarge.responsiveFontSize,
177
177
  fontWeight: "600",
178
- marginBottom: 24 * tokens.spacingMultiplier,
178
+ marginBottom: 24,
179
179
  },
180
180
  section: {
181
- marginBottom: 24 * tokens.spacingMultiplier,
181
+ marginBottom: 24,
182
182
  },
183
183
  sectionTitle: {
184
184
  fontSize: tokens.typography.titleLarge.responsiveFontSize,
185
185
  fontWeight: "500",
186
- marginBottom: 12 * tokens.spacingMultiplier,
186
+ marginBottom: 12,
187
187
  },
188
188
  horizontalList: {
189
- paddingRight: 16 * tokens.spacingMultiplier,
189
+ paddingRight: 16,
190
190
  },
191
191
  verticalList: {
192
- paddingBottom: 16 * tokens.spacingMultiplier,
192
+ paddingBottom: 16,
193
193
  },
194
194
  errorContainer: {
195
195
  flex: 1,
196
196
  justifyContent: "center",
197
197
  alignItems: "center",
198
- padding: 20 * tokens.spacingMultiplier,
198
+ padding: 20,
199
199
  },
200
200
  });