Skip to content

Commit

Permalink
Merge branch 'develop' of ssh://gitlab.papers.tech:10022/papers/airga…
Browse files Browse the repository at this point in the history
…p/airgap-wallet into feat/rsk-ready
  • Loading branch information
jsamol committed Jul 27, 2023
2 parents 1787f54 + 3b164ef commit 8be9600
Show file tree
Hide file tree
Showing 16 changed files with 594 additions and 301 deletions.
524 changes: 262 additions & 262 deletions package-lock.json

Large diffs are not rendered by default.

36 changes: 18 additions & 18 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,28 +54,28 @@
}
},
"dependencies": {
"@airgap/aeternity": "0.13.19-beta.3",
"@airgap/aeternity": "0.13.19-beta.10",
"@airgap/angular-core": "0.0.40-beta.3",
"@airgap/angular-ngrx": "0.0.40-beta.3",
"@airgap/astar": "0.13.19-beta.3",
"@airgap/astar": "0.13.19-beta.10",
"@airgap/beacon-sdk": "3.1.5-beta.0",
"@airgap/bitcoin": "0.13.19-beta.3",
"@airgap/coinlib-core": "0.13.19-beta.3",
"@airgap/coreum": "0.13.19-beta.3",
"@airgap/cosmos": "0.13.19-beta.3",
"@airgap/cosmos-core": "0.13.19-beta.3",
"@airgap/crypto": "0.13.19-beta.3",
"@airgap/ethereum": "0.13.19-beta.3",
"@airgap/groestlcoin": "0.13.19-beta.3",
"@airgap/icp": "0.13.19-beta.3",
"@airgap/module-kit": "0.13.19-beta.3",
"@airgap/moonbeam": "0.13.19-beta.3",
"@airgap/optimism": "0.13.19-beta.3",
"@airgap/polkadot": "0.13.19-beta.3",
"@airgap/bitcoin": "0.13.19-beta.10",
"@airgap/coinlib-core": "0.13.19-beta.10",
"@airgap/coreum": "0.13.19-beta.10",
"@airgap/cosmos": "0.13.19-beta.10",
"@airgap/cosmos-core": "0.13.19-beta.10",
"@airgap/crypto": "0.13.19-beta.10",
"@airgap/ethereum": "0.13.19-beta.10",
"@airgap/groestlcoin": "0.13.19-beta.10",
"@airgap/icp": "0.13.19-beta.10",
"@airgap/module-kit": "0.13.19-beta.10",
"@airgap/moonbeam": "0.13.19-beta.10",
"@airgap/optimism": "0.13.19-beta.10",
"@airgap/polkadot": "0.13.19-beta.10",
"@airgap/sapling-wasm": "0.0.7",
"@airgap/serializer": "0.13.19-beta.3",
"@airgap/substrate": "0.13.19-beta.3",
"@airgap/tezos": "0.13.19-beta.3",
"@airgap/serializer": "0.13.19-beta.10",
"@airgap/substrate": "0.13.19-beta.10",
"@airgap/tezos": "0.13.19-beta.10",
"@angular/animations": "^16.1.1",
"@angular/common": "^16.1.1",
"@angular/core": "^16.1.1",
Expand Down
10 changes: 10 additions & 0 deletions src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,16 @@ const routes: Routes = [
},
loadChildren: () =>
import('./pages/isolated-modules-details/isolated-modules-details.module').then((m) => m.IsolatedModulesDetailsPageModule)
},
{
path: 'languages-selection-settings',
resolve: {
special: DataResolverService
},
loadChildren: () =>
import('./pages/languages-selection-settings-page/languages-selection-settings.module').then(
(m) => m.LanguagesSelectionSettingsPageModule
)
}
]
@NgModule({
Expand Down
17 changes: 10 additions & 7 deletions src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import {
createV0TezosShieldedTezProtocol,
ExternalAliasResolver,
IACMessageTransport,
LanguageService,
ProtocolService,
SerializerService,
SPLASH_SCREEN_PLUGIN
Expand Down Expand Up @@ -70,7 +69,7 @@ import { NavigationService } from './services/navigation/navigation.service'
import { PushProvider } from './services/push/push'
import { SaplingNativeService } from './services/sapling-native/sapling-native.service'
import { ErrorCategory, handleErrorSentry, setSentryRelease, setSentryUser } from './services/sentry-error-handler/sentry-error-handler'
import { WalletStorageKey, WalletStorageService } from './services/storage/storage'
import { LanguagesType, WalletStorageKey, WalletStorageService } from './services/storage/storage'
import { WalletconnectService } from './services/walletconnect/walletconnect.service'
import { faProtocolSymbol } from './types/GenericProtocolSymbols'
import { generateGUID, getProtocolAndNetworkIdentifier } from './utils/utils'
Expand All @@ -90,7 +89,8 @@ export class AppComponent implements AfterViewInit {
private readonly appSerivce: AppService,
private readonly platform: Platform,
private readonly translate: TranslateService,
private readonly languageService: LanguageService,
private readonly translateService: TranslateService,
private readonly storageService: WalletStorageService,
private readonly iacService: IACService,
private readonly protocolService: ProtocolService,
private readonly storageProvider: WalletStorageService,
Expand Down Expand Up @@ -232,10 +232,13 @@ export class AppComponent implements AfterViewInit {
}

private async initializeTranslations(): Promise<void> {
return this.languageService.init({
supportedLanguages: ['en', 'de', 'zh'],
defaultLanguage: 'en'
})
this.translateService.setDefaultLang(LanguagesType.EN)

const savedLanguage = await this.storageService.get(WalletStorageKey.LANGUAGE_TYPE)
const deviceLanguage = this.translateService.getBrowserLang()
const currentLanguage = savedLanguage || (deviceLanguage as LanguagesType)

await this.translateService.use(currentLanguage).toPromise()
}
private async initializeWalletConnect(): Promise<void> {
this.walletconnectService.initWalletConnect()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@
[value]="currentGroup$ | async"
(ionChange)="onChange($event)"
interface="popover"
class="font--weight__bold"
aria-label="Wallet Group Selection"
>
<ion-select-option *ngFor="let group of groups$ | async" [value]="group">
<ion-text>
{{ group | groupLabel | translate }}
</ion-text>
<ion-select-option aria-label="option" *ngFor="let group of groups$ | async" [value]="group">
<ion-label>
<h2>{{ group | groupLabel | translate }}</h2>
</ion-label>
</ion-select-option>
</ion-select>
</ion-item>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.single-group-label{
flex: 0 0 auto;
}

ion-select {
width: 400px;
}

ion-select::part(text) {
flex: 0 0 auto;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { CommonModule } from '@angular/common'
import { NgModule } from '@angular/core'
import { FormsModule } from '@angular/forms'
import { RouterModule, Routes } from '@angular/router'
import { IonicModule } from '@ionic/angular'
import { TranslateModule } from '@ngx-translate/core'

import { LanguagesSelectionSettingsPage } from './languages-selection-settings.page'

const routes: Routes = [
{
path: '',
component: LanguagesSelectionSettingsPage
}
]
@NgModule({
imports: [CommonModule, FormsModule, IonicModule, RouterModule.forChild(routes), TranslateModule],
declarations: [LanguagesSelectionSettingsPage]
})
export class LanguagesSelectionSettingsPageModule {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<ion-header class="ion-no-border">
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>{{ 'language-selection-settings.title' | translate }}</ion-title>
</ion-toolbar>
</ion-header>

<ion-content class="ion-padding">
<h3 [innerHTML]="'language-selection-settings.heading' | translate"></h3>

<ion-list lines="none" class="ion-padding-vertical" (ionChange)="changeLanguage($event.detail.value)">
<ion-radio-group [(ngModel)]="selectedType">
<ng-container *ngFor="let language of languages">
<ion-item detail="false" class="ion-no-padding">
<ion-label color="dark">{{ 'language-selection-settings.selector.' + language | translate }}</ion-label>
<ion-radio class="ion-no-margin" slot="end" [value]="language"></ion-radio>
</ion-item>
</ng-container>
</ion-radio-group>
</ion-list>
<ion-button color="tertiary" shape="round" (click)="defaultToDevice()">
{{ 'language-selection-settings.selector.device' | translate }}
</ion-button>

<p><i>{{ 'interaction-selection-settings.description' | translate }}</i></p>

<ion-fab vertical="bottom" horizontal="end" slot="fixed">
<ion-button color="primary" shape="round" (click)="goToNextPage()">
{{ 'language-selection-settings.continue_label' | translate }}
</ion-button>
</ion-fab>
</ion-content>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ion-content {
--padding-bottom: var(--ion-padding, 64px);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import { Component, OnInit } from '@angular/core'
import { TranslateService } from '@ngx-translate/core'
import { NavigationService } from 'src/app/services/navigation/navigation.service'
import { LanguagesType, WalletStorageKey, WalletStorageService } from 'src/app/services/storage/storage'

@Component({
selector: 'app-languages-selection-settings-page',
templateUrl: './languages-selection-settings.page.html',
styleUrls: ['./languages-selection-settings.page.scss']
})
export class LanguagesSelectionSettingsPage implements OnInit {
public languageType: typeof LanguagesType = LanguagesType
public initialType: LanguagesType | undefined
public selectedType: LanguagesType | undefined
public isEdit: boolean = false

public get languages(): string[] {
return Object.values(LanguagesType)
}

constructor(
private readonly translateService: TranslateService,
private readonly navigationService: NavigationService,
private readonly storageService: WalletStorageService
) {}

public async ngOnInit(): Promise<void> {
const currentLanguage = await this.getCurrentLanguage()
this.changeLanguage(currentLanguage)
}

public async getCurrentLanguage(): Promise<LanguagesType> {
const savedLanguage = await this.storageService.get(WalletStorageKey.LANGUAGE_TYPE)
const deviceLanguage = this.translateService.getBrowserLang()

return savedLanguage || (deviceLanguage as LanguagesType) || LanguagesType.EN
}

public async defaultToDevice() {
const deviceLanguage = this.translateService.getBrowserLang() as LanguagesType
this.changeLanguage(deviceLanguage)
}

public async changeLanguage(language: LanguagesType): Promise<void> {
await this.translateService.use(language).toPromise()
this.selectedType = language
}

public goToNextPage(): void {
if (this.selectedType) {
this.storageService.set(WalletStorageKey.LANGUAGE_TYPE, this.selectedType)
}
this.navigationService.back()
}
}
4 changes: 4 additions & 0 deletions src/app/pages/portfolio/portfolio.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
.ion-no-margin {
font-size: 50px;
font-weight: bold;
}
.loading-header {
color: white;
font-weight: 300;
Expand Down
87 changes: 87 additions & 0 deletions src/app/pages/settings/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,89 @@
</ion-grid>
</ion-header>

<ion-card *ngIf="showKnoxBanner" color="dark">
<ion-toolbar color="dark">
<svg
style="width: 150px; height: auto; display: block; margin: auto; margin-top: 10px; fill: currentColor;"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 2179.1057 1019.2946"
>
<!-- SVG content goes here -->

<g id="e">
<path
class="i"
d="m630.41,715.4901c-12.2603,117.51-103.2002,233.55-219.73,283.73v-68.8799c34.5796-18.9702,66.7197-45.4702,93.1597-77.1702,36.79-44.1199,59.8604-95.3,64.9502-144.1099,8.98-86.0203,3.1797-199.7502.1602-246.0701-22.4404-6.9399-58.9302-18.8599-89.3003-31.8198-54.5098-23.25-107.6001-53.5103-115.8198-58.25-9.7803-5.2104-16.4302-15.5-16.4302-27.3501v-42.6104c0-4.9897,5.4102-8.1099,9.73-5.5898l36.8101,21.4004c.4399.2598,36.3003,21.0298,78.71,41.2397v-135.23c0-86.73-70.5698-157.2998-157.2998-157.2998s-157.3101,70.5698-157.3101,157.2998v137.2197c44.5601-20.8198,83.1699-42.8896,83.6401-43.1597l36.6797-21.0303c4.3203-2.48,9.7002.6401,9.7002,5.6201v152.73c0,16.5898,13.4702,30.0898,30.0601,30.1401l48.3301-.29c56.3896,0,102.1997,46.1499,101.6499,102.6602-.54,55.96-46.98,100.6499-102.9502,100.6499h-96.1001c-21.5996,0-39.8896,16.9099-40.5298,38.5-.6602,22.45,17.3999,40.9099,39.6899,40.9099h50.46c49.5801,0,90.1201,39.4001,92,88.54v141.95c-6.8101,2.9299-13.7002,5.6602-20.6797,8.1299l-32.6802,11.5701c-4.21,1.49-8.6299-1.6399-8.6299-6.1099v-34.6602c0-20.21.1299-117.3699.1299-117.3699,0-16.5801-13.52-30.1001-30.1401-30.1001h-49.1602c-55.9697,0-102.3999-44.6899-102.9497-100.6499-.5503-56.51,45.2598-102.6602,101.6499-102.6602h97.3999c21.5903,0,39.8701-16.8896,40.5303-38.4697.6797-22.4302-17.3403-40.8901-39.6099-40.9404l-48.3301.29c-50.7803,0-92.0903-41.3096-92.0903-92.0898v-58.5801c-20.5796,10.5801-45.8696,22.9302-71.3799,33.75-30.3501,12.8901-66.3999,24.7002-88.6899,31.6001-2.7598,46.71-7.9902,161.4102.9902,247.4502,5.0796,48.7,28.0596,99.5698,64.6895,143.2397,36.3403,43.3201,83.7603,76.9502,133.6001,94.77,12.4204,4.03,21.3999,15.7002,21.3999,29.46v34.6702c0,4.47-4.4199,7.5999-8.6396,6.0999l-32.6802-11.5598c-60.3901-21.3901-117.6196-61.74-161.1401-113.6301-44.4897-53.04-72.4897-115.76-78.8398-176.6199-12.0698-115.6799-.2798-273.0901.23-279.7302l1.6401-21.5,20.7402-5.9199c.4199-.1201,29.9697-8.6001,62.5298-20.04v-164.8398c0-60.04,23.3799-116.4902,65.8398-158.9399C198.8597,23.3802,255.2997-.0001,315.3397-.0001s116.4902,23.3804,158.9502,65.8403c42.46,42.4497,65.8398,98.8999,65.8398,158.9399v163.4102c34.0801,12.1396,66.2402,21.3398,66.6699,21.46l20.6001,5.8701,1.7803,21.3496c.5498,6.6001,13.3101,162.8301,1.23,278.6201Z"
/>
</g>
<g id="g">
<path
class="i"
d="m907.0121,527.2672h95.6736l-47.8368-128.258-47.8368,128.258Zm-85.5126,102.5268l109.2173-281.4478h49.1089l108.3724,281.4478h-47.416l-25.3977-68.7547h-121.0713l-25.401,68.7547h-47.4127Z"
/>
<path
class="i"
d="m1122.4679,430.3679h44.8652v199.434h-44.8652v-199.434Zm22.4324-37.7764c-8.4486,0-15.4407-2.4926-20.9435-7.4454-5.5028-4.9524-8.2546-11.2-8.2546-18.7098,0-7.4778,2.7518-13.7254,8.2546-18.6778,5.5028-4.9528,12.4949-7.4454,20.9435-7.4454,8.481,0,15.4731,2.4926,20.9759,7.4454,5.5032,4.9524,8.2546,11.2,8.2546,18.6778,0,7.5098-2.7514,13.7574-8.2546,18.7098-5.5028,4.9528-12.4949,7.4454-20.9759,7.4454"
/>
<path
class="i"
d="m1218.1581,629.7941v-199.4244h40.2168l3.81,37.7925c7.3351-13.1294,17.5673-23.5203,30.6903-31.1598,13.1229-7.6394,28.9973-11.4591,47.6231-11.4591v44.6291h-12.2748c-12.4237,0-23.4943,1.9487-33.2313,5.8299-9.737,3.8909-17.5026,10.4556-23.2839,19.7039-5.7878,9.245-8.6785,22.0507-8.6785,38.3978v95.6902h-44.8717Z"
/>
<path
class="i"
d="m1509.4078,634.6187c-27.9388,0-52.3524-6.0306-73.2345-18.0918-20.8885-12.0644-37.1158-28.9489-48.6849-50.6629-11.5724-21.7108-17.3537-47.0407-17.3537-75.9895,0-28.6769,5.927-54.01,17.7778-75.9895,11.854-21.9763,28.7157-39.2038,50.5883-51.6664,21.8694-12.4626,47.7623-18.6971,77.6822-18.6971,33.8625,0,62.0797,7.7786,84.6645,23.3196,22.575,15.5507,37.2517,36.9897,44.0268,64.3329h-50.7987c-4.5189-15.0102-13.411-26.7995-26.6731-35.3841-13.2653-8.5749-30.3407-12.864-51.2195-12.864-31.0496,0-55.4568,9.5169-73.2377,28.5475-17.7778,19.0338-26.6666,45.2991-26.6666,78.8025s8.7432,59.6457,26.2458,78.4044c17.4929,18.7651,40.7768,28.1428,69.8453,28.1428,29.3501,0,51.4364-7.9016,66.2522-23.721,14.8159-15.8129,23.4943-36.8505,26.0354-63.1255h-80.4337v-32.9693h125.7294v152.7883h-41.0649l-3.8067-41.4147c-9.8826,14.7447-22.2999,26.1359-37.2549,34.1767-14.9615,8.0408-34.4323,12.0612-58.4186,12.0612"
/>
<path
class="i"
d="m1798.1059,597.6287c19.1891,0,34.9243-6.296,47.1991-18.8978,12.278-12.5953,18.4154-28.8097,18.4154-48.6495,0-20.102-6.1374-36.3876-18.4154-48.8502-12.2748-12.4658-28.01-18.6971-47.1991-18.6971s-34.9987,6.2313-47.4127,18.6971c-12.4237,12.4626-18.6259,28.7482-18.6259,48.8502,0,13.1359,2.8162,24.7957,8.4648,34.9795,5.6421,10.1902,13.4725,18.163,23.4943,23.925,10.0154,5.7652,21.3806,8.6429,34.0794,8.6429m-8.044,36.9897c-20.3188,0-38.2422-4.561-53.7606-13.67-15.5248-9.109-27.6636-21.5716-36.4068-37.3911-8.7497-15.813-13.1229-33.7753-13.1229-53.8773s4.3732-37.9964,13.1229-53.6766c8.7432-15.6802,20.9533-28.0069,36.6173-36.9897,15.664-8.9763,33.6554-13.4693,53.9742-13.4693,16.648,0,31.2535,3.0849,43.8132,9.2482,12.5564,6.1698,22.3646,14.8742,29.4213,26.1326l2.5411-30.5577h42.3338v199.4276h-41.9098l-2.9651-30.9591c-6.7719,9.3842-16.0848,17.6904-27.9388,24.9285-11.854,7.2348-27.0939,10.8538-45.7198,10.8538"
/>
<path
class="i"
d="m2067.3473,597.6285c19.1891,0,34.9923-6.2313,47.4127-18.6971,12.4172-12.4626,18.6259-28.7449,18.6259-48.8502,0-13.1294-2.8227-24.7893-8.4648-34.9795-5.6518-10.1837-13.4078-18.1566-23.2839-23.9217-9.8826-5.7619-21.3126-8.6461-34.2898-8.6461-19.1956,0-34.9243,6.3025-47.1991,18.8978-12.278,12.6018-18.4154,28.8161-18.4154,48.6495,0,20.1053,6.1374,36.3876,18.4154,48.8502,12.2748,12.4658,28.0035,18.6971,47.1991,18.6971m-110.4895,120.6186v-287.8798h40.2168l4.6581,30.9623c6.7719-9.3809,16.0848-17.6937,27.9388-24.9285,11.854-7.238,27.0939-10.857,45.7198-10.857,20.3188,0,38.2358,4.561,53.7606,13.67,15.5183,9.1155,27.7284,21.5814,36.6205,37.3943,8.8889,15.8162,13.3333,33.772,13.3333,53.8741s-4.4444,37.9964-13.3333,53.6766c-8.8921,15.6802-21.1022,28.0134-36.6205,36.9897-15.5248,8.9795-33.5874,13.4693-54.1846,13.4693-16.3729,0-30.8359-3.0849-43.3924-9.2482-12.5597-6.1601-22.5071-14.8742-29.8422-26.1326v119.0098h-44.8749Z"
/>
<path
class="i"
d="m836.1285,971.1224v-280h42.3994v120l110.4004-120h52.3994l-103.5996,111.5996,106,168.4004h-51.5996l-84.8008-136-28.7998,31.2002v104.7998h-42.3994Z"
/>
<path
class="i"
d="m1078.9244,971.1224v-198.4004h37.6006l3.1992,34.8008c6.1318-12.2627,15.1318-21.9316,27-29,11.8633-7.0625,25.5312-10.6006,41-10.6006,24,0,42.8633,7.4688,56.6006,22.4004,13.7314,14.9375,20.5996,37.2002,20.5996,66.7998v114h-42v-109.5996c0-38.4004-15.7373-57.6006-47.2002-57.6006-15.7373,0-28.7373,5.6006-39,16.7998-10.2686,11.2002-15.3994,27.2002-15.3994,48v102.4004h-42.4004Z"
/>
<path
class="i"
d="m1407.7223,975.9222c-18.9375,0-35.9375-4.3369-51-13-15.0684-8.6621-27-20.7998-35.7998-36.3994-8.7998-15.6006-13.2002-33.8008-13.2002-54.6006s4.4629-39,13.4004-54.5996c8.9316-15.6006,21-27.7314,36.2002-36.4004,15.2002-8.6621,32.1309-13,50.7998-13,18.9316,0,35.9316,4.3379,51,13,15.0625,8.6689,27.0625,20.7998,36,36.4004,8.9316,15.5996,13.4004,33.7998,13.4004,54.5996s-4.4688,39-13.4004,54.6006c-8.9375,15.5996-21,27.7373-36.2002,36.3994-15.2002,8.6631-32.2686,13-51.2002,13Zm0-36.3994c10.1318,0,19.5312-2.5312,28.2002-7.6006,8.6631-5.0625,15.6631-12.5996,21-22.5996,5.3311-10,8-22.4629,8-37.4004s-2.5996-27.3994-7.7998-37.3994-12.1377-17.5312-20.7998-22.6006c-8.6689-5.0625-18.0693-7.5996-28.2002-7.5996-10.1377,0-19.5371,2.5371-28.2002,7.5996-8.6689,5.0693-15.6689,12.6006-21,22.6006-5.3369,10-8,22.4688-8,37.3994s2.6631,27.4004,8,37.4004c5.3311,10,12.2627,17.5371,20.7998,22.5996,8.5312,5.0693,17.8633,7.6006,28,7.6006Z"
/>
<path
class="i"
d="m1525.7272,971.1224l70.4004-99.2002-70.4004-99.2002h45.2002l53.2002,76,52.7998-76h45.6006l-70.4004,99.2002,70.4004,99.2002h-45.6006l-52.7998-76-53.2002,76h-45.2002Z"
/>
</g>
</svg>

<ion-buttons style="margin-left: -39px;" slot="end">
<ion-button (click)="dismissKnoxBanner()">
<ion-icon name="close"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

<ion-card-content class="ion-text-center">
<ion-text style="font-weight: bold;">
{{ 'settings.knox-text_pt1' | translate }}
</ion-text>
<br />
<ion-text>
{{ 'settings.knox-text_pt2' | translate }}
</ion-text>
</ion-card-content>

<div class="ion-text-center">
<ion-button shape="round" class="ion-margin" (click)="openKnoxPage()">
{{ 'settings.knox-button_label' | translate }}
</ion-button>
</div>
</ion-card>

<ion-content>
<ion-grid fixed="true" class="ion-no-padding">
<ion-list lines="none">
Expand All @@ -26,6 +109,10 @@
<ion-select-option value="dark">{{ 'settings.select-theme.dark' | translate }}</ion-select-option>
</ion-select>
</ion-item>
<ion-item (click)="goToLanguagesSettings()" detail="true">
<ion-icon name="language-outline" slot="start"></ion-icon>
{{ 'settings.preferred-language_label' | translate }}
</ion-item>
</ion-list>
<ion-list lines="none">
<ion-list-header class="ion-no-margin" lines="none">
Expand Down
Loading

0 comments on commit 8be9600

Please sign in to comment.