Initial commit

This commit is contained in:
2023-08-29 19:55:48 +02:00
commit 7c2eec4446
473 changed files with 40947 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
var notificationOpen = false;
var notificationTimeout: NodeJS.Timeout;
var UndeckedNotification: (message: string, type?: 'info' | 'error', time?: number) => void;
window.addEventListener('DOMContentLoaded', () => {
UndeckedNotification = (message: string, type: 'info' | 'error' = 'info', time: number = 2000) => {
_UndeckedNotification.open(message, type, time);
};
var _UndeckedNotification = {
isOpen: false,
timeout: null as NodeJS.Timeout,
transitionDuration: 200,
elements: {
container: document.querySelector('.feedback').querySelector('.notificationcontainer') as HTMLDivElement,
box: document.querySelector('.feedback').querySelector('.notification') as HTMLDivElement
},
open: (message: string, type: 'info' | 'error' = 'info', time: number) => {
var open = () => {
_UndeckedNotification.elements.box.classList.remove('info', 'error');
_UndeckedNotification.elements.box.classList.add(type);
_UndeckedNotification.elements.box.innerText = message;
_UndeckedNotification.elements.container.style.transitionTimingFunction = 'ease-out';
_UndeckedNotification.elements.container.style.transitionDuration = `${_UndeckedNotification.transitionDuration}ms`;
_UndeckedNotification.elements.container.style.bottom = '50px';
_UndeckedNotification.isOpen = true;
_UndeckedNotification.timeout = setTimeout(_UndeckedNotification.close, time);
_UndeckedNotification.elements.box.onclick = () => _UndeckedNotification.close();
};
if (_UndeckedNotification.isOpen == true) {
_UndeckedNotification.close(open);
} else open();
},
close: (callback?: Function) => {
clearTimeout(_UndeckedNotification.timeout);
_UndeckedNotification.elements.container.style.transitionTimingFunction = 'ease-in';
_UndeckedNotification.elements.container.style.bottom = '-50px';
setTimeout(() => {
if (callback) callback();
_UndeckedNotification.isOpen = false;
}, _UndeckedNotification.transitionDuration + 100);
}
};
});
// declare var UndeckedNotification: (message:string, type?:'info'|"error", time?:number) => void;