@umituz/react-native-settings 4.20.58 → 4.20.60

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 (68) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +51 -0
  2. package/.github/ISSUE_TEMPLATE/documentation.md +52 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +63 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +84 -0
  5. package/AI_AGENT_GUIDELINES.md +367 -0
  6. package/ARCHITECTURE.md +246 -0
  7. package/CHANGELOG.md +67 -0
  8. package/CODE_OF_CONDUCT.md +75 -0
  9. package/CONTRIBUTING.md +107 -0
  10. package/DOCUMENTATION_MIGRATION.md +319 -0
  11. package/DOCUMENTATION_TEMPLATE.md +155 -0
  12. package/LICENSE +21 -0
  13. package/README.md +321 -498
  14. package/SECURITY.md +98 -0
  15. package/SETTINGS_SCREEN_GUIDE.md +185 -0
  16. package/TESTING.md +358 -0
  17. package/package.json +13 -2
  18. package/src/application/README.md +85 -271
  19. package/src/domains/about/README.md +85 -440
  20. package/src/domains/about/presentation/hooks/README.md +93 -348
  21. package/src/domains/appearance/README.md +95 -584
  22. package/src/domains/appearance/hooks/README.md +95 -303
  23. package/src/domains/appearance/infrastructure/services/README.md +83 -397
  24. package/src/domains/appearance/presentation/components/README.md +95 -489
  25. package/src/domains/cloud-sync/README.md +73 -439
  26. package/src/domains/cloud-sync/presentation/components/README.md +95 -493
  27. package/src/domains/dev/README.md +71 -457
  28. package/src/domains/disclaimer/README.md +77 -411
  29. package/src/domains/disclaimer/presentation/components/README.md +95 -392
  30. package/src/domains/faqs/README.md +86 -574
  31. package/src/domains/feedback/README.md +79 -553
  32. package/src/domains/feedback/presentation/hooks/README.md +93 -426
  33. package/src/domains/legal/README.md +88 -537
  34. package/src/domains/rating/README.md +73 -440
  35. package/src/domains/rating/presentation/components/README.md +95 -475
  36. package/src/domains/video-tutorials/README.md +77 -470
  37. package/src/domains/video-tutorials/presentation/components/README.md +95 -431
  38. package/src/infrastructure/README.md +78 -425
  39. package/src/infrastructure/repositories/README.md +88 -420
  40. package/src/infrastructure/services/README.md +74 -460
  41. package/src/presentation/components/README.md +97 -480
  42. package/src/presentation/components/SettingsErrorBoundary/README.md +48 -436
  43. package/src/presentation/components/SettingsFooter/README.md +48 -427
  44. package/src/presentation/components/SettingsItemCard/README.md +152 -391
  45. package/src/presentation/components/SettingsItemCard/STRATEGY.md +164 -0
  46. package/src/presentation/components/SettingsSection/README.md +47 -401
  47. package/src/presentation/hooks/README.md +95 -389
  48. package/src/presentation/hooks/mutations/README.md +99 -376
  49. package/src/presentation/hooks/queries/README.md +111 -353
  50. package/src/presentation/navigation/README.md +70 -502
  51. package/src/presentation/navigation/SettingsStackNavigator.tsx +2 -0
  52. package/src/presentation/navigation/components/README.md +70 -295
  53. package/src/presentation/navigation/components/wrappers/SettingsScreenWrapper.tsx +3 -0
  54. package/src/presentation/navigation/hooks/README.md +75 -367
  55. package/src/presentation/navigation/types.ts +1 -0
  56. package/src/presentation/navigation/utils/README.md +100 -380
  57. package/src/presentation/screens/README.md +53 -504
  58. package/src/presentation/screens/SettingsScreen.tsx +4 -2
  59. package/src/presentation/screens/components/SettingsContent/README.md +53 -382
  60. package/src/presentation/screens/components/SettingsHeader/README.md +48 -303
  61. package/src/presentation/screens/components/sections/CustomSettingsList/README.md +47 -359
  62. package/src/presentation/screens/components/sections/FeatureSettingsSection/README.md +81 -176
  63. package/src/presentation/screens/components/sections/IdentitySettingsSection/README.md +40 -297
  64. package/src/presentation/screens/components/sections/ProfileSectionLoader/README.md +47 -451
  65. package/src/presentation/screens/components/sections/SupportSettingsSection/README.md +45 -361
  66. package/src/presentation/screens/hooks/README.md +64 -354
  67. package/src/presentation/screens/types/README.md +79 -409
  68. package/src/presentation/screens/utils/README.md +65 -255
@@ -0,0 +1,319 @@
1
+ # Documentation Migration Summary
2
+
3
+ ## New Documentation Format
4
+
5
+ All documentation has been migrated to a **code-example-free**, **strategy-based** format.
6
+
7
+ ## Key Changes
8
+
9
+ ### ❌ Removed
10
+ - All code examples
11
+ - Code snippets
12
+ - Inline code blocks
13
+ - Implementation examples
14
+
15
+ ### ✅ Added
16
+ - **Strategy Section**: How to use effectively
17
+ - **Restrictions Section**: What NOT to do (with ❌ markers)
18
+ - **Rules Section**: What MUST be done (with ✅ markers)
19
+ - **AI Agent Guidelines**: Specific instructions for AI coding
20
+ - **File Path References**: Exact paths to implementation
21
+
22
+ ## Documentation Template
23
+
24
+ Every README now follows this structure:
25
+
26
+ ```markdown
27
+ # [Component Name]
28
+
29
+ ## Purpose
30
+ [Brief description]
31
+
32
+ ## File Path
33
+ `src/path/to/File.tsx`
34
+
35
+ ## Imports
36
+ [Import statements]
37
+
38
+ ## Strategy
39
+ - [Strategic point 1]
40
+ - [Strategic point 2]
41
+
42
+ ## Restrictions (Forbidden)
43
+ ### ❌ DO NOT
44
+ - [What to avoid]
45
+
46
+ ### ❌ NEVER
47
+ - [Critical restrictions]
48
+
49
+ ### ❌ AVOID
50
+ - [Common mistakes]
51
+
52
+ ## Rules
53
+ ### ✅ ALWAYS
54
+ - [Mandatory requirements]
55
+
56
+ ### ✅ MUST
57
+ - [Critical rules]
58
+
59
+ ### ✅ SHOULD
60
+ - [Recommended practices]
61
+
62
+ ## AI Agent Guidelines
63
+ [Specific AI instructions]
64
+
65
+ ## Related Components
66
+ - [Component]: [File path]
67
+ ```
68
+
69
+ ## Updated Documentation
70
+
71
+ ### ✅ Completed
72
+
73
+ 1. **Main README** (`README.md`)
74
+ - Package overview
75
+ - Strategy, Restrictions, Rules
76
+ - Component file references
77
+ - AI guidelines
78
+
79
+ 2. **Documentation Template** (`DOCUMENTATION_TEMPLATE.md`)
80
+ - Standard template for all docs
81
+ - Philosophy explanation
82
+
83
+ 3. **AI Guidelines** (`AI_AGENT_GUIDELINES.md`)
84
+ - Comprehensive AI coding rules
85
+ - File reference patterns
86
+ - Component creation checklist
87
+
88
+ 4. **Settings Screen Guide** (`SETTINGS_SCREEN_GUIDE.md`)
89
+ - Screen strategy
90
+ - Configuration patterns
91
+ - Restrictions and rules
92
+
93
+ 5. **SettingsItemCard Strategy** (`src/presentation/components/SettingsItemCard/STRATEGY.md`)
94
+ - Component-specific strategy
95
+ - Usage guidelines
96
+ - AI instructions
97
+
98
+ ### 🔄 In Progress (Background Tasks)
99
+
100
+ Three background tasks are updating:
101
+
102
+ **Task 1: Domain READMEs** (10 files)
103
+ - src/domains/about/README.md
104
+ - src/domains/appearance/README.md
105
+ - src/domains/legal/README.md
106
+ - src/domains/disclaimer/README.md
107
+ - src/domains/feedback/README.md
108
+ - src/domains/faqs/README.md
109
+ - src/domains/rating/README.md
110
+ - src/domains/video-tutorials/README.md
111
+ - src/domains/cloud-sync/README.md
112
+ - src/domains/dev/README.md
113
+
114
+ **Task 2: Component READMEs** (14 files)
115
+ - src/presentation/components/SettingsSection/README.md
116
+ - src/presentation/components/SettingsErrorBoundary/README.md
117
+ - src/presentation/components/SettingsFooter/README.md
118
+ - src/presentation/screens/README.md
119
+ - src/presentation/screens/components/SettingsHeader/README.md
120
+ - src/presentation/screens/components/SettingsContent/README.md
121
+ - src/presentation/screens/hooks/README.md
122
+ - src/presentation/screens/utils/README.md
123
+ - src/presentation/screens/types/README.md
124
+ - src/presentation/hooks/README.md
125
+ - src/presentation/navigation/README.md
126
+ - src/presentation/navigation/components/README.md
127
+ - src/presentation/navigation/hooks/README.md
128
+ - src/presentation/navigation/utils/README.md
129
+
130
+ **Task 3: Remaining READMEs** (15+ files)
131
+ - src/application/README.md
132
+ - src/infrastructure/README.md
133
+ - src/presentation/hooks/mutations/README.md
134
+ - src/presentation/hooks/queries/README.md
135
+ - All domain component READMEs
136
+ - All section component READMEs
137
+ - And more...
138
+
139
+ ## Documentation Philosophy
140
+
141
+ ### Why No Code Examples?
142
+
143
+ **Problem**: Code examples become outdated when implementation changes
144
+ **Solution**: Reference file paths that stay stable
145
+
146
+ **Benefits:**
147
+ 1. ✅ Documentation stays valid when code changes
148
+ 2. ✅ Developers check current implementation
149
+ 3. ✅ No maintenance overhead
150
+ 4. ✅ Always accurate
151
+ 5. ✅ AI-friendly
152
+
153
+ ### Why Strategy/Restrictions/Rules?
154
+
155
+ **Strategy**: High-level guidance
156
+ - When to use component
157
+ - How to integrate it
158
+ - Best practices
159
+ - Common patterns
160
+
161
+ **Restrictions (Forbidden)**: Clear anti-patterns
162
+ - ❌ DO NOT: Common mistakes
163
+ - ❌ NEVER: Critical restrictions
164
+ - ❌ AVOID: Performance issues
165
+
166
+ **Rules**: Mandatory requirements
167
+ - ✅ ALWAYS: Required practices
168
+ - ✅ MUST: Critical rules
169
+ - ✅ SHOULD: Recommendations
170
+
171
+ ### Why AI-Friendly?
172
+
173
+ AI agents need:
174
+ - Clear guidelines
175
+ - File paths to reference
176
+ - Rules to follow
177
+ - No outdated code examples
178
+ - Specific restrictions
179
+ - Mandatory requirements
180
+
181
+ ## File Reference Pattern
182
+
183
+ ### Old Way (Outdated)
184
+ ```tsx
185
+ // Code example that becomes stale
186
+ <SettingsItemCard icon="settings" title="Settings" />
187
+ ```
188
+
189
+ ### New Way (Always Valid)
190
+ ```markdown
191
+ ## File Path
192
+ `src/presentation/components/SettingsItemCard/SettingsItemCard.tsx`
193
+
194
+ ## Strategy
195
+ Use SettingsItemCard for ALL settings items
196
+
197
+ ## Restrictions
198
+ ❌ DO NOT create custom items
199
+
200
+ ## Rules
201
+ ✅ MUST provide icon and title props
202
+ ```
203
+
204
+ ## AI Agent Workflow
205
+
206
+ When AI agent implements features:
207
+
208
+ 1. **Read Documentation**
209
+ - Check README for strategy
210
+ - Understand restrictions
211
+ - Know the rules
212
+
213
+ 2. **Reference Implementation**
214
+ - Open file path from docs
215
+ - Check current implementation
216
+ - Follow patterns
217
+
218
+ 3. **Follow Guidelines**
219
+ - Adhere to restrictions
220
+ - Apply rules
221
+ - Use existing components
222
+
223
+ 4. **No Guessing**
224
+ - File paths show exactly where to look
225
+ - Strategy shows how to use
226
+ - Rules show what to do
227
+
228
+ ## Migration Checklist
229
+
230
+ For each documentation file:
231
+
232
+ - [x] Remove all code examples
233
+ - [x] Add file path section
234
+ - [x] Add imports section
235
+ - [x] Add strategy section
236
+ - [x] Add restrictions section
237
+ - [x] Add rules section
238
+ - [x] Add AI guidelines section
239
+ - [x] Update related components with file paths
240
+ - [x] Keep in English
241
+ - [x] Follow standard template
242
+
243
+ ## Benefits
244
+
245
+ ### For Developers
246
+ - Always accurate documentation
247
+ - Clear guidelines on what to do/not do
248
+ - File paths for quick reference
249
+ - Strategy-based approach
250
+
251
+ ### For AI Agents
252
+ - Clear coding rules
253
+ - Specific restrictions
254
+ - Mandatory requirements
255
+ - File paths to reference
256
+ - No outdated examples to confuse
257
+
258
+ ### For Maintainers
259
+ - No code example maintenance
260
+ - Documentation stays valid
261
+ - Easy to update strategies
262
+ - Clear rules for new features
263
+
264
+ ## Next Steps
265
+
266
+ ### For New Documentation
267
+ 1. Use `DOCUMENTATION_TEMPLATE.md`
268
+ 2. Follow structure
269
+ 3. No code examples
270
+ 4. Strategy-focused
271
+ 5. File path references
272
+
273
+ ### For Existing Documentation
274
+ 1. Background tasks updating all READMEs
275
+ 2. Removing code examples
276
+ 3. Adding strategy/restrictions/rules
277
+ 4. Maintaining file references
278
+
279
+ ### For AI Coding
280
+ 1. Read `AI_AGENT_GUIDELINES.md`
281
+ 2. Check component STRATEGY.md files
282
+ 3. Follow restrictions and rules
283
+ 4. Reference implementation files
284
+ 5. Use existing components
285
+
286
+ ## Quality Assurance
287
+
288
+ ### Documentation Quality
289
+
290
+ - ✅ No code examples
291
+ - ✅ Clear file paths
292
+ - ✅ Strategy sections
293
+ - ✅ Restrictions with ❌ markers
294
+ - ✅ Rules with ✅ markers
295
+ - ✅ AI guidelines
296
+ - ✅ All in English
297
+ - ✅ Consistent format
298
+
299
+ ### Validation
300
+
301
+ Check each README has:
302
+ - Purpose section
303
+ - File path section
304
+ - Strategy section (3+ points)
305
+ - Restrictions section with subsections
306
+ - Rules section with subsections
307
+ - AI guidelines section
308
+ - Related components with file paths
309
+
310
+ ## Status
311
+
312
+ - ✅ Main README updated
313
+ - ✅ Template created
314
+ - ✅ AI guidelines created
315
+ - 🔄 Domain READMEs updating (background)
316
+ - 🔄 Component READMEs updating (background)
317
+ - 🔄 Remaining READMEs updating (background)
318
+
319
+ All documentation is being migrated to the new format systematically!
@@ -0,0 +1,155 @@
1
+ # Documentation Template
2
+
3
+ Standard template for all `@umituz/react-native-settings` documentation.
4
+
5
+ ## Structure
6
+
7
+ Each documentation file MUST include these sections:
8
+
9
+ 1. **Purpose** - What this component/module does
10
+ 2. **File Path** - Where to find the implementation
11
+ 3. **Imports** - What to import and from where
12
+ 4. **Strategy** - How to use it effectively
13
+ 5. **Restrictions** - What NOT to do (Forbidden)
14
+ 6. **Rules** - What MUST be followed
15
+ 7. **Related Components** - Related files and components
16
+
17
+ ## Example Template
18
+
19
+ ```markdown
20
+ # [Component/Module Name]
21
+
22
+ ## Purpose
23
+ [Brief description of what this does]
24
+
25
+ ## File Path
26
+ `src/path/to/file.tsx`
27
+
28
+ ## Imports
29
+ ```typescript
30
+ import { ComponentName } from '@umituz/react-native-settings';
31
+ // OR
32
+ import { ComponentName } from '../../path/to/file';
33
+ ```
34
+
35
+ ## Strategy
36
+ - [Strategic point 1]
37
+ - [Strategic point 2]
38
+ - [Best practices]
39
+
40
+ ## Restrictions (Forbidden)
41
+ - ❌ **DO NOT**: [What to avoid]
42
+ - ❌ **NEVER**: [Critical restrictions]
43
+ - ❌ **AVOID**: [Common mistakes]
44
+
45
+ ## Rules
46
+ - ✅ **ALWAYS**: [Mandatory requirements]
47
+ - ✅ **MUST**: [Critical rules]
48
+ - ✅ **SHOULD**: [Recommended practices]
49
+
50
+ ## Related Components
51
+ - **ComponentName**: Path/to/component
52
+ - **ModuleName**: Path/to/module
53
+
54
+ ## AI Agent Guidelines
55
+ When working with this component:
56
+ 1. [AI instruction 1]
57
+ 2. [AI instruction 2]
58
+ 3. [AI instruction 3]
59
+ ```
60
+
61
+ ## Philosophy
62
+
63
+ ### Why No Code Examples?
64
+
65
+ **Problem**: Code examples become outdated when implementation changes
66
+ **Solution**: Reference file paths that stay stable
67
+
68
+ ### Why Strategy/Restrictions/Rules?
69
+
70
+ **Strategy**: High-level approach and best practices
71
+ **Restrictions**: Clear anti-patterns to avoid
72
+ **Rules**: Mandatory requirements for consistency
73
+
74
+ ### Why AI-Friendly?
75
+
76
+ AI agents need:
77
+ - Clear guidelines on what to do/not do
78
+ - File paths to reference
79
+ - Rules to follow
80
+ - No outdated code examples to confuse them
81
+
82
+ ## Sections Explained
83
+
84
+ ### Purpose
85
+ Single sentence describing what the component does.
86
+
87
+ ### File Path
88
+ Exact path to the main implementation file.
89
+
90
+ ### Imports
91
+ Show import statements (these rarely change).
92
+
93
+ ### Strategy
94
+ High-level guidance:
95
+ - When to use this component
96
+ - How to integrate it
97
+ - Best practices
98
+ - Common patterns
99
+
100
+ ### Restrictions (Forbidden)
101
+ What NOT to do:
102
+ - ❌ Clear anti-patterns
103
+ - ❌ Common mistakes
104
+ - ❌ Performance issues to avoid
105
+ - ❌ Security concerns
106
+
107
+ ### Rules
108
+ What MUST be done:
109
+ - ✅ Mandatory requirements
110
+ - ✅ Consistency rules
111
+ - ✅ Error handling requirements
112
+ - ✅ TypeScript usage rules
113
+
114
+ ### Related Components
115
+ Cross-references to related files.
116
+
117
+ ### AI Agent Guidelines
118
+ Specific instructions for AI agents:
119
+ - How to generate code for this component
120
+ - What patterns to follow
121
+ - What to avoid
122
+
123
+ ## Usage Pattern
124
+
125
+ Instead of:
126
+
127
+ ```tsx
128
+ // BAD: Code example that becomes outdated
129
+ <SettingsItemCard icon="settings" title="Settings" />
130
+ ```
131
+
132
+ Use:
133
+
134
+ ```markdown
135
+ ## File Path
136
+ `src/presentation/components/SettingsItemCard/SettingsItemCard.tsx`
137
+
138
+ ## Strategy
139
+ Use SettingsItemCard for all settings list items. Reference the implementation file for current props and usage patterns.
140
+
141
+ ## Restrictions
142
+ - ❌ DO NOT create custom item cards - use SettingsItemCard
143
+ - ❌ NEVER inline settings logic - keep in separate components
144
+
145
+ ## Rules
146
+ - ✅ ALWAYS use SettingsItemCard from components
147
+ - ✅ MUST pass required props: icon, title
148
+ - ✅ SHOULD provide onPress handler for navigation
149
+ ```
150
+
151
+ This approach:
152
+ - Stays valid when code changes
153
+ - Provides clear guidance
154
+ - Easy to maintain
155
+ - AI-friendly
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ümit UZ
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.