97 lines
3.9 KiB
HTML
97 lines
3.9 KiB
HTML
<mat-toolbar color="primary">
|
|
<a href="javascript:" mat-icon-button (click)="sidenav.toggle()">
|
|
<mat-icon>menu</mat-icon>
|
|
</a>
|
|
<mat-icon svgIcon="logo"></mat-icon>
|
|
<a class="main" routerLink="/">
|
|
{{'bstlboard' | i18n}}
|
|
</a>
|
|
<span class="spacer"></span>
|
|
<ng-container *ngIf="authenticated">
|
|
<a routerLink="/submit" mat-raised-button color="accent">
|
|
<mat-icon>edit</mat-icon> {{'submission' |
|
|
i18n}}
|
|
</a>
|
|
</ng-container>
|
|
<ng-container>
|
|
<button mat-button [matMenuTriggerFor]="menu">
|
|
<mat-icon>settings</mat-icon>
|
|
<mat-icon>arrow_drop_down</mat-icon>
|
|
</button>
|
|
<mat-menu #menu="matMenu">
|
|
<a *ngIf="!authenticated" routerLink="/login" routerLinkActive="active" mat-menu-item>
|
|
<mat-icon>login</mat-icon> {{'login' | i18n}}
|
|
</a>
|
|
<mat-divider *ngIf="!authenticated"></mat-divider>
|
|
<a *ngFor="let locale of locales" mat-menu-item (click)="setLocale(locale)">
|
|
<mat-icon *ngIf="locale == currentLocale">done</mat-icon>{{'locale.' + locale + '.long' |
|
|
i18n}}
|
|
</a>
|
|
<a mat-menu-item (click)="toggleDarkTheme()">
|
|
<mat-slide-toggle [checked]="darkTheme">
|
|
{{'darkTheme' | i18n}}
|
|
</mat-slide-toggle>
|
|
</a>
|
|
<mat-divider *ngIf="authenticated"></mat-divider>
|
|
<a *ngIf="authenticated" routerLink="/settings" routerLinkActive="active" mat-menu-item>
|
|
<mat-icon>tune</mat-icon> {{'settings' | i18n}}
|
|
</a>
|
|
<mat-divider *ngIf="authenticated"></mat-divider>
|
|
<a *ngIf="authenticated" (click)="logout()" mat-menu-item>
|
|
<mat-icon>exit_to_app</mat-icon> {{'logout' | i18n}}
|
|
</a>
|
|
</mat-menu>
|
|
</ng-container>
|
|
</mat-toolbar>
|
|
|
|
<mat-sidenav-container>
|
|
<mat-sidenav #sidenav [mode]="isBiggerScreen() ? 'side' : 'over'" [(opened)]="opened"
|
|
(click)="!isBiggerScreen() && this.close()">
|
|
<mat-nav-list>
|
|
<ui-viewmenu *ngIf="authenticated"></ui-viewmenu>
|
|
<mat-divider *ngIf="moderator"></mat-divider>
|
|
<a *ngIf="moderator" routerLink="/moderation/entries" routerLinkActive="active" mat-list-item>
|
|
<mat-icon matListItemIcon>report</mat-icon>
|
|
<span>{{'moderation.entries' | i18n}}</span>
|
|
</a>
|
|
<a *ngIf="moderator" routerLink="/moderation/comments" routerLinkActive="active" mat-list-item>
|
|
<mat-icon matListItemIcon>feedback</mat-icon>
|
|
<span>{{'moderation.comments' | i18n}}</span>
|
|
</a>
|
|
<mat-divider *ngIf="authenticated"></mat-divider>
|
|
<a *ngIf="authenticated" routerLink="/bookmarks" routerLinkActive="active" mat-list-item>
|
|
<mat-icon matListItemIcon>bookmarks</mat-icon>
|
|
<span>{{'bookmarks' | i18n}}</span>
|
|
</a>
|
|
<mat-divider *ngIf="authenticated"></mat-divider>
|
|
<a (click)="openExternal($event,'https://wiki.bstly.de/services/bstlboard#faq','_blank')"
|
|
routerLinkActive="active" mat-list-item>
|
|
<mat-icon matListItemIcon>help</mat-icon>
|
|
<span>{{'page.faq' | i18n}}</span>
|
|
</a>
|
|
</mat-nav-list>
|
|
|
|
<mat-form-field *ngIf="authenticated" (click)="preventClose($event)">
|
|
<input matInput type="text" (change)="search($event.target && $event.target.value || undefined, $event)"
|
|
placeholder="{{'search' | i18n}}">
|
|
</mat-form-field>
|
|
|
|
<span class="spacer"></span>
|
|
<mat-nav-list>
|
|
<mat-divider></mat-divider>
|
|
<a (click)="openExternal($event,'https://www.bstly.de/imprint/')" mat-list-item style="font-size: 0.7em;">
|
|
{{'page.imprint' | i18n}}
|
|
</a>
|
|
<a (click)="openExternal($event,'https://www.bstly.de/privacy-policy/#bstlboard')" mat-list-item
|
|
style="font-size: 0.7em;">
|
|
{{'page.privacy-policy' | i18n}}
|
|
</a>
|
|
<span style="font-size: 0.7em; margin-right: 1em; float: right;">v{{version}}</span>
|
|
</mat-nav-list>
|
|
</mat-sidenav>
|
|
|
|
<!-- Main content -->
|
|
<mat-sidenav-content>
|
|
<router-outlet></router-outlet>
|
|
</mat-sidenav-content>
|
|
</mat-sidenav-container> |