Activities of "sumeyye.kurtulus"

Hello,

The latest version of the ABP templates are migrated to use the standalone structure as explained here in this guide https://abp.io/docs/9.3/release-info/migration-guides/abp-9-3#angular-ui-migrating-npm-packages-to-standalone-structure If you do not want to switch, you can add standalone: false flag for your default structure. However, newly generated projects will be standalone.

Alternatively, we have added a provider for the logo. https://github.com/abpframework/abp/pull/23111 It basically uses the configuration provided in the environment

const baseUrl = 'http://localhost:4200';
export const environment = {
	//...
  application: {
    baseUrl,
    name: 'MyProjectName', //changes the display name
    logoUrl: '', //sets the icon url
  },
  //...
} as Environment;

You can let us know if you need further assistance. Thank you for your cooperation.

Thank you for the response. I am happy to hear that your problem has been solved. Is there anything I could assist besides?

Hello,

We will be releasing some fixes for the ngx-datatable lbrary related problems in the upcoming patch release. If you think that your overrides are different, you can send a minimal producible example to this e-mail address: sumeyye.kurtulus@volosoft.com and I would be able to assist yo further.

Thank you for your cooperation.

Hello,

I have tested the lepton theme to produce this. Here is my finding:

  • If styles.css is present, your injected styles go before it.
  • If not, your injected styles go at the end of <head>.
  • The sequence determines which styles take precedence (last loaded usually wins in CSS).

This logic ensures your custom styles are positioned relative to the main stylesheet, affecting which styles are applied or overridden.

You can also see it in the source code:

//theme-lepton/src/lib/providers/styles.provider.ts
export function injectStyle(injector: Injector) {
  const rendererFactory = injector.get(RendererFactory2);
  const domInsertion = injector.get(DomInsertionService);

  rendererFactory
    .createRenderer(document.body, null)
    .addClass(document.body, 'abp-application-layout');

  const appStyles: HTMLElement = document.querySelector('link[rel="stylesheet"][href*="styles"]');
  let content: StyleContentStrategy;
  if (appStyles) {
    const domStrategy = DOM_STRATEGY.BeforeElement(appStyles);
    content = new StyleContentStrategy(styles, domStrategy, undefined, {
      id: LEPTON_STYLE_ELEMENT_ID,
    });
  } else {
    content = CONTENT_STRATEGY.AppendStyleToHead(styles, { id: LEPTON_STYLE_ELEMENT_ID });
  }

  domInsertion.insertContent(content);
}

If you think that your version does not rely on this configuration, you can create a separate ticket and I can assist further in the thread. Thank you for your cooperation.

Your problem may not be related to this since it is already loaded at the end

If you have replaced some components in the related part, this may cause this problem. You can follow this guide. https://abp.io/docs/latest/framework/ui/angular/component-replacement

Angular ui extensions may also cause this if you missed a point here https://abp.io/docs/latest/framework/ui/angular/extensions-overall

If this is not the case, I can assist you further based on the details you could give since it is not producible on a generated app.

Hello again, This problem will be solved within the next patch releases. You can follow the process here https://github.com/abpframework/abp/releases I am also processing a refund for your ticket.

Hello, I have tried to produce the problem using the specific 9.0.3 version. However, I did not encounter the same problem. Could you clarify whether you have added a customization or make changes in your template to impact this part? You can also send a minimal reproducible example to this e-mail address if you prefer: sumeyye.kurtulus@volosoft.com.

Hello, We will be looking into this issue and get back to you soon. Thank you for your cooperation.

Hi,

I didn't really get an answer for this topic before it was auto-closed. Could you have another look into this, or give me some feedback on what the right approach would be on providing global styling, that can override LeptonX Themes?

Kind Regards, Marc

Hello Marc,

The questions are automatically closed when we do not get interaction. Seeing that, we will be managing this issue internally. You can follow the process here https://github.com/abpframework/abp/releases

Until we publish the fix, you can extend the default service to override the related function.

import { DOCUMENT, inject, Injectable } from '@angular/core';
import { LPX_STYLE_FINAL, LpxStyle, StyleService } from '@volo/ngx-lepton-x.core';
@Injectable({
  providedIn: 'root',
})
export class MyStyleService extends StyleService {
  private myDocument = inject<Document>(DOCUMENT);

  constructor() {
    super(inject(LPX_STYLE_FINAL), inject(DOCUMENT));
  }

  override loadStyle(style: LpxStyle, direction: 'ltr' | 'rtl'): Promise<HTMLStyleElement | void> {
    return new Promise(resolve => {
      const linkElement = this.createLinkElem(style, direction, resolve);
      const styleLinks = Array.from(
        this.myDocument.head.querySelectorAll('link[rel="stylesheet"]')
      );
      const firstStyleLink = styleLinks[0];

      if (firstStyleLink) {
        firstStyleLink.insertAdjacentElement('beforebegin', linkElement);
      } else {
        this.myDocument.head.appendChild(linkElement);
      }

      this.lastInjectedStyle = linkElement;
      resolve(linkElement);
    });
  }
}

Then, in your app.config.ts

export const appConfig: ApplicationConfig = {
  providers: [
    // ...
    {
      provide: StyleService,
      useClass: MyStyleService,
    },
  ],
};

You can let us know if you need further assistance. Thank you for your cooperation.

Showing 41 to 50 of 460 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on November 04, 2025, 06:41