Skip to content

Commit d6aba00

Browse files
Add validation check for file upload before sending email
1 parent 7ad2ede commit d6aba00

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

src/components/Announcements/index.jsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)