ReleaseV06

This commit is contained in:
Flatlogic Bot 2026-02-19 21:15:03 +00:00
parent fe70097357
commit a4c83c2865
2 changed files with 28 additions and 14 deletions

View File

@ -1838,6 +1838,9 @@ document.addEventListener('DOMContentLoaded', () => {
document.getElementById('edit-role-icon').value = role.icon; document.getElementById('edit-role-icon').value = role.icon;
document.getElementById('selected-role-emoji-preview').textContent = role.icon || ''; document.getElementById('selected-role-emoji-preview').textContent = role.icon || '';
const modalTitle = document.querySelector('#roleEditorModal .modal-title');
if (modalTitle) modalTitle.textContent = 'Modifier le rôle';
const permsContainer = document.getElementById('role-permissions-checkboxes'); const permsContainer = document.getElementById('role-permissions-checkboxes');
permsContainer.innerHTML = ''; permsContainer.innerHTML = '';
const currentPerms = parseInt(role.perms); const currentPerms = parseInt(role.perms);
@ -1871,10 +1874,11 @@ document.addEventListener('DOMContentLoaded', () => {
}); });
try { try {
const action = id ? 'update' : 'create';
const resp = await fetch('api_v1_roles.php', { const resp = await fetch('api_v1_roles.php', {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ action: 'update', server_id: activeServerId, id, name, color, icon_url, permissions }) body: JSON.stringify({ action, server_id: activeServerId, id, name, color, icon_url, permissions })
}); });
const data = await resp.json(); const data = await resp.json();
if (data.success) { if (data.success) {
@ -1967,18 +1971,28 @@ document.addEventListener('DOMContentLoaded', () => {
}); });
addRoleBtn?.addEventListener('click', async () => { addRoleBtn?.addEventListener('click', async () => {
const name = prompt('Role name:'); document.getElementById('edit-role-id').value = '';
if (!name) return; document.getElementById('edit-role-name').value = 'New Role';
const color = '#99aab5'; document.getElementById('edit-role-color').value = '#99aab5';
document.getElementById('edit-role-icon').value = '';
document.getElementById('selected-role-emoji-preview').textContent = '';
try { const modalTitle = document.querySelector('#roleEditorModal .modal-title');
const resp = await fetch('api_v1_roles.php', { if (modalTitle) modalTitle.textContent = 'Créer un rôle';
method: 'POST',
headers: { 'Content-Type': 'application/json' }, const permsContainer = document.getElementById('role-permissions-checkboxes');
body: JSON.stringify({ action: 'create', server_id: activeServerId, name, color, permissions: 0 }) permsContainer.innerHTML = '';
}); serverPermissions.forEach(p => {
if ((await resp.json()).success) loadRoles(); permsContainer.innerHTML += `
} catch (e) { console.error(e); } <div class="form-check mb-1">
<input class="form-check-input perm-check" type="checkbox" value="${p.value}" id="perm-${p.value}">
<label class="form-check-label text-white small" for="perm-${p.value}">${p.name}</label>
</div>
`;
});
const modal = new bootstrap.Modal(document.getElementById('roleEditorModal'));
modal.show();
}); });
rolesList?.addEventListener('click', async (e) => { rolesList?.addEventListener('click', async (e) => {

View File

@ -2569,8 +2569,8 @@ document.addEventListener('DOMContentLoaded', () => {
</div> </div>
</div> </div>
<!-- Role Modifieror Modal --> <!-- Role Editor Modal -->
<div class="modal fade" id="roleModifierorModal" tabindex="-1"> <div class="modal fade" id="roleEditorModal" tabindex="-1">
<div class="modal-dialog modal-xl"> <div class="modal-dialog modal-xl">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">