49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
import {
|
|
ApplicationConfig,
|
|
provideBrowserGlobalErrorListeners,
|
|
isDevMode
|
|
} from '@angular/core';
|
|
import { provideRouter } from '@angular/router';
|
|
import { provideHttpClient } from '@angular/common/http';
|
|
import { provideStore } from '@ngrx/store';
|
|
import { provideEffects } from '@ngrx/effects';
|
|
import { provideStoreDevtools } from '@ngrx/store-devtools';
|
|
|
|
import { routes } from './app.routes';
|
|
import { messagesReducer } from './store/messages/messages.reducer';
|
|
import { usersReducer } from './store/users/users.reducer';
|
|
import { roomsReducer } from './store/rooms/rooms.reducer';
|
|
import { MessagesEffects } from './store/messages/messages.effects';
|
|
import { MessagesSyncEffects } from './store/messages/messages-sync.effects';
|
|
import { UsersEffects } from './store/users/users.effects';
|
|
import { RoomsEffects } from './store/rooms/rooms.effects';
|
|
import { RoomMembersSyncEffects } from './store/rooms/room-members-sync.effects';
|
|
import { STORE_DEVTOOLS_MAX_AGE } from './core/constants';
|
|
|
|
/** Root application configuration providing routing, HTTP, NgRx store, and devtools. */
|
|
export const appConfig: ApplicationConfig = {
|
|
providers: [
|
|
provideBrowserGlobalErrorListeners(),
|
|
provideRouter(routes),
|
|
provideHttpClient(),
|
|
provideStore({
|
|
messages: messagesReducer,
|
|
users: usersReducer,
|
|
rooms: roomsReducer
|
|
}),
|
|
provideEffects([
|
|
MessagesEffects,
|
|
MessagesSyncEffects,
|
|
UsersEffects,
|
|
RoomsEffects,
|
|
RoomMembersSyncEffects
|
|
]),
|
|
provideStoreDevtools({
|
|
maxAge: STORE_DEVTOOLS_MAX_AGE,
|
|
logOnly: !isDevMode(),
|
|
autoPause: true,
|
|
trace: false
|
|
})
|
|
]
|
|
};
|