require('./notificationAdd.less'); const React = require('react'); const { useState, useRef } = require('react'); const request = require('superagent'); const NotificationAdd = ()=>{ const [state, setState] = useState({ notificationResult : null, searching : false, error : null, }); const dismissKeyRef = useRef(null); const titleRef = useRef(null); const textRef = useRef(null); const startAtRef = useRef(null); const stopAtRef = useRef(null); const saveNotification = async ()=>{ const dismissKey = dismissKeyRef.current.value; const title = titleRef.current.value; const text = textRef.current.value; const startAt = new Date(startAtRef.current.value); const stopAt = new Date(stopAtRef.current.value); // Basic validation if (!dismissKey || !title || !text || isNaN(startAt.getTime()) || isNaN(stopAt.getTime())) { setState((prevState) => ({ ...prevState, error: 'All fields are required', })); return; } if (startAt >= stopAt) { setState((prevState) => ({ ...prevState, error: 'End date must be after the start date!', })); return; } const data = { dismissKey, title, text, startAt : startAt?.toISOString() ?? '', stopAt : stopAt?.toISOString() ?? '', }; try { setState((prevState)=>({ ...prevState, searching: true, error: null })); const response = await request.post('/admin/notification/add').send(data); console.log(response.body); const update = { notificationResult: `Notification successfully created.` }; // Reset form fields dismissKeyRef.current.value = ''; titleRef.current.value = ''; textRef.current.value = ''; setState((prevState)=>({ ...prevState, ...update, searching : false, })); } catch (error) { console.log(error.response.body.message); setState((prevState)=>({ ...prevState, error : `Error saving notification: ${error.response.body.message}`, searching : false, })); } }; return (

Add Notification

{state.notificationResult}
{state.error &&
{state.error}
}
); }; module.exports = NotificationAdd;