import loading from '../../../components/loading/loading'; import dom from '../../../scripts/dom'; import globalize from '../../../scripts/globalize'; import { formatDistanceToNow } from 'date-fns'; import { localeWithSuffix } from '../../../scripts/dfnshelper'; import '../../../elements/emby-button/paper-icon-button-light'; import '../../../components/cardbuilder/card.css'; import '../../../elements/emby-button/emby-button'; import '../../../components/indicators/indicators.css'; import '../../../assets/css/flexstyles.scss'; import Dashboard, { pageIdOn } from '../../../scripts/clientUtils'; import confirm from '../../../components/confirm/confirm'; /* eslint-disable indent */ function deleteUser(page, id) { const msg = globalize.translate('DeleteUserConfirmation'); confirm({ title: globalize.translate('DeleteUser'), text: msg, confirmText: globalize.translate('Delete'), primary: 'delete' }).then(function () { loading.show(); ApiClient.deleteUser(id).then(function () { loadData(page); }); }); } function showUserMenu(elem) { const card = dom.parentWithClass(elem, 'card'); const page = dom.parentWithClass(card, 'page'); const userId = card.getAttribute('data-userid'); const menuItems = []; menuItems.push({ name: globalize.translate('ButtonOpen'), id: 'open', icon: 'mode_edit' }); menuItems.push({ name: globalize.translate('ButtonLibraryAccess'), id: 'access', icon: 'lock' }); menuItems.push({ name: globalize.translate('ButtonParentalControl'), id: 'parentalcontrol', icon: 'person' }); menuItems.push({ name: globalize.translate('Delete'), id: 'delete', icon: 'delete' }); import('../../../components/actionSheet/actionSheet').then(({default: actionsheet}) => { actionsheet.show({ items: menuItems, positionTo: card, callback: function (id) { switch (id) { case 'open': Dashboard.navigate('useredit.html?userId=' + userId); break; case 'access': Dashboard.navigate('userlibraryaccess.html?userId=' + userId); break; case 'parentalcontrol': Dashboard.navigate('userparentalcontrol.html?userId=' + userId); break; case 'delete': deleteUser(page, userId); } } }); }); } function getUserHtml(user, addConnectIndicator) { let html = ''; let cssClass = 'card squareCard scalableCard squareCard-scalable'; if (user.Policy.IsDisabled) { cssClass += ' grayscale'; } html += "