diff --git a/src/controllers/myprofile.js b/src/controllers/myprofile.js index be8f1b446e..9e08ee0099 100644 --- a/src/controllers/myprofile.js +++ b/src/controllers/myprofile.js @@ -1,4 +1,4 @@ -define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-button"], function (Userpasswordpage, loading, libraryMenu, appHost) { +define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-button"], function (UserPasswordPage, loading, libraryMenu, appHost) { "use strict"; function reloadUser(page) { @@ -6,10 +6,8 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em loading.show(); ApiClient.getUser(userId).then(function (user) { page.querySelector(".username").innerHTML = user.Name; - var uploadUserImage = page.querySelector("#uploadUserImage"); - uploadUserImage.value = ""; - uploadUserImage.dispatchEvent(new CustomEvent("change", {})); libraryMenu.setTitle(user.Name); + var imageUrl = "img/logindefault.png"; if (user.PrimaryImageTag) { imageUrl = ApiClient.getUserImageUrl(user.Id, { @@ -18,21 +16,17 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em type: "Primary" }); } - var fldImage = page.querySelector("#fldImage"); - fldImage.classList.remove("hide"); - fldImage.innerHTML = ""; - Dashboard.getCurrentUser().then(function (loggedInUser) { - if (appHost.supports("fileinput") && (loggedInUser.Policy.IsAdministrator || user.Policy.EnableUserPreferenceAccess)) { - page.querySelector(".newImageForm").classList.remove("hide"); - if (user.PrimaryImageTag) { - page.querySelector("#btnDeleteImage").classList.remove("hide"); - } else { - page.querySelector("#btnDeleteImage").classList.add("hide"); - } - } else { - page.querySelector(".newImageForm").classList.add("hide"); + var userImage = page.querySelector("#image"); + userImage.src = imageUrl; + + Dashboard.getCurrentUser().then(function (loggedInUser) { + if (user.PrimaryImageTag) { + page.querySelector("#btnAddImage").classList.add("hide"); + page.querySelector("#btnDeleteImage").classList.remove("hide"); + } else if (appHost.supports("fileinput") && (loggedInUser.Policy.IsAdministrator || user.Policy.EnableUserPreferenceAccess)) { page.querySelector("#btnDeleteImage").classList.add("hide"); + page.querySelector("#btnAddImage").classList.remove("hide"); } }); loading.hide(); @@ -47,13 +41,10 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em toast(Globalize.translate("FileNotFound")); }); break; - case evt.target.error.NOT_READABLE_ERR: - require(["toast"], function (toast) { - toast(Globalize.translate("FileReadError")); - }); - break; case evt.target.error.ABORT_ERR: + onFileReaderAbort(); break; + case evt.target.error.NOT_READABLE_ERR: default: require(["toast"], function (toast) { toast(Globalize.translate("FileReadError")); @@ -63,51 +54,37 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em function onFileReaderAbort(evt) { loading.hide(); - require(["toast"], function (toast) { toast(Globalize.translate("FileReadCancelled")); }); } function setFiles(page, files) { + var userImage = page.querySelector("#image"); var file = files[0]; if (!file || !file.type.match("image.*")) { - page.querySelector("#userImageOutput").innerHTML = ""; - page.querySelector("#fldUpload").classList.add("hide"); - return void (currentFile = null); + return false; } - currentFile = file; var reader = new FileReader(); reader.onerror = onFileReaderError; - - reader.onloadstart = function () { - page.querySelector("#fldUpload").classList.add("hide"); - }; - reader.onabort = onFileReaderAbort; - reader.onload = function (evt) { - var html = [''].join(""); - page.querySelector("#userImageOutput").innerHTML = html; - page.querySelector("#fldUpload").classList.remove("hide"); + userImage.src = evt.target.result; + var userId = getParameterByName("userId"); + ApiClient.uploadUserImage(userId, "Primary", file).then(function () { + loading.hide(); + reloadUser(page); + }); }; reader.readAsDataURL(file); } - function onImageDragOver(evt) { - evt.preventDefault(); - evt.originalEvent.dataTransfer.dropEffect = "Copy"; - return false; - } - - var currentFile; return function (view, params) { reloadUser(view); - new Userpasswordpage(view, params); - view.querySelector("#userImageDropZone").addEventListener("dragOver", onImageDragOver); + new UserPasswordPage(view, params); view.querySelector("#btnDeleteImage").addEventListener("click", function () { require(["confirm"], function (confirm) { confirm(Globalize.translate("DeleteImageConfirmation"), Globalize.translate("DeleteImage")).then(function () { @@ -120,25 +97,10 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em }); }); }); - view.querySelector(".btnBrowse").addEventListener("click", function () { - view.querySelector("#uploadUserImage").click(); + view.querySelector("#btnAddImage").addEventListener("click", function (evt) { + view.querySelector("#uploadImage").click(); }); - view.querySelector(".newImageForm").addEventListener("submit", function (evt) { - var file = currentFile; - if (!file || "image/png" != file.type && "image/jpeg" != file.type && "image/jpeg" != file.type) { - return false; - } - - loading.show(); - var userId = getParameterByName("userId"); - ApiClient.uploadUserImage(userId, "Primary", file).then(function () { - loading.hide(); - reloadUser(view); - }); - evt.preventDefault(); - return false; - }); - view.querySelector("#uploadUserImage").addEventListener("change", function (evt) { + view.querySelector("#uploadImage").addEventListener("change", function (evt) { setFiles(view, evt.target.files); }); }; diff --git a/src/css/site.css b/src/css/site.css index 87ce6841ae..631e011eee 100644 --- a/src/css/site.css +++ b/src/css/site.css @@ -80,29 +80,6 @@ div[data-role=page] { } } -.imageDropZone { - border: .2em dashed currentcolor; - -webkit-border-radius: .25em; - border-radius: .25em; - text-align: center; - position: relative; - height: 12em; - display: -webkit-box; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - justify-content: center -} - -.squareImageDropZone { - height: 12em; - width: 12em -} - .headerHelpButton { margin-left: 1.25em !important; padding-bottom: .4em !important; diff --git a/src/myprofile.html b/src/myprofile.html index 7bfcb5bfd5..96ec06b4f7 100644 --- a/src/myprofile.html +++ b/src/myprofile.html @@ -1,46 +1,22 @@
-
-
-
- -
-

-
+
+ + +
+
+

+
+
- -
- -
-

${HeaderUploadNewImage}

- - -
- -
- -
-
${LabelDropImageHere}
- - -
-
- -
- -
- -
-
-

${HeaderPassword} @@ -55,7 +31,9 @@

- + diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 9051164edd..7e55b248d8 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -57,6 +57,7 @@ "BrowsePluginCatalogMessage": "Browse our plugin catalog to view available plugins.", "BurnSubtitlesHelp": "Determines if the server should burn in subtitles when converting video depending on the subtitle format. Avoiding burning in subtitles will improve server performance. Select Auto to burn image based formats (VOBSUB, PGS, SUB/IDX, etc) and certain ASS/SSA subtitles.", "ButtonAdd": "Add", + "ButtonAddImage": "Add Image", "ButtonAddMediaLibrary": "Add Media Library", "ButtonAddScheduledTaskTrigger": "Add Trigger", "ButtonAddServer": "Add Server", @@ -78,7 +79,7 @@ "ButtonEditImages": "Edit images", "ButtonEditOtherUserPreferences": "Edit this user's profile, image and personal preferences.", "ButtonFilter": "Filter", - "ButtonForgotPassword": "Forgot password", + "ButtonForgotPassword": "Forgot Password", "ButtonFullscreen": "Fullscreen", "ButtonGotIt": "Got It", "ButtonGuide": "Guide",