forked from RiseUP/riseup_squad_03
fix(principal): integra auth, agenda e laudos com a api
This commit is contained in:
@@ -18,6 +18,7 @@ const statusConfig = {
|
||||
|
||||
const emptyMessage = {
|
||||
patient: '',
|
||||
phone: '',
|
||||
channel: 'whatsapp',
|
||||
template: 'Lembrete 48h',
|
||||
content: '',
|
||||
@@ -79,6 +80,7 @@ export function MessagesPage() {
|
||||
function openTemplate(template) {
|
||||
setComposer({
|
||||
patient: '',
|
||||
phone: '',
|
||||
channel: template.channel,
|
||||
template: template.name,
|
||||
content: template.content,
|
||||
@@ -86,13 +88,33 @@ export function MessagesPage() {
|
||||
setComposerOpen(true)
|
||||
}
|
||||
|
||||
function submitMessage(event) {
|
||||
async function submitMessage(event) {
|
||||
event.preventDefault()
|
||||
|
||||
if (!composer.patient.trim()) {
|
||||
return
|
||||
}
|
||||
|
||||
let smsSent = false
|
||||
|
||||
if (composer.channel === 'sms') {
|
||||
if (!composer.phone.trim()) {
|
||||
alert('Informe o telefone para enviar SMS.')
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
await communicationRepository.sendSms({
|
||||
patientName: composer.patient.trim(),
|
||||
phone: composer.phone.trim(),
|
||||
content: composer.content,
|
||||
})
|
||||
smsSent = true
|
||||
} catch (e) {
|
||||
alert('Falha ao disparar SMS: ' + e.message)
|
||||
}
|
||||
}
|
||||
|
||||
setMessages((current) => [
|
||||
{
|
||||
id: `local-${Date.now()}`,
|
||||
@@ -100,7 +122,7 @@ export function MessagesPage() {
|
||||
channel: composer.channel,
|
||||
template: composer.template.trim() || 'Mensagem avulsa',
|
||||
sentAt: 'Agora',
|
||||
status: 'pendente',
|
||||
status: composer.channel === 'sms' ? (smsSent ? 'entregue' : 'falha') : 'pendente',
|
||||
response: '',
|
||||
},
|
||||
...current,
|
||||
@@ -300,6 +322,7 @@ export function MessagesPage() {
|
||||
onClick={() => {
|
||||
setComposer({
|
||||
patient: campaign.count,
|
||||
phone: '',
|
||||
channel: 'whatsapp',
|
||||
template: campaign.title,
|
||||
content: campaign.desc,
|
||||
@@ -470,6 +493,17 @@ function MessageComposer({ draft, onChange, onClose, onSubmit, templates }) {
|
||||
</DarkField>
|
||||
</div>
|
||||
|
||||
{draft.channel === 'sms' ? (
|
||||
<DarkField label="Telefone">
|
||||
<input
|
||||
className={inputClass}
|
||||
onChange={(event) => update('phone', event.target.value)}
|
||||
placeholder="(81) 99999-9999"
|
||||
value={draft.phone}
|
||||
/>
|
||||
</DarkField>
|
||||
) : null}
|
||||
|
||||
<DarkField label="Template">
|
||||
<select className={inputClass} onChange={(event) => applyTemplate(event.target.value)} value={draft.template}>
|
||||
<option value="Mensagem avulsa">Mensagem avulsa</option>
|
||||
|
||||
Reference in New Issue
Block a user