forked from mirrors/linphone-iphone
Add info toasts to meeting creation/edition
This commit is contained in:
parent
a130e83d60
commit
1047a01fd4
3 changed files with 149 additions and 5 deletions
|
|
@ -3846,6 +3846,7 @@
|
|||
}
|
||||
},
|
||||
"failed_meeting_ics_invitation_not_sent_toast" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -4545,6 +4546,70 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"meeting_failed_to_edit_toast" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Failed to edit meeting"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Échec de la modification de la réunion"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"meeting_failed_to_schedule_toast" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Failed to schedule meeting!"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "needs_review",
|
||||
"value" : "Échec de création de la réunion !"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"meeting_failed_to_send_invites_toast" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Failed to send all invites to meeting!"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Échec de l'envoi des invitations à la réunion !"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"meeting_failed_to_send_part_of_invites_toast" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Failed to send invites to some participants of the meeting!"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Échec de l'envoi des invitations à certains des participants !"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"meeting_info_cancelled_toast" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
|
|
@ -4561,6 +4626,22 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"meeting_info_created_toast" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Meeting has been created"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Réunion créée"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"meeting_info_delete" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
|
|
@ -4641,6 +4722,22 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"meeting_info_updated_toast" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Meeting has been updated"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Réunion mise à jour"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"meeting_schedule_add_participants_title" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
|
|
|
|||
|
|
@ -164,6 +164,20 @@ struct ToastView: View {
|
|||
.default_text_style(styleSize: 15)
|
||||
.padding(8)
|
||||
|
||||
case "Success_meeting_info_created_toast":
|
||||
Text("meeting_info_created_toast")
|
||||
.multilineTextAlignment(.center)
|
||||
.foregroundStyle(Color.greenSuccess500)
|
||||
.default_text_style(styleSize: 15)
|
||||
.padding(8)
|
||||
|
||||
case "Success_meeting_info_updated_toast":
|
||||
Text("meeting_info_updated_toast")
|
||||
.multilineTextAlignment(.center)
|
||||
.foregroundStyle(Color.greenSuccess500)
|
||||
.default_text_style(styleSize: 15)
|
||||
.padding(8)
|
||||
|
||||
case "Failed_toast_call_transfer_failed":
|
||||
Text("call_transfer_failed_toast")
|
||||
.multilineTextAlignment(.center)
|
||||
|
|
@ -253,8 +267,29 @@ struct ToastView: View {
|
|||
.default_text_style(styleSize: 15)
|
||||
.padding(8)
|
||||
|
||||
case "Failed_meeting_invitations_not_sent":
|
||||
Text("failed_meeting_ics_invitation_not_sent_toast")
|
||||
case "meeting_failed_to_edit_toast":
|
||||
Text("meeting_failed_to_edit_toast")
|
||||
.multilineTextAlignment(.center)
|
||||
.foregroundStyle(Color.redDanger500)
|
||||
.default_text_style(styleSize: 15)
|
||||
.padding(8)
|
||||
|
||||
case "meeting_failed_to_schedule_toast":
|
||||
Text("meeting_failed_to_schedule_toast")
|
||||
.multilineTextAlignment(.center)
|
||||
.foregroundStyle(Color.redDanger500)
|
||||
.default_text_style(styleSize: 15)
|
||||
.padding(8)
|
||||
|
||||
case "meeting_failed_to_send_invites_toast":
|
||||
Text("meeting_failed_to_send_invites_toast")
|
||||
.multilineTextAlignment(.center)
|
||||
.foregroundStyle(Color.redDanger500)
|
||||
.default_text_style(styleSize: 15)
|
||||
.padding(8)
|
||||
|
||||
case "meeting_failed_to_send_part_of_invites_toast":
|
||||
Text("meeting_failed_to_send_part_of_invites_toast")
|
||||
.multilineTextAlignment(.center)
|
||||
.foregroundStyle(Color.redDanger500)
|
||||
.default_text_style(styleSize: 15)
|
||||
|
|
|
|||
|
|
@ -181,14 +181,23 @@ class MeetingViewModel: ObservableObject {
|
|||
DispatchQueue.main.async {
|
||||
self.operationInProgress = false
|
||||
self.errorMsg = (self.displayedMeeting != nil) ? "Could not edit conference" : "Could not create conference"
|
||||
// TODO: show error toast
|
||||
ToastViewModel.shared.toastMessage = (self.displayedMeeting != nil) ? "meeting_failed_to_edit_toast" : "meeting_failed_to_schedule_toast"
|
||||
ToastViewModel.shared.displayToast = true
|
||||
}
|
||||
} else if state == ConferenceScheduler.State.Ready {
|
||||
let conferenceAddress = self.conferenceScheduler?.info?.uri
|
||||
if let confInfoToEdit = self.conferenceInfoToEdit {
|
||||
Log.info("\(MeetingViewModel.TAG) Conference info \(confInfoToEdit.uri?.asStringUriOnly() ?? "'nil'") has been updated")
|
||||
DispatchQueue.main.async {
|
||||
ToastViewModel.shared.toastMessage = "Success_meeting_info_updated_toast"
|
||||
ToastViewModel.shared.displayToast = true
|
||||
}
|
||||
} else {
|
||||
Log.info("\(MeetingViewModel.TAG) Conference info created, address will be \(conferenceAddress?.asStringUriOnly() ?? "'nil'")")
|
||||
DispatchQueue.main.async {
|
||||
ToastViewModel.shared.toastMessage = "Success_meeting_info_created_toast"
|
||||
ToastViewModel.shared.displayToast = true
|
||||
}
|
||||
}
|
||||
|
||||
if self.sendInvitations {
|
||||
|
|
@ -202,6 +211,9 @@ class MeetingViewModel: ObservableObject {
|
|||
}
|
||||
}
|
||||
} else if state == ConferenceScheduler.State.Updating {
|
||||
DispatchQueue.main.async {
|
||||
ToastViewModel.shared.displayToast = true
|
||||
}
|
||||
self.sendIcsInvitation(core: core)
|
||||
}
|
||||
}, onInvitationsSent: { (_: ConferenceScheduler, failedInvitations: [Address]) in
|
||||
|
|
@ -211,7 +223,7 @@ class MeetingViewModel: ObservableObject {
|
|||
} else if failedInvitations.count == self.participants.count {
|
||||
Log.error("\(MeetingViewModel.TAG) No invitation sent!")
|
||||
DispatchQueue.main.async {
|
||||
ToastViewModel.shared.toastMessage = "Failed_meeting_invitations_not_sent"
|
||||
ToastViewModel.shared.toastMessage = "meeting_failed_to_send_invites_toast"
|
||||
ToastViewModel.shared.displayToast = true
|
||||
}
|
||||
} else {
|
||||
|
|
@ -224,7 +236,7 @@ class MeetingViewModel: ObservableObject {
|
|||
}
|
||||
Log.warn("\(MeetingViewModel.TAG) \(failedInvitations.count) invitations couldn't have been sent to: \(failInvList)")
|
||||
DispatchQueue.main.async {
|
||||
ToastViewModel.shared.toastMessage = "Error: \(failedInvitations.count) invitations couldn't be sent to \(failInvList)"
|
||||
ToastViewModel.shared.toastMessage = "meeting_failed_to_send_part_of_invites_toast"
|
||||
ToastViewModel.shared.displayToast = true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue