🚸(frontend) add loading spinner to recording start button

Add visual spinner indication to start button when initializing transcript
or screen recording. Provides clear feedback that recording process is
starting rather than leaving users uncertain about system status.
This commit is contained in:
lebaudantoine
2025-04-16 18:18:40 +02:00
committed by aleb_the_flash
parent 0b6869a4dc
commit f1b45af7d7
5 changed files with 25 additions and 2 deletions

View File

@@ -40,6 +40,8 @@ export const ScreenRecordingSidePanel = () => {
return { return {
isAnotherModeStarted: isAnotherModeStarted:
recordingSnap.status == RecordingStatus.TRANSCRIPT_STARTED, recordingSnap.status == RecordingStatus.TRANSCRIPT_STARTED,
isStarting:
recordingSnap.status == RecordingStatus.SCREEN_RECORDING_STARTING,
isStarted: isStarted:
recordingSnap.status == RecordingStatus.SCREEN_RECORDING_STARTED, recordingSnap.status == RecordingStatus.SCREEN_RECORDING_STARTED,
isStopping: isStopping:
@@ -191,7 +193,14 @@ export const ScreenRecordingSidePanel = () => {
size="sm" size="sm"
variant="tertiary" variant="tertiary"
> >
{t('start.button')} {statuses.isStarting ? (
<>
<Spinner size={20} />
{t('start.loading')}
</>
) : (
t('start.button')
)}
</Button> </Button>
</> </>
)} )}

View File

@@ -49,6 +49,7 @@ export const TranscriptSidePanel = () => {
return { return {
isAnotherModeStarted: isAnotherModeStarted:
recordingSnap.status == RecordingStatus.SCREEN_RECORDING_STARTED, recordingSnap.status == RecordingStatus.SCREEN_RECORDING_STARTED,
isStarting: recordingSnap.status == RecordingStatus.TRANSCRIPT_STARTING,
isStarted: recordingSnap.status == RecordingStatus.TRANSCRIPT_STARTED, isStarted: recordingSnap.status == RecordingStatus.TRANSCRIPT_STARTED,
isStopping: recordingSnap.status == RecordingStatus.TRANSCRIPT_STOPPING, isStopping: recordingSnap.status == RecordingStatus.TRANSCRIPT_STOPPING,
} }
@@ -224,7 +225,14 @@ export const TranscriptSidePanel = () => {
size="sm" size="sm"
variant="tertiary" variant="tertiary"
> >
{t('start.button')} {statuses.isStarting ? (
<>
<Spinner size={20} />
{t('start.loading')}
</>
) : (
t('start.button')
)}
</Button> </Button>
</> </>
)} )}

View File

@@ -205,6 +205,7 @@
"heading": "Transcribe this call", "heading": "Transcribe this call",
"body": "Automatically transcribe this call and receive the summary in Docs.", "body": "Automatically transcribe this call and receive the summary in Docs.",
"button": "Start transcription", "button": "Start transcription",
"loading": "Transcription starting",
"linkMore": "Learn more" "linkMore": "Learn more"
}, },
"stop": { "stop": {
@@ -227,6 +228,7 @@
"heading": "Record this call", "heading": "Record this call",
"body": "Record this call to watch it later and receive the video recording by email.", "body": "Record this call to watch it later and receive the video recording by email.",
"button": "Start recording", "button": "Start recording",
"loading": "Recording starting",
"linkMore": "Learn more" "linkMore": "Learn more"
}, },
"stopping": { "stopping": {

View File

@@ -205,6 +205,7 @@
"heading": "Transcrire cet appel", "heading": "Transcrire cet appel",
"body": "Transcrivez cet appel automatiquement et recevez le compte rendu dans Docs.", "body": "Transcrivez cet appel automatiquement et recevez le compte rendu dans Docs.",
"button": "Démarrer la transcription", "button": "Démarrer la transcription",
"loading": "Démarrage de la transcription",
"linkMore": "En savoir plus" "linkMore": "En savoir plus"
}, },
"stop": { "stop": {
@@ -227,6 +228,7 @@
"heading": "Enregistrer cet appel", "heading": "Enregistrer cet appel",
"body": "Enregistrez cet appel pour plus tard et recevez l'enregistrement vidéo par mail.", "body": "Enregistrez cet appel pour plus tard et recevez l'enregistrement vidéo par mail.",
"button": "Démarrer l'enregistrement", "button": "Démarrer l'enregistrement",
"loading": "Démarrage de l'enregistrement",
"linkMore": "En savoir plus" "linkMore": "En savoir plus"
}, },
"stopping": { "stopping": {

View File

@@ -205,6 +205,7 @@
"heading": "Transcribeer dit gesprek", "heading": "Transcribeer dit gesprek",
"body": "Transcribeer dit gesprek automatisch en ontvang het verslag in Docs.", "body": "Transcribeer dit gesprek automatisch en ontvang het verslag in Docs.",
"button": "Transcriptie starten", "button": "Transcriptie starten",
"loading": "Transcriptie begint",
"linkMore": "Meer informatie" "linkMore": "Meer informatie"
}, },
"stop": { "stop": {
@@ -227,6 +228,7 @@
"heading": "Dit gesprek opnemen", "heading": "Dit gesprek opnemen",
"body": "Neem dit gesprek op om het later terug te kijken. Je ontvangt de video-opname per e-mail.", "body": "Neem dit gesprek op om het later terug te kijken. Je ontvangt de video-opname per e-mail.",
"button": "Opname starten", "button": "Opname starten",
"loading": "Opname gestarten",
"linkMore": "Meer informatie" "linkMore": "Meer informatie"
}, },
"stopping": { "stopping": {