"),"admin"!==e.role&&$("#user-select").append('")})})}$.get("/api/auth/me").done(function(n){"admin"!==n.role?(alert("Kein Zugriff!"),window.location.href="/"):(e(),$.get("/images/fulls/").done(function(e){$("#image-checkboxes").empty(),e.forEach(function(e){$("#image-checkboxes").append('')})}),$("body").removeClass("is-preload"))}).fail(function(){window.location.href="/"}),$("#logout-btn").click(function(e){e.preventDefault(),$.post("/api/auth/logout").done(function(){window.location.href="/"})}),window.deleteUser=function(n){confirm("Nutzer loeschen?")&&$.ajax({url:"/api/admin/users/"+n,type:"DELETE"}).done(e)},$("#create-user-form").submit(function(n){n.preventDefault(),$.post("/api/admin/users",{username:$("#new-username").val(),password:$("#new-password").val(),role:"user"}).done(function(){$("#new-username").val(""),$("#new-password").val(""),e()}).fail(function(e){alert("Fehler: "+e.responseJSON.error)})}),$("#user-select").change(function(){var e=$(this).val();$(".img-cb").prop("checked",!1),e&&$.get("/api/admin/assign").done(function(n){n.filter(function(n){return n.user_id==e}).forEach(function(e){$('.img-cb[value="'+e.image_name+'"]').prop("checked",!0)})})}),$("#save-assignments").click(function(){var e=$("#user-select").val();if(!e)return alert("Bitte Nutzer waehlen");var n=[];$(".img-cb:checked").each(function(){n.push($(this).val())}),$.post("/api/admin/assign",{user_id:e,image_names:n}).done(function(){alert("Zuweisung gespeichert!")})}),$("#update-btn").click(function(){confirm("Achtung: Dies startet den Server auf dem NAS neu. Fortfahren?")&&($("#update-status").text("Update laeuft..."),$.post("/api/admin/update").done(function(e){$("#update-status").text(e.message),setTimeout(function(){window.location.reload()},5e3)}))})});
\ No newline at end of file
diff --git a/assets/js/main.min.js b/assets/js/main.min.js
index 7ade745..3d5363b 100644
--- a/assets/js/main.min.js
+++ b/assets/js/main.min.js
@@ -1 +1 @@
-!function(e){var n,a=e(window),o=e("body");e("#wrapper");(breakpoints({xlarge:["1281px","1680px"],large:["981px","1280px"],medium:["737px","980px"],small:["481px","736px"],xsmall:[null,"480px"]}),"ie"==browser.name&&o.addClass("ie"),browser.mobile&&o.addClass("touch"),browser.canUse("transition"))&&(a.on("load",function(){window.setTimeout(function(){o.removeClass("is-preload")},100)}),a.on("resize",function(){window.clearTimeout(n),o.addClass("is-resizing"),n=window.setTimeout(function(){o.removeClass("is-resizing")},100)}));a.scrollTop(0);var t=e(".panel");t.each(function(){var n=e(this),a=e('[href="#'+n.attr("id")+'"]');e('').appendTo(n).on("click",function(e){n.trigger("---hide")}),n.on("click",function(e){e.stopPropagation()}).on("---toggle",function(){n.hasClass("active")?n.triggerHandler("---hide"):n.triggerHandler("---show")}).on("---show",function(){o.hasClass("content-active")&&t.trigger("---hide"),n.addClass("active"),a.addClass("active"),o.addClass("content-active")}).on("---hide",function(){n.removeClass("active"),a.removeClass("active"),o.removeClass("content-active")}),a.removeAttr("href").css("cursor","pointer").on("click",function(e){e.preventDefault(),e.stopPropagation(),n.trigger("---toggle")})}),o.on("click",function(e){o.hasClass("content-active")&&(e.preventDefault(),e.stopPropagation(),t.trigger("---hide"))}),a.on("keyup",function(e){27==e.keyCode&&o.hasClass("content-active")&&(e.preventDefault(),e.stopPropagation(),t.trigger("---hide"))}),e("#header").find("a").each(function(){var n=e(this),a=n.attr("href");a&&"#"!=a.charAt(0)&&n.removeAttr("href").css("cursor","pointer").on("click",function(e){e.preventDefault(),e.stopPropagation(),window.location.href=a})}),e("#footer").find(".copyright").each(function(){var n=e(this),a=n.parent(),o=a.parent().children().last();breakpoints.on("<=medium",function(){n.appendTo(o)}),breakpoints.on(">medium",function(){n.appendTo(a)})});var i=e("#main"),r={},s=["jpg","jpeg","png","gif","webp"];function p(n){var a=e("#main").data("exif"),o="";for(var t in a){var i=a[t],r=EXIF.getTag(n,i.tag);void 0!==r&&(o+=' '+r+" ")}return o}e.ajax({url:"/images/fulls/",dataType:"json",cache:!1,success:function(n){var a=n.filter(function(e){if("file"!==e.type)return!1;var n=e.name.split(".").pop().toLowerCase();return-1!==s.indexOf(n)});0!==a.length?(a.sort(function(e,n){return e.name.localeCompare(n.name)}),a.forEach(function(n){var a=e(''),o=e(''),t=e('');o.append(t),a.append(o),i.append(a)}),i.children(".thumb").each(function(){var n,a=e(this),o=a.find(".image"),t=o.children("img");0!=o.length&&(o.css("background-image","url("+t.attr("src")+")"),(n=t.data("position"))&&o.css("background-position",n),t.hide(),t[0].addEventListener("load",function(){EXIF.getData(t[0],function(){r[t.data("name")]=p(this)})}))}),i.poptrox({baseZIndex:2e4,caption:function(e){var n=e.children("img"),a=r[n.data("name")];return void 0===a&&EXIF.getData(n[0],function(){a=r[n.data("name")]=p(this)}),void 0!==a?"
JSON Array from Nginx was loaded, but 0 images matched! Raw files: '+JSON.stringify(n)+"
")},error:function(){i.html('
Keine Bilder gefunden. Lade Bilder in deinen Nextcloud-Ordner hoch.
')}})}(jQuery);
\ No newline at end of file
+!function(n){var e,o=n(window),t=n("body");n("#wrapper");(breakpoints({xlarge:["1281px","1680px"],large:["981px","1280px"],medium:["737px","980px"],small:["481px","736px"],xsmall:[null,"480px"]}),"ie"==browser.name&&t.addClass("ie"),browser.mobile&&t.addClass("touch"),browser.canUse("transition"))&&(o.on("load",function(){window.setTimeout(function(){t.removeClass("is-preload")},100)}),o.on("resize",function(){window.clearTimeout(e),t.addClass("is-resizing"),e=window.setTimeout(function(){t.removeClass("is-resizing")},100)}));o.scrollTop(0);var i=n(".panel");i.each(function(){var e=n(this),o=n('[href="#'+e.attr("id")+'"]');n('').appendTo(e).on("click",function(n){e.trigger("---hide")}),e.on("click",function(n){n.stopPropagation()}).on("---toggle",function(){e.hasClass("active")?e.triggerHandler("---hide"):e.triggerHandler("---show")}).on("---show",function(){t.hasClass("content-active")&&i.trigger("---hide"),e.addClass("active"),o.addClass("active"),t.addClass("content-active")}).on("---hide",function(){e.removeClass("active"),o.removeClass("active"),t.removeClass("content-active")}),o.removeAttr("href").css("cursor","pointer").on("click",function(n){n.preventDefault(),n.stopPropagation(),e.trigger("---toggle")})}),t.on("click",function(n){t.hasClass("content-active")&&(n.preventDefault(),n.stopPropagation(),i.trigger("---hide"))}),o.on("keyup",function(n){27==n.keyCode&&t.hasClass("content-active")&&(n.preventDefault(),n.stopPropagation(),i.trigger("---hide"))}),n("#header").find("a").each(function(){var e=n(this),o=e.attr("href");o&&"#"!=o.charAt(0)&&e.removeAttr("href").css("cursor","pointer").on("click",function(n){n.preventDefault(),n.stopPropagation(),window.location.href=o})}),n("#footer").find(".copyright").each(function(){var e=n(this),o=e.parent(),t=o.parent().children().last();breakpoints.on("<=medium",function(){e.appendTo(t)}),breakpoints.on(">medium",function(){e.appendTo(o)})});n("#main");n.get("/api/auth/me").done(function(e){n("#login-username, #login-password, #login-submit").hide(),n("#logout-btn").show().css("display","inline-block"),"admin"===e.role&&n("#admin-link").html('Admin-Dashboard'),n("#login-nav").html('Account ')}),n("#login-form").submit(function(e){e.preventDefault(),n.post("/api/auth/login",{username:n("#login-username").val(),password:n("#login-password").val()}).done(function(){window.location.reload()}).fail(function(n){alert("Login fehlgeschlagen. Bitte Zugangsdaten ueberpruefen.")})}),n("#logout-btn").click(function(e){e.preventDefault(),n.post("/api/auth/logout").done(function(){window.location.reload()})})}(jQuery);
\ No newline at end of file