define(["apphost", "connectionManager", "listViewStyle", "emby-linkbutton"], function(appHost, connectionManager) {
    "use strict";
    return function(view, params) {
        view.querySelector(".btnLogout").addEventListener("click", function() {
            Dashboard.logout()
        }), view.addEventListener("viewshow", function() {
            var page = this,
                userId = params.userId || Dashboard.getCurrentUserId();
            page.querySelector(".lnkDisplayPreferences").setAttribute("href", "mypreferencesdisplay.html?userId=" + userId), page.querySelector(".lnkLanguagePreferences").setAttribute("href", "mypreferenceslanguages.html?userId=" + userId), page.querySelector(".lnkSubtitleSettings").setAttribute("href", "mypreferencessubtitles.html?userId=" + userId), page.querySelector(".lnkHomeScreenPreferences").setAttribute("href", "mypreferenceshome.html?userId=" + userId), page.querySelector(".lnkMyProfile").setAttribute("href", "myprofile.html?userId=" + userId), page.querySelector(".lnkSync").setAttribute("href", "mysyncsettings.html?userId=" + userId), page.querySelector(".lnkCameraUpload").setAttribute("href", "camerauploadsettings.html?userId=" + userId), appHost.supports("cameraupload") ? page.querySelector(".lnkCameraUpload").classList.remove("hide") : page.querySelector(".lnkCameraUpload").classList.add("hide"), appHost.supports("sync") ? page.querySelector(".lnkSync").classList.remove("hide") : page.querySelector(".lnkSync").classList.add("hide"), connectionManager.user(ApiClient).then(function(user) {
                !user.localUser || user.localUser.EnableAutoLogin && !user.connectUser ? view.querySelector(".btnLogout").classList.add("hide") : view.querySelector(".btnLogout").classList.remove("hide")
            }), Dashboard.getCurrentUser().then(function(user) {
                page.querySelector(".headerUser").innerHTML = user.Name, user.Policy.IsAdministrator ? page.querySelector(".adminSection").classList.remove("hide") : page.querySelector(".adminSection").classList.add("hide")
            }), appHost.supports("multiserver") ? page.querySelector(".selectServer").classList.remove("hide") : page.querySelector(".selectServer").classList.add("hide")
        })
    }
});