import React, { useState } from 'react'; import styles from './SendMessageWizard.module.css'; import { tokenService } from '../../services/TokenService'; import { messageApi, CreateMessageRequest } from '../../api/messageApi'; function MessageForm({ message, onMessageChange, onMessageCreated, onToggleScheduled, }) { const [characterCount, setCharacterCount] = useState(message.length); const [isCreatingMessage, setIsCreatingMessage] = useState(false); const [isScheduledChecked, setIsScheduledChecked] = useState(false); const [createdMessage, setCreatedMessage] = useState(null); const handleMessageChange = (e) => { const newMessage = e.target.value; onMessageChange(newMessage); setCharacterCount(newMessage.length); }; const handleIsScheduledCheckbox = (event) => { console.log('Doing something to the checkbox'); setIsScheduledChecked(event.target.checked); onToggleScheduled(event.target.checked); }; const createMessage = async () => { if (!message.trim()) { return; } setIsCreatingMessage(true); setCreatedMessage(null); try { const userId = tokenService.getUserId(); let reqBod = new CreateMessageRequest(); reqBod.user_id = userId; reqBod.content = message; const response = await messageApi.createMessage( reqBod, tokenService.bearerToken() ); if (!response) { throw new Error('Failed to create message'); } else { const createdMessage = response.data[0]; setCreatedMessage(createdMessage); if (onMessageCreated) { console.log('Setting createdMessage'); onMessageCreated(createdMessage); } console.log('Created message: ', createdMessage); } } catch (error) { console.error(error); } finally { setIsCreatingMessage(false); } }; return (