diff --git a/dashboard-ui/apiclient/apiclient.js b/dashboard-ui/apiclient/apiclient.js index 55901dd43a..73e3fb49f4 100644 --- a/dashboard-ui/apiclient/apiclient.js +++ b/dashboard-ui/apiclient/apiclient.js @@ -2995,15 +2995,11 @@ }); }; - self.getUserViews = function (userId, options) { - - if (!userId) { - throw new Error("null userId"); - } + self.getUserViews = function (options, userId) { options = options || {}; - var url = self.getUrl("Users/" + userId + "/Views", options); + var url = self.getUrl("Users/" + (userId || self.getCurrentUserId()) + "/Views", options); return self.ajax({ type: "GET", diff --git a/dashboard-ui/bower_components/promise-polyfill/.bower.json b/dashboard-ui/bower_components/promise-polyfill/.bower.json new file mode 100644 index 0000000000..63cbef81d1 --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/.bower.json @@ -0,0 +1,38 @@ +{ + "name": "promise-polyfill", + "version": "2.1.0", + "homepage": "https://github.com/taylorhakes/promise-polyfill", + "authors": [ + "Taylor Hakes" + ], + "description": "Lightweight promise polyfill for the browser and node. A+ Compliant.", + "main": "Promise.js", + "moduleType": [ + "globals", + "node" + ], + "keywords": [ + "promise", + "es6", + "polyfill", + "html5" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "_release": "2.1.0", + "_resolution": { + "type": "version", + "tag": "2.1.0", + "commit": "7ee8e28671e2e7ff0304ea37c3d1fb1288645362" + }, + "_source": "git://github.com/taylorhakes/promise-polyfill.git", + "_target": "~2.1.0", + "_originalSource": "promise-polyfill", + "_direct": true +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/promise-polyfill/Gruntfile.js b/dashboard-ui/bower_components/promise-polyfill/Gruntfile.js new file mode 100644 index 0000000000..ef1cbfaa06 --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/Gruntfile.js @@ -0,0 +1,23 @@ +module.exports = function(grunt) { + + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + + uglify: { + options: { + banner: '/*! <%= pkg.name %> <%= pkg.version %> */\n' + }, + dist: { + files: { + 'Promise.min.js': ['Promise.js'] + } + } + } + + }); + + grunt.loadNpmTasks('grunt-contrib-uglify'); + + grunt.registerTask('build', ['uglify']); + +}; diff --git a/dashboard-ui/bower_components/promise-polyfill/LICENSE b/dashboard-ui/bower_components/promise-polyfill/LICENSE new file mode 100644 index 0000000000..94b9dac3f5 --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2014 Taylor Hakes +Copyright (c) 2014 Forbes Lindesay + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/dashboard-ui/bower_components/promise-polyfill/Promise.js b/dashboard-ui/bower_components/promise-polyfill/Promise.js new file mode 100644 index 0000000000..47453e5053 --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/Promise.js @@ -0,0 +1,190 @@ +(function(root) { + + // Use polyfill for setImmediate for performance gains + var asap = (typeof setImmediate === 'function' && setImmediate) || + function(fn) { setTimeout(fn, 1); }; + + // Polyfill for Function.prototype.bind + function bind(fn, thisArg) { + return function() { + fn.apply(thisArg, arguments); + } + } + + var isArray = Array.isArray || function(value) { return Object.prototype.toString.call(value) === "[object Array]" }; + + function Promise(fn) { + if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new'); + if (typeof fn !== 'function') throw new TypeError('not a function'); + this._state = null; + this._value = null; + this._deferreds = [] + + doResolve(fn, bind(resolve, this), bind(reject, this)) + } + + function handle(deferred) { + var me = this; + if (this._state === null) { + this._deferreds.push(deferred); + return + } + asap(function() { + var cb = me._state ? deferred.onFulfilled : deferred.onRejected + if (cb === null) { + (me._state ? deferred.resolve : deferred.reject)(me._value); + return; + } + var ret; + try { + ret = cb(me._value); + } + catch (e) { + deferred.reject(e); + return; + } + deferred.resolve(ret); + }) + } + + function resolve(newValue) { + try { //Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure + if (newValue === this) throw new TypeError('A promise cannot be resolved with itself.'); + if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { + var then = newValue.then; + if (typeof then === 'function') { + doResolve(bind(then, newValue), bind(resolve, this), bind(reject, this)); + return; + } + } + this._state = true; + this._value = newValue; + finale.call(this); + } catch (e) { reject.call(this, e); } + } + + function reject(newValue) { + this._state = false; + this._value = newValue; + finale.call(this); + } + + function finale() { + for (var i = 0, len = this._deferreds.length; i < len; i++) { + handle.call(this, this._deferreds[i]); + } + this._deferreds = null; + } + + function Handler(onFulfilled, onRejected, resolve, reject){ + this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; + this.onRejected = typeof onRejected === 'function' ? onRejected : null; + this.resolve = resolve; + this.reject = reject; + } + + /** + * Take a potentially misbehaving resolver function and make sure + * onFulfilled and onRejected are only called once. + * + * Makes no guarantees about asynchrony. + */ + function doResolve(fn, onFulfilled, onRejected) { + var done = false; + try { + fn(function (value) { + if (done) return; + done = true; + onFulfilled(value); + }, function (reason) { + if (done) return; + done = true; + onRejected(reason); + }) + } catch (ex) { + if (done) return; + done = true; + onRejected(ex); + } + } + + Promise.prototype['catch'] = function (onRejected) { + return this.then(null, onRejected); + }; + + Promise.prototype.then = function(onFulfilled, onRejected) { + var me = this; + return new Promise(function(resolve, reject) { + handle.call(me, new Handler(onFulfilled, onRejected, resolve, reject)); + }) + }; + + Promise.all = function () { + var args = Array.prototype.slice.call(arguments.length === 1 && isArray(arguments[0]) ? arguments[0] : arguments); + + return new Promise(function (resolve, reject) { + if (args.length === 0) return resolve([]); + var remaining = args.length; + function res(i, val) { + try { + if (val && (typeof val === 'object' || typeof val === 'function')) { + var then = val.then; + if (typeof then === 'function') { + then.call(val, function (val) { res(i, val) }, reject); + return; + } + } + args[i] = val; + if (--remaining === 0) { + resolve(args); + } + } catch (ex) { + reject(ex); + } + } + for (var i = 0; i < args.length; i++) { + res(i, args[i]); + } + }); + }; + + Promise.resolve = function (value) { + if (value && typeof value === 'object' && value.constructor === Promise) { + return value; + } + + return new Promise(function (resolve) { + resolve(value); + }); + }; + + Promise.reject = function (value) { + return new Promise(function (resolve, reject) { + reject(value); + }); + }; + + Promise.race = function (values) { + return new Promise(function (resolve, reject) { + for(var i = 0, len = values.length; i < len; i++) { + values[i].then(resolve, reject); + } + }); + }; + + /** + * Set the immediate function to execute callbacks + * @param fn {function} Function to execute + * @private + */ + Promise._setImmediateFn = function _setImmediateFn(fn) { + asap = fn; + }; + + if (typeof module !== 'undefined' && module.exports) { + module.exports = Promise; + } else if (!root.Promise) { + root.Promise = Promise; + } + +})(this); \ No newline at end of file diff --git a/dashboard-ui/bower_components/promise-polyfill/Promise.min.js b/dashboard-ui/bower_components/promise-polyfill/Promise.min.js new file mode 100644 index 0000000000..fe61cac641 --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/Promise.min.js @@ -0,0 +1,2 @@ +/*! promise-polyfill 2.1.0 */ +!function(a){function b(a,b){return function(){a.apply(b,arguments)}}function c(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],i(a,b(e,this),b(f,this))}function d(a){var b=this;return null===this._state?void this._deferreds.push(a):void j(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(e){return void a.reject(e)}a.resolve(d)})}function e(a){try{if(a===this)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var c=a.then;if("function"==typeof c)return void i(b(c,a),b(e,this),b(f,this))}this._state=!0,this._value=a,g.call(this)}catch(d){f.call(this,d)}}function f(a){this._state=!1,this._value=a,g.call(this)}function g(){for(var a=0,b=this._deferreds.length;b>a;a++)d.call(this,this._deferreds[a]);this._deferreds=null}function h(a,b,c,d){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.resolve=c,this.reject=d}function i(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}var j="function"==typeof setImmediate&&setImmediate||function(a){setTimeout(a,1)},k=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};c.prototype["catch"]=function(a){return this.then(null,a)},c.prototype.then=function(a,b){var e=this;return new c(function(c,f){d.call(e,new h(a,b,c,f))})},c.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&k(arguments[0])?arguments[0]:arguments);return new c(function(b,c){function d(f,g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(f,a)},c)}a[f]=g,0===--e&&b(a)}catch(i){c(i)}}if(0===a.length)return b([]);for(var e=a.length,f=0;fd;d++)a[d].then(b,c)})},c._setImmediateFn=function(a){j=a},"undefined"!=typeof module&&module.exports?module.exports=c:a.Promise||(a.Promise=c)}(this); \ No newline at end of file diff --git a/dashboard-ui/bower_components/promise-polyfill/bower.json b/dashboard-ui/bower_components/promise-polyfill/bower.json new file mode 100644 index 0000000000..d7c12b6c4f --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/bower.json @@ -0,0 +1,28 @@ +{ + "name": "promise-polyfill", + "version": "2.1.0", + "homepage": "https://github.com/taylorhakes/promise-polyfill", + "authors": [ + "Taylor Hakes" + ], + "description": "Lightweight promise polyfill for the browser and node. A+ Compliant.", + "main": "Promise.js", + "moduleType": [ + "globals", + "node" + ], + "keywords": [ + "promise", + "es6", + "polyfill", + "html5" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/dashboard-ui/bower_components/promise-polyfill/jasmine.json b/dashboard-ui/bower_components/promise-polyfill/jasmine.json new file mode 100644 index 0000000000..9f4542e6b4 --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/jasmine.json @@ -0,0 +1,7 @@ +{ + "spec_dir": "tests", + "spec_files": [ + "**/*.spec.js" + ], + "helpers": [] +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/promise-polyfill/package.json b/dashboard-ui/bower_components/promise-polyfill/package.json new file mode 100644 index 0000000000..8817f83d14 --- /dev/null +++ b/dashboard-ui/bower_components/promise-polyfill/package.json @@ -0,0 +1,32 @@ +{ + "name": "promise-polyfill", + "version": "2.1.0", + "description": "Lightweight promise polyfill. A+ compliant", + "main": "Promise.js", + "scripts": { + "test": "./node_modules/.bin/promises-aplus-tests tests/adapter.js && JASMINE_CONFIG_PATH=jasmine.json ./node_modules/jasmine/bin/jasmine.js;" + }, + "repository": { + "type": "git", + "url": "https://taylorhakes@github.com/taylorhakes/promise-polyfill.git" + }, + "author": "Taylor Hakes", + "license": "MIT", + "bugs": { + "url": "https://github.com/taylorhakes/promise-polyfill/issues" + }, + "homepage": "https://github.com/taylorhakes/promise-polyfill", + "devDependencies": { + "grunt": "^0.4.4", + "grunt-contrib-uglify": "^0.4.0", + "jasmine": "^2.3.1", + "promises-aplus-tests": "*" + }, + "keywords": [ + "promise", + "promise-polyfill", + "ES6", + "promises-aplus" + ], + "dependencies": {} +} diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 8d6c43aca0..1a228bec4d 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -892,7 +892,7 @@ h1 .imageLink { max-width: 800px; padding: .5em 2em 1em; margin: 0 auto; - background: #e8e8e8; + background: #fff; } .wizardNavigation { @@ -903,10 +903,6 @@ h1 .imageLink { max-width: 100%; } -.wizardContent p { - margin: 2em 0; -} - .wizardContent h2 img { height: 35px; vertical-align: middle; diff --git a/dashboard-ui/scripts/appsettings.js b/dashboard-ui/scripts/appsettings.js index 4159b540d1..5f7195e026 100644 --- a/dashboard-ui/scripts/appsettings.js +++ b/dashboard-ui/scripts/appsettings.js @@ -62,7 +62,7 @@ update('enableSyncToExternalStorage', val.toString()); } - return appStorage.getItem('enableSyncToExternalStorage') == 'true'; + return appStorage.getItem('enableSyncToExternalStorage') != 'false'; }, displayPreferencesKey: function() { diff --git a/dashboard-ui/scripts/librarymenu.js b/dashboard-ui/scripts/librarymenu.js index 3b4c509f86..90cc3c17a8 100644 --- a/dashboard-ui/scripts/librarymenu.js +++ b/dashboard-ui/scripts/librarymenu.js @@ -382,7 +382,7 @@ var apiClient = window.ApiClient; - apiClient.getUserViews(userId).done(function (result) { + apiClient.getUserViews({}, userId).done(function (result) { var items = result.Items; diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 0ea5791d4e..4f84397579 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -1726,7 +1726,7 @@ }; info = $.extend(info, state.PlayState); - + console.log('repeat mode ' + info.RepeatMode); ApiClient.reportPlaybackProgress(info); } diff --git a/dashboard-ui/scripts/mypreferenceshome.js b/dashboard-ui/scripts/mypreferenceshome.js index 156aa939df..eafb720a0b 100644 --- a/dashboard-ui/scripts/mypreferenceshome.js +++ b/dashboard-ui/scripts/mypreferenceshome.js @@ -173,7 +173,7 @@ var promise2 = ApiClient.getJSON(ApiClient.getUrl("Channels", { UserId: user.Id })); - var promise3 = ApiClient.getUserViews(user.Id); + var promise3 = ApiClient.getUserViews({}, user.Id); var promise4 = ApiClient.getJSON(ApiClient.getUrl("Users/" + user.Id + "/SpecialViewOptions")); $.when(promise1, promise2, promise3, promise4).done(function (r1, r2, r3, r4) { @@ -225,8 +225,8 @@ displayPreferences.CustomPrefs.home2 = $('#selectHomeSection3', page).val(); displayPreferences.CustomPrefs.home3 = $('#selectHomeSection4', page).val(); - ApiClient.updateDisplayPreferences('home', displayPreferences, user.Id, AppSettings.displayPreferencesKey()).done(function() { - + ApiClient.updateDisplayPreferences('home', displayPreferences, user.Id, AppSettings.displayPreferencesKey()).done(function () { + ApiClient.updateUserConfiguration(user.Id, user.Configuration).done(function () { Dashboard.alert(Globalize.translate('SettingsSaved')); diff --git a/dashboard-ui/scripts/nowplayingbar.js b/dashboard-ui/scripts/nowplayingbar.js index a5cce1d79d..4b4aaf4eb1 100644 --- a/dashboard-ui/scripts/nowplayingbar.js +++ b/dashboard-ui/scripts/nowplayingbar.js @@ -140,18 +140,19 @@ toggleRepeatButton = $('.toggleRepeatButton', elem).on('click', function () { - if (currentPlayer && lastPlayerState) { - var state = lastPlayerState; + if (currentPlayer) { + var state = lastPlayerState || {}; + switch ((state.PlayState || {}).RepeatMode) { - case 'RepeatNone': - currentPlayer.setRepeatMode('RepeatAll'); - break; case 'RepeatAll': currentPlayer.setRepeatMode('RepeatOne'); break; case 'RepeatOne': currentPlayer.setRepeatMode('RepeatNone'); break; + default: + currentPlayer.setRepeatMode('RepeatAll'); + break; } } })[0]; diff --git a/dashboard-ui/scripts/sections.js b/dashboard-ui/scripts/sections.js index f2d04437dc..424c710713 100644 --- a/dashboard-ui/scripts/sections.js +++ b/dashboard-ui/scripts/sections.js @@ -4,7 +4,7 @@ var deferred = $.Deferred(); - ApiClient.getUserViews(userId).done(function (result) { + ApiClient.getUserViews({}, userId).done(function (result) { var items = result.Items; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 5d93856990..b5f920ecce 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1731,7 +1731,7 @@ var AppInfo = {}; AppInfo.supportsSyncPathSetting = isCordova && isAndroid; if (isCordova && isAndroid) { - AppInfo.directPlayAudioContainers = "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape".split(','); + AppInfo.directPlayAudioContainers = "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus".split(','); AppInfo.directPlayVideoContainers = "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm".split(','); } else { AppInfo.directPlayAudioContainers = []; diff --git a/dashboard-ui/scripts/wizardagreement.js b/dashboard-ui/scripts/wizardagreement.js index ade27ad6c5..900359bb63 100644 --- a/dashboard-ui/scripts/wizardagreement.js +++ b/dashboard-ui/scripts/wizardagreement.js @@ -2,9 +2,9 @@ function onSubmit() { - var page = $(this).parents('.page'); + var page = $(this).parents('.page')[0]; - if ($('#chkAccept', page).checked()) { + if (page.querySelector('.chkAccept').checked) { Dashboard.navigate('wizardfinish.html'); } else { @@ -17,9 +17,9 @@ return false; } - $(document).on('pageinitdepends', '#wizardAgreementPage', function(){ + $(document).on('pageinitdepends', '#wizardAgreementPage', function () { - $('.wizardAgreementForm').off('submit', onSubmit).on('submit', onSubmit); + $('.wizardAgreementForm').off('submit', onSubmit).on('submit', onSubmit); }); })(window, jQuery); \ No newline at end of file diff --git a/dashboard-ui/scripts/wizardsettings.js b/dashboard-ui/scripts/wizardsettings.js index 425a43d068..a277fa6bc9 100644 --- a/dashboard-ui/scripts/wizardsettings.js +++ b/dashboard-ui/scripts/wizardsettings.js @@ -11,8 +11,8 @@ config.PreferredMetadataLanguage = $('#selectLanguage', page).val(); config.MetadataCountryCode = $('#selectCountry', page).val(); - config.SaveLocalMeta = $('#chkSaveLocalMetadata', page).checked(); - config.EnableInternetProviders = $('#chkEnableInternetProviders', page).checked(); + config.SaveLocalMeta = page.querySelector('.chkSaveLocalMetadata').checked; + config.EnableInternetProviders = page.querySelector('.chkEnableInternetProviders').checked; apiClient.ajax({ diff --git a/dashboard-ui/scripts/wizarduserpage.js b/dashboard-ui/scripts/wizarduserpage.js index 23d1ef1346..510ed255f4 100644 --- a/dashboard-ui/scripts/wizarduserpage.js +++ b/dashboard-ui/scripts/wizarduserpage.js @@ -38,8 +38,8 @@ type: 'POST', data: { - Name: $('#txtUsername', form).val(), - ConnectUserName: $('#txtConnectUserName', form).val() + Name: form.querySelector('#txtUsername').value, + ConnectUserName: page.querySelector('#txtConnectUserName').value }, url: apiClient.getUrl('Startup/User'), @@ -70,8 +70,8 @@ apiClient.getJSON(apiClient.getUrl('Startup/User')).done(function (user) { - $('#txtUsername', page).val(user.Name); - $('#txtConnectUserName', page).val(user.ConnectUserName); + page.querySelector('#txtUsername').value = user.Name; + page.querySelector('#txtConnectUserName').value = user.ConnectUserName; Dashboard.hideLoadingMsg(); }); diff --git a/dashboard-ui/vulcanize-out.html b/dashboard-ui/vulcanize-out.html index 9b5c6e5e23..edf082abbf 100644 --- a/dashboard-ui/vulcanize-out.html +++ b/dashboard-ui/vulcanize-out.html @@ -17910,7 +17910,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN - diff --git a/dashboard-ui/wizardagreement.html b/dashboard-ui/wizardagreement.html index 28c35eff79..9dfca729df 100644 --- a/dashboard-ui/wizardagreement.html +++ b/dashboard-ui/wizardagreement.html @@ -11,26 +11,21 @@
+

+ ${HeaderTermsOfService} +

+ +

${MessagePleaseAcceptTermsOfService}

+ +

${ButtonPrivacyPolicy}

+

${ButtonTermsOfService}

-

- ${HeaderTermsOfService} -

+ ${OptionIAcceptTermsOfService}
-
-

${MessagePleaseAcceptTermsOfService}

- -

${ButtonPrivacyPolicy}

-

${ButtonTermsOfService}

-
    -
  • - - -
  • -
-
- + +
diff --git a/dashboard-ui/wizardfinish.html b/dashboard-ui/wizardfinish.html index 4c27781d57..241f233964 100644 --- a/dashboard-ui/wizardfinish.html +++ b/dashboard-ui/wizardfinish.html @@ -9,35 +9,42 @@
-

- ${LabelYoureDone}

+

+ ${LabelYoureDone} +

-

${WizardCompleted}

+

${WizardCompleted}

- - +
- - + +
diff --git a/dashboard-ui/wizardlibrary.html b/dashboard-ui/wizardlibrary.html index e96890f60f..cb7d27315d 100644 --- a/dashboard-ui/wizardlibrary.html +++ b/dashboard-ui/wizardlibrary.html @@ -11,10 +11,10 @@
-

- ${HeaderSetupLibrary} -

- ${ButtonHelp} +

+ ${HeaderSetupLibrary} +

+ ${ButtonHelp}

@@ -58,8 +58,8 @@

- - + +
diff --git a/dashboard-ui/wizardservice.html b/dashboard-ui/wizardservice.html index 047a0f655a..ac76b49a51 100644 --- a/dashboard-ui/wizardservice.html +++ b/dashboard-ui/wizardservice.html @@ -9,18 +9,19 @@
-

- ${LabelWindowsService}

+

+ ${LabelWindowsService} +

-

${AWindowsServiceHasBeenInstalled}

+

${AWindowsServiceHasBeenInstalled}

${WindowsServiceIntro1}

${WindowsServiceIntro2}

- - + +
diff --git a/dashboard-ui/wizardsettings.html b/dashboard-ui/wizardsettings.html index 36ae929c06..fcd6fa773e 100644 --- a/dashboard-ui/wizardsettings.html +++ b/dashboard-ui/wizardsettings.html @@ -10,23 +10,19 @@
-

- ${LabelConfigureSettings} -

- -
-
- - -
${LabelDownloadInternetMetadataHelp}
+

+ ${LabelConfigureSettings} +

+
+ ${LabelDownloadInternetMetadata} +
${LabelDownloadInternetMetadataHelp}
- - -
${LabelSaveLocalMetadataHelp}
+ +
${LabelSaveLocalMetadataHelp}
-

${HeaderPreferredMetadataLanguage}

+

${HeaderPreferredMetadataLanguage}

@@ -39,8 +35,8 @@
- - + +
diff --git a/dashboard-ui/wizardstart.html b/dashboard-ui/wizardstart.html index 15e17b8ca8..97d7667f8f 100644 --- a/dashboard-ui/wizardstart.html +++ b/dashboard-ui/wizardstart.html @@ -12,15 +12,15 @@
-

- ${WelcomeToProject} -

+

+ ${WelcomeToProject} +

${ButtonQuickStartGuide}

${ThisWizardWillGuideYou}

- +
  • @@ -28,8 +28,8 @@
-
- +
+
diff --git a/dashboard-ui/wizarduser.html b/dashboard-ui/wizarduser.html index af05f3a5e4..37822c9bac 100644 --- a/dashboard-ui/wizarduser.html +++ b/dashboard-ui/wizarduser.html @@ -10,35 +10,30 @@
-

- ${TellUsAboutYourself} -

+

+ ${TellUsAboutYourself} +

-

${UserProfilesIntro}

+

${UserProfilesIntro}

-
    -
  • - - -
    ${MoreUsersCanBeAddedLater}
    -
  • -
-

${HeaderOptionalLinkEmbyAccount}

+
+ +
${MoreUsersCanBeAddedLater}
+
+
+

${HeaderOptionalLinkEmbyAccount}

+
+ +
+
${LabelConnectUserNameHelp}
+ +
+
+

- -
- - + +