feat: language selection
This commit is contained in:
6
src/app/pages/settings/languages/languages.html
Normal file
6
src/app/pages/settings/languages/languages.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<app-simple-layout title="settings.language.title" [withBackBtn]="true">
|
||||
<app-icon-action-list
|
||||
(action)="translateService.use($event)"
|
||||
[items]="languages"
|
||||
/>
|
||||
</app-simple-layout>
|
||||
4
src/app/pages/settings/languages/languages.scss
Normal file
4
src/app/pages/settings/languages/languages.scss
Normal file
@@ -0,0 +1,4 @@
|
||||
:host {
|
||||
--mat-list-list-item-leading-avatar-color: transparent;
|
||||
--mat-list-list-item-leading-avatar-size: 24px;
|
||||
}
|
||||
25
src/app/pages/settings/languages/languages.spec.ts
Normal file
25
src/app/pages/settings/languages/languages.spec.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { Languages } from './languages';
|
||||
import { provideTranslateService } from '@ngx-translate/core';
|
||||
|
||||
describe('Languages', () => {
|
||||
let component: Languages;
|
||||
let fixture: ComponentFixture<Languages>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [Languages],
|
||||
providers: [provideTranslateService({})],
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(Languages);
|
||||
component = fixture.componentInstance;
|
||||
await fixture.whenStable();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
21
src/app/pages/settings/languages/languages.ts
Normal file
21
src/app/pages/settings/languages/languages.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { Component, inject } from '@angular/core';
|
||||
import { SimpleLayout } from '../../../components/simple-layout/simple-layout';
|
||||
import { MatListModule } from '@angular/material/list';
|
||||
import { IconActionList } from '../../../components/icon-action-list/icon-action-list';
|
||||
import { IconActionListItem } from '../../../components/icon-action-list/IconActionListItem';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-languages',
|
||||
imports: [SimpleLayout, MatListModule, IconActionList],
|
||||
templateUrl: './languages.html',
|
||||
styleUrl: './languages.scss',
|
||||
})
|
||||
export class Languages {
|
||||
protected readonly translateService = inject(TranslateService);
|
||||
readonly languages = [
|
||||
new IconActionListItem('/icons/flags/sp.png', 'settings.language.spanish', 'es'),
|
||||
new IconActionListItem('/icons/flags/us.png', 'settings.language.english', 'en'),
|
||||
new IconActionListItem('/icons/flags/br.png', 'settings.language.portuguese', 'pt'),
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user