Merge commit '1936a9cb78a25629d8e4f3b4a107d2ad42e87a60' into production

This commit is contained in:
Dobromir Popov
2024-06-25 17:54:56 +03:00
12 changed files with 272 additions and 102 deletions

View File

@ -203,6 +203,29 @@ const SurveyForm: React.FC<SurveyFormProps> = ({ existingItem }) => {
(err) => alert('Не успяхме да копираме имената: ', err)
);
};
const sendIndividualNotification = async (id, message) => {
const response = await fetch('/api/notify', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
id,
title: 'Нямаме отговор',
message: `${message}`,
})
});
if (response.ok) {
console.log(`Notification sent successfully to ${name}`);
} else {
console.error(`Failed to send notification to ${name}`);
}
};
const handleSendNotificationsToAllUnanswered = async (message) => {
getIdsForUnanswered().forEach((id, index) => sendIndividualNotification(id, message));
};
return (
<div className="w-full max-w-md mx-auto" >
@ -284,6 +307,26 @@ const SurveyForm: React.FC<SurveyFormProps> = ({ existingItem }) => {
{item.messages ? item.messages.filter((message) => !message.answer).length : 0}
</div>
</div>
<button
className="mt-2 px-4 py-2 bg-blue-500 text-white rounded"
onClick={() => { handleSendNotificationsToAllUnanswered(item?.content) }}>
Подсети ВСИЧКИ неотховорили с нотификация
</button>
<div className="mt-2">
{getIdsForUnanswered().map((id) => {
const pub = pubs.find((p) => p.id === id);
const name = pub ? `${pub.firstName} ${pub.lastName}` : '???';
return (
<button
key={id}
// className="block mt-1 px-1 py-0.5 bg-orange-500 text-white rounded"
className="mt-1 px-2 py-1 bg-green-500 text-white rounded text-xs"
onClick={() => sendIndividualNotification(id, item?.content)}>
{name}
</button>
);
})}
</div>
</div>
</div>
)}