@openveo/portal
Version:
OpenVeo Portal gives access to medias exposed by OpenVeo server associated to an OpenVeo Publish plugin
199 lines (177 loc) • 7.76 kB
HTML
{{=[[ ]]=}}
<html ng-app="ov.portal" ng-controller="MainController as mainCtrl" ng-strict-di>
<head>
<title ng-bind="page.title | translate"></title>
<base href="/">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
[[#css]]
<link rel="stylesheet" type="text/css" href="[[.]]">
[[/css]]
<script>
var languages = [ [[& languages]] ];
var openVeoPortalSettings = {
user: [[& user]],
live: [[& live]],
authenticationMechanisms: [[& authenticationMechanisms]],
authenticationStrategies: [[& authenticationStrategies]],
theme: '[[theme]]',
useDialog: [[useDialog]],
superAdminId: '[[superAdminId]]',
search: [[& search]]
};
</script>
</head>
<body ng-cloak>
<header ng-if="!isIframe">
<!-- Header -->
<div class="container">
<div layout="row" layout-align="space-between center" layout-padding>
<a id="logo" ng-href="/" aria-label="{{'MENU.HOME'|translate}}">
<img ng-src="/themes/{{theme}}/images/logo.png">
</a>
<div layout="row" layout-align="end center" ng-if="user">
<!-- User menu -->
<md-menu>
<md-button ng-click="$mdMenu.open($event)" aria-label="{{'UI.ARIA_USER_MENU' | translate}}" class="lowercase-button">
<md-icon class="material-icons">account_circle</md-icon>
{{user.name}}
<md-icon class="material-icons">arrow_drop_down</md-icon>
</md-button>
<md-menu-content class="user-menu">
<md-menu-item ng-if="isAdmin">
<md-button
aria-label="{{'UI.BACK_OFFICE' | translate}}"
ng-click="mainCtrl.goToBackOffice();"
>
<md-icon class="material-icons">settings</md-icon>
{{'UI.BACK_OFFICE' | translate}}
</md-button>
</md-menu-item>
<md-menu-item>
<md-button aria-label="{{'UI.LOGOUT' | translate}}"
ng-click="mainCtrl.logout();"
ng-disabled="mainCtrl.isLoggingOut">
<md-icon class="material-icons">power_settings_new</md-icon>
{{'UI.LOGOUT' | translate}}
</md-button>
</md-menu-item>
</md-menu-content>
</md-menu>
</div>
<!-- Connection button -->
<md-button class="md-raised text-button log-in-button lowercase-button md-primary"
aria-label="{{'UI.LOGIN' | translate}}"
ng-if="!user && isAuth && page.path !== '/login'"
ng-bind="'UI.LOGIN' | translate"
ng-click="mainCtrl.showLoginDialog();">
</md-button>
</div>
</div>
<!-- Menu -->
<nav layout="column" layout-fill ng-if="page.path !== '/login'">
<div class="container">
<!-- Menu as tabs for large devices -->
<md-nav-bar hide-xs
class="menu"
nav-bar-aria-label="{{'MENU.ARIA_DESCRIPTION' | translate}}"
md-selected-nav-item="mainCtrl.currentNavItem">
<md-nav-item name="home"
md-nav-click="onTabSelected('/')"
aria-label="{{'MENU.HOME' | translate}}">
{{'MENU.HOME'|translate}}
</md-nav-item>
<md-nav-item name="live"
ng-if="isLive"
md-nav-click="onTabSelected('/live-event')"
aria-label="{{'MENU.LIVE' | translate}}">
{{'MENU.LIVE' | translate}}
</md-nav-item>
<md-nav-item name="search"
md-nav-click="onTabSelected('/search')"
aria-label="{{'MENU.ALL_VIDEOS' | translate}}">
{{'MENU.ALL_VIDEOS'|translate}}
</md-nav-item>
</md-nav-bar>
</div>
<!-- Menu as dialog for extra small devices -->
<div hide-gt-xs>
<md-menu>
<md-button ng-click="$mdMenu.open($event)" class="md-icon-button">
<md-icon material-icons md-light md-48>menu</md-icon>
</md-button>
<md-menu-content width="12" class="main-dropdown-menu">
<md-menu-item>
<md-button ng-href="/"
aria-label="{{'MENU.HOME' | translate}}"
ng-bind="'MENU.HOME' | translate"
class="menu-item">
</md-button>
</md-menu-item>
<md-menu-item>
<md-button ng-href="/live-event"
aria-label="{{'MENU.LIVE' | translate}}"
ng-bind="'MENU.LIVE' | translate"
class="menu-item">
</md-button>
</md-menu-item>
<md-menu-item>
<md-button ng-href="/search"
aria-label="{{'MENU.ALL_VIDEOS' | translate}}"
ng-bind="'MENU.ALL_VIDEOS' | translate"
class="menu-item">
</md-button>
</md-menu-item>
</md-menu-content>
</md-menu>
</div>
</nav>
</header>
<div ng-if="!isIframe" show-xs hide-gt-xs class="header-spacing"></div>
<!-- Page content -->
<div ng-class="{container: !isIframe}">
<div layout="column" layout-margin>
<div ng-view ng-cloak></div>
</div>
</div>
<div ng-if="!isIframe && links" class="footer-spacing"></div>
<!-- Footer -->
<footer ng-if="!isIframe && links && page.path !== '/login'" class="footer">
<nav layout="column" layout-fill>
<ul class="container"
layout="row"
layout-align="center center">
<li ng-repeat="(key, value) in links">
<md-button href="{{value}}"
aria-label="{{'LINKS.' + key | translate}}"
ng-bind="'LINKS.' + key | translate"
analytics-on="click"
analytics-event="{{key}}"
target="_blank"
class="lowercase-button md-hue-3"></md-button>
</li>
</ul>
</nav>
</footer>
[[#librariesScripts]]
<script type="text/javascript" src="[[.]]"></script>
[[/librariesScripts]]
<script>
var languageCode = (navigator.language || navigator.browserLanguage).split('-')[0];
languageCode = languages.indexOf(languageCode) > -1 ? languageCode : languages[0];
document.write('\x3Cscript type="text/javascript" src="/angular-i18n/angular-locale_' + languageCode + '.js">\x3C/script>');
document.write('\x3Cscript type="text/javascript" src="/video.js/dist/lang/' + languageCode + '.js">\x3C/script>');
document.write('\x3Cscript type="text/javascript" src="/themes/[[theme]]/i18n/openveo-portal-locale_' + languageCode + '.js">\x3C/script>');
document.write('\x3Cscript type="text/javascript" src="/themes/[[theme]]/conf.js">\x3C/script>');
</script>
[[#scripts]]
<script type="text/javascript" src="[[.]]"></script>
[[/scripts]]
[[{analytics}]]
</body>
[[={{ }}=]]
</html>