2018-07-31 15:46:55 +02:00
|
|
|
<mat-sidenav-container autosize class='main-container'>
|
2018-08-23 16:49:51 +02:00
|
|
|
<mat-sidenav #sideNav [mode]="vp.isMobile ? 'push' : 'side'" [opened]='!vp.isMobile' disableClose='!vp.isMobile' class="side-panel">
|
2018-07-26 16:40:34 +02:00
|
|
|
<mat-toolbar class='nav-toolbar'>
|
2018-06-29 17:24:44 +02:00
|
|
|
<!-- logo -->
|
2018-08-02 16:39:08 +02:00
|
|
|
<mat-toolbar-row class='os-logo-container'>
|
2018-06-29 17:24:44 +02:00
|
|
|
</mat-toolbar-row>
|
|
|
|
</mat-toolbar>
|
2018-06-25 17:03:52 +02:00
|
|
|
|
2018-06-29 17:24:44 +02:00
|
|
|
<!-- User Menu -->
|
2018-07-26 16:40:34 +02:00
|
|
|
<mat-expansion-panel class='user-menu mat-elevation-z0'>
|
2018-06-29 17:24:44 +02:00
|
|
|
<mat-expansion-panel-header>
|
2018-07-06 09:38:25 +02:00
|
|
|
<!-- Get the username from operator -->
|
|
|
|
{{username}}
|
2018-06-29 17:24:44 +02:00
|
|
|
</mat-expansion-panel-header>
|
2018-08-03 11:05:21 +02:00
|
|
|
<mat-nav-list>
|
2018-08-09 13:45:48 +02:00
|
|
|
<a mat-list-item [matMenuTriggerFor]="languageMenu">
|
|
|
|
<fa-icon icon='globe-americas'></fa-icon>
|
|
|
|
<span> {{getLangName(this.translate.currentLang)}} </span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a *ngIf="isLoggedIn" (click)='editProfile()' mat-list-item>
|
2018-08-03 11:05:21 +02:00
|
|
|
<fa-icon icon='user-cog'></fa-icon>
|
|
|
|
<span translate>Edit Profile</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a *ngIf="isLoggedIn" (click)='changePassword()' mat-list-item>
|
2018-08-03 11:05:21 +02:00
|
|
|
<fa-icon icon='key'></fa-icon>
|
|
|
|
<span translate>Change Password</span>
|
|
|
|
</a>
|
|
|
|
<mat-divider></mat-divider>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a *ngIf="isLoggedIn" (click)='logout()' mat-list-item>
|
2018-08-03 11:05:21 +02:00
|
|
|
<fa-icon icon='sign-out-alt'></fa-icon>
|
|
|
|
<span translate>Logout</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a *ngIf="!isLoggedIn" routerLink='/login' mat-list-item>
|
|
|
|
<fa-icon icon='sign-out-alt'></fa-icon>
|
|
|
|
<span translate>Login</span>
|
|
|
|
</a>
|
2018-08-03 11:05:21 +02:00
|
|
|
</mat-nav-list>
|
2018-06-29 17:24:44 +02:00
|
|
|
</mat-expansion-panel>
|
2018-08-09 13:45:48 +02:00
|
|
|
<!-- TODO: Could use translate.getLangs() to fetch available languages-->
|
|
|
|
<mat-menu #languageMenu="matMenu">
|
|
|
|
<button mat-menu-item (click)='selectLang("en")' translate>English</button>
|
|
|
|
<button mat-menu-item (click)='selectLang("de")' translate>German</button>
|
|
|
|
<button mat-menu-item (click)='selectLang("fr")' translate>French</button>
|
|
|
|
</mat-menu>
|
2018-06-25 17:03:52 +02:00
|
|
|
|
2018-06-29 17:24:44 +02:00
|
|
|
<!-- navigation -->
|
2018-07-26 16:40:34 +02:00
|
|
|
<mat-nav-list class='main-nav'>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'core.can_see_frontpage'" mat-list-item routerLink='/' routerLinkActive='active' [routerLinkActiveOptions]="{exact: true}"
|
2018-08-23 16:49:51 +02:00
|
|
|
(click)='toggleSideNav()'>
|
2018-07-31 15:46:55 +02:00
|
|
|
<fa-icon icon='home'></fa-icon>
|
|
|
|
<span translate>Home</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'agenda.can_see'" mat-list-item routerLink='/agenda' routerLinkActive='active' (click)='toggleSideNav()'>
|
2018-07-31 15:46:55 +02:00
|
|
|
<fa-icon icon='calendar'></fa-icon>
|
|
|
|
<span translate>Agenda</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'motions.can_see'" mat-list-item routerLink='/motions' routerLinkActive='active' (click)='toggleSideNav()'>
|
2018-07-31 15:46:55 +02:00
|
|
|
<fa-icon icon='file-alt'></fa-icon>
|
|
|
|
<span translate>Motions</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'assignments.can_see'" mat-list-item routerLink='/assignments' routerLinkActive='active'
|
2018-08-23 16:49:51 +02:00
|
|
|
(click)='vp.isMobile ? sideNav.toggle() : null'>
|
2018-07-31 15:46:55 +02:00
|
|
|
<fa-icon icon='chart-pie'></fa-icon>
|
|
|
|
<span translate>Assignments</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'users.can_see_name'" mat-list-item routerLink='/users' routerLinkActive='active' (click)='toggleSideNav()'>
|
2018-07-31 15:46:55 +02:00
|
|
|
<fa-icon icon='user'></fa-icon>
|
|
|
|
<span translate>Participants</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'mediafiles.can_see'" mat-list-item routerLink='/mediafiles' routerLinkActive='active' (click)='toggleSideNav()'>
|
2018-07-31 15:46:55 +02:00
|
|
|
<fa-icon icon='paperclip'></fa-icon>
|
|
|
|
<span translate>Files</span>
|
|
|
|
</a>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'core.can_manage_config'" mat-list-item routerLink='/settings' routerLinkActive='active'
|
2018-08-23 16:49:51 +02:00
|
|
|
(click)='toggleSideNav()'>
|
2018-07-31 15:46:55 +02:00
|
|
|
<fa-icon icon='cog'></fa-icon>
|
|
|
|
<span translate>Settings</span>
|
|
|
|
</a>
|
2018-08-14 12:55:45 +02:00
|
|
|
<mat-divider></mat-divider>
|
2018-08-28 11:07:10 +02:00
|
|
|
<a [@navItemAnim] *appOsPerms="'core.can_see_projector'" mat-list-item routerLink='/projector' routerLinkActive='active'
|
2018-08-23 16:49:51 +02:00
|
|
|
(click)='toggleSideNav()'>
|
2018-08-14 12:55:45 +02:00
|
|
|
<fa-icon icon='video'></fa-icon>
|
|
|
|
<span translate>Projector</span>
|
|
|
|
</a>
|
2018-06-29 17:24:44 +02:00
|
|
|
</mat-nav-list>
|
2018-06-25 17:03:52 +02:00
|
|
|
|
2018-08-02 16:39:08 +02:00
|
|
|
|
|
|
|
<footer>
|
2018-08-14 12:55:45 +02:00
|
|
|
<button mat-button>
|
2018-08-23 16:49:51 +02:00
|
|
|
<a routerLink='/legalnotice' (click)='toggleSideNav()'>
|
2018-08-14 12:55:45 +02:00
|
|
|
<span translate>Legal Notice</span>
|
|
|
|
</a>
|
2018-08-03 15:16:40 +02:00
|
|
|
</button>
|
2018-08-14 12:55:45 +02:00
|
|
|
<button mat-button>
|
2018-08-23 16:49:51 +02:00
|
|
|
<a routerLink='/privacypolicy' (click)='toggleSideNav()'>
|
2018-08-14 12:55:45 +02:00
|
|
|
<span translate>Privacy Policy</span>
|
|
|
|
</a>
|
2018-08-03 15:16:40 +02:00
|
|
|
</button>
|
2018-08-02 16:39:08 +02:00
|
|
|
<br>
|
|
|
|
<span align="center">© Copyright by
|
|
|
|
<a href='https://openslides.org/'>OpenSlides</a>
|
|
|
|
</span>
|
|
|
|
</footer>
|
2018-06-29 17:24:44 +02:00
|
|
|
</mat-sidenav>
|
2018-06-25 17:03:52 +02:00
|
|
|
|
2018-06-29 17:24:44 +02:00
|
|
|
<!-- the first toolbar row is (still) a global element
|
2018-08-03 15:16:40 +02:00
|
|
|
the second one shall be handled by the apps -->
|
2018-06-29 17:24:44 +02:00
|
|
|
<mat-toolbar color='primary'>
|
2018-06-25 17:03:52 +02:00
|
|
|
|
2018-06-29 17:24:44 +02:00
|
|
|
<!-- show/hide menu button -->
|
2018-08-23 16:49:51 +02:00
|
|
|
<button mat-icon-button *ngIf="vp.isMobile" (click)='sideNav.toggle()'>
|
2018-06-29 17:24:44 +02:00
|
|
|
<fa-icon icon='bars'></fa-icon>
|
|
|
|
</button>
|
2018-06-25 17:03:52 +02:00
|
|
|
|
2018-06-29 17:24:44 +02:00
|
|
|
<!-- glob search and generic menu on the right -->
|
|
|
|
<span class='spacer'></span>
|
|
|
|
<button mat-icon-button (click)='sideNav.toggle()'>
|
|
|
|
<fa-icon icon='search'></fa-icon>
|
|
|
|
</button>
|
|
|
|
</mat-toolbar>
|
|
|
|
|
|
|
|
<!-- continue with <mat-toolbar> in the app-->
|
2018-07-31 15:46:55 +02:00
|
|
|
<main [@pageTransition]="o.isActivated ? o.activatedRoute : ''">
|
|
|
|
<router-outlet #o="outlet"></router-outlet>
|
|
|
|
</main>
|
2018-08-23 16:49:51 +02:00
|
|
|
</mat-sidenav-container>
|