forked from EVOgeek/Vmeda.Online
		
	Merge pull request #2940 from NoelDeMartin/MOBILE-3833
MOBILE-3833: Tweaks
This commit is contained in:
		
						commit
						8e2c375f1a
					
				| @ -10,33 +10,35 @@ | ||||
| </ion-header> | ||||
| 
 | ||||
| <ion-content> | ||||
|     <ion-item class="ion-text-wrap"> | ||||
|         <ion-label><h2>{{ appName }} {{ versionName }}</h2></ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item button class="ion-text-wrap" (click)="openPage('deviceinfo')" detail="true"> | ||||
|         <ion-icon name="fas-mobile" slot="start" aria-hidden="true"></ion-icon> | ||||
|         <ion-label>{{ 'core.settings.deviceinfo' | translate }}</ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item button class="ion-text-wrap" (click)="openPage('licenses')" detail="true"> | ||||
|         <ion-icon name="far-copyright" slot="start" aria-hidden="true"></ion-icon> | ||||
|         <ion-label>{{ 'core.settings.opensourcelicenses' | translate }}</ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item | ||||
|         *ngIf="privacyPolicy" | ||||
|         class="ion-text-wrap" | ||||
|         button core-link auto-login="no" [href]="privacyPolicy" | ||||
|         detail="true" detailIcon="open-outline" | ||||
|     > | ||||
|         <ion-icon name="fas-user-shield" slot="start" aria-hidden="true"></ion-icon> | ||||
|         <ion-label>{{ 'core.settings.privacypolicy' | translate }}</ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item | ||||
|         *ngIf="feedbackFormUrl" | ||||
|         class="ion-text-wrap" | ||||
|         button core-link [href]="feedbackFormUrl" | ||||
|         detail="true" detailIcon="open-outline" | ||||
|     > | ||||
|         <ion-icon name="fas-bullhorn" slot="start" aria-hidden="true"></ion-icon> | ||||
|         <ion-label>{{ 'core.settings.helpusimprove' | translate }}</ion-label> | ||||
|     </ion-item> | ||||
|     <ion-list> | ||||
|         <ion-item class="ion-text-wrap"> | ||||
|             <ion-label><h2>{{ appName }} {{ versionName }}</h2></ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item button class="ion-text-wrap" (click)="openPage('deviceinfo')" detail="true"> | ||||
|             <ion-icon name="fas-mobile" slot="start" aria-hidden="true"></ion-icon> | ||||
|             <ion-label>{{ 'core.settings.deviceinfo' | translate }}</ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item button class="ion-text-wrap" (click)="openPage('licenses')" detail="true"> | ||||
|             <ion-icon name="far-copyright" slot="start" aria-hidden="true"></ion-icon> | ||||
|             <ion-label>{{ 'core.settings.opensourcelicenses' | translate }}</ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item | ||||
|             *ngIf="privacyPolicy" | ||||
|             class="ion-text-wrap" | ||||
|             button core-link auto-login="no" [href]="privacyPolicy" | ||||
|             detail="true" detailIcon="open-outline" | ||||
|         > | ||||
|             <ion-icon name="fas-user-shield" slot="start" aria-hidden="true"></ion-icon> | ||||
|             <ion-label>{{ 'core.settings.privacypolicy' | translate }}</ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item | ||||
|             *ngIf="feedbackFormUrl" | ||||
|             class="ion-text-wrap" | ||||
|             button core-link [href]="feedbackFormUrl" | ||||
|             detail="true" detailIcon="open-outline" | ||||
|         > | ||||
|             <ion-icon name="fas-bullhorn" slot="start" aria-hidden="true"></ion-icon> | ||||
|             <ion-label>{{ 'core.settings.helpusimprove' | translate }}</ion-label> | ||||
|         </ion-item> | ||||
|     </ion-list> | ||||
| </ion-content> | ||||
|  | ||||
| @ -15,128 +15,134 @@ | ||||
| </ion-header> | ||||
| 
 | ||||
| <ion-content> | ||||
|     <ion-item (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.appversion' | translate}}</h2> | ||||
|             <p>{{ deviceInfo.versionName }} ({{ deviceInfo.versionCode }})</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.compilationinfo' | translate }}</h2> | ||||
|             <p *ngIf="deviceInfo.compilationTime">{{ deviceInfo.compilationTime | coreFormatDate: "LLL Z": false }}</p> | ||||
|             <p *ngIf="deviceInfo.lastCommit">{{ deviceInfo.lastCommit }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.siteUrl" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.siteinfo' | translate }}<ng-container *ngIf="deviceInfo.isPrefixedUrl"> *</ng-container></h2> | ||||
|             <p><a [href]="deviceInfo.siteUrl" core-link auto-login="yes">{{ deviceInfo.siteUrl }}</a></p> | ||||
|             <p *ngIf="deviceInfo.siteVersion">{{ deviceInfo.siteVersion }}</p> | ||||
|             <p *ngIf="deviceInfo.siteId">{{ deviceInfo.siteId }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.fileSystemRoot" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.filesystemroot' | translate }}</h2> | ||||
|             <p><a *ngIf="fsClickable" [href]="deviceInfo.fileSystemRoot" core-link auto-login="no">{{ deviceInfo.fileSystemRoot }}</a></p> | ||||
|             <p *ngIf="!fsClickable">{{ deviceInfo.fileSystemRoot }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.userAgent" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.navigatoruseragent' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.userAgent }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.browserLanguage" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.navigatorlanguage' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.browserLanguage }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.currentLanguage" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.currentlanguage' | translate }}</h2> | ||||
|             <p>{{ currentLangName }} ({{ deviceInfo.currentLanguage }})</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.locationHref" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.locationhref' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.locationHref }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.deviceType" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.displayformat' | translate }}</h2> | ||||
|             <p>{{ 'core.' + deviceInfo.deviceType | translate }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.deviceOs && deviceOsTranslated" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.deviceos' | translate}}</h2> | ||||
|             <p>{{ deviceOsTranslated }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.screen" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.screen' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.screen }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.networkstatus' | translate}}</h2> | ||||
|             <p>{{ 'core.' + deviceInfo.networkStatus | translate }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.wificonnection' | translate}}</h2> | ||||
|             <p>{{ 'core.' + deviceInfo.wifiConnection | translate }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.cordovaVersion" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.cordovaversion' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.cordovaVersion }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.platform" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.cordovadeviceplatform' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.platform }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.osVersion" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.cordovadeviceosversion' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.osVersion }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.model" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.cordovadevicemodel' | translate}}</h2> | ||||
|             <p>{{ deviceInfo.model }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.uuid" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.cordovadeviceuuid' | translate}}</h2> | ||||
|             <p>{{ deviceInfo.uuid }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item *ngIf="deviceInfo.pushId" (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.pushid' | translate }}</h2> | ||||
|             <p>{{ deviceInfo.pushId }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item (longPress)="copyItemInfo($event)"> | ||||
|         <ion-label class="ion-text-wrap"> | ||||
|             <h2>{{ 'core.settings.localnotifavailable' | translate }}</h2> | ||||
|             <p>{{ 'core.' + deviceInfo.localNotifAvailable | translate }}</p> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-list> | ||||
|         <ion-item (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.appversion' | translate}}</h2> | ||||
|                 <p>{{ deviceInfo.versionName }} ({{ deviceInfo.versionCode }})</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.compilationinfo' | translate }}</h2> | ||||
|                 <p *ngIf="deviceInfo.compilationTime">{{ deviceInfo.compilationTime | coreFormatDate: "LLL Z": false }}</p> | ||||
|                 <p *ngIf="deviceInfo.lastCommit">{{ deviceInfo.lastCommit }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.siteUrl" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.siteinfo' | translate }}<ng-container *ngIf="deviceInfo.isPrefixedUrl"> *</ng-container></h2> | ||||
|                 <p><a [href]="deviceInfo.siteUrl" core-link auto-login="yes">{{ deviceInfo.siteUrl }}</a></p> | ||||
|                 <p *ngIf="deviceInfo.siteVersion">{{ deviceInfo.siteVersion }}</p> | ||||
|                 <p *ngIf="deviceInfo.siteId">{{ deviceInfo.siteId }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.fileSystemRoot" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.filesystemroot' | translate }}</h2> | ||||
|                 <p> | ||||
|                     <a *ngIf="fsClickable" [href]="deviceInfo.fileSystemRoot" core-link auto-login="no"> | ||||
|                         {{ deviceInfo.fileSystemRoot }} | ||||
|                     </a> | ||||
|                 </p> | ||||
|                 <p *ngIf="!fsClickable">{{ deviceInfo.fileSystemRoot }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.userAgent" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.navigatoruseragent' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.userAgent }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.browserLanguage" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.navigatorlanguage' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.browserLanguage }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.currentLanguage" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.currentlanguage' | translate }}</h2> | ||||
|                 <p>{{ currentLangName }} ({{ deviceInfo.currentLanguage }})</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.locationHref" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.locationhref' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.locationHref }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.deviceType" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.displayformat' | translate }}</h2> | ||||
|                 <p>{{ 'core.' + deviceInfo.deviceType | translate }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.deviceOs && deviceOsTranslated" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.deviceos' | translate}}</h2> | ||||
|                 <p>{{ deviceOsTranslated }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.screen" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.screen' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.screen }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.networkstatus' | translate}}</h2> | ||||
|                 <p>{{ 'core.' + deviceInfo.networkStatus | translate }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.wificonnection' | translate}}</h2> | ||||
|                 <p>{{ 'core.' + deviceInfo.wifiConnection | translate }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.cordovaVersion" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.cordovaversion' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.cordovaVersion }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.platform" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.cordovadeviceplatform' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.platform }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.osVersion" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.cordovadeviceosversion' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.osVersion }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.model" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.cordovadevicemodel' | translate}}</h2> | ||||
|                 <p>{{ deviceInfo.model }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.uuid" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.cordovadeviceuuid' | translate}}</h2> | ||||
|                 <p>{{ deviceInfo.uuid }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item *ngIf="deviceInfo.pushId" (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.pushid' | translate }}</h2> | ||||
|                 <p>{{ deviceInfo.pushId }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item (longPress)="copyItemInfo($event)"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <h2>{{ 'core.settings.localnotifavailable' | translate }}</h2> | ||||
|                 <p>{{ 'core.' + deviceInfo.localNotifAvailable | translate }}</p> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|     </ion-list> | ||||
| </ion-content> | ||||
|  | ||||
| @ -8,73 +8,75 @@ | ||||
|     </ion-toolbar> | ||||
| </ion-header> | ||||
| <ion-content> | ||||
|     <ion-item class="ion-text-wrap"> | ||||
|         <ion-label> | ||||
|             <h2>{{ 'core.settings.language' | translate }}</h2> | ||||
|         </ion-label> | ||||
|         <ion-select [(ngModel)]="selectedLanguage" (ionChange)="languageChanged()" interface="action-sheet" | ||||
|             [interfaceOptions]="{header: 'core.settings.language' | translate}"> | ||||
|             <ion-select-option *ngFor="let entry of languages" [value]="entry.code">{{ entry.name }}</ion-select-option> | ||||
|         </ion-select> | ||||
|     </ion-item> | ||||
|     <ion-item class="ion-text-wrap core-settings-general-font-size item-interactive"> | ||||
|         <ion-label> | ||||
|             <h2>{{ 'core.settings.fontsize' | translate }}</h2> | ||||
|         </ion-label> | ||||
|         <ion-segment [(ngModel)]="selectedZoomLevel" (ionChange)="zoomLevelChanged()" color="primary"> | ||||
|             <ion-segment-button *ngFor="let zoomLevel of zoomLevels" [value]="zoomLevel.value" | ||||
|                 [ngStyle]="{'font-size.px': zoomLevel.style}"> | ||||
|                 <ion-label> | ||||
|                     {{ 'core.settings.fontsizecharacter' | translate }} | ||||
|                     <!-- Empty element styled with the largest font size, so all buttons share a common baseline. --> | ||||
|                     <span [ngStyle]="{'font-size.px': zoomLevels[zoomLevels.length - 1].style}"></span> | ||||
|                 </ion-label> | ||||
|             </ion-segment-button> | ||||
|         </ion-segment> | ||||
|     </ion-item> | ||||
|     <ion-item class="ion-text-wrap core-settings-general-color-scheme" *ngIf="colorSchemes.length > 0" | ||||
|         [lines]="selectedScheme=='system' && isAndroid ? 'none' : 'inset'"> | ||||
|         <ion-label> | ||||
|             <h2>{{ 'core.settings.colorscheme' | translate }}</h2> | ||||
|             <p *ngIf="colorSchemeDisabled" class="text-danger">{{ 'core.settings.forcedsetting' | translate }}</p> | ||||
|         </ion-label> | ||||
|         <ion-select [(ngModel)]="selectedScheme" (ionChange)="colorSchemeChanged()" interface="action-sheet" | ||||
|             [disabled]="colorSchemeDisabled" [interfaceOptions]="{header: 'core.settings.colorscheme' | translate}"> | ||||
|             <ion-select-option *ngFor="let scheme of colorSchemes" [value]="scheme"> | ||||
|                 {{ 'core.settings.colorscheme-' + scheme | translate }}</ion-select-option> | ||||
|         </ion-select> | ||||
|     </ion-item> | ||||
|     <ion-item text-wrap *ngIf="colorSchemes.length > 0 && selectedScheme=='system' && isAndroid"> | ||||
|         <ion-label><p>{{ 'core.settings.colorscheme-system-notice' | translate }}</p></ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item class="ion-text-wrap"> | ||||
|         <ion-label> | ||||
|             <h2>{{ 'core.settings.enablerichtexteditor' | translate }}</h2> | ||||
|             <p>{{ 'core.settings.enablerichtexteditordescription' | translate }}</p> | ||||
|         </ion-label> | ||||
|         <ion-toggle [(ngModel)]="richTextEditor" (ionChange)="richTextEditorChanged()"></ion-toggle> | ||||
|     </ion-item> | ||||
|     <ion-item class="ion-text-wrap" *ngIf="displayIframeHelp"> | ||||
|         <ion-label> | ||||
|             <h2>{{ 'core.settings.ioscookies' | translate }}</h2> | ||||
|             <p>{{ 'core.settings.ioscookiesdescription' | translate }}</p> | ||||
|             <ion-button expand="block" (click)="openNativeSettings()"> | ||||
|                 {{ 'core.opensettings' | translate }} | ||||
|             </ion-button> | ||||
|         </ion-label> | ||||
|     </ion-item> | ||||
|     <ion-item class="ion-text-wrap"> | ||||
|         <ion-label> | ||||
|             <h2>{{ 'core.settings.debugdisplay' | translate }}</h2> | ||||
|             <p>{{ 'core.settings.debugdisplaydescription' | translate }}</p> | ||||
|         </ion-label> | ||||
|         <ion-toggle [(ngModel)]="debugDisplay" (ionChange)="debugDisplayChanged()"></ion-toggle> | ||||
|     </ion-item> | ||||
|     <ion-item class="ion-text-wrap" *ngIf="analyticsSupported"> | ||||
|         <ion-label> | ||||
|             <h2>{{ 'core.settings.enablefirebaseanalytics' | translate }}</h2> | ||||
|             <p>{{ 'core.settings.enablefirebaseanalyticsdescription' | translate }}</p> | ||||
|         </ion-label> | ||||
|         <ion-toggle [(ngModel)]="analyticsEnabled" (ionChange)="analyticsEnabledChanged()"></ion-toggle> | ||||
|     </ion-item> | ||||
|     <ion-list> | ||||
|         <ion-item class="ion-text-wrap"> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.language' | translate }}</h2> | ||||
|             </ion-label> | ||||
|             <ion-select [(ngModel)]="selectedLanguage" (ionChange)="languageChanged()" interface="action-sheet" | ||||
|                 [interfaceOptions]="{header: 'core.settings.language' | translate}"> | ||||
|                 <ion-select-option *ngFor="let entry of languages" [value]="entry.code">{{ entry.name }}</ion-select-option> | ||||
|             </ion-select> | ||||
|         </ion-item> | ||||
|         <ion-item class="ion-text-wrap core-settings-general-font-size item-interactive"> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.fontsize' | translate }}</h2> | ||||
|             </ion-label> | ||||
|             <ion-segment [(ngModel)]="selectedZoomLevel" (ionChange)="zoomLevelChanged()" color="primary"> | ||||
|                 <ion-segment-button *ngFor="let zoomLevel of zoomLevels" [value]="zoomLevel.value" | ||||
|                     [ngStyle]="{'font-size.px': zoomLevel.style}"> | ||||
|                     <ion-label> | ||||
|                         {{ 'core.settings.fontsizecharacter' | translate }} | ||||
|                         <!-- Empty element styled with the largest font size, so all buttons share a common baseline. --> | ||||
|                         <span [ngStyle]="{'font-size.px': zoomLevels[zoomLevels.length - 1].style}"></span> | ||||
|                     </ion-label> | ||||
|                 </ion-segment-button> | ||||
|             </ion-segment> | ||||
|         </ion-item> | ||||
|         <ion-item class="ion-text-wrap core-settings-general-color-scheme" *ngIf="colorSchemes.length > 0" | ||||
|             [lines]="selectedScheme=='system' && isAndroid ? 'none' : 'inset'"> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.colorscheme' | translate }}</h2> | ||||
|                 <p *ngIf="colorSchemeDisabled" class="text-danger">{{ 'core.settings.forcedsetting' | translate }}</p> | ||||
|             </ion-label> | ||||
|             <ion-select [(ngModel)]="selectedScheme" (ionChange)="colorSchemeChanged()" interface="action-sheet" | ||||
|                 [disabled]="colorSchemeDisabled" [interfaceOptions]="{header: 'core.settings.colorscheme' | translate}"> | ||||
|                 <ion-select-option *ngFor="let scheme of colorSchemes" [value]="scheme"> | ||||
|                     {{ 'core.settings.colorscheme-' + scheme | translate }}</ion-select-option> | ||||
|             </ion-select> | ||||
|         </ion-item> | ||||
|         <ion-item text-wrap *ngIf="colorSchemes.length > 0 && selectedScheme=='system' && isAndroid"> | ||||
|             <ion-label><p>{{ 'core.settings.colorscheme-system-notice' | translate }}</p></ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item class="ion-text-wrap"> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.enablerichtexteditor' | translate }}</h2> | ||||
|                 <p>{{ 'core.settings.enablerichtexteditordescription' | translate }}</p> | ||||
|             </ion-label> | ||||
|             <ion-toggle [(ngModel)]="richTextEditor" (ionChange)="richTextEditorChanged()"></ion-toggle> | ||||
|         </ion-item> | ||||
|         <ion-item class="ion-text-wrap" *ngIf="displayIframeHelp"> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.ioscookies' | translate }}</h2> | ||||
|                 <p>{{ 'core.settings.ioscookiesdescription' | translate }}</p> | ||||
|                 <ion-button expand="block" (click)="openNativeSettings()"> | ||||
|                     {{ 'core.opensettings' | translate }} | ||||
|                 </ion-button> | ||||
|             </ion-label> | ||||
|         </ion-item> | ||||
|         <ion-item class="ion-text-wrap"> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.debugdisplay' | translate }}</h2> | ||||
|                 <p>{{ 'core.settings.debugdisplaydescription' | translate }}</p> | ||||
|             </ion-label> | ||||
|             <ion-toggle [(ngModel)]="debugDisplay" (ionChange)="debugDisplayChanged()"></ion-toggle> | ||||
|         </ion-item> | ||||
|         <ion-item class="ion-text-wrap" *ngIf="analyticsSupported"> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.enablefirebaseanalytics' | translate }}</h2> | ||||
|                 <p>{{ 'core.settings.enablefirebaseanalyticsdescription' | translate }}</p> | ||||
|             </ion-label> | ||||
|             <ion-toggle [(ngModel)]="analyticsEnabled" (ionChange)="analyticsEnabledChanged()"></ion-toggle> | ||||
|         </ion-item> | ||||
|     </ion-list> | ||||
| </ion-content> | ||||
|  | ||||
| @ -9,33 +9,34 @@ | ||||
| </ion-header> | ||||
| <ion-content> | ||||
|     <core-loading [hideUntil]="loaded"> | ||||
|         <ion-item button *ngIf="error" class="ion-text-wrap" [href]="licensesUrl" core-link auto-login="no"> | ||||
|             <ion-label> | ||||
|                 {{ 'core.settings.opensourcelicenses' | translate }} | ||||
|             </ion-label> | ||||
|             <ion-button [href]="licensesUrl" target="_blank" fill="clear" slot="end" core-link auto-login="no"> | ||||
|                 {{ 'core.view' | translate }}</ion-button> | ||||
|         </ion-item> | ||||
| 
 | ||||
|         <ng-container *ngIf="!error"> | ||||
|             <ion-item *ngFor="let license of licenses" class="ion-text-wrap"> | ||||
|         <ion-list> | ||||
|             <ion-item button *ngIf="error" class="ion-text-wrap" [href]="licensesUrl" core-link auto-login="no"> | ||||
|                 <ion-label> | ||||
|                     <p class="item-heading"> | ||||
|                         <a *ngIf="license.repository" [href]="license.repository" core-link | ||||
|                             auto-login="no">{{ license.name }}</a> | ||||
|                         <ng-container *ngIf="!license.repository">{{ license.name }}</ng-container> - {{ license.version }} | ||||
|                     </p> | ||||
|                     <p class="item-heading" *ngIf="license.publisher"> | ||||
|                         {{ 'core.settings.publisher' | translate }}{{ 'core.labelsep' | translate }} {{ license.publisher }} | ||||
|                     </p> | ||||
|                     <p>{{ 'core.settings.license' | translate }}{{ 'core.labelsep' | translate }} {{ license.licenses }}</p> | ||||
|                     <p><a *ngIf="license.url" [href]="license.url" core-link auto-login="no">{{ license.url }}</a></p> | ||||
|                     <p><a *ngIf="license.email" [href]="'mailto:' + license.email" core-link | ||||
|                             auto-login="no">{{ license.email }}</a></p> | ||||
|                     {{ 'core.settings.opensourcelicenses' | translate }} | ||||
|                 </ion-label> | ||||
|                 <ion-button *ngIf="license.licenseUrl" [href]="license.licenseUrl" target="_blank" | ||||
|                     fill="clear" slot="end" core-link auto-login="no">{{ 'core.view' | translate }}</ion-button> | ||||
|                 <ion-button [href]="licensesUrl" target="_blank" fill="clear" slot="end" core-link auto-login="no"> | ||||
|                     {{ 'core.view' | translate }}</ion-button> | ||||
|             </ion-item> | ||||
|         </ng-container> | ||||
|             <ng-container *ngIf="!error"> | ||||
|                 <ion-item *ngFor="let license of licenses" class="ion-text-wrap"> | ||||
|                     <ion-label> | ||||
|                         <p class="item-heading"> | ||||
|                             <a *ngIf="license.repository" [href]="license.repository" core-link | ||||
|                                 auto-login="no">{{ license.name }}</a> | ||||
|                             <ng-container *ngIf="!license.repository">{{ license.name }}</ng-container> - {{ license.version }} | ||||
|                         </p> | ||||
|                         <p class="item-heading" *ngIf="license.publisher"> | ||||
|                             {{ 'core.settings.publisher' | translate }}{{ 'core.labelsep' | translate }} {{ license.publisher }} | ||||
|                         </p> | ||||
|                         <p>{{ 'core.settings.license' | translate }}{{ 'core.labelsep' | translate }} {{ license.licenses }}</p> | ||||
|                         <p><a *ngIf="license.url" [href]="license.url" core-link auto-login="no">{{ license.url }}</a></p> | ||||
|                         <p><a *ngIf="license.email" [href]="'mailto:' + license.email" core-link | ||||
|                                 auto-login="no">{{ license.email }}</a></p> | ||||
|                     </ion-label> | ||||
|                     <ion-button *ngIf="license.licenseUrl" [href]="license.licenseUrl" target="_blank" | ||||
|                         fill="clear" slot="end" core-link auto-login="no">{{ 'core.view' | translate }}</ion-button> | ||||
|                 </ion-item> | ||||
|             </ng-container> | ||||
|         </ion-list> | ||||
|     </core-loading> | ||||
| </ion-content> | ||||
|  | ||||
| @ -18,30 +18,32 @@ | ||||
|         <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content> | ||||
|     </ion-refresher> | ||||
|     <core-loading [hideUntil]="loaded"> | ||||
|         <ion-item *ngFor="let site of sites" [attr.aria-current]="site.id == currentSiteId ? 'page' : 'false'"> | ||||
|             <ion-label class="ion-text-wrap"> | ||||
|                 <p class="item-heading"> | ||||
|                     <core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text> | ||||
|         <ion-list> | ||||
|             <ion-item *ngFor="let site of sites" [attr.aria-current]="site.id == currentSiteId ? 'page' : 'false'"> | ||||
|                 <ion-label class="ion-text-wrap"> | ||||
|                     <p class="item-heading"> | ||||
|                         <core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text> | ||||
|                     </p> | ||||
|                     <p class="ion-text-wrap">{{ site.fullName }}</p> | ||||
|                     <p>{{ site.siteUrl }}</p> | ||||
|                 </ion-label> | ||||
|                 <p *ngIf="site.spaceUsage !== undefined" slot="end"> | ||||
|                     {{ site.spaceUsage | coreBytesToSize }} | ||||
|                 </p> | ||||
|                 <p class="ion-text-wrap">{{ site.fullName }}</p> | ||||
|                 <p>{{ site.siteUrl }}</p> | ||||
|             </ion-label> | ||||
|             <p *ngIf="site.spaceUsage !== undefined" slot="end"> | ||||
|                 {{ site.spaceUsage | coreBytesToSize }} | ||||
|             </p> | ||||
|             <ion-button fill="clear" color="danger" slot="end" (click)="deleteSiteStorage(site)" | ||||
|                 [hidden]="site.spaceUsage! + site.cacheEntries! <= 0" | ||||
|                 [attr.aria-label]="'core.settings.deletesitefilestitle' | translate"> | ||||
|                 <ion-icon name="fas-trash" slot="icon-only" aria-hidden="true"></ion-icon> | ||||
|             </ion-button> | ||||
|         </ion-item> | ||||
|         <ion-item-divider> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.total' | translate }}</h2> | ||||
|             </ion-label> | ||||
|             <p slot="end" class="ion-margin-end"> | ||||
|                 {{ totals.spaceUsage | coreBytesToSize }} | ||||
|             </p> | ||||
|         </ion-item-divider> | ||||
|                 <ion-button fill="clear" color="danger" slot="end" (click)="deleteSiteStorage(site)" | ||||
|                     [hidden]="site.spaceUsage! + site.cacheEntries! <= 0" | ||||
|                     [attr.aria-label]="'core.settings.deletesitefilestitle' | translate"> | ||||
|                     <ion-icon name="fas-trash" slot="icon-only" aria-hidden="true"></ion-icon> | ||||
|                 </ion-button> | ||||
|             </ion-item> | ||||
|             <ion-item-divider> | ||||
|                 <ion-label> | ||||
|                     <h2>{{ 'core.settings.total' | translate }}</h2> | ||||
|                 </ion-label> | ||||
|                 <p slot="end" class="ion-margin-end"> | ||||
|                     {{ totals.spaceUsage | coreBytesToSize }} | ||||
|                 </p> | ||||
|             </ion-item-divider> | ||||
|         </ion-list> | ||||
|     </core-loading> | ||||
| </ion-content> | ||||
|  | ||||
| @ -15,35 +15,37 @@ | ||||
| </ion-header> | ||||
| <ion-content> | ||||
|     <core-loading [hideUntil]="sitesLoaded"> | ||||
|         <ion-item-divider> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.syncsettings' | translate }}</h2> | ||||
|             </ion-label> | ||||
|         </ion-item-divider> | ||||
|         <ion-item class="ion-text-wrap"> | ||||
|             <ion-label>{{ 'core.settings.enablesyncwifi' | translate }}</ion-label> | ||||
|             <ion-toggle slot="end" [(ngModel)]="syncOnlyOnWifi" (ngModelChange)="syncOnlyOnWifiChanged()"> | ||||
|             </ion-toggle> | ||||
|         </ion-item> | ||||
|         <ion-item-divider> | ||||
|             <ion-label> | ||||
|                 <h2>{{ 'core.settings.sites' | translate }}</h2> | ||||
|             </ion-label> | ||||
|         </ion-item-divider> | ||||
|         <ion-item *ngFor="let site of sites" [attr.aria-current]="site.id == currentSiteId ? 'page' : 'false'" class="ion-text-wrap"> | ||||
|             <ion-label> | ||||
|                 <p class="item-heading"> | ||||
|                     <core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text> | ||||
|                 </p> | ||||
|                 <p>{{ site.fullName }}</p> | ||||
|                 <p>{{ site.siteUrl }}</p> | ||||
|             </ion-label> | ||||
|             <core-button-with-spinner [loading]="isSynchronizing(site.id)" slot="end"> | ||||
|                 <ion-button fill="clear"  (click)="synchronize(site.id)" | ||||
|                     [title]="site.siteName" [attr.aria-label]="'core.settings.synchronizenow' | translate"> | ||||
|                     <ion-icon name="fas-sync-alt" slot="icon-only" aria-hidden="true"></ion-icon> | ||||
|                 </ion-button> | ||||
|             </core-button-with-spinner> | ||||
|         </ion-item> | ||||
|         <ion-list> | ||||
|             <ion-item-divider> | ||||
|                 <ion-label> | ||||
|                     <h2>{{ 'core.settings.syncsettings' | translate }}</h2> | ||||
|                 </ion-label> | ||||
|             </ion-item-divider> | ||||
|             <ion-item class="ion-text-wrap"> | ||||
|                 <ion-label>{{ 'core.settings.enablesyncwifi' | translate }}</ion-label> | ||||
|                 <ion-toggle slot="end" [(ngModel)]="syncOnlyOnWifi" (ngModelChange)="syncOnlyOnWifiChanged()"> | ||||
|                 </ion-toggle> | ||||
|             </ion-item> | ||||
|             <ion-item-divider> | ||||
|                 <ion-label> | ||||
|                     <h2>{{ 'core.settings.sites' | translate }}</h2> | ||||
|                 </ion-label> | ||||
|             </ion-item-divider> | ||||
|             <ion-item *ngFor="let site of sites" [attr.aria-current]="site.id == currentSiteId ? 'page' : 'false'" class="ion-text-wrap"> | ||||
|                 <ion-label> | ||||
|                     <p class="item-heading"> | ||||
|                         <core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text> | ||||
|                     </p> | ||||
|                     <p>{{ site.fullName }}</p> | ||||
|                     <p>{{ site.siteUrl }}</p> | ||||
|                 </ion-label> | ||||
|                 <core-button-with-spinner [loading]="isSynchronizing(site.id)" slot="end"> | ||||
|                     <ion-button fill="clear"  (click)="synchronize(site.id)" | ||||
|                         [title]="site.siteName" [attr.aria-label]="'core.settings.synchronizenow' | translate"> | ||||
|                         <ion-icon name="fas-sync-alt" slot="icon-only" aria-hidden="true"></ion-icon> | ||||
|                     </ion-button> | ||||
|                 </core-button-with-spinner> | ||||
|             </ion-item> | ||||
|         </ion-list> | ||||
|     </core-loading> | ||||
| </ion-content> | ||||
|  | ||||
| @ -87,7 +87,7 @@ | ||||
|     --core-bottom-tabs-background: var(--black); | ||||
|     --core-bottom-tabs-color: var(--gray-lighter); | ||||
|     --core-bottom-tabs-color-selected: var(--brand-color); | ||||
|     --core-bottom-tabs-background-selected: var(--core-bottom-tabs-background); | ||||
|     --core-bottom-tabs-background-selected: transparent; | ||||
|     --core-bottom-tabs-badge-color: var(--brand-color); | ||||
|     --core-bottom-tabs-badge-text-color: var(--brand-color-contrast); | ||||
|     --bottom-tabs-size: 56px; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user