mirror of
https://github.com/Derpy-Leggies/OnlyLegs.git
synced 2025-01-01 12:26:13 +00:00
155 lines
5.3 KiB
JavaScript
155 lines
5.3 KiB
JavaScript
function groupDeletePopup() {
|
|
let title = 'Yeet!';
|
|
let subtitle =
|
|
'Are you surrrre? This action is irreversible ' +
|
|
'and very final. This wont delete the images, ' +
|
|
'but it will remove them from this group.'
|
|
let body = null;
|
|
|
|
let deleteBtn = document.createElement('button');
|
|
deleteBtn.classList.add('btn-block');
|
|
deleteBtn.classList.add('critical');
|
|
deleteBtn.innerHTML = 'Dewww eeeet!';
|
|
deleteBtn.onclick = groupDeleteConfirm;
|
|
|
|
popupShow(title, subtitle, body, [popupCancelButton, deleteBtn]);
|
|
}
|
|
|
|
function groupDeleteConfirm(event) {
|
|
// AJAX takes control of subby form :3
|
|
event.preventDefault();
|
|
|
|
fetch('/group/' + group_data['id'], {
|
|
method: 'DELETE',
|
|
}).then(response => {
|
|
if (response.ok) {
|
|
window.location.href = '/group/';
|
|
} else {
|
|
addNotification('Server exploded, returned:' + response.status, 2);
|
|
}
|
|
}).catch(error => {
|
|
addNotification('Error yeeting group!' + error, 2);
|
|
});
|
|
}
|
|
|
|
function groupEditPopup() {
|
|
let title = 'Nothing stays the same';
|
|
let subtitle = 'Add, remove, or change, the power is in your hands...'
|
|
|
|
let formSubmitButton = document.createElement('button');
|
|
formSubmitButton.setAttribute('form', 'groupEditForm');
|
|
formSubmitButton.setAttribute('type', 'submit');
|
|
formSubmitButton.classList.add('btn-block');
|
|
formSubmitButton.classList.add('primary');
|
|
formSubmitButton.innerHTML = 'Saveeee';
|
|
|
|
// Create form
|
|
let body = document.createElement('form');
|
|
body.setAttribute('onsubmit', 'return groupEditConfirm(event);');
|
|
body.id = 'groupEditForm';
|
|
|
|
let formImageId = document.createElement('input');
|
|
formImageId.setAttribute('type', 'text');
|
|
formImageId.setAttribute('placeholder', 'Image ID');
|
|
formImageId.setAttribute('required', '');
|
|
formImageId.classList.add('input-block');
|
|
formImageId.id = 'groupFormImageId';
|
|
|
|
let formAction = document.createElement('input');
|
|
formAction.setAttribute('type', 'text');
|
|
formAction.setAttribute('value', 'add');
|
|
formAction.setAttribute('placeholder', '[add, remove]');
|
|
formAction.setAttribute('required', '');
|
|
formAction.classList.add('input-block');
|
|
formAction.id = 'groupFormAction';
|
|
|
|
body.appendChild(formImageId);
|
|
body.appendChild(formAction);
|
|
|
|
popupShow(title, subtitle, body, [popupCancelButton, formSubmitButton]);
|
|
}
|
|
|
|
function groupEditConfirm(event) {
|
|
// AJAX takes control of subby form :3
|
|
event.preventDefault();
|
|
|
|
let imageId = document.querySelector("#groupFormImageId").value;
|
|
let action = document.querySelector("#groupFormAction").value;
|
|
let formData = new FormData();
|
|
formData.append("imageId", imageId);
|
|
formData.append("action", action);
|
|
|
|
fetch('/group/' + group_data['id'], {
|
|
method: 'PUT',
|
|
body: formData
|
|
}).then(response => {
|
|
if (response.ok) {
|
|
window.location.reload();
|
|
} else {
|
|
addNotification('Server exploded, returned:' + response.status, 2);
|
|
}
|
|
}).catch(error => {
|
|
addNotification('Error!!!!! Panic!!!!' + error, 2);
|
|
});
|
|
}
|
|
|
|
function groupCreatePopup() {
|
|
let title = 'New stuff!';
|
|
let subtitle =
|
|
'Image groups are a simple way to ' +
|
|
'"group" images together, are you ready?'
|
|
|
|
let formSubmitButton = document.createElement('button');
|
|
formSubmitButton.setAttribute('form', 'groupCreateForm');
|
|
formSubmitButton.setAttribute('type', 'submit');
|
|
formSubmitButton.classList.add('btn-block');
|
|
formSubmitButton.classList.add('primary');
|
|
formSubmitButton.innerHTML = 'Huzzah!';
|
|
|
|
// Create form
|
|
let body = document.createElement('form');
|
|
body.setAttribute('onsubmit', 'return groupCreateConfirm(event);');
|
|
body.id = 'groupCreateForm';
|
|
|
|
let formName = document.createElement('input');
|
|
formName.setAttribute('type', 'text');
|
|
formName.setAttribute('placeholder', 'Group namey');
|
|
formName.setAttribute('required', '');
|
|
formName.classList.add('input-block');
|
|
formName.id = 'groupFormName';
|
|
|
|
let formDescription = document.createElement('input');
|
|
formDescription.setAttribute('type', 'text');
|
|
formDescription.setAttribute('placeholder', 'What it about????');
|
|
formDescription.classList.add('input-block');
|
|
formDescription.id = 'groupFormDescription';
|
|
|
|
body.appendChild(formName);
|
|
body.appendChild(formDescription);
|
|
|
|
popupShow(title, subtitle, body, [popupCancelButton, formSubmitButton]);
|
|
}
|
|
|
|
function groupCreateConfirm(event) {
|
|
// AJAX takes control of subby form :3
|
|
event.preventDefault();
|
|
|
|
let name = document.querySelector("#groupFormName").value;
|
|
let description = document.querySelector("#groupFormDescription").value;
|
|
let formData = new FormData();
|
|
formData.append("name", name);
|
|
formData.append("description", description);
|
|
|
|
fetch('/group/', {
|
|
method: 'POST',
|
|
body: formData
|
|
}).then(response => {
|
|
if (response.ok) {
|
|
window.location.reload();
|
|
} else {
|
|
addNotification('Server exploded, returned:' + response.status, 2);
|
|
}
|
|
}).catch(error => {
|
|
addNotification('Error summoning group!' + error, 2);
|
|
});
|
|
} |