diff --git a/frontend/js/admin/sections/access.js b/frontend/js/admin/sections/access.js index b4c0f4c..5eccd86 100644 --- a/frontend/js/admin/sections/access.js +++ b/frontend/js/admin/sections/access.js @@ -311,7 +311,7 @@ } async function bulk(allow) { - if (!allow && !confirm(`Закрыть «${_selContent.title}» у всех классов?`)) return; + if (!allow && !await LS.confirm(`Закрыть доступ к «${_selContent.title}» у всех классов?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return; const classes = _targets.classes || []; try { await Promise.all(classes.map(c => @@ -436,7 +436,7 @@ if (!sel || !sel.value) { LS.toast('Выберите класс-источник', 'error'); return; } const srcId = Number(sel.value); const srcName = sel.options[sel.selectedIndex].text; - if (!confirm(`Скопировать весь открытый доступ из «${srcName}» в «${_selClass.name}»? Текущие правила класса дополнятся.`)) return; + if (!await LS.confirm(`Скопировать весь открытый доступ из «${srcName}» в «${_selClass.name}»? Текущие правила класса дополнятся.`, { title: 'Скопировать доступ', confirmText: 'Скопировать', danger: false })) return; try { const src = await LS.accessClassOpen(srcId); const items = CONTENT_TYPES.flatMap(t => (src[bucket(t)] || []).map(ref => [t, ref])); @@ -449,7 +449,7 @@ } async function classBulk(allow) { - if (!allow && !confirm(`Закрыть весь контент у класса «${_selClass.name}»?`)) return; + if (!allow && !await LS.confirm(`Закрыть весь контент у класса «${_selClass.name}»?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return; const all = CONTENT_TYPES.flatMap(t => itemsOf(t).map(it => [t, it[keyName(t)]])); try { await Promise.all(all.map(([type, ref]) => @@ -543,7 +543,7 @@ const classes = _matrix.classes || []; const allOpen = classes.length && classes.every(c => ((_matrix.open[c.id] || {})[type] || []).includes(ref)); const open = !allOpen; - if (!open && !confirm(`Закрыть «${contentTitle(type, ref)}» у всех классов?`)) return; + if (!open && !await LS.confirm(`Закрыть доступ к «${contentTitle(type, ref)}» у всех классов?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return; try { await Promise.all(classes.map(c => LS.accessSetRule(type, ref, 'class', c.id, open ? 1 : null))); classes.forEach(c => mxApply(_matrix.open[c.id] || (_matrix.open[c.id] = {}), type, ref, open)); @@ -557,7 +557,7 @@ const allOpen = items.length && items.every(([t, ref]) => (o[t] || []).includes(ref)); const open = !allOpen; const cls = (_matrix.classes.find(c => c.id === classId) || {}).name || ('#' + classId); - if (!open && !confirm(`Закрыть весь контент у класса «${cls}»?`)) return; + if (!open && !await LS.confirm(`Закрыть весь контент у класса «${cls}»?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return; try { await Promise.all(items.map(([t, ref]) => LS.accessSetRule(t, ref, 'class', classId, open ? 1 : null))); items.forEach(([t, ref]) => mxApply(o, t, ref, open));