bstlboard-front/src/app/pages/settings/settings.page.html

89 lines
4.3 KiB
HTML

<div class="container">
<form [formGroup]="form" (ngSubmit)="save()" #formDirective="ngForm" *ngIf="user">
<mat-card>
<mat-card-content>
<mat-card-title><a routerLink="/u/{{user.username}}">{{user.username}}</a></mat-card-title>
<mat-form-field>
<mat-label>{{'settings.email' | i18n}}</mat-label>
<input matInput formControlName="email" type="email">
<mat-error *ngIf="hasError('email')">
{{'settings.email.error' | i18n}}
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{'settings.about' | i18n}}</mat-label>
<textarea matAutosize matAutosizeMinRows="3" matInput formControlName="about"></textarea>
<mat-error>
{{'settings.about.error' | i18n}}
</mat-error>
</mat-form-field>
<mat-divider></mat-divider>
<p>{{'settings.pagesettings' | i18n}}</p>
<mat-form-field>
<button matTooltip="{{'settings.gravity.reset' | i18n:settings.defaultGravity}}"
*ngIf="user.settings.gravity || form.get('gravity').value != settings.defaultGravity" matPrefix
mat-icon-button (click)="resetGravity()">
<mat-icon>cancel</mat-icon>
</button>
<mat-label>{{'settings.gravity' | i18n}}</mat-label>
<input type="number" min="0" max="2" step="0.1" matInput formControlName="gravity">
<mat-hint *ngIf="form.get('gravity').value != 0">
{{'settings.gravity.hint' | i18n}}
</mat-hint>
<mat-hint *ngIf="form.get('gravity').value == 0">
{{'settings.gravity.zero' | i18n}}
</mat-hint>
</mat-form-field>
<mat-form-field>
<button matTooltip="{{'settings.entryDelay.reset' | i18n:settings.defaultEntryDelay}}"
*ngIf="user.settings.entryDelay || form.get('entryDelay').value != settings.defaultEntryDelay" matPrefix
mat-icon-button (click)="resetEntryDelay()">
<mat-icon>cancel</mat-icon>
</button>
<mat-label>{{'settings.entryDelay' | i18n}}</mat-label>
<input type="number" min="0" max="15" step="1" matInput formControlName="entryDelay">
<mat-hint *ngIf="form.get('entryDelay').value != 0">
{{'settings.entryDelay.hint' | i18n}}
</mat-hint>
<mat-hint *ngIf="form.get('entryDelay').value == 0">
{{'settings.entryDelay.zero' | i18n}}
</mat-hint>
</mat-form-field>
<mat-form-field>
<button matTooltip="{{'settings.commentDelay.reset' | i18n:settings.defaultCommentDelay}}"
*ngIf="user.settings.commentDelay || form.get('commentDelay').value != settings.defaultCommentDelay"
matPrefix mat-icon-button (click)="resetCommentDelay()">
<mat-icon>cancel</mat-icon>
</button>
<mat-label>{{'settings.commentDelay' | i18n}}</mat-label>
<input type="number" min="0" max="15" step="1" matInput formControlName="commentDelay">
<mat-hint *ngIf="form.get('commentDelay').value != 0">
{{'settings.commentDelay.hint' | i18n}}
</mat-hint>
<mat-hint *ngIf="form.get('commentDelay').value == 0">
{{'settings.commentDelay.zero' | i18n}}
</mat-hint>
</mat-form-field>
<mat-form-field>
<button matTooltip="{{'settings.pageSize.reset' | i18n:settings.defaultPageSize}}"
*ngIf="user.settings.pageSize || form.get('pageSize').value != settings.defaultPageSize" matPrefix
mat-icon-button (click)="resetPageSize()">
<mat-icon>cancel</mat-icon>
</button>
<mat-label>{{'settings.pageSize' | i18n}}</mat-label>
<input type="number" min="1" max="100" step="1" matInput formControlName="pageSize">
<mat-hint *ngIf="form.get('pageSize').value != 0">
{{'settings.pageSize.hint' | i18n}}
</mat-hint>
</mat-form-field>
</mat-card-content>
<mat-card-actions>
<button type="submit" *ngIf="!working" mat-raised-button color="primary" [disabled]="form.invalid">
{{'settings.update' | i18n}}
</button>
<a *ngIf="success" mat-button color="primary">{{'settings.success' | i18n}}</a>
</mat-card-actions>
</mat-card>
</form>
</div>