-<div class="container">
+<div *ngIf="customCSS" [innerHTML]="customCSS"></div>
- <header class="row">
- <div class="col-md-2">
- <h4 id="peertube-title">
- <a [routerLink]="['/videos/list']">PeerTube</a>
- </h4>
+<my-hotkeys-cheatsheet></my-hotkeys-cheatsheet>
+
+<div class="peertube-container" [ngClass]="{ 'user-logged-in': isUserLoggedIn(), 'user-not-logged-in': !isUserLoggedIn() }">
+ <div class="header">
+
+ <div class="top-left-block">
+ <span class="icon icon-menu" role="button" [title]="getToggleTitle()" (click)="menu.toggleMenu()"></span>
+
+ <a class="peertube-title c-hand" (click)="goToDefaultRoute()">
+ <span class="icon icon-logo"></span>
+ <span class="instance-name">{{ instanceName }}</span>
+ </a>
</div>
- <div class="col-md-9">
- <my-search></my-search>
+ <div class="header-right">
+ <my-header class="w-100 d-flex justify-content-end"></my-header>
</div>
- </header>
+ </div>
+ <div class="sub-header-container">
+ <my-menu *ngIf="menu.isMenuDisplayed"></my-menu>
- <div class="row">
+ <div id="content" tabindex="-1" class="main-col" [ngClass]="{ expanded: menu.isMenuDisplayed === false }">
- <menu class="col-md-2 col-sm-3 col-xs-3">
- <div class="panel-block">
- <div id="panel-user-login" class="panel-button">
- <span class="hidden-xs glyphicon glyphicon-user"></span>
- <a *ngIf="!isLoggedIn" [routerLink]="['/login']">Login</a>
- <a *ngIf="isLoggedIn" (click)="logout()">Logout</a>
- </div>
- </div>
+ <div class="main-row">
- <div class="panel-block">
- <div id="panel-get-videos" class="panel-button">
- <span class="hidden-xs glyphicon glyphicon-list"></span>
- <a [routerLink]="['/videos/list']">Get videos</a>
- </div>
+ <div *ngIf="broadcastMessage" class="broadcast-message alert" [ngClass]="broadcastMessage.class">
+ <div [innerHTML]="broadcastMessage.message"></div>
- <div id="panel-upload-video" class="panel-button" *ngIf="isLoggedIn">
- <span class="hidden-xs glyphicon glyphicon-cloud-upload"></span>
- <a [routerLink]="['/videos/add']">Upload a video</a>
+ <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>
+ </div>
+ </div>
+</div>
- <div class="panel-block" *ngIf="isLoggedIn">
- <div id="panel-make-friends" class="panel-button">
- <span class="hidden-xs glyphicon glyphicon-cloud"></span>
- <a (click)='makeFriends()'>Make friends</a>
- </div>
+<ngx-loading-bar [includeSpinner]="false" color="var(--mainColor)"></ngx-loading-bar>
- <div id="panel-quit-friends" class="panel-button">
- <span class="hidden-xs glyphicon glyphicon-plane"></span>
- <a (click)='quitFriends()'>Quit friends</a>
- </div>
+<my-confirm></my-confirm>
+
+<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>
- </menu>
- <div class="col-md-9 col-sm-8 col-xs-8 router-outlet-container">
- <router-outlet></router-outlet>
+ <my-global-icon [iconName]="getNotificationIcon(message)"></my-global-icon>
</div>
+ </ng-template>
+</p-toast>
- </div>
-
+<ng-container *ngIf="isUserLoggedIn()">
+ <my-account-setup-warning-modal #accountSetupWarningModal></my-account-setup-warning-modal>
+ <my-admin-welcome-modal #adminWelcomeModal></my-admin-welcome-modal>
+ <my-instance-config-warning-modal #instanceConfigWarningModal></my-instance-config-warning-modal>
+</ng-container>
- <footer>
- PeerTube, CopyLeft 2015-2016
- </footer>
-</div>
+<my-custom-modal #customModal></my-custom-modal>