-<div class="container-fluid">
- <div class="row header">
+<div *ngIf="customCSS" [innerHTML]="customCSS"></div>
- <div class="col-md-2 col-sm-3 col-xs-3 top-left-block" [ngClass]="{ 'border-bottom': isMenuDisplayed === false }">
- <div class="hamburger-block" (click)="toggleMenu()">
- <span class="glyphicon glyphicon-menu-hamburger"></span>
- </div>
-
- <div id="peertube-title">
- <a [routerLink]="['/videos/list']" title="Homepage"></a>
- </div>
- </div>
-
- <!-- Used for the fixed title -->
- <div class="col-md-2 col-sm-3 col-xs-3 fake-title-block"></div>
+<my-hotkeys-cheatsheet></my-hotkeys-cheatsheet>
- <!-- We need to reset col-md-* because my-search is in fixed position -->
- <my-search class="col-md-10 col-sm-9 col-xs-9"></my-search>
- </div>
+<div class="peertube-container" [ngClass]="{ 'user-logged-in': isUserLoggedIn(), 'user-not-logged-in': !isUserLoggedIn() }">
+ <div class="header">
- <div class="row">
- <div class="col-md-2 col-sm-3 col-xs-3 title-menu-left">
+ <div class="top-left-block">
+ <span class="icon icon-menu" role="button" [title]="getToggleTitle()" (click)="menu.toggleMenu()"></span>
- <div class="title-menu-left-block menu">
- <my-menu *ngIf="isMenuDisplayed && isInAdmin() === false"></my-menu>
- <my-menu-admin *ngIf="isMenuDisplayed && isInAdmin() === true"></my-menu-admin>
- </div>
+ <a class="peertube-title c-hand" (click)="goToDefaultRoute()">
+ <span class="icon icon-logo"></span>
+ <span class="instance-name">{{ instanceName }}</span>
+ </a>
</div>
- <!-- Used for the fixed menu -->
- <div class="fake-menu col-md-2 col-sm-3 col-xs-3">
+ <div class="header-right">
+ <my-header class="w-100 d-flex justify-content-end"></my-header>
</div>
+ </div>
- <div class="main-col" [ngClass]="getMainColClasses()">
+ <div class="sub-header-container">
+ <my-menu *ngIf="menu.isMenuDisplayed"></my-menu>
+
+ <div id="content" tabindex="-1" class="main-col" [ngClass]="{ expanded: menu.isMenuDisplayed === false }">
<div class="main-row">
+
+ <div *ngIf="broadcastMessage" class="broadcast-message alert" [ngClass]="broadcastMessage.class">
+ <div [innerHTML]="broadcastMessage.message"></div>
+
+ <my-global-icon
+ *ngIf="broadcastMessage.dismissable" (click)="hideBroadcastMessage()"
+ iconName="cross" role="button" title="Close this message" i18n-title
+ ></my-global-icon>
+ </div>
+
<router-outlet></router-outlet>
</div>
-
- <footer class="row">
- <a href="https://github.com/Chocobozzz/PeerTube" title="PeerTube on Github">PeerTube</a> -
- <a href="https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE" title="PeerTube licence">CopyLeft 2015-2017</a>
- </footer>
</div>
</div>
</div>
+<ngx-loading-bar [includeSpinner]="false" color="var(--mainColor)"></ngx-loading-bar>
+
<my-confirm></my-confirm>
-<simple-notifications [options]="notificationOptions"></simple-notifications>
+
+<p-toast position="bottom-right">
+ <ng-template let-message pTemplate="message">
+ <div class="notification-block">
+ <div class="message">
+ <h3>{{ message.summary }}</h3>
+ <p>{{ message.detail }}</p>
+ </div>
+
+ <span *ngIf="message.severity === 'success'" class="glyphicon glyphicon-ok"></span>
+ <span *ngIf="message.severity === 'info'" class="glyphicon glyphicon-info-sign"></span>
+ <span *ngIf="message.severity === 'error'" class="glyphicon glyphicon-remove"></span>
+ </div>
+ </ng-template>
+</p-toast>
+
+<ng-template [ngIf]="isUserLoggedIn()">
+ <my-welcome-modal #welcomeModal></my-welcome-modal>
+ <my-instance-config-warning-modal #instanceConfigWarningModal></my-instance-config-warning-modal>
+</ng-template>
+
+<my-custom-modal #customModal></my-custom-modal>