♻️(frontend) extract recording api into a dedicated folder
Extract code elements related to recording into a dedicated folder.
This commit is contained in:
committed by
aleb_the_flash
parent
9a1384b188
commit
94e71ba15d
@@ -1,7 +1,7 @@
|
|||||||
import { fetchApi } from './fetchApi'
|
import { fetchApi } from './fetchApi'
|
||||||
import { keys } from './queryKeys'
|
import { keys } from './queryKeys'
|
||||||
import { useQuery } from '@tanstack/react-query'
|
import { useQuery } from '@tanstack/react-query'
|
||||||
import { RecordingMode } from '@/features/rooms/api/startRecording'
|
import { RecordingMode } from '@/features/recording'
|
||||||
|
|
||||||
export interface ApiConfig {
|
export interface ApiConfig {
|
||||||
analytics?: {
|
analytics?: {
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
import { useMutation, UseMutationOptions } from '@tanstack/react-query'
|
import { useMutation, UseMutationOptions } from '@tanstack/react-query'
|
||||||
import { fetchApi } from '@/api/fetchApi'
|
import { fetchApi } from '@/api/fetchApi'
|
||||||
import { ApiError } from '@/api/ApiError'
|
import { ApiError } from '@/api/ApiError'
|
||||||
import { ApiRoom } from './ApiRoom'
|
import { ApiRoom } from '@/features/rooms/api/ApiRoom'
|
||||||
|
import { RecordingMode } from '../types'
|
||||||
export enum RecordingMode {
|
|
||||||
Transcript = 'transcript',
|
|
||||||
ScreenRecording = 'screen_recording',
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface StartRecordingParams {
|
export interface StartRecordingParams {
|
||||||
id: string
|
id: string
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { useMutation, UseMutationOptions } from '@tanstack/react-query'
|
import { useMutation, UseMutationOptions } from '@tanstack/react-query'
|
||||||
import { fetchApi } from '@/api/fetchApi'
|
import { fetchApi } from '@/api/fetchApi'
|
||||||
import { ApiError } from '@/api/ApiError'
|
import { ApiError } from '@/api/ApiError'
|
||||||
import { ApiRoom } from './ApiRoom'
|
import { ApiRoom } from '@/features/rooms/api/ApiRoom'
|
||||||
|
|
||||||
export interface StopRecordingParams {
|
export interface StopRecordingParams {
|
||||||
id: string
|
id: string
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useFeatureFlagEnabled } from 'posthog-js/react'
|
import { useFeatureFlagEnabled } from 'posthog-js/react'
|
||||||
import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalyticsEnabled'
|
import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalyticsEnabled'
|
||||||
import { RecordingMode } from '@/features/rooms/api/startRecording'
|
import { RecordingMode } from '../types'
|
||||||
import { useIsRecordingModeEnabled } from './useIsRecordingModeEnabled'
|
import { useIsRecordingModeEnabled } from './useIsRecordingModeEnabled'
|
||||||
import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner'
|
import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner'
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { RecordingMode } from '@/features/rooms/api/startRecording'
|
import { RecordingMode } from '../types'
|
||||||
import { useConfig } from '@/api/useConfig'
|
import { useConfig } from '@/api/useConfig'
|
||||||
|
|
||||||
export const useIsRecordingModeEnabled = (mode: RecordingMode) => {
|
export const useIsRecordingModeEnabled = (mode: RecordingMode) => {
|
||||||
|
|||||||
@@ -6,3 +6,6 @@ export {
|
|||||||
export { useIsRecordingTransitioning } from './hooks/useIsRecordingTransitioning'
|
export { useIsRecordingTransitioning } from './hooks/useIsRecordingTransitioning'
|
||||||
export { useHasRecordingAccess } from './hooks/useHasRecordingAccess'
|
export { useHasRecordingAccess } from './hooks/useHasRecordingAccess'
|
||||||
export { RecordingStateToast } from './components/RecordingStateToast'
|
export { RecordingStateToast } from './components/RecordingStateToast'
|
||||||
|
export { useStartRecording } from './api/startRecording'
|
||||||
|
export { useStopRecording } from './api/stopRecording'
|
||||||
|
export { RecordingMode } from './types'
|
||||||
|
|||||||
4
src/frontend/src/features/recording/types.ts
Normal file
4
src/frontend/src/features/recording/types.ts
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
export enum RecordingMode {
|
||||||
|
Transcript = 'transcript',
|
||||||
|
ScreenRecording = 'screen_recording',
|
||||||
|
}
|
||||||
@@ -7,8 +7,8 @@ import { useRoomContext } from '@livekit/components-react'
|
|||||||
import {
|
import {
|
||||||
RecordingMode,
|
RecordingMode,
|
||||||
useStartRecording,
|
useStartRecording,
|
||||||
} from '@/features/rooms/api/startRecording'
|
useStopRecording,
|
||||||
import { useStopRecording } from '@/features/rooms/api/stopRecording'
|
} from '@/features/recording'
|
||||||
import { useEffect, useMemo, useState } from 'react'
|
import { useEffect, useMemo, useState } from 'react'
|
||||||
import { RoomEvent } from 'livekit-client'
|
import { RoomEvent } from 'livekit-client'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ import { Transcript } from './Transcript'
|
|||||||
import { RiFileTextFill, RiLiveFill } from '@remixicon/react'
|
import { RiFileTextFill, RiLiveFill } from '@remixicon/react'
|
||||||
import { SubPanelId, useSidePanel } from '../hooks/useSidePanel'
|
import { SubPanelId, useSidePanel } from '../hooks/useSidePanel'
|
||||||
import { ScreenRecording } from './ScreenRecording'
|
import { ScreenRecording } from './ScreenRecording'
|
||||||
import { RecordingMode } from '@/features/rooms/api/startRecording'
|
import { useIsRecordingModeEnabled, RecordingMode } from '@/features/recording'
|
||||||
import { useIsRecordingModeEnabled } from '@/features/recording'
|
|
||||||
|
|
||||||
export interface ToolsButtonProps {
|
export interface ToolsButtonProps {
|
||||||
icon: ReactNode
|
icon: ReactNode
|
||||||
|
|||||||
@@ -7,8 +7,12 @@ import { useRoomContext } from '@livekit/components-react'
|
|||||||
import {
|
import {
|
||||||
RecordingMode,
|
RecordingMode,
|
||||||
useStartRecording,
|
useStartRecording,
|
||||||
} from '@/features/rooms/api/startRecording'
|
useStopRecording,
|
||||||
import { useStopRecording } from '@/features/rooms/api/stopRecording'
|
useIsScreenRecordingStarted,
|
||||||
|
useIsTranscriptStarted,
|
||||||
|
useIsRecordingTransitioning,
|
||||||
|
useHasRecordingAccess,
|
||||||
|
} from '@/features/recording'
|
||||||
import { useEffect, useMemo, useState } from 'react'
|
import { useEffect, useMemo, useState } from 'react'
|
||||||
import { RoomEvent } from 'livekit-client'
|
import { RoomEvent } from 'livekit-client'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
@@ -19,12 +23,6 @@ import {
|
|||||||
BETA_USERS_FORM_URL,
|
BETA_USERS_FORM_URL,
|
||||||
CRISP_HELP_ARTICLE_TRANSCRIPT,
|
CRISP_HELP_ARTICLE_TRANSCRIPT,
|
||||||
} from '@/utils/constants'
|
} from '@/utils/constants'
|
||||||
import {
|
|
||||||
useIsScreenRecordingStarted,
|
|
||||||
useIsTranscriptStarted,
|
|
||||||
useIsRecordingTransitioning,
|
|
||||||
useHasRecordingAccess,
|
|
||||||
} from '@/features/recording'
|
|
||||||
|
|
||||||
export const Transcript = () => {
|
export const Transcript = () => {
|
||||||
const [isLoading, setIsLoading] = useState(false)
|
const [isLoading, setIsLoading] = useState(false)
|
||||||
|
|||||||
Reference in New Issue
Block a user