From e596ab2f632a015071d1c747b69d932629fddd66 Mon Sep 17 00:00:00 2001 From: mohi-devhub Date: Tue, 29 Sep 2026 14:27:32 +0530 Subject: [PATCH] fix(focus-group): polish session collaboration UI --- src/app/plugins/locales/en.json | 6 + src/app/plugins/locales/es.json | 6 + .../components/session/BreakoutRoomsBar.vue | 2 +- .../components/session/ParticipantList.vue | 2 +- .../components/session/SessionVideoStage.vue | 176 +++++++++- .../composables/useFocusGroupSession.js | 11 +- .../FocusGroup/composables/useSpeakingTime.js | 10 +- .../FocusGroup/views/FocusGroupAnswerView.vue | 59 ++-- .../views/FocusGroupSessionView.vue | 306 ++++++++++++++---- 9 files changed, 473 insertions(+), 105 deletions(-) diff --git a/src/app/plugins/locales/en.json b/src/app/plugins/locales/en.json index 9563957c8..54bf203de 100644 --- a/src/app/plugins/locales/en.json +++ b/src/app/plugins/locales/en.json @@ -2507,6 +2507,9 @@ "cameraOff": "Camera is off", "yourVideo": "Your video", "yourPreview": "Your preview", + "previousPage": "Previous participants", + "nextPage": "Next participants", + "pageRange": "{start}–{end} of {total}", "observatorMode": "Observer Mode", "waitingForModeratorToStartSession": "Waiting for moderator to start the session...", "observeAllFeedsNotice": "You will be able to observe all video feeds without sending your own.", @@ -2902,6 +2905,7 @@ "asked": "Asked", "currentQuestion": "Current question", "clearQuestion": "Clear question", + "stopShowingQuestion": "Stop showing question", "guide": "Guide", "notes": "Notes", "startTimer": "Start timer", @@ -2920,6 +2924,8 @@ "nicknameLabel": "Nickname", "continueToSession": "Continue to session", "observerModeHint": "Observer mode — you're following the discussion without taking part.", + "observersWatching": "Observers watching: {count}", + "respondedInTopic": "Has sent a chat message in this topic", "notAMemberTitle": "You're not part of this session", "notAMemberHint": "This session is running for a specific group of people, and your account isn't on its list. Check with the facilitator if you think this is a mistake.", "sessionInfo": "Session", diff --git a/src/app/plugins/locales/es.json b/src/app/plugins/locales/es.json index 7ca57647e..5024bf3f1 100644 --- a/src/app/plugins/locales/es.json +++ b/src/app/plugins/locales/es.json @@ -2424,6 +2424,9 @@ "cameraOff": "La camara esta apagada", "yourVideo": "Tu video", "yourPreview": "Tu vista previa", + "previousPage": "Participantes anteriores", + "nextPage": "Participantes siguientes", + "pageRange": "{start}–{end} de {total}", "observatorMode": "Modo observador", "waitingForModeratorToStartSession": "Esperando a que el moderador inicie la sesion...", "observeAllFeedsNotice": "Podras observar todas las transmisiones de video sin enviar la tuya.", @@ -2810,6 +2813,7 @@ "asked": "Preguntada", "currentQuestion": "Pregunta actual", "clearQuestion": "Quitar pregunta", + "stopShowingQuestion": "Dejar de mostrar la pregunta", "guide": "Guía", "notes": "Notas", "startTimer": "Iniciar temporizador", @@ -2828,6 +2832,8 @@ "nicknameLabel": "Apodo", "continueToSession": "Continuar a la sesión", "observerModeHint": "Modo observador: sigues la discusión sin participar.", + "observersWatching": "Observadores viendo: {count}", + "respondedInTopic": "Ha enviado un mensaje en este tema", "notAMemberTitle": "No formas parte de esta sesión", "notAMemberHint": "Esta sesión se está ejecutando para un grupo específico de personas y tu cuenta no está en su lista. Consulta con el facilitador si crees que es un error.", "sessionInfo": "Sesión", diff --git a/src/ux/FocusGroup/components/session/BreakoutRoomsBar.vue b/src/ux/FocusGroup/components/session/BreakoutRoomsBar.vue index 200ca320c..df6e7173e 100644 --- a/src/ux/FocusGroup/components/session/BreakoutRoomsBar.vue +++ b/src/ux/FocusGroup/components/session/BreakoutRoomsBar.vue @@ -20,7 +20,7 @@ @click="emit('visit', groupId)" > mdi-message-text diff --git a/src/ux/FocusGroup/components/session/SessionVideoStage.vue b/src/ux/FocusGroup/components/session/SessionVideoStage.vue index 55df99389..776f7eeeb 100644 --- a/src/ux/FocusGroup/components/session/SessionVideoStage.vue +++ b/src/ux/FocusGroup/components/session/SessionVideoStage.vue @@ -11,6 +11,11 @@ {{ connectionError }} +
+ mdi-eye-outline + {{ t('focusGroup.session.observersWatching', { count: observerCount }) }} +
+
@@ -59,7 +64,7 @@ :style="gridStyleVars" >
{{ t('videoCall.session.waitingForParticipants') }}
+ +
+ + {{ + t('videoCall.session.pageRange', { + start: pageStart + 1, + end: pageEnd, + total: orderedTiles.length, + }) + }} + + + +