mirror of
https://github.com/mempool/mempool.git
synced 2025-02-28 16:58:32 +01:00
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { DOCUMENT } from '@angular/common';
|
|
import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core';
|
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
import { languages } from 'src/app/app.constants';
|
|
import { LanguageService } from 'src/app/services/language.service';
|
|
|
|
@Component({
|
|
selector: 'app-language-selector',
|
|
templateUrl: './language-selector.component.html',
|
|
styleUrls: ['./language-selector.component.scss'],
|
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
})
|
|
export class LanguageSelectorComponent implements OnInit {
|
|
languageForm: FormGroup;
|
|
languages = languages;
|
|
|
|
constructor(
|
|
@Inject(DOCUMENT) private document: Document,
|
|
private formBuilder: FormBuilder,
|
|
private languageService: LanguageService,
|
|
) { }
|
|
|
|
ngOnInit() {
|
|
this.languageForm = this.formBuilder.group({
|
|
language: ['en']
|
|
});
|
|
this.languageForm.get('language').setValue(this.languageService.getLanguage());
|
|
}
|
|
|
|
changeLanguage() {
|
|
const newLang = this.languageForm.get('language').value;
|
|
this.languageService.setLanguage(newLang);
|
|
const rawUrlPath = this.languageService.stripLanguageFromUrl(null);
|
|
this.document.location.href = (newLang !== 'en' ? `/${newLang}` : '') + rawUrlPath;
|
|
}
|
|
}
|