|
| 1 | +## Summary |
| 2 | + |
| 3 | +<!-- Briefly describe what this PR does and why --> |
| 4 | + |
| 5 | +## Type of Change |
| 6 | + |
| 7 | +- [ ] Bug fix (non-breaking change that fixes an issue) |
| 8 | +- [ ] New feature (non-breaking change that adds functionality) |
| 9 | +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) |
| 10 | +- [ ] Refactor (code change that neither fixes a bug nor adds a feature) |
| 11 | +- [ ] Chore (build process, CI, dependency updates, etc.) |
| 12 | + |
| 13 | +## Screenshots / Screen Recordings |
| 14 | + |
| 15 | +<!-- Mandatory for any UI change. Remove sections that don't apply. --> |
| 16 | + |
| 17 | +### Android |
| 18 | + |
| 19 | +| Before | After | |
| 20 | +|--------|-------| |
| 21 | +| | | |
| 22 | + |
| 23 | +### iOS |
| 24 | + |
| 25 | +| Before | After | |
| 26 | +|--------|-------| |
| 27 | +| | | |
| 28 | + |
| 29 | +## Checklist |
| 30 | + |
| 31 | +### General |
| 32 | + |
| 33 | +- [ ] My code follows the project's coding style and conventions |
| 34 | +- [ ] I have performed a self-review of my code |
| 35 | +- [ ] I have added/updated comments where the logic isn't self-evident |
| 36 | +- [ ] My changes generate no new warnings or errors |
| 37 | + |
| 38 | +### Testing |
| 39 | + |
| 40 | +- [ ] I have tested on **Android** (physical device or emulator) |
| 41 | +- [ ] I have tested on **iOS** (physical device or simulator) |
| 42 | +- [ ] I have tested in **light mode** and **dark mode** |
| 43 | +- [ ] Existing tests pass locally (`npm test`) |
| 44 | +- [ ] I have added tests that prove my fix is effective or my feature works |
| 45 | + |
| 46 | +### React Native Specific |
| 47 | + |
| 48 | +- [ ] No new native module without corresponding platform implementation (Android + iOS) |
| 49 | +- [ ] New native modules are added to the Xcode project build target (`project.pbxproj`) |
| 50 | +- [ ] No hardcoded pixel values — uses `SPACING` / `TYPOGRAPHY` constants from the theme |
| 51 | +- [ ] Styles use `useThemedStyles` pattern (not inline or static `StyleSheet.create`) |
| 52 | +- [ ] Animations/gestures work smoothly on both platforms |
| 53 | +- [ ] Large lists use `FlatList` / `FlashList` (not `.map()` inside `ScrollView`) |
| 54 | +- [ ] No unnecessary re-renders introduced (check with React DevTools Profiler if unsure) |
| 55 | + |
| 56 | +### Performance & Models |
| 57 | + |
| 58 | +- [ ] Downloads / long-running tasks report progress to the UI |
| 59 | +- [ ] File paths are resolved correctly on both platforms (no hardcoded `/` vs `\\`) |
| 60 | +- [ ] Large files (models, assets) are not committed to the repository |
| 61 | + |
| 62 | +### Security |
| 63 | + |
| 64 | +- [ ] No secrets, API keys, or credentials are included in the code |
| 65 | +- [ ] User input is validated/sanitized where applicable |
| 66 | + |
| 67 | +## Related Issues |
| 68 | + |
| 69 | +<!-- Link any related issues: Fixes #123, Relates to #456 --> |
| 70 | + |
| 71 | +## Additional Notes |
| 72 | + |
| 73 | +<!-- Any context, trade-offs, or follow-up work worth mentioning --> |
0 commit comments