import {useState} from 'react' import {useLiveRegion} from 'web/components/live-region' function LikeButton({profileId: _profileId}: {profileId: string}) { const [liked, setLiked] = useState(false) const {announce} = useLiveRegion() const handleLike = () => { const newLiked = !liked setLiked(newLiked) if (newLiked) { announce('Profile liked', 'polite') } else { announce('Like removed', 'polite') } } return ( ) } function MessageSentNotification() { const {announce} = useLiveRegion() const handleSend = () => { announce('Message sent successfully', 'polite') } return } function ErrorAlert({message}: {message: string}) { const {announce} = useLiveRegion() const handleRetry = () => { announce('Retrying connection...', 'polite') } return (

Error: {message}

) } function FormSubmission() { const [status, setStatus] = useState<'idle' | 'submitting' | 'success' | 'error'>('idle') const {announce} = useLiveRegion() const handleSubmit = async () => { setStatus('submitting') announce('Submitting form, please wait', 'polite') try { await new Promise((resolve) => setTimeout(resolve, 1000)) setStatus('success') announce('Form submitted successfully', 'polite') } catch { setStatus('error') announce('Form submission failed. Please try again.', 'assertive') } } return (
{status === 'success' &&

Success!

}
) } function LoadingIndicator({isLoading}: {isLoading: boolean}) { const {announce} = useLiveRegion() if (isLoading) { announce('Loading more results', 'polite') } return isLoading ? Loading... : null } export {ErrorAlert, FormSubmission, LikeButton, LoadingIndicator, MessageSentNotification}