✨(frontend) add quick action to open transcription menu
Implement quick access button to open the transcription menu directly, providing faster navigation to transcript controls and settings.
This commit is contained in:
committed by
aleb_the_flash
parent
bcdc93f405
commit
7c16852a56
@@ -5,6 +5,7 @@ import { SettingsMenuItem } from './SettingsMenuItem'
|
|||||||
import { FeedbackMenuItem } from './FeedbackMenuItem'
|
import { FeedbackMenuItem } from './FeedbackMenuItem'
|
||||||
import { EffectsMenuItem } from './EffectsMenuItem'
|
import { EffectsMenuItem } from './EffectsMenuItem'
|
||||||
import { SupportMenuItem } from './SupportMenuItem'
|
import { SupportMenuItem } from './SupportMenuItem'
|
||||||
|
import { TranscriptMenuItem } from './TranscriptMenuItem'
|
||||||
import { ScreenRecordingMenuItem } from './ScreenRecordingMenuItem'
|
import { ScreenRecordingMenuItem } from './ScreenRecordingMenuItem'
|
||||||
|
|
||||||
// @todo try refactoring it to use MenuList component
|
// @todo try refactoring it to use MenuList component
|
||||||
@@ -17,6 +18,7 @@ export const OptionsMenuItems = () => {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<MenuSection>
|
<MenuSection>
|
||||||
|
<TranscriptMenuItem />
|
||||||
<ScreenRecordingMenuItem />
|
<ScreenRecordingMenuItem />
|
||||||
<FullScreenMenuItem />
|
<FullScreenMenuItem />
|
||||||
<EffectsMenuItem />
|
<EffectsMenuItem />
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
import { RiFileTextLine } from '@remixicon/react'
|
||||||
|
import { MenuItem } from 'react-aria-components'
|
||||||
|
import { useTranslation } from 'react-i18next'
|
||||||
|
import { menuRecipe } from '@/primitives/menuRecipe'
|
||||||
|
import { useSidePanel } from '@/features/rooms/livekit/hooks/useSidePanel'
|
||||||
|
import { RecordingMode, useHasRecordingAccess } from '@/features/recording'
|
||||||
|
import { FeatureFlags } from '@/features/analytics/enums'
|
||||||
|
|
||||||
|
export const TranscriptMenuItem = () => {
|
||||||
|
const { t } = useTranslation('rooms', { keyPrefix: 'options.items' })
|
||||||
|
const { isTranscriptOpen, openTranscript, toggleTools } = useSidePanel()
|
||||||
|
|
||||||
|
const hasTranscriptAccess = useHasRecordingAccess(
|
||||||
|
RecordingMode.Transcript,
|
||||||
|
FeatureFlags.Transcript
|
||||||
|
)
|
||||||
|
|
||||||
|
if (!hasTranscriptAccess) return null
|
||||||
|
|
||||||
|
return (
|
||||||
|
<MenuItem
|
||||||
|
className={menuRecipe({ icon: true, variant: 'dark' }).item}
|
||||||
|
onAction={() => (!isTranscriptOpen ? openTranscript() : toggleTools())}
|
||||||
|
>
|
||||||
|
<RiFileTextLine size={20} />
|
||||||
|
{t('transcript')}
|
||||||
|
</MenuItem>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -207,6 +207,7 @@
|
|||||||
"feedback": "Feedback geben",
|
"feedback": "Feedback geben",
|
||||||
"settings": "Einstellungen",
|
"settings": "Einstellungen",
|
||||||
"screenRecording": "Aufzeichnung",
|
"screenRecording": "Aufzeichnung",
|
||||||
|
"transcript": "Transkription",
|
||||||
"username": "Ihren Namen aktualisieren",
|
"username": "Ihren Namen aktualisieren",
|
||||||
"effects": "Effekte anwenden",
|
"effects": "Effekte anwenden",
|
||||||
"switchCamera": "Kamera wechseln",
|
"switchCamera": "Kamera wechseln",
|
||||||
|
|||||||
@@ -207,6 +207,7 @@
|
|||||||
"feedback": "Give us feedback",
|
"feedback": "Give us feedback",
|
||||||
"settings": "Settings",
|
"settings": "Settings",
|
||||||
"screenRecording": "Screen recording",
|
"screenRecording": "Screen recording",
|
||||||
|
"transcript": "Transcription",
|
||||||
"username": "Update Your Name",
|
"username": "Update Your Name",
|
||||||
"effects": "Apply effects",
|
"effects": "Apply effects",
|
||||||
"switchCamera": "Switch camera",
|
"switchCamera": "Switch camera",
|
||||||
|
|||||||
@@ -207,6 +207,7 @@
|
|||||||
"feedback": "Partager votre avis",
|
"feedback": "Partager votre avis",
|
||||||
"settings": "Paramètres",
|
"settings": "Paramètres",
|
||||||
"screenRecording": "Enregistrement",
|
"screenRecording": "Enregistrement",
|
||||||
|
"transcript": "Transcription",
|
||||||
"username": "Choisir votre nom",
|
"username": "Choisir votre nom",
|
||||||
"effects": "Effets d'arrière-plan",
|
"effects": "Effets d'arrière-plan",
|
||||||
"switchCamera": "Changer de caméra",
|
"switchCamera": "Changer de caméra",
|
||||||
|
|||||||
@@ -206,6 +206,7 @@
|
|||||||
"items": {
|
"items": {
|
||||||
"feedback": "Geef ons feedback",
|
"feedback": "Geef ons feedback",
|
||||||
"settings": "Instellingen",
|
"settings": "Instellingen",
|
||||||
|
"transcript": "Transcriptie",
|
||||||
"screenRecording": "Schermopname",
|
"screenRecording": "Schermopname",
|
||||||
"username": "Verander uw naam",
|
"username": "Verander uw naam",
|
||||||
"effects": "Pas effecten toe",
|
"effects": "Pas effecten toe",
|
||||||
|
|||||||
Reference in New Issue
Block a user