- {{ selectedProposal?.duration ? selectedProposal.duration + ' min' : '-' }}
+
+
+
+ {{ participantSummary }}
(() => !selectedProposal.value || selecte
const modalEditSaveLabel = computed(() => !selectedProposal.value || selectedProposal.value.id ? t('calendar', 'Update') : t('calendar', 'Create'))
+const participantSummary = computed(() => {
+ const participants = selectedProposal.value?.participants ?? []
+ const responded = participants.filter(({ status }) => status === ProposalParticipantStatus.Responded).length
+ return t('calendar', '{responded} of {invited} responded', {
+ invited: participants.length,
+ responded,
+ })
+})
+
const modalEditSaveState = computed(() => {
if (!selectedProposal.value) {
// disable if no proposal selected
@@ -1017,14 +1031,15 @@ onBeforeUnmount(() => {
gap: calc(var(--default-grid-baseline) * 2);
}
-.proposal-viewer__content-duration-and-actions {
+.proposal-viewer__content-participants-and-actions {
display: flex;
justify-content: space-between;
align-items: center;
}
.proposal-viewer__content-location,
-.proposal-viewer__content-duration {
+.proposal-viewer__content-duration,
+.proposal-viewer__content-participants {
display: flex;
align-items: center;
gap: calc(var(--default-grid-baseline) * 2);