My purpose is to use the RouterTabs blazor component in every page's layout (so that the pages appear in tabs). As you can see from the sample, what I've done works for all the pages except for the Account ones that are MVC. What do you suggest I do? RouterTabs cannot be used inside the .cshtml layout.
Yes i have overriden the Side Layout in both Blazor Server and WASM but also in App.razor the render mode was always set to InteractiveServer. The issue still persists.
I'm not sure the AI answer makes sense.
Context: I am developing a Blazor Web App using the LeptonX theme. Following the ABP documentation, I have successfully overridden the SideMenuLayout by creating a custom layout (CustomSideMenuLayout) as described here.
Issue: Pages coming from the Account.Pro module (e.g., Security Logs, Sessions, External logins etc.) do not use my CustomSideMenuLayout.
Things I have investigated: Those pages call IThemeManager.CurrentTheme.GetApplicationLayout(), which returns the type SideMenuLayout of LeptonX. Instead of asking the service provider to resolve that type and obtain my overriden layout, they use that type.
Expected Behavior: All Blazor pages—including those provided by Account.Pro should use the overridden SideMenuLayout (CustomSideMenuLayout).
I understand that overriding the login page in the theme is a workaround of this issue. The question is: Is there another workaround that does not override the theme? Also, is this considered a bug of the theme that we should expect to be fixed in the future?
Context: I am developing a Blazor Web App using the LeptonX theme, and I’m implementing a different branding logo for each tenant. To achieve this, I overrode the DefaultBrandingProvider class and overrode the LogoUrl property.
Issue: After I overrode the LogoUrl property, two issues appeared on the login page:
Expected Behavior:
[Dependency(ReplaceServices = true)]
public class AbpTabsBrandingProvider : DefaultBrandingProvider
{
private IStringLocalizer<AbpTabsResource> _localizer;
public AbpTabsBrandingProvider(IStringLocalizer<AbpTabsResource> localizer)
{
_localizer = localizer;
}
public override string AppName => "AbpTest";
public override string LogoUrl => "/images/logo/leptonx/icon.svg";
}
Thank you very much for the layout. I see now that some services need hooks in the layout to work. I would suggest a note in the documentation of those services mentioning the necessary setup in case a theme is not used or is being customized.
Are you saying that it is necessary to have a theme for a minimal ABP application to work? I thought ABP was meant to be modular in the sense that you only installed what you needed and the installed modules did the setup for whatever dependency they needed.
Also, the services that I mentioned were not working (the block service and the notification service) are just those I've noticed. Is there another service from the initial packages (and their dependencies) that might not work even if I use a theme?
I sent a project. You can switch between the commented lines for different results of the test. Without the BlazorStandardBundles, calling IBlockUiService and IUiNotificationService produces exceptions. With the BlazorStandardBundles, IBlockUiService works correctly, but IUiNotificationService does nothing.
private void ConfigureBundles()
{
//Create the global bundle
Configure<AbpBundlingOptions>(options =>
{
options.StyleBundles
.Add("MyGlobalBundle");
//options.StyleBundles
// .Add("MyGlobalBundle", config =>
// {
// config.AddBaseBundles(BlazorStandardBundles.Styles.Global);
// });
options.ScriptBundles
.Add("MyGlobalBundle");
//options.ScriptBundles
// .Add("MyGlobalBundle", config =>
// {
// config.AddBaseBundles(BlazorStandardBundles.Scripts.Global);
// });
});
}