-
-
Notifications
You must be signed in to change notification settings - Fork 123
/
Copy pathapp.config.ts
125 lines (123 loc) · 3.3 KB
/
app.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import {
ApplicationConfig,
provideZoneChangeDetection,
inject,
} from "@angular/core";
import { provideRouter, withComponentInputBinding } from "@angular/router";
import { provideAnimationsAsync } from "@angular/platform-browser/animations/async";
import {
provideHttpClient,
withInterceptorsFromDi,
} from "@angular/common/http";
import { provideTransloco } from "@jsverse/transloco";
import { provideCharts, withDefaultRegisterables } from "ng2-charts";
import { provideApollo } from "apollo-angular";
import { HttpLink } from "apollo-angular/http";
import { InMemoryCache } from "@apollo/client/core";
import { graphqlEndpoint } from "../environments/environment";
import { TranslocoImportLoader } from "./i18n/transloco.loader";
import { routes } from "./app.routes";
export const appConfig: ApplicationConfig = {
providers: [
provideZoneChangeDetection({ eventCoalescing: true }),
provideRouter(routes, withComponentInputBinding()),
provideAnimationsAsync("animations"),
provideHttpClient(withInterceptorsFromDi()),
provideHttpClient(),
provideApollo(() => {
const httpLink = inject(HttpLink);
return {
link: httpLink.create({ uri: graphqlEndpoint }),
cache: new InMemoryCache({
typePolicies: {
Query: {
fields: {
search: {
merge(
existing: Record<string, unknown>,
incoming: Record<string, unknown>,
): Record<string, unknown> {
return { ...existing, ...incoming };
},
},
},
},
},
}),
};
}),
provideTransloco({
config: {
availableLangs: [
{
id: "ar",
label: "العربية",
},
{
id: "ca",
label: "Català",
},
{
id: "de",
label: "Deutsch",
},
{
id: "en",
label: "English",
},
{
id: "es",
label: "Español",
},
{
id: "fr",
label: "Français",
},
{
id: "hi",
label: "हिन्दी",
},
{
id: "ja",
label: "日本語",
},
{
id: "nl",
label: "Nederlands",
},
{
id: "pt",
label: "Português",
},
{
id: "ru",
label: "Русский",
},
{
id: "tr",
label: "Türkçe",
},
{
id: "uk",
label: "Українська",
},
{
id: "zh",
label: "中文",
},
],
defaultLang: "en",
fallbackLang: "en",
missingHandler: {
// It will use the first language set in the `fallbackLang` property
useFallbackTranslation: true,
},
// Remove this option if your application doesn't support changing language in runtime.
reRenderOnLangChange: true,
prodMode: false,
},
loader: TranslocoImportLoader,
}),
provideCharts(withDefaultRegisterables()),
],
};