feat: add logo image and RTL support styles
- Added logo image to assets. - Implemented RTL support styles in rtlSupport.scss for various components including breadcrumb, datatable, and tree node toggle button. chore: configure environment files for production, staging, and development - Created environment.prod.ts for production settings. - Created environment.staging.ts for staging settings. - Created environment.ts for local development settings. feat: define custom theme preset - Added presets.ts to define a custom theme preset using PrimeUIX with specific component styles and semantic colors. chore: set up proxy configuration for local development
This commit is contained in:
+70
-10
@@ -1,16 +1,76 @@
|
||||
import { provideHttpClient, withFetch } from '@angular/common/http';
|
||||
import { ApplicationConfig } from '@angular/core';
|
||||
import {
|
||||
ApiBaseUrlInterceptor,
|
||||
authInterceptor,
|
||||
dedupInterceptor,
|
||||
errorInterceptor,
|
||||
loggingInterceptor,
|
||||
} from '@/core/interceptors';
|
||||
import {
|
||||
HTTP_INTERCEPTORS,
|
||||
provideHttpClient,
|
||||
withFetch,
|
||||
withInterceptors,
|
||||
withInterceptorsFromDi,
|
||||
} from '@angular/common/http';
|
||||
import { ApplicationConfig, provideZonelessChangeDetection } from '@angular/core';
|
||||
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
|
||||
import { provideRouter, withEnabledBlockingInitialNavigation, withInMemoryScrolling } from '@angular/router';
|
||||
import Aura from '@primeuix/themes/aura';
|
||||
import {
|
||||
provideRouter,
|
||||
withEnabledBlockingInitialNavigation,
|
||||
withInMemoryScrolling,
|
||||
} from '@angular/router';
|
||||
// Use the consolidated preset that includes our custom variables
|
||||
import { MessageService } from 'primeng/api';
|
||||
import { providePrimeNG } from 'primeng/config';
|
||||
import { appRoutes } from './app.routes';
|
||||
import MyPreset from './presets';
|
||||
|
||||
export const appConfig: ApplicationConfig = {
|
||||
providers: [
|
||||
provideRouter(appRoutes, withInMemoryScrolling({ anchorScrolling: 'enabled', scrollPositionRestoration: 'enabled' }), withEnabledBlockingInitialNavigation()),
|
||||
provideHttpClient(withFetch()),
|
||||
provideAnimationsAsync(),
|
||||
providePrimeNG({ theme: { preset: Aura, options: { darkModeSelector: '.app-dark' } } })
|
||||
]
|
||||
providers: [
|
||||
provideRouter(
|
||||
appRoutes,
|
||||
withInMemoryScrolling({
|
||||
anchorScrolling: 'enabled',
|
||||
scrollPositionRestoration: 'enabled',
|
||||
}),
|
||||
withEnabledBlockingInitialNavigation(),
|
||||
),
|
||||
provideZonelessChangeDetection(),
|
||||
// configure HttpClient once: enable fetch and register both functional
|
||||
// interceptors and legacy (DI-provided) class-based interceptors
|
||||
provideAnimationsAsync(),
|
||||
// ensure PrimeNG uses our preset (applies css variables at app initialization)
|
||||
providePrimeNG({
|
||||
theme: {
|
||||
preset: MyPreset,
|
||||
options: { darkModeSelector: '.app-dark' },
|
||||
},
|
||||
translation: {
|
||||
emptySelectionMessage: 'هیچ موردی انتخاب نشده است',
|
||||
emptyMessage: 'هیچ دادهای برای نمایش وجود ندارد',
|
||||
emptyFilterMessage: 'هیچ موردی برای نمایش وجود ندارد',
|
||||
emptySearchMessage: 'هیچ موردی برای نمایش وجود ندارد',
|
||||
accept: 'تایید',
|
||||
reject: 'رد کردن',
|
||||
cancel: 'لغو',
|
||||
noFileChosenMessage: 'هیچ فایلی انتخاب نشده است',
|
||||
fileChosenMessage: 'انتخاب فایل',
|
||||
selectionMessage: '{0} مورد انتخاب شده است',
|
||||
},
|
||||
}),
|
||||
|
||||
{
|
||||
provide: HTTP_INTERCEPTORS,
|
||||
useClass: ApiBaseUrlInterceptor,
|
||||
multi: true,
|
||||
},
|
||||
|
||||
MessageService,
|
||||
|
||||
provideHttpClient(
|
||||
withFetch(),
|
||||
withInterceptors([loggingInterceptor, authInterceptor, errorInterceptor, dedupInterceptor]),
|
||||
withInterceptorsFromDi(),
|
||||
),
|
||||
],
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user