Skip to content

React native tutorial update #25444

Merged
sumeyyeKurtulus merged 7 commits into
devfrom
react-native-tutorial-update
May 22, 2026
Merged

React native tutorial update #25444
sumeyyeKurtulus merged 7 commits into
devfrom
react-native-tutorial-update

Conversation

@fahrigedik

Copy link
Copy Markdown
Member

Description

Resolves https://github.com/volosoft/vs-internal/issues/8532 (write the related issue number if available)

Checklist

  • I fully tested it as developer / designer and created unit / integration tests
  • I documented it (or no need to document or I will create a separate documentation issue)

fahrigedik and others added 3 commits May 15, 2026 12:17
The old tutorial was built around connectToRedux + Paper + DrawerNavigator
plus a DataList and AbpSelect that no longer ship with the template (PRs
#4635 and #4679 in volosoft/abp-studio cleared and re-themed the React
Native template). The whole document is rewritten so each code block
matches the bookstore-react-native-mongodb sample one-to-one.

Major changes from the previous version:
- Replaces 'add to DrawerNavigator' with 'add to BottomTabNavigator' (the new
  default navigation_type).
- Walks through building NativeWind-based DataList and AbpSelect components
  before using them in the screens.
- Drops connectToRedux / createAppConfigSelector() in favor of useDispatch +
  useSelector(appConfigSelector).
- Keeps Paper TextInput only (the only Paper component the template still
  uses); everything else is Pressable + className.
- Backend setup is intentionally short (endpoint + permission summary +
  pointer to the Web Application Tutorial) - the focus is the RN side.
- Existing screenshot file paths kept with a TODO marker so they can be
  refreshed once the new UI is captured.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the seven Paper-era TODO placeholders with fresh -new.png captures
from the modernized template (BottomTab + NativeWind). Drops the
'book-list-with-author' shot since the author column is already visible in
'book-list-new.png'.

Captures: book-store-menu-item-new, book-list-new, create-book-new,
update-book-new, delete-book-alert-new, create-author-new,
authors-in-book-form-new.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@github-actions

github-actions Bot commented May 15, 2026

Copy link
Copy Markdown
Contributor

Docs syntax check passed

The previously reported issues are no longer present in this PR.

@github-actions

Copy link
Copy Markdown
Contributor

Images automagically compressed by Calibre's image-actions

Compression reduced images by 78.5%, saving 1.2 MB.

Filename Before After Improvement Visual comparison
docs/en/images/delete-book-alert-new.png 296.3 KB 80.9 KB 72.7% View diff
docs/en/images/book-store-menu-item-new.png 229.1 KB 41.4 KB 81.9% View diff
docs/en/images/book-list-new.png 228.5 KB 42.4 KB 81.4% View diff
docs/en/images/update-book-new.png 222.1 KB 50.7 KB 77.2% View diff
docs/en/images/create-book-new.png 201.5 KB 42.9 KB 78.7% View diff
docs/en/images/authors-in-book-form-new.png 181.6 KB 33.6 KB 81.5% View diff
docs/en/images/create-author-new.png 185.5 KB 40.3 KB 78.3% View diff

fahrigedik and others added 3 commits May 15, 2026 14:55
Scriban treats `{{ ... }}` inside markdown as a template expression and
chokes on the comma inside JSX style props (e.g.
`contentContainerStyle={{ flexGrow: 1, paddingBottom: 96 }}`).

Wraps every literal JSX `{{ ... }}` occurrence with the
`{%{{{ ... }}}%}` escape used elsewhere in the docs, covering the 13 sites
spread across the DataList, AbpSelect, BookStoreNavigator,
BottomTabNavigator and CreateUpdateBookForm code blocks. Pure docs change,
no semantic effect on the rendered tutorial.

Reported by the markdown linter:
  index.md:161:43: error: [ScribanParseError] Invalid token found `,`.
Previous Scriban-escape pass only matched single-line `{{ ... }}` blocks
and missed the two multi-line ones in BookStoreNavigator and
BottomTabNavigator (the Stack.Screen / Tab.Screen `options={{ ... }}`
props). Linter still failed on docs/en/tutorials/mobile/react-native/index.md#L363.

Wraps both multi-line objects with the same `{%{{{ ... }}}%}` escape, taking
the total escape count to 15/15 balanced and leaving no naked JSX
double-braces in the file.
@sumeyyeKurtulus sumeyyeKurtulus merged commit ca30a4e into dev May 22, 2026
3 checks passed
@sumeyyeKurtulus sumeyyeKurtulus deleted the react-native-tutorial-update branch May 22, 2026 11:10
@EngincanV

Copy link
Copy Markdown
Member

@fahrigedik Should we cherry-pick this to rel-10.4?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants