mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
updated bravia profiles
This commit is contained in:
parent
1d66f5e9a3
commit
3a20f6af21
8 changed files with 158 additions and 20 deletions
|
@ -4,8 +4,7 @@
|
||||||
<title>${TitleSignIn}</title>
|
<title>${TitleSignIn}</title>
|
||||||
</head>
|
</head>
|
||||||
<body class="serverlessPage">
|
<body class="serverlessPage">
|
||||||
<div class="backdropContainer" style="background-image:url(css/images/splash.jpg);top:0;"></div>
|
<div id="connectLoginPage" data-role="page" class="page standalonePage connectLoginPage" data-theme="b">
|
||||||
<div id="connectLoginPage" data-role="page" class="page standalonePage connectLoginPage lightBackdropPage backdropPage staticBackdropPage" data-theme="b" style="background-color: rgba(0, 0,0, .9)!important;">
|
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
|
@ -24,15 +23,23 @@
|
||||||
<input type="password" id="txtManualPassword" required="required" />
|
<input type="password" id="txtManualPassword" required="required" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="submit" data-icon="check">
|
<button class="btn btnActionAccent" data-role="none" type="submit">
|
||||||
|
<span>
|
||||||
${ButtonSignIn}
|
${ButtonSignIn}
|
||||||
|
</span>
|
||||||
|
<i class="fa fa-check"></i>
|
||||||
</button>
|
</button>
|
||||||
<p class="forgotPassword" style="display:none;">
|
<p class="forgotPassword" style="display:none;">
|
||||||
<a href="http://emby.media/community/index.php?app=core&module=global§ion=lostpass" target="_blank">${ButtonForgotPassword}</a>
|
<a href="http://emby.media/community/index.php?app=core&module=global§ion=lostpass" target="_blank">${ButtonForgotPassword}</a>
|
||||||
</p>
|
</p>
|
||||||
<div class="skip">
|
<div class="skip">
|
||||||
<br />
|
<br />
|
||||||
<a data-role="button" data-icon="delete" href="connectlogin.html?mode=manualserver">${ButtonSkip}</a>
|
<a class="btn btnDarkAccent" href="connectlogin.html?mode=manualserver">
|
||||||
|
<span>
|
||||||
|
${ButtonSkip}
|
||||||
|
</span>
|
||||||
|
<i class="fa fa-close"></i>
|
||||||
|
</a>
|
||||||
<div class="fieldDescription">${TextConnectToServerManually}</div>
|
<div class="fieldDescription">${TextConnectToServerManually}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -45,7 +52,7 @@
|
||||||
|
|
||||||
<form class="manualServerForm" style="text-align: center; margin: 0 auto;display:none;">
|
<form class="manualServerForm" style="text-align: center; margin: 0 auto;display:none;">
|
||||||
|
|
||||||
<h1 style="text-align: left;">${HeaderNewServer}</h1>
|
<h1 style="text-align: left;">${HeaderConnectToServer}</h1>
|
||||||
<br />
|
<br />
|
||||||
<div>
|
<div>
|
||||||
<label for="txtServerHost" style="text-align: left;">${LabelServerHost}</label>
|
<label for="txtServerHost" style="text-align: left;">${LabelServerHost}</label>
|
||||||
|
@ -59,9 +66,18 @@
|
||||||
</div>
|
</div>
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
<button type="submit" data-icon="check">
|
<button class="btn btnActionAccent" data-role="none" type="submit">
|
||||||
|
<span>
|
||||||
${ButtonConnect}
|
${ButtonConnect}
|
||||||
|
</span>
|
||||||
|
<i class="fa fa-check"></i>
|
||||||
</button>
|
</button>
|
||||||
|
<a class="btn btnDarkAccent" href="#" data-rel="back">
|
||||||
|
<span>
|
||||||
|
${ButtonCancel}
|
||||||
|
</span>
|
||||||
|
<i class="fa fa-close"></i>
|
||||||
|
</a>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="welcomeContainer readOnlyContent" style="text-align: center; margin: 0 auto;display:none;">
|
<div class="welcomeContainer readOnlyContent" style="text-align: center; margin: 0 auto;display:none;">
|
||||||
|
@ -72,7 +88,7 @@
|
||||||
<p style="margin:2em 0;" class="embyIntroDownloadMessage"></p>
|
<p style="margin:2em 0;" class="embyIntroDownloadMessage"></p>
|
||||||
|
|
||||||
|
|
||||||
<a class="btn btnActionAccent btnIconRight" href="connectlogin.html">
|
<a class="btn btnActionAccent btnIconRight" href="connectlogin.html?mode=connect">
|
||||||
<span>
|
<span>
|
||||||
${ButtonNext}
|
${ButtonNext}
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
</button>
|
</button>
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
|
<br />
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="visualLoginForm" style="display: none; text-align: center;">
|
<div class="visualLoginForm" style="display: none; text-align: center;">
|
||||||
|
@ -37,6 +38,8 @@
|
||||||
|
|
||||||
<p class="localhostMessage" style="text-align: center; display: none;">${PasswordLocalhostMessage}</p>
|
<p class="localhostMessage" style="text-align: center; display: none;">${PasswordLocalhostMessage}</p>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
<div class="readOnlyContent" style="margin: 2em auto 0;">
|
<div class="readOnlyContent" style="margin: 2em auto 0;">
|
||||||
<a href="#" onclick="LoginPage.showManualForm($.mobile.activePage, true);" data-role="button" data-icon="lock">${ButtonManualLogin}</a>
|
<a href="#" onclick="LoginPage.showManualForm($.mobile.activePage, true);" data-role="button" data-icon="lock">${ButtonManualLogin}</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -54,9 +57,6 @@
|
||||||
<a href="selectserver.html" data-role="button" data-icon="action">
|
<a href="selectserver.html" data-role="button" data-icon="action">
|
||||||
${ButtonChangeServer}
|
${ButtonChangeServer}
|
||||||
</a>
|
</a>
|
||||||
<a href="connectlogin.html?mode=connect" data-role="button" data-icon="lock">
|
|
||||||
${ButtonSignInWithConnect}
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,14 @@
|
||||||
loadMode(page, 'welcome');
|
loadMode(page, 'welcome');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MediaBrowser.ConnectionState.Unavailable:
|
||||||
|
{
|
||||||
|
Dashboard.alert({
|
||||||
|
message: Globalize.translate("MessageUnableToConnectToServer"),
|
||||||
|
title: Globalize.translate("HeaderConnectionFailure")
|
||||||
|
});
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -76,9 +84,9 @@
|
||||||
|
|
||||||
function loadPage(page) {
|
function loadPage(page) {
|
||||||
|
|
||||||
var mode = getParameterByName('mode');
|
var mode = getParameterByName('mode') || 'auto';
|
||||||
|
|
||||||
if (!mode) {
|
if (mode == 'auto') {
|
||||||
|
|
||||||
if (Dashboard.isRunningInCordova()) {
|
if (Dashboard.isRunningInCordova()) {
|
||||||
loadAppConnection(page);
|
loadAppConnection(page);
|
||||||
|
@ -91,6 +99,9 @@
|
||||||
}
|
}
|
||||||
function loadMode(page, mode) {
|
function loadMode(page, mode) {
|
||||||
|
|
||||||
|
$(document.body).prepend('<div class="backdropContainer" style="background-image:url(css/images/splash.jpg);top:0;"></div>');
|
||||||
|
$(page).addClass('lightBackdropPage backdropPage staticBackdropPage');
|
||||||
|
|
||||||
if (mode == 'welcome') {
|
if (mode == 'welcome') {
|
||||||
$('.connectLoginForm', page).hide();
|
$('.connectLoginForm', page).hide();
|
||||||
$('.welcomeContainer', page).show();
|
$('.welcomeContainer', page).show();
|
||||||
|
@ -145,6 +156,14 @@
|
||||||
|
|
||||||
handleConnectionResult(page, result);
|
handleConnectionResult(page, result);
|
||||||
|
|
||||||
|
}).fail(function () {
|
||||||
|
|
||||||
|
Dashboard.hideLoadingMsg();
|
||||||
|
|
||||||
|
handleConnectionResult(page, {
|
||||||
|
State: MediaBrowser.ConnectionState.Unavailable
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,7 @@ var Dashboard = {
|
||||||
|
|
||||||
isConnectMode: function () {
|
isConnectMode: function () {
|
||||||
|
|
||||||
|
return true;
|
||||||
if (Dashboard.isRunningInCordova()) {
|
if (Dashboard.isRunningInCordova()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -56,6 +57,7 @@ var Dashboard = {
|
||||||
|
|
||||||
isRunningInCordova: function () {
|
isRunningInCordova: function () {
|
||||||
|
|
||||||
|
return true;
|
||||||
return window.appMode == 'cordova';
|
return window.appMode == 'cordova';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -2477,7 +2477,9 @@
|
||||||
self.authenticateUserByName = function (name, password) {
|
self.authenticateUserByName = function (name, password) {
|
||||||
|
|
||||||
if (!name) {
|
if (!name) {
|
||||||
throw new Error("null name");
|
var deferred = DeferredBuilder.Deferred();
|
||||||
|
deferred.reject();
|
||||||
|
return deferred.promise();
|
||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("Users/authenticatebyname");
|
var url = self.getUrl("Users/authenticatebyname");
|
||||||
|
|
|
@ -944,10 +944,15 @@
|
||||||
|
|
||||||
self.connectToAddress = function (address) {
|
self.connectToAddress = function (address) {
|
||||||
|
|
||||||
address = normalizeAddress(address);
|
|
||||||
|
|
||||||
var deferred = DeferredBuilder.Deferred();
|
var deferred = DeferredBuilder.Deferred();
|
||||||
|
|
||||||
|
if (!address) {
|
||||||
|
deferred.reject();
|
||||||
|
return deferred.promise();
|
||||||
|
}
|
||||||
|
|
||||||
|
address = normalizeAddress(address);
|
||||||
|
|
||||||
tryConnect(address, 15000).done(function (publicInfo) {
|
tryConnect(address, 15000).done(function (publicInfo) {
|
||||||
|
|
||||||
logger.log('connectToAddress ' + address + ' succeeded');
|
logger.log('connectToAddress ' + address + ' succeeded');
|
||||||
|
@ -976,10 +981,14 @@
|
||||||
self.loginToConnect = function (username, password) {
|
self.loginToConnect = function (username, password) {
|
||||||
|
|
||||||
if (!username) {
|
if (!username) {
|
||||||
throw new Error("null username");
|
var deferred = DeferredBuilder.Deferred();
|
||||||
|
deferred.reject();
|
||||||
|
return deferred.promise();
|
||||||
}
|
}
|
||||||
if (!password) {
|
if (!password) {
|
||||||
throw new Error("null password");
|
var deferred = DeferredBuilder.Deferred();
|
||||||
|
deferred.reject();
|
||||||
|
return deferred.promise();
|
||||||
}
|
}
|
||||||
|
|
||||||
var md5 = self.getConnectPasswordHash(password);
|
var md5 = self.getConnectPasswordHash(password);
|
||||||
|
|
19
dashboard-ui/thirdparty/apiclient/cordova/serverdiscovery.js
vendored
Normal file
19
dashboard-ui/thirdparty/apiclient/cordova/serverdiscovery.js
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
(function (globalScope) {
|
||||||
|
|
||||||
|
globalScope.ServerDiscovery = {
|
||||||
|
|
||||||
|
findServers: function (timeoutMs) {
|
||||||
|
|
||||||
|
var deferred = DeferredBuilder.Deferred();
|
||||||
|
|
||||||
|
var servers = [];
|
||||||
|
|
||||||
|
// Expected server properties
|
||||||
|
// Name, Id, Address, EndpointAddress (optional)
|
||||||
|
|
||||||
|
deferred.resolveWith(null, [servers]);
|
||||||
|
return deferred.promise();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
})(window);
|
|
@ -1,18 +1,89 @@
|
||||||
(function (globalScope) {
|
(function (globalScope) {
|
||||||
|
|
||||||
|
function stringToArrayBuffer(string) {
|
||||||
|
// UTF-16LE
|
||||||
|
var buf = new ArrayBuffer(string.length * 2);
|
||||||
|
var bufView = new Uint16Array(buf);
|
||||||
|
for (var i = 0, strLen = string.length; i < strLen; i++) {
|
||||||
|
bufView[i] = string.charCodeAt(i);
|
||||||
|
}
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
globalScope.ServerDiscovery = {
|
globalScope.ServerDiscovery = {
|
||||||
|
|
||||||
findServers: function (timeoutMs) {
|
findServers: function (timeoutMs) {
|
||||||
|
|
||||||
var deferred = DeferredBuilder.Deferred();
|
var deferred = DeferredBuilder.Deferred();
|
||||||
|
|
||||||
var servers = [];
|
var servers = [];
|
||||||
|
|
||||||
// Expected server properties
|
// Expected server properties
|
||||||
// Name, Id, Address, EndpointAddress (optional)
|
// Name, Id, Address, EndpointAddress (optional)
|
||||||
|
|
||||||
|
var chrome = globalScope.chrome;
|
||||||
|
|
||||||
|
if (!chrome) {
|
||||||
deferred.resolveWith(null, [servers]);
|
deferred.resolveWith(null, [servers]);
|
||||||
return deferred.promise();
|
return deferred.promise();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var data = stringToArrayBuffer('who is EmbyServer?');
|
||||||
|
var isTimedOut = false;
|
||||||
|
var socketId;
|
||||||
|
|
||||||
|
var timeout = setTimeout(function () {
|
||||||
|
|
||||||
|
isTimedOut = true;
|
||||||
|
deferred.resolveWith(null, [servers]);
|
||||||
|
|
||||||
|
if (socketId) {
|
||||||
|
chrome.sockets.udp.onReceive.removeListener(onReceive);
|
||||||
|
chrome.sockets.udp.close(socketId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, timeoutMs);
|
||||||
|
|
||||||
|
function onReceive(info) {
|
||||||
|
|
||||||
|
if (info.socketId == socketId) {
|
||||||
|
|
||||||
|
//expect(info.remotePort).toBeTruthy();
|
||||||
|
//expect(info.remoteAddress).toBeTruthy();
|
||||||
|
//expect(info).toBeValidUdpReadResultEqualTo(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var port = 7359;
|
||||||
|
chrome.sockets.udp.create(function (createInfo) {
|
||||||
|
|
||||||
|
socketId = createInfo.socketId;
|
||||||
|
|
||||||
|
chrome.sockets.udp.bind(createInfo.socketId, '0.0.0.0', port, function (result) {
|
||||||
|
chrome.sockets.udp.send(createInfo.socketId, data, '255.255.255.255', port, function (result) {
|
||||||
|
if (result < 0) {
|
||||||
|
console.log('send fail: ' + result);
|
||||||
|
chrome.sockets.udp.close(createInfo.socketId);
|
||||||
|
|
||||||
|
if (!isTimedOut) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
deferred.resolveWith(null, [servers]);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
console.log('sendTo: success ' + port);
|
||||||
|
|
||||||
|
if (!isTimedOut) {
|
||||||
|
chrome.sockets.udp.onReceive.addListener(onReceive);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return deferred.promise();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
})(window);
|
})(window);
|
Loading…
Add table
Add a link
Reference in a new issue