1
0
Fork 0
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:
Luke Pulverenti 2015-05-06 08:56:26 -04:00
parent 1d66f5e9a3
commit 3a20f6af21
8 changed files with 158 additions and 20 deletions

View file

@ -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&section=lostpass" target="_blank">${ButtonForgotPassword}</a> <a href="http://emby.media/community/index.php?app=core&module=global&section=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>

View file

@ -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>

View file

@ -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
});
}); });
} }

View file

@ -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';
}, },

View file

@ -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");

View file

@ -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);

View 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);

View file

@ -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);