From c4665737dc274fc7a3dc442e6e437fdd13ed30da Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Sun, 10 Mar 2024 13:53:57 +0300 Subject: [PATCH] Lang save --- src/app/app.config.ts | 6 ++---- src/app/modules/panel/panel.component.less | 2 ++ src/app/services/translate.service.ts | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/app/app.config.ts b/src/app/app.config.ts index 2af3ac9..98f23f7 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -1,17 +1,15 @@ import { APP_INITIALIZER, ApplicationConfig } from "@angular/core"; -import { provideRouter } from "@angular/router"; import { provideHttpClient } from "@angular/common/http"; -import { routes } from "./app.routes"; import { TranslateService } from "./services/translate.service"; export function setupTranslateServiceFactory(service: TranslateService) { - return () => service.use("en"); + const lang = localStorage.getItem("lang") ?? "en"; + return () => service.use(lang); } export const appConfig: ApplicationConfig = { providers: [ - provideRouter(routes), provideHttpClient(), TranslateService, { diff --git a/src/app/modules/panel/panel.component.less b/src/app/modules/panel/panel.component.less index 94daf1d..9d20f01 100644 --- a/src/app/modules/panel/panel.component.less +++ b/src/app/modules/panel/panel.component.less @@ -57,6 +57,8 @@ align-items: center; span { font-weight: 600; + user-select: none; + -webkit-user-select: none; } fa-icon { font-size: 1.2rem; diff --git a/src/app/services/translate.service.ts b/src/app/services/translate.service.ts index 94c5502..0db4518 100644 --- a/src/app/services/translate.service.ts +++ b/src/app/services/translate.service.ts @@ -5,12 +5,13 @@ import { Injectable } from "@angular/core"; export class TranslateService { // eslint-disable-next-line @typescript-eslint/no-explicit-any data: Record = {}; - lang = "en"; + lang: string | null = null; constructor(private http: HttpClient) {} use(lang: string): Promise { this.lang = lang ?? "en"; + localStorage.setItem("lang", this.lang); return new Promise((resolve) => { - const langPath = `assets/i18n/${lang ?? "en"}.json`; + const langPath = `assets/i18n/${this.lang}.json`; this.http.get(langPath).subscribe({ next: (response) => { this.data = response ?? {};