@@ -16,6 +16,7 @@ function Announcements({ title, email }) {
1616 const [ emailSubject , setEmailSubject ] = useState ( '' ) ;
1717 const [ testEmail , setTestEmail ] = useState ( '' ) ;
1818 const [ showEditor , setShowEditor ] = useState ( true ) ; // State to control rendering of the editor
19+ const [ isFileUploaded , setIsFileUploaded ] = useState ( false ) ;
1920
2021 useEffect ( ( ) => {
2122 // Toggle the showEditor state to force re-render when dark mode changes
@@ -120,6 +121,8 @@ function Announcements({ title, email }) {
120121
121122 const addImageToEmailContent = e => {
122123 const imageFile = document . querySelector ( 'input[type="file"]' ) . files [ 0 ] ;
124+ setIsFileUploaded ( true ) ;
125+
123126 convertImageToBase64 ( imageFile , base64Image => {
124127 const imageTag = `<img src="${ base64Image } " alt="Header Image" style="width: 100%; max-width: 100%; height: auto;">` ;
125128 setHeaderContent ( prevContent => `${ imageTag } ${ prevContent } ` ) ;
@@ -146,6 +149,11 @@ function Announcements({ title, email }) {
146149 return ;
147150 }
148151
152+ if ( ! isFileUploaded ) {
153+ toast . error ( 'Error: Please upload a file.' ) ;
154+ return ;
155+ }
156+
149157 const invalidEmails = emailList . filter ( email => ! validateEmail ( email . trim ( ) ) ) ;
150158
151159 if ( invalidEmails . length > 0 ) {
@@ -240,7 +248,7 @@ function Announcements({ title, email }) {
240248 </ label >
241249 < input
242250 type = "file"
243- id = "upload-header-input"
251+ id = "upload-header-input"
244252 onChange = { addImageToEmailContent }
245253 className = "input-file-upload"
246254 />
0 commit comments