Restructure code

This commit is contained in:
2025-10-02 18:18:08 +03:00
Unverified
parent 0d33c344b8
commit a24270b37a
85 changed files with 17 additions and 15 deletions
@@ -0,0 +1,62 @@
/**
* @fileoverview User notification system
* @description Provides toast-style notifications for user feedback
* @author Cursor
* @version 1.0.0
*/
/**
* Notification type enumeration
* @typedef {'success' | 'error'} NotificationType
*/
export type NotificationType = 'success' | 'error';
/**
* Shows a notification with the specified message and type
* @param {string} message - The message to display
* @param {NotificationType} type - The type of notification (success or error)
* @private
*/
function showNotification(message: string, type: NotificationType): void {
const notification = document.createElement('div');
notification.textContent = message;
notification.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
padding: 12px 16px;
border-radius: 4px;
color: white;
background: ${type === 'success' ? '#4caf50' : '#f44336'};
z-index: 10000;
font-family: inherit;
box-shadow: 0 2px 8px rgba(0,0,0,0.2);
transition: opacity 0.3s ease;
`;
document.body.appendChild(notification);
// Fade out and remove
setTimeout(() => {
notification.style.opacity = '0';
setTimeout(() => {
notification.remove();
}, 300);
}, 3000);
}
/**
* Shows a success notification
* @param {string} message - The success message to display
*/
export function showSuccess(message: string): void {
showNotification(message, 'success');
}
/**
* Shows an error notification
* @param {string} message - The error message to display
*/
export function showError(message: string): void {
showNotification(message, 'error');
}