Skip to content

docs: React UI (CLI & UI Framework docs)#25245

Open
EngincanV wants to merge 9 commits intorel-10.4from
EngincanV/modern-template-cli
Open

docs: React UI (CLI & UI Framework docs)#25245
EngincanV wants to merge 9 commits intorel-10.4from
EngincanV/modern-template-cli

Conversation

@EngincanV
Copy link
Copy Markdown
Member

@EngincanV EngincanV commented Apr 13, 2026

Documented the new --modern param to use the new templating system with React UI support.

@enisn You can wait for tests on ABP Studio & AdminConsole sides before merging this one.

@EngincanV EngincanV added this to the 10.4-preview milestone Apr 13, 2026
Normalize Markdown in several docs: corrected code fence markers, fixed mismatched/backticked bold items and list formatting, removed stray dashes and extra whitespace, and standardized image placeholders. Files updated: docs/en/cli/index.md (fix command list/backtick issues and trailing newlines), docs/en/framework/ui/mvc-razor-pages/overall.md (fix code fences, list markers, and image text), and docs/en/framework/ui/react-native/index.md (normalize code fences, image placeholders, CLI notes, ports/examples formatting, and a password escaping fix). These are formatting-only changes to improve consistency and rendering.
@EngincanV EngincanV changed the title docs: add --modern option and React UI support to CLI docs docs: React UI (CLI & UI Framework docs) Apr 13, 2026
…pers define which files should be included or excluded

Add an optional ExclusionFilters parameter (default: ExclusionFilters.Sensitive) to ReplaceEmbeddedByPhysical and forward it to the PhysicalFileProvider constructor when creating PhysicalVirtualFileSetInfo. This lets callers control which files are excluded when replacing embedded virtual file sets with physical directories.
…g developers define which files should be included or excluded"

This reverts commit 6c41530.
@EngincanV EngincanV changed the base branch from dev to rel-10.3 April 17, 2026 11:16
@EngincanV EngincanV changed the base branch from rel-10.3 to dev April 17, 2026 11:16
@EngincanV EngincanV requested a review from enisn April 17, 2026 11:16
@EngincanV EngincanV marked this pull request as ready for review April 17, 2026 11:20
Copilot AI review requested due to automatic review settings April 17, 2026 11:20
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds documentation for the new React UI (modern template system) and updates CLI/UI docs to describe the --modern workflow, including navigation updates so the new React docs are discoverable.

Changes:

  • Added a new React UI documentation page describing the modern React solution structure, Admin Console, and configuration.
  • Updated ABP CLI docs to document --modern and “modern template” options.
  • Updated UI docs navigation/index pages and adjusted Markdown formatting in a few existing UI docs.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
docs/en/framework/ui/react/index.md New React UI overview doc for modern templates (React app + Admin Console).
docs/en/framework/ui/react-native/index.md Markdown formatting changes; several screenshots were replaced with plain text placeholders (needs fixes).
docs/en/framework/ui/mvc-razor-pages/overall.md Markdown formatting changes; Basic Theme screenshot was replaced with plain text (needs fix).
docs/en/framework/ui/index.md Adds React to the UI options list and SEO description.
docs/en/docs-nav.json Adds React docs section to the left navigation.
docs/en/cli/index.md Documents --modern and modern template options; multiple Markdown rendering issues introduced (needs fixes).

{{ else }}

![react native microservice environment local IP](../../../images/react-native-environment-local-ip.png)
react native microservice environment local IP
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

This section appears to have lost the screenshot and now shows only placeholder text. Restore the Markdown image for the microservice environment example (docs/en/images/react-native-environment-local-ip.png).

Suggested change
react native microservice environment local IP
![React Native microservice environment local IP](../../../images/react-native-environment-local-ip.png)

Copilot uses AI. Check for mistakes.
2. Press **a** to open in Android Studio.

![React Native login screen on Android Device](../../../images/rn-login-android-studio.png)
React Native login screen on Android Device
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

The Android Studio login screenshot was replaced with plain text, which removes the image from the docs. Restore the Markdown image syntax referencing docs/en/images/rn-login-android-studio.png.

Suggested change
React Native login screen on Android Device
![React Native login screen on Android Device](docs/en/images/rn-login-android-studio.png)

Copilot uses AI. Check for mistakes.
Comment thread docs/en/cli/index.md
Comment on lines +39 to +53
- `**[help](../cli#help)`**: Shows help on the usage of the ABP CLI.
- `**[cli](../cli#cli)`**: Update or remove ABP CLI.
- `**[new](../cli#new)**`: Generates a new solution based on the ABP [startup templates](../solution-templates/index.md). Use `--modern` to create solutions with the modern template system (React UI).
- `**[new-module](../cli#new-module)**`: Generates a new module based on the given template. Use `--modern` to use modern module templates.
- `**[new-package](../cli#new-package)**`: Generates a new package based on the given template.
- `**[update](../cli#update)**`: Automatically updates all ABP related NuGet and NPM packages in a solution.
- `**[clean](../cli#clean)**`: Deletes all `BIN` and `OBJ` folders in the current folder.
- `**[add-package](../cli#add-package)**`: Adds an ABP package to a project.
- `**[add-package-ref](../cli#add-package-ref)**`: Adds package to given project.
- `**[install-module](../cli#install-module)**`: Adds a [multi-package application module](../modules/index.md) to a given module.
- `**[install-local-module](../cli#install-local-module)**`: Installs a local module to given module.
- `**[list-modules](../cli#list-modules)**`: Lists names of application modules.
- `**[list-templates](../cli#list-templates)**`: Lists the names of available templates to create a solution.
- `**[get-source](../cli#get-source)**`: Downloads the source code of a module.
- `**[add-source-code](../cli#add-source-code)**`: Downloads the source code and replaces package references with project references.
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

The command list items are wrapped in backticks with mismatched bold markers (e.g., **[help](../cli#help)**). This breaks Markdown rendering and link formatting; use normal Markdown links (optionally bolded) without surrounding backticks and ensure the ** pairs are balanced.

Suggested change
- `**[help](../cli#help)`**: Shows help on the usage of the ABP CLI.
- `**[cli](../cli#cli)`**: Update or remove ABP CLI.
- `**[new](../cli#new)**`: Generates a new solution based on the ABP [startup templates](../solution-templates/index.md). Use `--modern` to create solutions with the modern template system (React UI).
- `**[new-module](../cli#new-module)**`: Generates a new module based on the given template. Use `--modern` to use modern module templates.
- `**[new-package](../cli#new-package)**`: Generates a new package based on the given template.
- `**[update](../cli#update)**`: Automatically updates all ABP related NuGet and NPM packages in a solution.
- `**[clean](../cli#clean)**`: Deletes all `BIN` and `OBJ` folders in the current folder.
- `**[add-package](../cli#add-package)**`: Adds an ABP package to a project.
- `**[add-package-ref](../cli#add-package-ref)**`: Adds package to given project.
- `**[install-module](../cli#install-module)**`: Adds a [multi-package application module](../modules/index.md) to a given module.
- `**[install-local-module](../cli#install-local-module)**`: Installs a local module to given module.
- `**[list-modules](../cli#list-modules)**`: Lists names of application modules.
- `**[list-templates](../cli#list-templates)**`: Lists the names of available templates to create a solution.
- `**[get-source](../cli#get-source)**`: Downloads the source code of a module.
- `**[add-source-code](../cli#add-source-code)**`: Downloads the source code and replaces package references with project references.
- **[help](../cli#help)**: Shows help on the usage of the ABP CLI.
- **[cli](../cli#cli)**: Update or remove ABP CLI.
- **[new](../cli#new)**: Generates a new solution based on the ABP [startup templates](../solution-templates/index.md). Use `--modern` to create solutions with the modern template system (React UI).
- **[new-module](../cli#new-module)**: Generates a new module based on the given template. Use `--modern` to use modern module templates.
- **[new-package](../cli#new-package)**: Generates a new package based on the given template.
- **[update](../cli#update)**: Automatically updates all ABP related NuGet and NPM packages in a solution.
- **[clean](../cli#clean)**: Deletes all `BIN` and `OBJ` folders in the current folder.
- **[add-package](../cli#add-package)**: Adds an ABP package to a project.
- **[add-package-ref](../cli#add-package-ref)**: Adds package to given project.
- **[install-module](../cli#install-module)**: Adds a [multi-package application module](../modules/index.md) to a given module.
- **[install-local-module](../cli#install-local-module)**: Installs a local module to given module.
- **[list-modules](../cli#list-modules)**: Lists names of application modules.
- **[list-templates](../cli#list-templates)**: Lists the names of available templates to create a solution.
- **[get-source](../cli#get-source)**: Downloads the source code of a module.
- **[add-source-code](../cli#add-source-code)**: Downloads the source code and replaces package references with project references.

Copilot uses AI. Check for mistakes.
{{ if Architecture == "Monolith" }}

![react native monolith environment local IP](../../../images/react-native-monolith-environment-local-ip.png)
react native monolith environment local IP
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

This section appears to have lost the screenshot and now shows only placeholder text. Restore the Markdown image for the monolith environment example (the image file exists under docs/en/images/react-native-monolith-environment-local-ip.png).

Suggested change
react native monolith environment local IP
![React Native monolith environment local IP](../../../images/react-native-monolith-environment-local-ip.png)

Copilot uses AI. Check for mistakes.
The ABP platform provides a basic [React Native](https://reactnative.dev/) startup template to develop mobile applications **integrated with your ABP-based backends**.

![React Native gif](../../../images/react-native-introduction.gif)
React Native gif
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

The React Native intro image was replaced with plain text ('React Native gif'), so the image no longer shows. The referenced file exists at docs/en/images/react-native-introduction.gif; restore the Markdown image syntax.

Suggested change
React Native gif
![React Native gif](../../../images/react-native-introduction.gif)

Copilot uses AI. Check for mistakes.
Comment thread docs/en/cli/index.md
Comment on lines +141 to +144
- `--template` or `-t`: Specifies the template name. Default template name is `app`, which generates a application solution. Available templates:
- `**empty`**: Empty solution template.
- `**app*`*: Application template. Additional options:
- `--ui-framework` or `-u`: Specifies the UI framework. Default framework is `mvc`. Available frameworks:
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

The template list under --template has broken emphasis/code formatting (e.g. **empty**, **app**). This is invalid Markdown and will render oddly; consider using plain list items like - **app**: ... (or - app: ...) consistently.

Copilot uses AI. Check for mistakes.
Comment thread docs/en/cli/index.md
- `--dont-run-install-libs`: Skip installing client side packages.
- `--dont-run-bundling`: Skip bundling for Blazor packages.
- `--no-kubernetes-configuration` or `-nkc`: Skips the Kubernetes configuration files.
- `--no-social-logins` or `-nsl`: Skipts the social login configuration.
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

Typo: "Skipts" should be "Skips".

Suggested change
- `--no-social-logins` or `-nsl`: Skipts the social login configuration.
- `--no-social-logins` or `-nsl`: Skips the social login configuration.

Copilot uses AI. Check for mistakes.
Comment thread docs/en/cli/index.md
```

![Razor Page](./../images/abp-generate-razor-page.png)
Razor Page
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

The screenshot Markdown image for the generated Razor Page output was replaced with plain text ('Razor Page'), which removes the image from the docs. Since the image file exists (docs/en/images/abp-generate-razor-page.png), restore the ![...](...) image syntax here.

Suggested change
Razor Page
![Razor Page](../images/abp-generate-razor-page.png)

Copilot uses AI. Check for mistakes.
The themes provide the standard layouts. So, you have responsive layouts with the standard features already implemented. The screenshot below has taken from the Application Layout of the [Basic Theme](basic-theme.md):

![basic-theme-application-layout](../../../images/basic-theme-account-layout.png)
basic-theme-application-layout
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

The Basic Theme layout screenshot was replaced with plain text ('basic-theme-application-layout'), so the image no longer renders. Other UI docs still use the image at docs/en/images/basic-theme-application-layout.png; restore the Markdown image syntax here for consistency.

Suggested change
basic-theme-application-layout
![Basic Theme application layout](../../../images/basic-theme-application-layout.png)

Copilot uses AI. Check for mistakes.
Comment thread docs/en/cli/index.md
```

5. Finally, run the `generate-razor-page` command under the `Views` folder:
1. Finally, run the `generate-razor-page` command under the `Views` folder:
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

This numbered list continues from steps 1-4 above, but this line restarts at 1. ('Finally...'). Update the numbering so it continues the sequence (e.g., step 5) or restructure the list to keep numbering consistent.

Suggested change
1. Finally, run the `generate-razor-page` command under the `Views` folder:
5. Finally, run the `generate-razor-page` command under the `Views` folder:

Copilot uses AI. Check for mistakes.
@skoc10 skoc10 changed the base branch from dev to rel-10.4 April 28, 2026 08:38
@skoc10 skoc10 modified the milestones: 10.4-preview, 10.4-final Apr 28, 2026
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.

3 participants