Files
stellaamor.com/rss/js/main.js
2025-08-02 23:39:14 +02:00

76 lines
1.9 KiB
JavaScript

async function _post(formObj, target, func){
try{
const form = await createFormData(formObj, target, func)
const respJson = await fetch('/rss/php/handler.php', {
method: 'POST',
body: form
});
if(respJson){
return await(respJson.json());
}else{
return 'Error';
}
}catch(errno){
console.log('Post failed');
console.log(errno)
}
}
async function createFormData(data, target, func){
const formData = new FormData();
try{
for(const key in data){
if(data.hasOwnProperty(key)){
formData.append(key, data[key]);
}
}
formData.append('target', target);
formData.append('function', func)
}catch(errno){
console.log('Incorrect use of object');
return false;
}
return formData;
}
function createEl(el, classArr = null, elText = null, dtSet = null){
const element = document.createElement(el);
if(elText){
element.appendChild(document.createTextNode(elText));
}
if(classArr && classArr.length){
element.classList.add(...classArr);
}
if(dtSet && Object.keys(dtSet).length){
for(const [data, value] of Object.entries(dtSet)){
element.dataset[data] = value;
}
}
return element;
}
function getRandomID(){
return Math.random().toString(36).replace('0.', '');
}
async function generateAlert(type, text){
const alert = document.createElement('div');
alert.classList.add('alert');
alert.classList.add(type);
alert.appendChild(document.createTextNode(text));
return alert;
}
async function removeAlert(){
const alerts = document.querySelectorAll('.alert');
if(alerts && alerts.length){
for(const alert of alerts){
alert.remove();
}
}
}