Hello again, thank you for providing extra details.
I have tried with the old cli as you have also did and encountered the problems you mentioned. We will be fixing them for the next cli release. Hence, we recommend you to use the new studio cli https://abp.io/docs/latest/studio since it provides more stable features compared to the old one.
If you want to solve the problems manually you will need to make these configurations, or I can send you a sample as well.
// app.config.ts
// ...
import { provideThemeLeptonX } from '@volosoft/abp.ng.theme.lepton-x';
import { provideSideMenuLayout } from '@volosoft/abp.ng.theme.lepton-x/layouts';
providers: [
	// remove this part
	// importProvidersFrom([
	//	ThemeLeptonxModule.forRoot(),
	//	SideMenuLayoutModule.forRoot()
	//])
	
	// use this intead
	  provideThemeLeptonX(),
    provideSideMenuLayout(),
]
// tsconfig.json
// ...
 "paths": {
      "@angular/*": ["node_modules/@angular/*"],
      "@abp/*": ["node_modules/@abp/*"],
      "@volo/*": ["node_modules/@volo/*"],
      "@volosoft/*": ["node_modules/@volosoft/*"],
      "@swimlane/*": ["node_modules/@swimlane/*"],
      "@ngx-validate/core": ["node_modules/@ngx-validate/core"],
      "@ng-bootstrap/ng-bootstrap": ["node_modules/@ng-bootstrap/ng-bootstrap"]
 },
On the contrary, if you still prefer using the application builder instead, you can remove the relative paths in tsconfig.json as a temporary workaround until we fix the problems.
You will also need to replace registerLocale with registerLocaleForEsBuild function here in this case.
// app.config.ts
provideAbpCore(
      withOptions({
        environment,
        registerLocaleFn: registerLocaleForEsBuild(),
      })
),
                        Thank you for your clarification.
The reason you see a difference between MVC and Angular is due to the authorization flow being used:
/Account/ConfirmUser page (server-side redirect)./api/account/send-email-confirmation-token and show a confirmation screen)./Account/ConfirmUser out of the box.In short:
Here’s a reference explaining the difference between Code Flow and Password Flow in OAuth 2.0:
Sure, that would be the best if you could provide a minimal example through my e-mail address: sumeyye.kurtulus@volosoft.com.
Hello,
In ABP, two-factor authentication (2FA) is an optional security feature that must be enabled per user. When enabled, after the username and password are verified, the backend does not immediately log the user in. Instead, it responds with a "RequiresTwoFactor" error along with the userId and twoFactorToken. The frontend must then guide the user through the “send security code” and “verify security code” steps to complete login. You can refer to this document: https://abp.io/docs/latest/modules/identity/two-factor-authentication
Normally, 2FA depends on the user having a confirmed email address or phone number, because the second factor is delivered through those channels (or via an authenticator app tied to a confirmed identity).
Could you please clarify:
Thank you for your cooperation.
Could you please specify the cli version you use for creating the project?
Hello Marc,
I am glad to hear you were able to download the example project without any issues. Please feel free to take the time you need to review it — I will be happy to receive your feedback whenever it is convenient for you.
Regarding the Navbar problem, it could indeed be resolved by aligning the implementation with the example. If not, please open another ticket, and we will look into it further.
Thank you for the update, and I look forward to your thoughts once you have had a chance to explore the project.
Hello again,
Thank you for your patience and cooperation. We will be fixing this problem in the next patch version.
You can follow the process here: https://github.com/abpframework/abp/issues/23610, https://github.com/abpframework/abp/releases
Until then, I can suggest you to modify this file temporarily
// node_modules/@abp/ng.schematics/utils/model.js
exports.resolveAbpPackages = resolveAbpPackages;
function renamePropForTenant(interfaces) {
    for (const inters of interfaces) {
        for (const prop of inters.properties) {
            const isTenant = prop.name.toLocaleLowerCase().includes(constants_1.TENANT_KEY);
            const isSaasDto = prop.refs.filter(f => f.startsWith(constants_1.SAAS_NAMESPACE)).length > 0;
            // you need to add `!prop.type.startsWith('Saas')` to avoid duplication
            if (isTenant && isSaasDto && !prop.type.startsWith('Saas')) {
                prop.type = 'Saas' + prop.type;
            }
        }
    }
}
I am also processing a refund for your ticket.
Hello,
You can refer to this up-to-date documentation for custom layout usage for lepton-x components: https://abp.io/docs/latest/ui-themes/lepton-x/how-to-use-lepton-x-components-with-angular-custom-layout
Other than that I can replace the navbar and footer using this technique as it was the same in the previous versions:
export class AppComponent {
  replacableComponent = inject(ReplaceableComponentsService);
  constructor() {
    this.replacableComponent.add({
      key: eThemeLeptonXComponents.Navbar,
      component: MyNavbar,
    });
    this.replacableComponent.add({
      key: eThemeLeptonXComponents.Footer,
      component: MyFooter,
    });
  }
}
If you think that your problem is something else, I can assist you further.
Hello,
You will need to eliminate manual route configuration by automatically generating both application routes and sidebar navigation based on your data.
The structure actually works like this
(app.routes.ts)
(route.provider.ts)
I am sending a sample project for you to provide a better guidance: https://drive.google.com/file/d/1dSL9Aqm17E35LKPn-KxVDS0RZpF_n6IR/view?usp=drive_link
Here in this project:
RouteManagerService handles sidebar updatesExampleService manages data and route generationRouteDemoComponent provides visual testing interfaceYou can let us know if you need further assistance. Thank you for your cooperation.
We will be adding full support for this builder in the next version. Please keep in mind that Angular may have compatibility issues with the latest updates compared to our packages.
In the meantime, we are also reviewing related packages that could introduce problems in upcoming patch releases, so fixes may be applied before the next major version. You can track our progress here: https://github.com/abpframework/abp/issues/23608 https://github.com/abpframework/abp/releases