diff --git a/src/frontend/src/api/useConfig.ts b/src/frontend/src/api/useConfig.ts index c8b3fc16..81007ddb 100644 --- a/src/frontend/src/api/useConfig.ts +++ b/src/frontend/src/api/useConfig.ts @@ -2,8 +2,8 @@ import { fetchApi } from './fetchApi' import { keys } from './queryKeys' import { useQuery } from '@tanstack/react-query' import { RecordingMode } from '@/features/recording' -import { Track } from 'livekit-client' -import Source = Track.Source +import type { Track } from 'livekit-client' +type Source = Track.Source export interface ApiConfig { analytics?: { diff --git a/src/frontend/src/features/notifications/MainNotificationToast.tsx b/src/frontend/src/features/notifications/MainNotificationToast.tsx index 5de48fc4..096d70d8 100644 --- a/src/frontend/src/features/notifications/MainNotificationToast.tsx +++ b/src/frontend/src/features/notifications/MainNotificationToast.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect } from 'react' import { useRoomContext } from '@livekit/components-react' import { Participant, RemoteParticipant, RoomEvent } from 'livekit-client' -import { ChatMessage, isMobileBrowser } from '@livekit/components-core' +import { type ChatMessage, isMobileBrowser } from '@livekit/components-core' import { useTranslation } from 'react-i18next' import { NotificationType } from './NotificationType' import { NotificationDuration } from './NotificationDuration' diff --git a/src/frontend/src/features/notifications/NotificationPayload.ts b/src/frontend/src/features/notifications/NotificationPayload.ts index 5c5a3a29..f4ebf7e0 100644 --- a/src/frontend/src/features/notifications/NotificationPayload.ts +++ b/src/frontend/src/features/notifications/NotificationPayload.ts @@ -1,4 +1,4 @@ -import { NotificationType } from './NotificationType' +import type { NotificationType } from './NotificationType' export interface NotificationPayload { type: NotificationType diff --git a/src/frontend/src/features/notifications/components/Toast.tsx b/src/frontend/src/features/notifications/components/Toast.tsx index ca695dec..bee02c45 100644 --- a/src/frontend/src/features/notifications/components/Toast.tsx +++ b/src/frontend/src/features/notifications/components/Toast.tsx @@ -1,10 +1,10 @@ import { useToast } from '@react-aria/toast' import { Button } from '@/primitives' import { RiCloseLine } from '@remixicon/react' -import { ToastState } from '@react-stately/toast' import { styled } from '@/styled-system/jsx' import { useRef } from 'react' -import { ToastData } from './ToastProvider' +import type { ToastState } from '@react-stately/toast' +import type { ToastData } from './ToastProvider' import type { QueuedToast } from '@react-stately/toast' export const StyledToastContainer = styled('div', { diff --git a/src/frontend/src/features/notifications/components/ToastAnyRecording.tsx b/src/frontend/src/features/notifications/components/ToastAnyRecording.tsx index 7bcb7242..75c2f44c 100644 --- a/src/frontend/src/features/notifications/components/ToastAnyRecording.tsx +++ b/src/frontend/src/features/notifications/components/ToastAnyRecording.tsx @@ -1,7 +1,7 @@ import { useToast } from '@react-aria/toast' import { useMemo, useRef } from 'react' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack } from '@/styled-system/jsx' import { useTranslation } from 'react-i18next' import { NotificationType } from '../NotificationType' diff --git a/src/frontend/src/features/notifications/components/ToastJoined.tsx b/src/frontend/src/features/notifications/components/ToastJoined.tsx index 3eaa854c..f6f8b527 100644 --- a/src/frontend/src/features/notifications/components/ToastJoined.tsx +++ b/src/frontend/src/features/notifications/components/ToastJoined.tsx @@ -6,7 +6,7 @@ import Source = Track.Source import { useMaybeLayoutContext } from '@livekit/components-react' import { ParticipantTile } from '@/features/rooms/livekit/components/ParticipantTile' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack, styled } from '@/styled-system/jsx' import { Div } from '@/primitives' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/notifications/components/ToastLowerHand.tsx b/src/frontend/src/features/notifications/components/ToastLowerHand.tsx index 16cf5714..97a21920 100644 --- a/src/frontend/src/features/notifications/components/ToastLowerHand.tsx +++ b/src/frontend/src/features/notifications/components/ToastLowerHand.tsx @@ -1,7 +1,7 @@ import { useToast } from '@react-aria/toast' import { useRef } from 'react' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack } from '@/styled-system/jsx' import { useTranslation } from 'react-i18next' import { Button } from '@/primitives' diff --git a/src/frontend/src/features/notifications/components/ToastMessageReceived.tsx b/src/frontend/src/features/notifications/components/ToastMessageReceived.tsx index 492c182c..ea954a6d 100644 --- a/src/frontend/src/features/notifications/components/ToastMessageReceived.tsx +++ b/src/frontend/src/features/notifications/components/ToastMessageReceived.tsx @@ -1,7 +1,7 @@ import { useToast } from '@react-aria/toast' import { useEffect, useRef } from 'react' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { Text } from '@/primitives' import { RiMessage2Line } from '@remixicon/react' import { useSidePanel } from '@/features/rooms/livekit/hooks/useSidePanel' diff --git a/src/frontend/src/features/notifications/components/ToastMuted.tsx b/src/frontend/src/features/notifications/components/ToastMuted.tsx index f63a8b52..76bc8eeb 100644 --- a/src/frontend/src/features/notifications/components/ToastMuted.tsx +++ b/src/frontend/src/features/notifications/components/ToastMuted.tsx @@ -1,7 +1,7 @@ import { useToast } from '@react-aria/toast' import { useRef } from 'react' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack } from '@/styled-system/jsx' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/notifications/components/ToastPermissionsRemoved.tsx b/src/frontend/src/features/notifications/components/ToastPermissionsRemoved.tsx index a3797081..090e4768 100644 --- a/src/frontend/src/features/notifications/components/ToastPermissionsRemoved.tsx +++ b/src/frontend/src/features/notifications/components/ToastPermissionsRemoved.tsx @@ -1,7 +1,7 @@ import { useToast } from '@react-aria/toast' import { useMemo, useRef } from 'react' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack } from '@/styled-system/jsx' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/notifications/components/ToastProvider.tsx b/src/frontend/src/features/notifications/components/ToastProvider.tsx index 5871020c..2bf20373 100644 --- a/src/frontend/src/features/notifications/components/ToastProvider.tsx +++ b/src/frontend/src/features/notifications/components/ToastProvider.tsx @@ -2,7 +2,7 @@ import { ToastQueue, useToastQueue } from '@react-stately/toast' import { ToastRegion } from './ToastRegion' import { Participant } from 'livekit-client' -import { NotificationType } from '../NotificationType' +import type { NotificationType } from '../NotificationType' export interface ToastData { participant?: Participant diff --git a/src/frontend/src/features/notifications/components/ToastRaised.tsx b/src/frontend/src/features/notifications/components/ToastRaised.tsx index d5c7ca2d..380ddf97 100644 --- a/src/frontend/src/features/notifications/components/ToastRaised.tsx +++ b/src/frontend/src/features/notifications/components/ToastRaised.tsx @@ -1,7 +1,7 @@ import { useToast } from '@react-aria/toast' import { useRef } from 'react' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack } from '@/styled-system/jsx' import { Button, Div } from '@/primitives' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/notifications/components/ToastRecordingRequest.tsx b/src/frontend/src/features/notifications/components/ToastRecordingRequest.tsx index b6ddeb70..5ade87ad 100644 --- a/src/frontend/src/features/notifications/components/ToastRecordingRequest.tsx +++ b/src/frontend/src/features/notifications/components/ToastRecordingRequest.tsx @@ -1,7 +1,7 @@ import { useToast } from '@react-aria/toast' import { useMemo, useRef } from 'react' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack } from '@/styled-system/jsx' import { useTranslation } from 'react-i18next' import { NotificationType } from '../NotificationType' diff --git a/src/frontend/src/features/notifications/components/ToastRecordingSaving.tsx b/src/frontend/src/features/notifications/components/ToastRecordingSaving.tsx index 96059581..c2a2e3f1 100644 --- a/src/frontend/src/features/notifications/components/ToastRecordingSaving.tsx +++ b/src/frontend/src/features/notifications/components/ToastRecordingSaving.tsx @@ -2,7 +2,7 @@ import { useToast } from '@react-aria/toast' import { useMemo, useRef } from 'react' import { Text } from '@/primitives' -import { StyledToastContainer, ToastProps } from './Toast' +import { StyledToastContainer, type ToastProps } from './Toast' import { HStack } from '@/styled-system/jsx' import { useTranslation } from 'react-i18next' import { useUser } from '@/features/auth' diff --git a/src/frontend/src/features/notifications/hooks/useNotifyParticipants.ts b/src/frontend/src/features/notifications/hooks/useNotifyParticipants.ts index 9ac5d882..d6499677 100644 --- a/src/frontend/src/features/notifications/hooks/useNotifyParticipants.ts +++ b/src/frontend/src/features/notifications/hooks/useNotifyParticipants.ts @@ -1,6 +1,6 @@ import { useRoomContext } from '@livekit/components-react' -import { NotificationType } from '../NotificationType' -import { NotificationPayload } from '../NotificationPayload' +import type { NotificationType } from '../NotificationType' +import type { NotificationPayload } from '../NotificationPayload' export const useNotifyParticipants = () => { const room = useRoomContext() diff --git a/src/frontend/src/features/notifications/hooks/useSoundNotification.tsx b/src/frontend/src/features/notifications/hooks/useSoundNotification.tsx index fcaa6cb7..900d30ea 100644 --- a/src/frontend/src/features/notifications/hooks/useSoundNotification.tsx +++ b/src/frontend/src/features/notifications/hooks/useSoundNotification.tsx @@ -1,7 +1,7 @@ import useSound from 'use-sound' import { useSnapshot } from 'valtio' import { notificationsStore } from '@/stores/notifications' -import { NotificationType } from '@/features/notifications/NotificationType' +import type { NotificationType } from '@/features/notifications/NotificationType' // fixme - handle dynamic audio output changes export const useNotificationSound = () => { diff --git a/src/frontend/src/features/notifications/utils.ts b/src/frontend/src/features/notifications/utils.ts index 24ef5422..899ca5e0 100644 --- a/src/frontend/src/features/notifications/utils.ts +++ b/src/frontend/src/features/notifications/utils.ts @@ -1,9 +1,9 @@ import { toastQueue } from './components/ToastProvider' import { NotificationType } from './NotificationType' import { NotificationDuration } from './NotificationDuration' -import { Participant } from 'livekit-client' -import { NotificationPayload } from './NotificationPayload' -import { RecordingMode } from '@/features/recording' +import type { Participant } from 'livekit-client' +import type { NotificationPayload } from './NotificationPayload' +import type { RecordingMode } from '@/features/recording' export const showLowerHandToast = ( participant: Participant, diff --git a/src/frontend/src/features/reactions/components/ReactionPortals.tsx b/src/frontend/src/features/reactions/components/ReactionPortals.tsx index 0129d55f..21b20704 100644 --- a/src/frontend/src/features/reactions/components/ReactionPortals.tsx +++ b/src/frontend/src/features/reactions/components/ReactionPortals.tsx @@ -5,7 +5,7 @@ import { css } from '@/styled-system/css' import { useSnapshot } from 'valtio' import { reactionsStore } from '@/stores/reactions' import { useAnnounceReaction } from '../hooks/useAnnounceReaction' -import { Reaction } from '../types' +import type { Reaction } from '../types' import { ANIMATION_DISTANCE, ANIMATION_DURATION, diff --git a/src/frontend/src/features/reactions/components/toolbar/ReactionButton.tsx b/src/frontend/src/features/reactions/components/toolbar/ReactionButton.tsx index 3dd04a96..a2f60f1e 100644 --- a/src/frontend/src/features/reactions/components/toolbar/ReactionButton.tsx +++ b/src/frontend/src/features/reactions/components/toolbar/ReactionButton.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next' import { css } from '@/styled-system/css' -import { Emoji } from '../../types' +import type { Emoji } from '../../types' import { useReactions } from '../../hooks/useReactions' import { Button } from '@/primitives' diff --git a/src/frontend/src/features/reactions/hooks/useAnnounceReaction.ts b/src/frontend/src/features/reactions/hooks/useAnnounceReaction.ts index bf0fef70..18cfd579 100644 --- a/src/frontend/src/features/reactions/hooks/useAnnounceReaction.ts +++ b/src/frontend/src/features/reactions/hooks/useAnnounceReaction.ts @@ -5,7 +5,7 @@ import { accessibilityStore } from '@/stores/accessibility' import { useScreenReaderAnnounce } from '@/hooks/useScreenReaderAnnounce' import { getEmojiLabel } from '../utils' -import { Reaction } from '../types' +import type { Reaction } from '../types' export const useAnnounceReaction = (latestReaction: Reaction | undefined) => { const { t } = useTranslation('rooms', { keyPrefix: 'controls.reactions' }) diff --git a/src/frontend/src/features/reactions/hooks/useReactions.ts b/src/frontend/src/features/reactions/hooks/useReactions.ts index 80ec1697..c0f02953 100644 --- a/src/frontend/src/features/reactions/hooks/useReactions.ts +++ b/src/frontend/src/features/reactions/hooks/useReactions.ts @@ -4,8 +4,8 @@ import { reactionsStore } from '@/stores/reactions' import { NotificationType } from '@/features/notifications/NotificationType' import { useNotifyParticipants } from '@/features/notifications' import useRateLimiter from '@/hooks/useRateLimiter' -import { Participant } from 'livekit-client' -import { Emoji } from '../types' +import type { Participant } from 'livekit-client' +import type { Emoji } from '../types' import { ANIMATION_DURATION } from '../constants' export const useReactions = () => { diff --git a/src/frontend/src/features/reactions/utils.ts b/src/frontend/src/features/reactions/utils.ts index 4098353f..053dcc3c 100644 --- a/src/frontend/src/features/reactions/utils.ts +++ b/src/frontend/src/features/reactions/utils.ts @@ -1,5 +1,5 @@ import { useTranslation } from 'react-i18next' -import { Emoji } from './types' +import type { Emoji } from './types' export const getEmojiLabel = ( emoji: string | Emoji, diff --git a/src/frontend/src/features/recording/api/fetchRecording.ts b/src/frontend/src/features/recording/api/fetchRecording.ts index 594db12b..fc8110b1 100644 --- a/src/frontend/src/features/recording/api/fetchRecording.ts +++ b/src/frontend/src/features/recording/api/fetchRecording.ts @@ -1,6 +1,6 @@ import { fetchApi } from '@/api/fetchApi' -import { ApiRoom } from '@/features/rooms/api/ApiRoom' -import { RecordingMode, RecordingStatus } from '@/features/recording' +import type { ApiRoom } from '@/features/rooms/api/ApiRoom' +import type { RecordingMode, RecordingStatus } from '@/features/recording' export type RecordingApi = { id: string diff --git a/src/frontend/src/features/recording/api/startRecording.ts b/src/frontend/src/features/recording/api/startRecording.ts index d6ba26ac..37950459 100644 --- a/src/frontend/src/features/recording/api/startRecording.ts +++ b/src/frontend/src/features/recording/api/startRecording.ts @@ -1,7 +1,7 @@ import { useMutation, UseMutationOptions } from '@tanstack/react-query' import { fetchApi } from '@/api/fetchApi' -import { ApiError } from '@/api/ApiError' -import { ApiRoom } from '@/features/rooms/api/ApiRoom' +import type { ApiError } from '@/api/ApiError' +import type { ApiRoom } from '@/features/rooms/api/ApiRoom' import { RecordingMode } from '../types' export interface StartRecordingParams { diff --git a/src/frontend/src/features/recording/api/stopRecording.ts b/src/frontend/src/features/recording/api/stopRecording.ts index bda99eef..e402d6d7 100644 --- a/src/frontend/src/features/recording/api/stopRecording.ts +++ b/src/frontend/src/features/recording/api/stopRecording.ts @@ -1,7 +1,7 @@ import { useMutation, UseMutationOptions } from '@tanstack/react-query' import { fetchApi } from '@/api/fetchApi' -import { ApiError } from '@/api/ApiError' -import { ApiRoom } from '@/features/rooms/api/ApiRoom' +import type { ApiError } from '@/api/ApiError' +import type { ApiRoom } from '@/features/rooms/api/ApiRoom' export interface StopRecordingParams { id: string diff --git a/src/frontend/src/features/recording/components/ControlsButton.tsx b/src/frontend/src/features/recording/components/ControlsButton.tsx index 33694db8..1c4669aa 100644 --- a/src/frontend/src/features/recording/components/ControlsButton.tsx +++ b/src/frontend/src/features/recording/components/ControlsButton.tsx @@ -3,7 +3,7 @@ import { HStack } from '@/styled-system/jsx' import { Spinner } from '@/primitives/Spinner' import { Button, Icon, Text } from '@/primitives' import { useTranslation } from 'react-i18next' -import { RecordingStatuses } from '../hooks/useRecordingStatuses' +import type { RecordingStatuses } from '../hooks/useRecordingStatuses' import { ReactNode, useEffect, useRef, useState } from 'react' import { useRoomContext } from '@livekit/components-react' import { ConnectionState } from 'livekit-client' diff --git a/src/frontend/src/features/recording/hooks/useHasFeatureWithoutAdminRights.ts b/src/frontend/src/features/recording/hooks/useHasFeatureWithoutAdminRights.ts index 4daef2ab..290626ff 100644 --- a/src/frontend/src/features/recording/hooks/useHasFeatureWithoutAdminRights.ts +++ b/src/frontend/src/features/recording/hooks/useHasFeatureWithoutAdminRights.ts @@ -1,9 +1,9 @@ import { useFeatureFlagEnabled } from 'posthog-js/react' import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalyticsEnabled' -import { RecordingMode } from '../types' +import type { RecordingMode } from '../types' import { useIsRecordingModeEnabled } from './useIsRecordingModeEnabled' import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner' -import { FeatureFlags } from '@/features/analytics/enums' +import type { FeatureFlags } from '@/features/analytics/enums' export const useHasFeatureWithoutAdminRights = ( mode: RecordingMode, diff --git a/src/frontend/src/features/recording/hooks/useHasRecordingAccess.ts b/src/frontend/src/features/recording/hooks/useHasRecordingAccess.ts index 5fc7b13f..896b8345 100644 --- a/src/frontend/src/features/recording/hooks/useHasRecordingAccess.ts +++ b/src/frontend/src/features/recording/hooks/useHasRecordingAccess.ts @@ -1,9 +1,9 @@ import { useFeatureFlagEnabled } from 'posthog-js/react' import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalyticsEnabled' -import { RecordingMode } from '../types' +import type { RecordingMode } from '../types' import { useIsRecordingModeEnabled } from './useIsRecordingModeEnabled' import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner' -import { FeatureFlags } from '@/features/analytics/enums' +import type { FeatureFlags } from '@/features/analytics/enums' export const useHasRecordingAccess = ( mode: RecordingMode, diff --git a/src/frontend/src/features/recording/hooks/useIsRecordingModeEnabled.ts b/src/frontend/src/features/recording/hooks/useIsRecordingModeEnabled.ts index 3652dcc8..f87ec5c2 100644 --- a/src/frontend/src/features/recording/hooks/useIsRecordingModeEnabled.ts +++ b/src/frontend/src/features/recording/hooks/useIsRecordingModeEnabled.ts @@ -1,4 +1,4 @@ -import { RecordingMode } from '../types' +import type { RecordingMode } from '../types' import { useConfig } from '@/api/useConfig' export const useIsRecordingModeEnabled = (mode: RecordingMode) => { diff --git a/src/frontend/src/features/rooms/api/ApiRoom.ts b/src/frontend/src/features/rooms/api/ApiRoom.ts index 777c15c8..60e3e53f 100644 --- a/src/frontend/src/features/rooms/api/ApiRoom.ts +++ b/src/frontend/src/features/rooms/api/ApiRoom.ts @@ -1,5 +1,5 @@ -import { Track } from 'livekit-client' -import Source = Track.Source +import type { Track } from 'livekit-client' +type Source = Track.Source export type ApiLiveKit = { url: string diff --git a/src/frontend/src/features/rooms/api/createRoom.ts b/src/frontend/src/features/rooms/api/createRoom.ts index c08a1b5f..1ea845da 100644 --- a/src/frontend/src/features/rooms/api/createRoom.ts +++ b/src/frontend/src/features/rooms/api/createRoom.ts @@ -1,7 +1,7 @@ import { useMutation, UseMutationOptions } from '@tanstack/react-query' import { fetchApi } from '@/api/fetchApi' -import { ApiError } from '@/api/ApiError' -import { ApiRoom } from './ApiRoom' +import type { ApiError } from '@/api/ApiError' +import type { ApiRoom } from './ApiRoom' export interface CreateRoomParams { slug: string diff --git a/src/frontend/src/features/rooms/api/enterRoom.ts b/src/frontend/src/features/rooms/api/enterRoom.ts index a0564818..2c8c618a 100644 --- a/src/frontend/src/features/rooms/api/enterRoom.ts +++ b/src/frontend/src/features/rooms/api/enterRoom.ts @@ -1,6 +1,6 @@ import { ApiError } from '@/api/ApiError' import { fetchApi } from '@/api/fetchApi' -import { useMutation, UseMutationOptions } from '@tanstack/react-query' +import { useMutation, type UseMutationOptions } from '@tanstack/react-query' export interface EnterRoomParams { roomId: string diff --git a/src/frontend/src/features/rooms/api/listWaitingParticipants.ts b/src/frontend/src/features/rooms/api/listWaitingParticipants.ts index 43c07a44..ad1153b5 100644 --- a/src/frontend/src/features/rooms/api/listWaitingParticipants.ts +++ b/src/frontend/src/features/rooms/api/listWaitingParticipants.ts @@ -1,6 +1,6 @@ import { fetchApi } from '@/api/fetchApi' -import { useQuery, UseQueryOptions } from '@tanstack/react-query' -import { ApiError } from '@/api/ApiError' +import { useQuery, type UseQueryOptions } from '@tanstack/react-query' +import type { ApiError } from '@/api/ApiError' import { keys } from '@/api/queryKeys' export type WaitingParticipant = { diff --git a/src/frontend/src/features/rooms/api/lowerHandParticipant.ts b/src/frontend/src/features/rooms/api/lowerHandParticipant.ts index 05d959cb..9ee9e840 100644 --- a/src/frontend/src/features/rooms/api/lowerHandParticipant.ts +++ b/src/frontend/src/features/rooms/api/lowerHandParticipant.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { fetchApi } from '@/api/fetchApi.ts' import { useRoomData } from '@/features/rooms/livekit/hooks/useRoomData' diff --git a/src/frontend/src/features/rooms/api/lowerHandParticipants.ts b/src/frontend/src/features/rooms/api/lowerHandParticipants.ts index 13de51f5..3d98be52 100644 --- a/src/frontend/src/features/rooms/api/lowerHandParticipants.ts +++ b/src/frontend/src/features/rooms/api/lowerHandParticipants.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useLowerHandParticipant } from './lowerHandParticipant' export const useLowerHandParticipants = () => { diff --git a/src/frontend/src/features/rooms/api/muteParticipant.ts b/src/frontend/src/features/rooms/api/muteParticipant.ts index 66f8dd35..07c4ba52 100644 --- a/src/frontend/src/features/rooms/api/muteParticipant.ts +++ b/src/frontend/src/features/rooms/api/muteParticipant.ts @@ -1,4 +1,4 @@ -import { Participant, Track } from 'livekit-client' +import { type Participant, Track } from 'livekit-client' import Source = Track.Source import { useRoomData } from '../livekit/hooks/useRoomData' import { diff --git a/src/frontend/src/features/rooms/api/muteParticipants.ts b/src/frontend/src/features/rooms/api/muteParticipants.ts index 6a12a689..68958eab 100644 --- a/src/frontend/src/features/rooms/api/muteParticipants.ts +++ b/src/frontend/src/features/rooms/api/muteParticipants.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useMuteParticipant } from './muteParticipant' export const useMuteParticipants = () => { diff --git a/src/frontend/src/features/rooms/api/patchRoom.tsx b/src/frontend/src/features/rooms/api/patchRoom.tsx index 76d05fb0..0ce59009 100644 --- a/src/frontend/src/features/rooms/api/patchRoom.tsx +++ b/src/frontend/src/features/rooms/api/patchRoom.tsx @@ -1,7 +1,7 @@ import { type ApiRoom } from './ApiRoom' import { fetchApi } from '@/api/fetchApi' -import { useMutation, UseMutationOptions } from '@tanstack/react-query' -import { ApiError } from '@/api/ApiError' +import { useMutation, type UseMutationOptions } from '@tanstack/react-query' +import type { ApiError } from '@/api/ApiError' export type PatchRoomParams = { roomId: string diff --git a/src/frontend/src/features/rooms/api/removeParticipant.ts b/src/frontend/src/features/rooms/api/removeParticipant.ts index aba45dad..5d424306 100644 --- a/src/frontend/src/features/rooms/api/removeParticipant.ts +++ b/src/frontend/src/features/rooms/api/removeParticipant.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useRoomData } from '../livekit/hooks/useRoomData' import { fetchApi } from '@/api/fetchApi' diff --git a/src/frontend/src/features/rooms/api/requestEntry.ts b/src/frontend/src/features/rooms/api/requestEntry.ts index 9e3017c3..25a80197 100644 --- a/src/frontend/src/features/rooms/api/requestEntry.ts +++ b/src/frontend/src/features/rooms/api/requestEntry.ts @@ -1,5 +1,5 @@ import { fetchApi } from '@/api/fetchApi' -import { ApiLiveKit } from '@/features/rooms/api/ApiRoom' +import type { ApiLiveKit } from '@/features/rooms/api/ApiRoom' export interface RequestEntryParams { roomId: string diff --git a/src/frontend/src/features/rooms/api/updateParticipantPermissions.ts b/src/frontend/src/features/rooms/api/updateParticipantPermissions.ts index 8f33adfb..ab90a318 100644 --- a/src/frontend/src/features/rooms/api/updateParticipantPermissions.ts +++ b/src/frontend/src/features/rooms/api/updateParticipantPermissions.ts @@ -1,7 +1,7 @@ -import { Participant, Track } from 'livekit-client' +import type { Participant, Track } from 'livekit-client' import { fetchApi } from '@/api/fetchApi' import { useRoomData } from '@/features/rooms/livekit/hooks/useRoomData' -import Source = Track.Source +type Source = Track.Source export const useParticipantPermissions = () => { const data = useRoomData() diff --git a/src/frontend/src/features/rooms/api/updateParticipantsPermissions.ts b/src/frontend/src/features/rooms/api/updateParticipantsPermissions.ts index 098bc6c2..b64a7c8c 100644 --- a/src/frontend/src/features/rooms/api/updateParticipantsPermissions.ts +++ b/src/frontend/src/features/rooms/api/updateParticipantsPermissions.ts @@ -1,4 +1,4 @@ -import { Participant, Track } from 'livekit-client' +import type { Participant, Track } from 'livekit-client' import { useParticipantPermissions } from './updateParticipantPermissions' type Source = Track.Source diff --git a/src/frontend/src/features/rooms/components/Conference.tsx b/src/frontend/src/features/rooms/components/Conference.tsx index 81a7cc15..61accc3f 100644 --- a/src/frontend/src/features/rooms/components/Conference.tsx +++ b/src/frontend/src/features/rooms/components/Conference.tsx @@ -9,7 +9,7 @@ import { DisconnectReason, MediaDeviceFailure, Room, - RoomOptions, + type RoomOptions, VideoPresets, } from 'livekit-client' import { keys } from '@/api/queryKeys' @@ -18,7 +18,7 @@ import { Screen } from '@/layout/Screen' import { QueryAware } from '@/components/QueryAware' import { ErrorScreen } from '@/components/ErrorScreen' import { fetchRoom } from '../api/fetchRoom' -import { ApiRoom } from '../api/ApiRoom' +import type { ApiRoom } from '../api/ApiRoom' import { useCreateRoom } from '../api/createRoom' import { InviteDialog } from './InviteDialog' import { VideoConference } from '../livekit/prefabs/VideoConference' diff --git a/src/frontend/src/features/rooms/components/Join.tsx b/src/frontend/src/features/rooms/components/Join.tsx index 77b99785..3d56f192 100644 --- a/src/frontend/src/features/rooms/components/Join.tsx +++ b/src/frontend/src/features/rooms/components/Join.tsx @@ -6,8 +6,8 @@ import { useEffect, useMemo, useRef, useState } from 'react' import { createLocalAudioTrack, createLocalVideoTrack, - LocalAudioTrack, - LocalVideoTrack, + type LocalAudioTrack, + type LocalVideoTrack, Track, } from 'livekit-client' import { H } from '@/primitives/H' @@ -30,7 +30,7 @@ import { keys } from '@/api/queryKeys' import { useLobby } from '../hooks/useLobby' import { useQuery } from '@tanstack/react-query' import { queryClient } from '@/api/queryClient' -import { ApiLobbyStatus, ApiRequestEntry } from '../api/requestEntry' +import { ApiLobbyStatus, type ApiRequestEntry } from '../api/requestEntry' import { Spinner } from '@/primitives/Spinner' import { ApiAccessLevel } from '../api/ApiRoom' import { useLoginHint } from '@/hooks/useLoginHint' diff --git a/src/frontend/src/features/rooms/components/MediaDeviceErrorAlert.tsx b/src/frontend/src/features/rooms/components/MediaDeviceErrorAlert.tsx index bc240869..2043e8d6 100644 --- a/src/frontend/src/features/rooms/components/MediaDeviceErrorAlert.tsx +++ b/src/frontend/src/features/rooms/components/MediaDeviceErrorAlert.tsx @@ -1,4 +1,4 @@ -import { MediaDeviceFailure } from 'livekit-client' +import type { MediaDeviceFailure } from 'livekit-client' import { useTranslation } from 'react-i18next' import { Button, Dialog, P } from '@/primitives' diff --git a/src/frontend/src/features/rooms/components/Rating.tsx b/src/frontend/src/features/rooms/components/Rating.tsx index f2d9fcef..b39870c0 100644 --- a/src/frontend/src/features/rooms/components/Rating.tsx +++ b/src/frontend/src/features/rooms/components/Rating.tsx @@ -7,7 +7,7 @@ import { usePostHog } from 'posthog-js/react' import type { PostHog } from 'posthog-js' import { Button as RACButton } from 'react-aria-components' import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalyticsEnabled' -import { CandidateInfo } from '@/stores/connectionObserver' +import type { CandidateInfo } from '@/stores/connectionObserver' const Card = styled('div', { base: { diff --git a/src/frontend/src/features/rooms/hooks/useLobby.ts b/src/frontend/src/features/rooms/hooks/useLobby.ts index c7b59977..c6e4e027 100644 --- a/src/frontend/src/features/rooms/hooks/useLobby.ts +++ b/src/frontend/src/features/rooms/hooks/useLobby.ts @@ -4,7 +4,7 @@ import { keys } from '@/api/queryKeys' import { requestEntry, ApiLobbyStatus, - ApiRequestEntry, + type ApiRequestEntry, } from '../api/requestEntry' export const WAIT_TIMEOUT_MS = 600000 // 10 minutes diff --git a/src/frontend/src/features/rooms/hooks/useWaitingParticipants.ts b/src/frontend/src/features/rooms/hooks/useWaitingParticipants.ts index d6821384..9b8459ff 100644 --- a/src/frontend/src/features/rooms/hooks/useWaitingParticipants.ts +++ b/src/frontend/src/features/rooms/hooks/useWaitingParticipants.ts @@ -6,7 +6,7 @@ import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOw import { useEnterRoom } from '../api/enterRoom' import { useListWaitingParticipants, - WaitingParticipant, + type WaitingParticipant, } from '../api/listWaitingParticipants' import { decodeNotificationDataReceived } from '@/features/notifications/utils' import { NotificationType } from '@/features/notifications/NotificationType' diff --git a/src/frontend/src/features/rooms/livekit/components/AdminToggle.tsx b/src/frontend/src/features/rooms/livekit/components/AdminToggle.tsx index 049991f6..c5fbc636 100644 --- a/src/frontend/src/features/rooms/livekit/components/AdminToggle.tsx +++ b/src/frontend/src/features/rooms/livekit/components/AdminToggle.tsx @@ -2,7 +2,7 @@ import { ToggleButton } from '@/primitives' import { RiAdminLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' import { css } from '@/styled-system/css' -import { ToggleButtonProps } from '@/primitives/ToggleButton' +import type { ToggleButtonProps } from '@/primitives/ToggleButton' import { useIsAdminOrOwner } from '../hooks/useIsAdminOrOwner' import { useSidePanel } from '../hooks/useSidePanel' diff --git a/src/frontend/src/features/rooms/livekit/components/FocusLayout.tsx b/src/frontend/src/features/rooms/livekit/components/FocusLayout.tsx index b491f558..04364b4f 100644 --- a/src/frontend/src/features/rooms/livekit/components/FocusLayout.tsx +++ b/src/frontend/src/features/rooms/livekit/components/FocusLayout.tsx @@ -1,5 +1,5 @@ import { ParticipantTile } from './ParticipantTile' -import { FocusLayoutProps } from '@livekit/components-react' +import type { FocusLayoutProps } from '@livekit/components-react' export function FocusLayout({ trackRef, ...htmlProps }: FocusLayoutProps) { return diff --git a/src/frontend/src/features/rooms/livekit/components/FullScreenShareWarning.tsx b/src/frontend/src/features/rooms/livekit/components/FullScreenShareWarning.tsx index 80fe4c94..1849a7bc 100644 --- a/src/frontend/src/features/rooms/livekit/components/FullScreenShareWarning.tsx +++ b/src/frontend/src/features/rooms/livekit/components/FullScreenShareWarning.tsx @@ -5,7 +5,7 @@ import { screenSharePreferenceStore } from '@/stores/screenSharePreferences' import { useSnapshot } from 'valtio' import { useLocalParticipant } from '@livekit/components-react' import { useSize } from '../hooks/useResizeObserver' -import { TrackReferenceOrPlaceholder } from '@livekit/components-core' +import type { TrackReferenceOrPlaceholder } from '@livekit/components-core' import { useTranslation } from 'react-i18next' export const FullScreenShareWarning = ({ diff --git a/src/frontend/src/features/rooms/livekit/components/MutedMicIndicator.tsx b/src/frontend/src/features/rooms/livekit/components/MutedMicIndicator.tsx index fe6cca22..287cabbf 100644 --- a/src/frontend/src/features/rooms/livekit/components/MutedMicIndicator.tsx +++ b/src/frontend/src/features/rooms/livekit/components/MutedMicIndicator.tsx @@ -1,5 +1,5 @@ import { useTrackMutedIndicator } from '@livekit/components-react' -import { Participant, Track } from 'livekit-client' +import { type Participant, Track } from 'livekit-client' import Source = Track.Source import { RiMicOffFill } from '@remixicon/react' import { css } from '@/styled-system/css' diff --git a/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/ParticipantMenu.tsx b/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/ParticipantMenu.tsx index 513481a0..1ada58c8 100644 --- a/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/ParticipantMenu.tsx +++ b/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/ParticipantMenu.tsx @@ -1,5 +1,5 @@ import { Menu as RACMenu } from 'react-aria-components' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner' import { PinMenuItem } from './PinMenuItem' import { RemoveMenuItem } from './RemoveMenuItem' diff --git a/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/PinMenuItem.tsx b/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/PinMenuItem.tsx index f2699ae4..feffd28b 100644 --- a/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/PinMenuItem.tsx +++ b/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/PinMenuItem.tsx @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { menuRecipe } from '@/primitives/menuRecipe' import { HStack } from '@/styled-system/jsx' import { RiPushpin2Line, RiUnpinLine } from '@remixicon/react' diff --git a/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/RemoveMenuItem.tsx b/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/RemoveMenuItem.tsx index ae583210..2544a757 100644 --- a/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/RemoveMenuItem.tsx +++ b/src/frontend/src/features/rooms/livekit/components/ParticipantMenu/RemoveMenuItem.tsx @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { menuRecipe } from '@/primitives/menuRecipe' import { HStack } from '@/styled-system/jsx' import { RiCloseLine } from '@remixicon/react' diff --git a/src/frontend/src/features/rooms/livekit/components/ParticipantName.tsx b/src/frontend/src/features/rooms/livekit/components/ParticipantName.tsx index a5818975..cc1d866d 100644 --- a/src/frontend/src/features/rooms/livekit/components/ParticipantName.tsx +++ b/src/frontend/src/features/rooms/livekit/components/ParticipantName.tsx @@ -2,7 +2,7 @@ import type { CSSProperties } from 'react' import { Text } from '@/primitives' import { useTranslation } from 'react-i18next' import { useParticipantInfo } from '@livekit/components-react' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' const participantNameStyles: CSSProperties = { paddingBottom: '0.1rem', diff --git a/src/frontend/src/features/rooms/livekit/components/ParticipantPlaceholder.tsx b/src/frontend/src/features/rooms/livekit/components/ParticipantPlaceholder.tsx index 44fb4fc7..13947f58 100644 --- a/src/frontend/src/features/rooms/livekit/components/ParticipantPlaceholder.tsx +++ b/src/frontend/src/features/rooms/livekit/components/ParticipantPlaceholder.tsx @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { styled } from '@/styled-system/jsx' import { Avatar } from '@/components/Avatar' import { useIsSpeaking } from '@livekit/components-react' diff --git a/src/frontend/src/features/rooms/livekit/components/ParticipantTileFocus.tsx b/src/frontend/src/features/rooms/livekit/components/ParticipantTileFocus.tsx index 605314ca..8caf64ab 100644 --- a/src/frontend/src/features/rooms/livekit/components/ParticipantTileFocus.tsx +++ b/src/frontend/src/features/rooms/livekit/components/ParticipantTileFocus.tsx @@ -18,7 +18,7 @@ import { TrackReferenceOrPlaceholder } from '@livekit/components-core' import { useEffect, useRef, useState } from 'react' import { useSidePanel } from '../hooks/useSidePanel' import { useFullScreen } from '../hooks/useFullScreen' -import { Participant, Track } from 'livekit-client' +import { type Participant, Track } from 'livekit-client' import { MuteAlertDialog } from './MuteAlertDialog' import { useMuteParticipant } from '@/features/rooms/api/muteParticipant' import { useCanMute } from '@/features/rooms/livekit/hooks/useCanMute' diff --git a/src/frontend/src/features/rooms/livekit/components/blur/BackgroundCustomProcessor.ts b/src/frontend/src/features/rooms/livekit/components/blur/BackgroundCustomProcessor.ts index fd460218..d13b047b 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/BackgroundCustomProcessor.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/BackgroundCustomProcessor.ts @@ -1,4 +1,4 @@ -import { ProcessorOptions, Track } from 'livekit-client' +import type { ProcessorOptions, Track } from 'livekit-client' import posthog from 'posthog-js' import { FilesetResolver, @@ -11,7 +11,11 @@ import { TIMEOUT_TICK, timerWorkerScript, } from './TimerWorker' -import { BackgroundProcessorInterface, ProcessorConfig, ProcessorType } from '.' +import { + BackgroundProcessorInterface, + type ProcessorConfig, + type ProcessorType, +} from '.' const PROCESSING_WIDTH = 256 const PROCESSING_HEIGHT = 144 diff --git a/src/frontend/src/features/rooms/livekit/components/blur/FaceLandmarksProcessor.ts b/src/frontend/src/features/rooms/livekit/components/blur/FaceLandmarksProcessor.ts index 887e2e0a..7299ae44 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/FaceLandmarksProcessor.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/FaceLandmarksProcessor.ts @@ -1,4 +1,4 @@ -import { ProcessorOptions, Track, TrackProcessor } from 'livekit-client' +import type { ProcessorOptions, Track, TrackProcessor } from 'livekit-client' import posthog from 'posthog-js' import { FilesetResolver, diff --git a/src/frontend/src/features/rooms/livekit/components/blur/UnifiedBackgroundTrackProcessor.ts b/src/frontend/src/features/rooms/livekit/components/blur/UnifiedBackgroundTrackProcessor.ts index 4d2f30f7..1db7bed8 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/UnifiedBackgroundTrackProcessor.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/UnifiedBackgroundTrackProcessor.ts @@ -1,10 +1,14 @@ -import { ProcessorOptions, Track } from 'livekit-client' +import type { ProcessorOptions, Track } from 'livekit-client' import { BackgroundBlur, ProcessorWrapper, VirtualBackground, } from '@livekit/track-processors' -import { ProcessorConfig, BackgroundProcessorInterface, ProcessorType } from '.' +import { + type ProcessorConfig, + BackgroundProcessorInterface, + ProcessorType, +} from '.' export class UnifiedBackgroundTrackProcessor implements BackgroundProcessorInterface { processor: ProcessorWrapper<{ imagePath?: string; blurRadius?: number }> diff --git a/src/frontend/src/features/rooms/livekit/components/blur/index.ts b/src/frontend/src/features/rooms/livekit/components/blur/index.ts index 13271b31..f9e9c6d4 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/index.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/index.ts @@ -1,5 +1,5 @@ import { ProcessorWrapper } from '@livekit/track-processors' -import { Track, TrackProcessor } from 'livekit-client' +import type { Track, TrackProcessor } from 'livekit-client' import { BackgroundCustomProcessor } from './BackgroundCustomProcessor' import { UnifiedBackgroundTrackProcessor } from './UnifiedBackgroundTrackProcessor' import { FaceLandmarksOptions } from './FaceLandmarksProcessor' diff --git a/src/frontend/src/features/rooms/livekit/components/chat/Entry.tsx b/src/frontend/src/features/rooms/livekit/components/chat/Entry.tsx index 2981f8a9..b0dc82ed 100644 --- a/src/frontend/src/features/rooms/livekit/components/chat/Entry.tsx +++ b/src/frontend/src/features/rooms/livekit/components/chat/Entry.tsx @@ -2,7 +2,7 @@ import type { ReceivedChatMessage } from '@livekit/components-core' import * as React from 'react' import { css } from '@/styled-system/css' import { Text } from '@/primitives' -import { MessageFormatter } from '@livekit/components-react' +import type { MessageFormatter } from '@livekit/components-react' export interface ChatEntryProps extends React.HTMLAttributes { entry: ReceivedChatMessage diff --git a/src/frontend/src/features/rooms/livekit/components/controls/CameraSwitchButton.tsx b/src/frontend/src/features/rooms/livekit/components/controls/CameraSwitchButton.tsx index 74312a60..a4efedde 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/CameraSwitchButton.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/CameraSwitchButton.tsx @@ -2,7 +2,7 @@ import { Button } from '@/primitives' import { useMediaDeviceSelect } from '@livekit/components-react' import { RiCameraSwitchLine } from '@remixicon/react' import { useEffect, useState } from 'react' -import { ButtonProps } from 'react-aria-components' +import type { ButtonProps } from 'react-aria-components' import { useTranslation } from 'react-i18next' enum FacingMode { diff --git a/src/frontend/src/features/rooms/livekit/components/controls/ChatToggle.tsx b/src/frontend/src/features/rooms/livekit/components/controls/ChatToggle.tsx index 80742b09..8f3ddfe8 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/ChatToggle.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/ChatToggle.tsx @@ -5,7 +5,7 @@ import { css } from '@/styled-system/css' import { ToggleButton } from '@/primitives' import { chatStore } from '@/stores/chat' import { useSidePanel } from '../../hooks/useSidePanel' -import { ToggleButtonProps } from '@/primitives/ToggleButton' +import type { ToggleButtonProps } from '@/primitives/ToggleButton' import { useRegisterKeyboardShortcut } from '@/features/shortcuts/useRegisterKeyboardShortcut' export const ChatToggle = ({ diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Device/SelectDevice.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Device/SelectDevice.tsx index c5ac2b1b..37517b3b 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Device/SelectDevice.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Device/SelectDevice.tsx @@ -2,7 +2,7 @@ import { useTranslation } from 'react-i18next' import { useMediaDeviceSelect } from '@livekit/components-react' import { useEffect, useMemo } from 'react' import { Select, SelectProps } from '@/primitives/Select' -import { Placement } from '@react-types/overlays' +import type { Placement } from '@react-types/overlays' import { useCannotUseDevice } from '../../../hooks/useCannotUseDevice' import { useDeviceIcons } from '@/features/rooms/livekit/hooks/useDeviceIcons' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Device/ToggleDevice.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Device/ToggleDevice.tsx index 5ec7b8a0..e9a1c066 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Device/ToggleDevice.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Device/ToggleDevice.tsx @@ -12,13 +12,16 @@ import { useLocalParticipant, useMaybeRoomContext, } from '@livekit/components-react' -import { ButtonRecipeProps } from '@/primitives/buttonRecipe' -import { ToggleButtonProps } from '@/primitives/ToggleButton' +import type { ButtonRecipeProps } from '@/primitives/buttonRecipe' +import type { ToggleButtonProps } from '@/primitives/ToggleButton' import { openPermissionsDialog } from '@/stores/permissions' import { useCannotUseDevice } from '../../../hooks/useCannotUseDevice' import { useDeviceIcons } from '../../../hooks/useDeviceIcons' import { useDeviceShortcut } from '../../../hooks/useDeviceShortcut' -import { ToggleSource, CaptureOptionsBySource } from '@livekit/components-core' +import type { + ToggleSource, + CaptureOptionsBySource, +} from '@livekit/components-core' import { getShortcutDescriptorById } from '@/features/shortcuts/catalog' type ToggleDeviceStyleProps = { diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Device/VideoDeviceControl.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Device/VideoDeviceControl.tsx index 4c1a92d8..bae6dcd7 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Device/VideoDeviceControl.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Device/VideoDeviceControl.tsx @@ -2,7 +2,7 @@ import { useTranslation } from 'react-i18next' import { useTrackToggle, UseTrackToggleProps } from '@livekit/components-react' import { Button, Popover } from '@/primitives' import { RiArrowUpSLine, RiImageCircleAiFill } from '@remixicon/react' -import { Track, VideoCaptureOptions } from 'livekit-client' +import { Track, type VideoCaptureOptions } from 'livekit-client' import { ToggleDevice } from './ToggleDevice' import { css } from '@/styled-system/css' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/InfoToggle.tsx b/src/frontend/src/features/rooms/livekit/components/controls/InfoToggle.tsx index 20a2603f..67dd1906 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/InfoToggle.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/InfoToggle.tsx @@ -3,7 +3,7 @@ import { RiInformationLine } from '@remixicon/react' import { css } from '@/styled-system/css' import { ToggleButton } from '@/primitives' import { useSidePanel } from '../../hooks/useSidePanel' -import { ToggleButtonProps } from '@/primitives/ToggleButton' +import type { ToggleButtonProps } from '@/primitives/ToggleButton' export const InfoToggle = ({ onPress, diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Participants/HandRaisedListItem.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Participants/HandRaisedListItem.tsx index 9ba54ce2..11689f99 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Participants/HandRaisedListItem.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Participants/HandRaisedListItem.tsx @@ -7,7 +7,7 @@ import { Avatar } from '@/components/Avatar' import { useLowerHandParticipant } from '@/features/rooms/api/lowerHandParticipant' import { getParticipantColor } from '@/features/rooms/utils/getParticipantColor' import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { isLocal } from '@/utils/livekit' import { RiHand } from '@remixicon/react' import { Button } from '@/primitives' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Participants/LowerAllHandsButton.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Participants/LowerAllHandsButton.tsx index 571439c7..ea8aa949 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Participants/LowerAllHandsButton.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Participants/LowerAllHandsButton.tsx @@ -1,6 +1,6 @@ import { Button } from '@/primitives' import { useTranslation } from 'react-i18next' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useLowerHandParticipants } from '@/features/rooms/api/lowerHandParticipants' import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner' import { css } from '@/styled-system/css' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Participants/MuteEveryoneButton.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Participants/MuteEveryoneButton.tsx index e0a39a56..137ef866 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Participants/MuteEveryoneButton.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Participants/MuteEveryoneButton.tsx @@ -1,6 +1,6 @@ import { Button } from '@/primitives' import { useTranslation } from 'react-i18next' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner' import { useMuteParticipants } from '@/features/rooms/api/muteParticipants' import { RiMicOffLine } from '@remixicon/react' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantListItem.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantListItem.tsx index 1e59b373..3fd8333d 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantListItem.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantListItem.tsx @@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next' import { Avatar } from '@/components/Avatar' import { getParticipantColor } from '@/features/rooms/utils/getParticipantColor' import { getParticipantIsRoomAdmin } from '@/features/rooms/utils/getParticipantIsRoomAdmin' -import { LocalParticipant, Participant, Track } from 'livekit-client' +import { type LocalParticipant, type Participant, Track } from 'livekit-client' import { isLocal } from '@/utils/livekit' import { useIsSpeaking, diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantsList.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantsList.tsx index d9d727d7..0fc82a3a 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantsList.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Participants/ParticipantsList.tsx @@ -9,7 +9,7 @@ import { HandRaisedListItem } from '../../controls/Participants/HandRaisedListIt import { LowerAllHandsButton } from '../../controls/Participants/LowerAllHandsButton' import { WaitingParticipantListItem } from './WaitingParticipantListItem' import { useWaitingParticipants } from '@/features/rooms/hooks/useWaitingParticipants' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { WaitingParticipant } from '@/features/rooms/api/listWaitingParticipants' import { MuteEveryoneButton } from './MuteEveryoneButton' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Participants/PinBadge.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Participants/PinBadge.tsx index 62d8acb3..5aec0887 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/Participants/PinBadge.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/Participants/PinBadge.tsx @@ -1,5 +1,5 @@ import { useFocusToggleParticipant } from '@/features/rooms/livekit/hooks/useFocusToggleParticipant' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { RiPushpin2Fill } from '@remixicon/react' import { css } from '@/styled-system/css' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/ScreenShareToggle.tsx b/src/frontend/src/features/rooms/livekit/components/controls/ScreenShareToggle.tsx index fee9148c..09351e70 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/ScreenShareToggle.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/ScreenShareToggle.tsx @@ -1,7 +1,10 @@ import { Div, ToggleButton } from '@/primitives' import { RiArrowUpLine, RiCloseFill, RiRectangleLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' -import { useTrackToggle, UseTrackToggleProps } from '@livekit/components-react' +import { + useTrackToggle, + type UseTrackToggleProps, +} from '@livekit/components-react' import { Track } from 'livekit-client' import React from 'react' import { type ButtonRecipeProps } from '@/primitives/buttonRecipe' diff --git a/src/frontend/src/features/rooms/livekit/components/controls/ToolsToggle.tsx b/src/frontend/src/features/rooms/livekit/components/controls/ToolsToggle.tsx index d43bcb29..df670ad2 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/ToolsToggle.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/ToolsToggle.tsx @@ -3,7 +3,7 @@ import { RiShapesLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' import { useSidePanel } from '../../hooks/useSidePanel' import { css } from '@/styled-system/css' -import { ToggleButtonProps } from '@/primitives/ToggleButton' +import type { ToggleButtonProps } from '@/primitives/ToggleButton' import { useRegisterKeyboardShortcut } from '@/features/shortcuts/useRegisterKeyboardShortcut' export const ToolsToggle = ({ diff --git a/src/frontend/src/features/rooms/livekit/components/effects/Effects.tsx b/src/frontend/src/features/rooms/livekit/components/effects/Effects.tsx index 31d595dd..12ca745e 100644 --- a/src/frontend/src/features/rooms/livekit/components/effects/Effects.tsx +++ b/src/frontend/src/features/rooms/livekit/components/effects/Effects.tsx @@ -1,5 +1,5 @@ import { useLocalParticipant } from '@livekit/components-react' -import { LocalVideoTrack } from 'livekit-client' +import type { LocalVideoTrack } from 'livekit-client' import { css } from '@/styled-system/css' import { EffectsConfiguration } from './EffectsConfiguration' import { useCanPublishTrack } from '@/features/rooms/livekit/hooks/useCanPublishTrack' diff --git a/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx b/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx index d230f305..e639ab1b 100644 --- a/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx +++ b/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx @@ -1,4 +1,4 @@ -import { LocalVideoTrack, Track } from 'livekit-client' +import { type LocalVideoTrack, Track } from 'livekit-client' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import { diff --git a/src/frontend/src/features/rooms/livekit/components/effects/FunnyEffects.tsx b/src/frontend/src/features/rooms/livekit/components/effects/FunnyEffects.tsx index c2d7bba6..1259a1ad 100644 --- a/src/frontend/src/features/rooms/livekit/components/effects/FunnyEffects.tsx +++ b/src/frontend/src/features/rooms/livekit/components/effects/FunnyEffects.tsx @@ -4,7 +4,7 @@ import { ProcessorType } from '../blur' import { RiGlassesLine, RiGoblet2Fill } from '@remixicon/react' import { useTranslation } from 'react-i18next' import { FaceLandmarksProcessor } from '../blur/FaceLandmarksProcessor' -import { LocalVideoTrack } from 'livekit-client' +import type { LocalVideoTrack } from 'livekit-client' export type FunnyEffectsProps = { videoTrack: LocalVideoTrack diff --git a/src/frontend/src/features/rooms/livekit/hooks/useCanMute.ts b/src/frontend/src/features/rooms/livekit/hooks/useCanMute.ts index 91256243..915e6d40 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useCanMute.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useCanMute.ts @@ -1,5 +1,5 @@ import { useIsAdminOrOwner } from './useIsAdminOrOwner' -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useRoomData } from '@/features/rooms/livekit/hooks/useRoomData' export const useCanMute = (participant: Participant) => { diff --git a/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts b/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts index 29fdc7b2..ab57f5ed 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts @@ -1,4 +1,4 @@ -import { TrackSource } from '@livekit/protocol' +import type { TrackSource } from '@livekit/protocol' import { useLocalParticipant, useParticipantPermissions, diff --git a/src/frontend/src/features/rooms/livekit/hooks/useCopyRoomToClipboard.ts b/src/frontend/src/features/rooms/livekit/hooks/useCopyRoomToClipboard.ts index db2c80ae..7df70d4d 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useCopyRoomToClipboard.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useCopyRoomToClipboard.ts @@ -2,7 +2,7 @@ import { useTelephony } from './useTelephony' import { useTranslation } from 'react-i18next' import { useEffect, useMemo, useState } from 'react' import { formatPinCode } from '@/features/rooms/utils/telephony' -import { ApiRoom } from '@/features/rooms/api/ApiRoom' +import type { ApiRoom } from '@/features/rooms/api/ApiRoom' import { getRouteUrl } from '@/navigation/getRouteUrl' const COPY_SUCCESS_TIMEOUT = 3000 diff --git a/src/frontend/src/features/rooms/livekit/hooks/useFocusToggleParticipant.ts b/src/frontend/src/features/rooms/livekit/hooks/useFocusToggleParticipant.ts index ca3fc8f8..d462a64d 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useFocusToggleParticipant.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useFocusToggleParticipant.ts @@ -1,5 +1,5 @@ import { useFocusToggle } from '@livekit/components-react' -import { Participant, Track } from 'livekit-client' +import { type Participant, Track } from 'livekit-client' import { useCallback } from 'react' import type { MouseEvent } from 'react' import Source = Track.Source diff --git a/src/frontend/src/features/rooms/livekit/hooks/useFullScreen.ts b/src/frontend/src/features/rooms/livekit/hooks/useFullScreen.ts index 802ff96e..1f004380 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useFullScreen.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useFullScreen.ts @@ -3,7 +3,7 @@ // @ts-nocheck import { useMemo, useState } from 'react' -import { TrackReferenceOrPlaceholder } from '@livekit/components-core' +import { type TrackReferenceOrPlaceholder } from '@livekit/components-core' export function useFullScreen({ trackRef, diff --git a/src/frontend/src/features/rooms/livekit/hooks/useRaisedHand.ts b/src/frontend/src/features/rooms/livekit/hooks/useRaisedHand.ts index dac0bf48..dd77ef7a 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useRaisedHand.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useRaisedHand.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' import { useParticipantAttribute, useParticipants, diff --git a/src/frontend/src/features/rooms/livekit/hooks/useRoomData.ts b/src/frontend/src/features/rooms/livekit/hooks/useRoomData.ts index e382dff9..cc7b94e2 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useRoomData.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useRoomData.ts @@ -1,4 +1,4 @@ -import { ApiRoom } from '@/features/rooms/api/ApiRoom' +import type { ApiRoom } from '@/features/rooms/api/ApiRoom' import { useParams } from 'wouter' import { keys } from '@/api/queryKeys' import { queryClient } from '@/api/queryClient' diff --git a/src/frontend/src/features/rooms/livekit/hooks/useSyncLiveKitMetadata.ts b/src/frontend/src/features/rooms/livekit/hooks/useSyncLiveKitMetadata.ts index 98856e4c..5e92acb2 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useSyncLiveKitMetadata.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useSyncLiveKitMetadata.ts @@ -4,7 +4,7 @@ import { useEffect } from 'react' import { RoomEvent } from 'livekit-client' import { queryClient } from '@/api/queryClient' import { keys } from '@/api/queryKeys' -import { +import type { ApiAccessLevel, ApiRoom, RoomConfiguration, diff --git a/src/frontend/src/features/rooms/livekit/hooks/useVideoResolutionSubscription.ts b/src/frontend/src/features/rooms/livekit/hooks/useVideoResolutionSubscription.ts index 13c518e2..878d2430 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useVideoResolutionSubscription.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useVideoResolutionSubscription.ts @@ -2,8 +2,8 @@ import { useEffect } from 'react' import { usePersistentUserChoices } from './usePersistentUserChoices' import { useRoomContext } from '@livekit/components-react' import { - RemoteParticipant, - RemoteTrackPublication, + type RemoteParticipant, + type RemoteTrackPublication, RoomEvent, Track, VideoQuality, diff --git a/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx b/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx index 90d43eb9..d795468b 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx @@ -13,7 +13,11 @@ import { Div, Text } from '@/primitives' import { ChatInput } from '../components/chat/Input' import { ChatEntry } from '../components/chat/Entry' import { useSidePanel } from '../hooks/useSidePanel' -import { LocalParticipant, RemoteParticipant, RoomEvent } from 'livekit-client' +import { + type LocalParticipant, + type RemoteParticipant, + RoomEvent, +} from 'livekit-client' import { css } from '@/styled-system/css' import { useRestoreFocus } from '@/hooks/useRestoreFocus' diff --git a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/ControlBar.tsx b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/ControlBar.tsx index b329a238..9d8d395d 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/ControlBar.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/ControlBar.tsx @@ -1,4 +1,4 @@ -import { Track } from 'livekit-client' +import type { Track } from 'livekit-client' import * as React from 'react' import { MobileControlBar } from './MobileControlBar' diff --git a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx index 13d19a71..975b8338 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/DesktopControlBar.tsx @@ -1,5 +1,5 @@ import { supportsScreenSharing } from '@livekit/components-core' -import { ControlBarAuxProps } from './ControlBar' +import type { ControlBarAuxProps } from './ControlBar' import { css } from '@/styled-system/css' import { LeaveButton } from '../../components/controls/LeaveButton' import { Track } from 'livekit-client' diff --git a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MobileControlBar.tsx b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MobileControlBar.tsx index 887582be..4581480d 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MobileControlBar.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MobileControlBar.tsx @@ -1,6 +1,6 @@ import { supportsScreenSharing } from '@livekit/components-core' import { useTranslation } from 'react-i18next' -import { ControlBarAuxProps } from './ControlBar' +import type { ControlBarAuxProps } from './ControlBar' import React from 'react' import { css } from '@/styled-system/css' import { LeaveButton } from '../../components/controls/LeaveButton' diff --git a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MoreOptions.tsx b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MoreOptions.tsx index b52558a4..482c8474 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MoreOptions.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/ControlBar/MoreOptions.tsx @@ -8,7 +8,7 @@ import { useSize } from '../../hooks/useResizeObserver' import { useState, RefObject } from 'react' import { Dialog, DialogTrigger, Popover } from 'react-aria-components' import { Button } from '@/primitives' -import { ToggleButtonProps } from '@/primitives/ToggleButton' +import type { ToggleButtonProps } from '@/primitives/ToggleButton' import { RiArrowDownSLine, RiArrowUpSLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/rooms/livekit/prefabs/VideoConference.tsx b/src/frontend/src/features/rooms/livekit/prefabs/VideoConference.tsx index 8545ef83..13d476fb 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/VideoConference.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/VideoConference.tsx @@ -5,7 +5,7 @@ import { isWeb, log, } from '@livekit/components-core' -import { Participant, RoomEvent, Track } from 'livekit-client' +import { type Participant, RoomEvent, Track } from 'livekit-client' import React, { useCallback, useRef, useState, useEffect } from 'react' import { ConnectionStateToast, diff --git a/src/frontend/src/features/rooms/livekit/processors/RnnNoiseProcessor.ts b/src/frontend/src/features/rooms/livekit/processors/RnnNoiseProcessor.ts index cedf696d..69a71009 100644 --- a/src/frontend/src/features/rooms/livekit/processors/RnnNoiseProcessor.ts +++ b/src/frontend/src/features/rooms/livekit/processors/RnnNoiseProcessor.ts @@ -1,4 +1,4 @@ -import { Track, TrackProcessor, ProcessorOptions } from 'livekit-client' +import type { Track, TrackProcessor, ProcessorOptions } from 'livekit-client' import { NoiseSuppressorWorklet_Name } from '@timephy/rnnoise-wasm' // This is an example how to get the script path using Vite, may be different when using other build tools diff --git a/src/frontend/src/features/rooms/routes/Feedback.tsx b/src/frontend/src/features/rooms/routes/Feedback.tsx index d084e2ab..70a3364d 100644 --- a/src/frontend/src/features/rooms/routes/Feedback.tsx +++ b/src/frontend/src/features/rooms/routes/Feedback.tsx @@ -6,7 +6,7 @@ import { Rating } from '@/features/rooms/components/Rating.tsx' import { useLocation } from 'wouter' import { useMemo } from 'react' import { DisconnectReason } from 'livekit-client' -import { CandidateInfo } from '@/stores/connectionObserver.ts' +import type { CandidateInfo } from '@/stores/connectionObserver' // fixme - duplicated with home, refactor in a proper style const Heading = styled('h1', { diff --git a/src/frontend/src/features/rooms/utils/getParticipantColor.ts b/src/frontend/src/features/rooms/utils/getParticipantColor.ts index 72a6e4ef..89de06e5 100644 --- a/src/frontend/src/features/rooms/utils/getParticipantColor.ts +++ b/src/frontend/src/features/rooms/utils/getParticipantColor.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' const DEFAULT_COLOR = 'rgb(87, 44, 216)' diff --git a/src/frontend/src/features/rooms/utils/getParticipantIsRoomAdmin.ts b/src/frontend/src/features/rooms/utils/getParticipantIsRoomAdmin.ts index a0ee52b5..e4afae46 100644 --- a/src/frontend/src/features/rooms/utils/getParticipantIsRoomAdmin.ts +++ b/src/frontend/src/features/rooms/utils/getParticipantIsRoomAdmin.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' export const getParticipantIsRoomAdmin = ( participant: Participant diff --git a/src/frontend/src/features/rooms/utils/getParticipantName.ts b/src/frontend/src/features/rooms/utils/getParticipantName.ts index 25488b69..7bbd4327 100644 --- a/src/frontend/src/features/rooms/utils/getParticipantName.ts +++ b/src/frontend/src/features/rooms/utils/getParticipantName.ts @@ -1,4 +1,4 @@ -import { Participant } from 'livekit-client' +import type { Participant } from 'livekit-client' export const getParticipantName = (participant: Participant): string => { return participant.name || participant.identity || 'Unknown' diff --git a/src/frontend/src/features/settings/components/tabs/AccessibilityTab.tsx b/src/frontend/src/features/settings/components/tabs/AccessibilityTab.tsx index d9ed0578..a4161f69 100644 --- a/src/frontend/src/features/settings/components/tabs/AccessibilityTab.tsx +++ b/src/frontend/src/features/settings/components/tabs/AccessibilityTab.tsx @@ -1,5 +1,5 @@ import { Field, H, Text } from '@/primitives' -import { TabPanel, TabPanelProps } from '@/primitives/Tabs' +import { TabPanel, type TabPanelProps } from '@/primitives/Tabs' import { css } from '@/styled-system/css' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/settings/components/tabs/AudioTab.tsx b/src/frontend/src/features/settings/components/tabs/AudioTab.tsx index 29240d3b..ab3a7ffd 100644 --- a/src/frontend/src/features/settings/components/tabs/AudioTab.tsx +++ b/src/frontend/src/features/settings/components/tabs/AudioTab.tsx @@ -1,6 +1,6 @@ import { DialogProps, Field, Switch, Text } from '@/primitives' -import { TabPanel, TabPanelProps } from '@/primitives/Tabs' +import { TabPanel, type TabPanelProps } from '@/primitives/Tabs' import { useIsSpeaking, useMediaDeviceSelect, diff --git a/src/frontend/src/features/settings/components/tabs/GeneralTab.tsx b/src/frontend/src/features/settings/components/tabs/GeneralTab.tsx index 3b30c631..e07d357c 100644 --- a/src/frontend/src/features/settings/components/tabs/GeneralTab.tsx +++ b/src/frontend/src/features/settings/components/tabs/GeneralTab.tsx @@ -1,7 +1,7 @@ import { Field, H } from '@/primitives' import { useTranslation } from 'react-i18next' import { useLanguageLabels } from '@/i18n/useLanguageLabels' -import { TabPanel, TabPanelProps } from '@/primitives/Tabs' +import { TabPanel, type TabPanelProps } from '@/primitives/Tabs' import { userPreferencesStore } from '@/stores/userPreferences' import { useSnapshot } from 'valtio' diff --git a/src/frontend/src/features/settings/components/tabs/NotificationsTab.tsx b/src/frontend/src/features/settings/components/tabs/NotificationsTab.tsx index b2134fed..baff7471 100644 --- a/src/frontend/src/features/settings/components/tabs/NotificationsTab.tsx +++ b/src/frontend/src/features/settings/components/tabs/NotificationsTab.tsx @@ -1,4 +1,4 @@ -import { TabPanel, TabPanelProps } from '@/primitives/Tabs' +import { TabPanel, type TabPanelProps } from '@/primitives/Tabs' import { Field, H } from '@/primitives' import { css } from '@/styled-system/css' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/settings/components/tabs/TranscriptionTab.tsx b/src/frontend/src/features/settings/components/tabs/TranscriptionTab.tsx index d52eaf16..1fe36347 100644 --- a/src/frontend/src/features/settings/components/tabs/TranscriptionTab.tsx +++ b/src/frontend/src/features/settings/components/tabs/TranscriptionTab.tsx @@ -1,4 +1,4 @@ -import { TabPanel, TabPanelProps } from '@/primitives/Tabs' +import { TabPanel, type TabPanelProps } from '@/primitives/Tabs' import { Field, H } from '@/primitives' import { useTranslation } from 'react-i18next' import { RecordingLanguage, recordingStore } from '@/stores/recording' diff --git a/src/frontend/src/features/settings/components/tabs/VideoTab.tsx b/src/frontend/src/features/settings/components/tabs/VideoTab.tsx index 101da4a8..ae9608e1 100644 --- a/src/frontend/src/features/settings/components/tabs/VideoTab.tsx +++ b/src/frontend/src/features/settings/components/tabs/VideoTab.tsx @@ -1,6 +1,6 @@ import { DialogProps, Field } from '@/primitives' -import { TabPanel, TabPanelProps } from '@/primitives/Tabs' +import { TabPanel, type TabPanelProps } from '@/primitives/Tabs' import { useMediaDeviceSelect, useRoomContext } from '@livekit/components-react' import { useTranslation } from 'react-i18next' import { usePersistentUserChoices } from '@/features/rooms/livekit/hooks/usePersistentUserChoices' @@ -8,7 +8,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react' import { css } from '@/styled-system/css' import { createLocalVideoTrack, - LocalVideoTrack, + type LocalVideoTrack, Track, VideoPresets, VideoQuality, diff --git a/src/frontend/src/features/settings/hook/useSettingsDialog.ts b/src/frontend/src/features/settings/hook/useSettingsDialog.ts index 94fbd97d..a5094839 100644 --- a/src/frontend/src/features/settings/hook/useSettingsDialog.ts +++ b/src/frontend/src/features/settings/hook/useSettingsDialog.ts @@ -1,6 +1,6 @@ -import { useSnapshot } from 'valtio/index' +import { useSnapshot } from 'valtio' import { settingsStore } from '@/stores/settings' -import { SettingsDialogExtendedKey } from '@/features/settings/type' +import type { SettingsDialogExtendedKey } from '@/features/settings/type' export const useSettingsDialog = () => { const { areSettingsOpen } = useSnapshot(settingsStore) diff --git a/src/frontend/src/features/settings/hook/useTranscriptionLanguage.ts b/src/frontend/src/features/settings/hook/useTranscriptionLanguage.ts index ad728cb5..230bc2de 100644 --- a/src/frontend/src/features/settings/hook/useTranscriptionLanguage.ts +++ b/src/frontend/src/features/settings/hook/useTranscriptionLanguage.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { RecordingLanguage, recordingStore } from '@/stores/recording' import { useTranslation } from 'react-i18next' -import { useSnapshot } from 'valtio/index' +import { useSnapshot } from 'valtio' export const useTranscriptionLanguage = () => { const { t } = useTranslation('settings', { keyPrefix: 'transcription' }) diff --git a/src/frontend/src/features/shortcuts/catalog.ts b/src/frontend/src/features/shortcuts/catalog.ts index 4f508b16..60972ad9 100644 --- a/src/frontend/src/features/shortcuts/catalog.ts +++ b/src/frontend/src/features/shortcuts/catalog.ts @@ -1,4 +1,4 @@ -import { Shortcut } from './types' +import type { Shortcut } from './types' // Central list of current keyboard shortcuts. // Keep a single source of truth for display and, later, customization diff --git a/src/frontend/src/features/shortcuts/components/ShortcutRow.tsx b/src/frontend/src/features/shortcuts/components/ShortcutRow.tsx index 962b044d..af93737e 100644 --- a/src/frontend/src/features/shortcuts/components/ShortcutRow.tsx +++ b/src/frontend/src/features/shortcuts/components/ShortcutRow.tsx @@ -1,7 +1,7 @@ import React from 'react' import { css } from '@/styled-system/css' import { text } from '@/primitives/Text' -import { ShortcutDescriptor } from '../catalog' +import type { ShortcutDescriptor } from '../catalog' import { ShortcutBadge } from './ShortcutBadge' import { useShortcutFormatting } from '../hooks/useShortcutFormatting' import { useTranslation } from 'react-i18next' diff --git a/src/frontend/src/features/shortcuts/formatLabels.ts b/src/frontend/src/features/shortcuts/formatLabels.ts index d3a59f94..b421fea5 100644 --- a/src/frontend/src/features/shortcuts/formatLabels.ts +++ b/src/frontend/src/features/shortcuts/formatLabels.ts @@ -1,4 +1,4 @@ -import { Shortcut } from './types' +import type { Shortcut } from './types' import { isMacintosh } from '@/utils/livekit' // Visible label for a shortcut (uses ⌘/Ctrl prefix when needed). diff --git a/src/frontend/src/features/shortcuts/hooks/useShortcutFormatting.ts b/src/frontend/src/features/shortcuts/hooks/useShortcutFormatting.ts index 4f1fcaa5..ec4c95d8 100644 --- a/src/frontend/src/features/shortcuts/hooks/useShortcutFormatting.ts +++ b/src/frontend/src/features/shortcuts/hooks/useShortcutFormatting.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react' import { useTranslation } from 'react-i18next' -import { Shortcut } from '../types' +import type { Shortcut } from '../types' import { formatShortcutLabel, formatShortcutLabelForSR, diff --git a/src/frontend/src/features/shortcuts/useRegisterKeyboardShortcut.ts b/src/frontend/src/features/shortcuts/useRegisterKeyboardShortcut.ts index 0e8ab03c..9ec148a4 100644 --- a/src/frontend/src/features/shortcuts/useRegisterKeyboardShortcut.ts +++ b/src/frontend/src/features/shortcuts/useRegisterKeyboardShortcut.ts @@ -1,7 +1,7 @@ import { useEffect } from 'react' import { keyboardShortcutsStore } from '@/stores/keyboardShortcuts' import { formatShortcutKey } from '@/features/shortcuts/utils' -import { ShortcutId, getShortcutDescriptorById } from './catalog' +import { type ShortcutId, getShortcutDescriptorById } from './catalog' export type useRegisterKeyboardShortcutProps = { id?: ShortcutId diff --git a/src/frontend/src/features/shortcuts/utils.ts b/src/frontend/src/features/shortcuts/utils.ts index e6c0a8e2..2ddea63f 100644 --- a/src/frontend/src/features/shortcuts/utils.ts +++ b/src/frontend/src/features/shortcuts/utils.ts @@ -1,5 +1,5 @@ import { isMacintosh } from '@/utils/livekit' -import { Shortcut } from '@/features/shortcuts/types' +import type { Shortcut } from '@/features/shortcuts/types' export const CTRL = 'ctrl' diff --git a/src/frontend/src/features/subtitle/api/startSubtitle.ts b/src/frontend/src/features/subtitle/api/startSubtitle.ts index a281a665..429f26c9 100644 --- a/src/frontend/src/features/subtitle/api/startSubtitle.ts +++ b/src/frontend/src/features/subtitle/api/startSubtitle.ts @@ -1,7 +1,7 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query' +import { useMutation, type UseMutationOptions } from '@tanstack/react-query' import { fetchApi } from '@/api/fetchApi' -import { ApiError } from '@/api/ApiError' -import { ApiRoom } from '@/features/rooms/api/ApiRoom' +import type { ApiError } from '@/api/ApiError' +import type { ApiRoom } from '@/features/rooms/api/ApiRoom' export interface StartSubtitleParams { id: string diff --git a/src/frontend/src/features/subtitle/component/Subtitles.tsx b/src/frontend/src/features/subtitle/component/Subtitles.tsx index f434d98d..a4d0184e 100644 --- a/src/frontend/src/features/subtitle/component/Subtitles.tsx +++ b/src/frontend/src/features/subtitle/component/Subtitles.tsx @@ -7,7 +7,7 @@ import { Text } from '@/primitives' import { useRoomContext } from '@livekit/components-react' import { getParticipantColor } from '@/features/rooms/utils/getParticipantColor' import { getParticipantName } from '@/features/rooms/utils/getParticipantName' -import { Participant, RoomEvent } from 'livekit-client' +import { type Participant, RoomEvent } from 'livekit-client' import { useSnapshot } from 'valtio' import { accessibilityStore, diff --git a/src/frontend/src/hooks/useApplyA11yFonts.ts b/src/frontend/src/hooks/useApplyA11yFonts.ts index b38d2043..09efacaa 100644 --- a/src/frontend/src/hooks/useApplyA11yFonts.ts +++ b/src/frontend/src/hooks/useApplyA11yFonts.ts @@ -1,6 +1,6 @@ import { useEffect } from 'react' import { useSnapshot } from 'valtio' -import { accessibilityStore, UiFont } from '@/stores/accessibility' +import { accessibilityStore, type UiFont } from '@/stores/accessibility' const fontImports: Partial Promise>> = { lexend: () => import('@fontsource-variable/lexend'), diff --git a/src/frontend/src/navigation/getRoutePath.ts b/src/frontend/src/navigation/getRoutePath.ts index c8701d02..8a50dafd 100644 --- a/src/frontend/src/navigation/getRoutePath.ts +++ b/src/frontend/src/navigation/getRoutePath.ts @@ -1,4 +1,4 @@ -import { RouteName } from '@/routes' +import { type RouteName } from '@/routes' import { getRouteByName } from './getRouteByName' export const getRoutePath = ( diff --git a/src/frontend/src/navigation/getRouteUrl.ts b/src/frontend/src/navigation/getRouteUrl.ts index 77fd8e77..d7ce053b 100644 --- a/src/frontend/src/navigation/getRouteUrl.ts +++ b/src/frontend/src/navigation/getRouteUrl.ts @@ -1,4 +1,4 @@ -import { RouteName } from '@/routes' +import { type RouteName } from '@/routes' import { getRoutePath } from './getRoutePath' export const getRouteUrl = ( diff --git a/src/frontend/src/navigation/navigateTo.ts b/src/frontend/src/navigation/navigateTo.ts index 1a3d7f4c..6f94317e 100644 --- a/src/frontend/src/navigation/navigateTo.ts +++ b/src/frontend/src/navigation/navigateTo.ts @@ -1,4 +1,4 @@ -import { RouteName } from '@/routes' +import { type RouteName } from '@/routes' import { navigate } from 'wouter/use-browser-location' import { getRouteByName } from './getRouteByName' diff --git a/src/frontend/src/primitives/FieldDescription.tsx b/src/frontend/src/primitives/FieldDescription.tsx index f2f19aec..634d14e7 100644 --- a/src/frontend/src/primitives/FieldDescription.tsx +++ b/src/frontend/src/primitives/FieldDescription.tsx @@ -1,5 +1,5 @@ import { styled } from '@/styled-system/jsx' -import { Text, TextProps } from 'react-aria-components' +import { Text, type TextProps } from 'react-aria-components' const StyledDescription = styled(Text, { base: { diff --git a/src/frontend/src/primitives/Form.tsx b/src/frontend/src/primitives/Form.tsx index af381171..3be5a68c 100644 --- a/src/frontend/src/primitives/Form.tsx +++ b/src/frontend/src/primitives/Form.tsx @@ -3,7 +3,7 @@ import { Form as RACForm, type FormProps } from 'react-aria-components' import { useTranslation } from 'react-i18next' import { HStack } from '@/styled-system/jsx' import { Button, useCloseDialog } from '@/primitives' -import { ButtonProps } from '@/primitives/Button' +import { type ButtonProps } from '@/primitives/Button' /** * From wrapper that exposes form data on submit and adds submit/cancel buttons diff --git a/src/frontend/src/primitives/MenuList.tsx b/src/frontend/src/primitives/MenuList.tsx index 58d66a52..50ca0507 100644 --- a/src/frontend/src/primitives/MenuList.tsx +++ b/src/frontend/src/primitives/MenuList.tsx @@ -1,5 +1,5 @@ import { ReactNode } from 'react' -import { Menu, MenuProps, MenuItem } from 'react-aria-components' +import { Menu, type MenuProps, MenuItem } from 'react-aria-components' import { useTranslation } from 'react-i18next' import { VisuallyHidden } from '@/styled-system/jsx' import { menuRecipe } from '@/primitives/menuRecipe.ts' diff --git a/src/frontend/src/primitives/Switch.tsx b/src/frontend/src/primitives/Switch.tsx index 43b18b26..fa9dc3c4 100644 --- a/src/frontend/src/primitives/Switch.tsx +++ b/src/frontend/src/primitives/Switch.tsx @@ -3,7 +3,7 @@ import { SwitchProps as RACSwitchProps, } from 'react-aria-components' import { styled } from '@/styled-system/jsx' -import { StyledVariantProps } from '@/styled-system/types' +import { type StyledVariantProps } from '@/styled-system/types' import { RiCheckLine, RiCloseFill } from '@remixicon/react' export const StyledSwitch = styled(RACSwitch, { diff --git a/src/frontend/src/primitives/Tabs.tsx b/src/frontend/src/primitives/Tabs.tsx index ca0a4c14..85af1a4b 100644 --- a/src/frontend/src/primitives/Tabs.tsx +++ b/src/frontend/src/primitives/Tabs.tsx @@ -9,7 +9,7 @@ import { TabPanelProps as RACTabPanelProps, } from 'react-aria-components' import { styled } from '@/styled-system/jsx' -import { StyledVariantProps } from '@/styled-system/types' +import { type StyledVariantProps } from '@/styled-system/types' import React from 'react' const StyledTabs = styled(RACTabs, { diff --git a/src/frontend/src/primitives/Text.tsx b/src/frontend/src/primitives/Text.tsx index dfb8c915..712d46fc 100644 --- a/src/frontend/src/primitives/Text.tsx +++ b/src/frontend/src/primitives/Text.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-refresh/only-export-components */ import type { HTMLAttributes } from 'react' -import { RecipeVariantProps, cva, cx } from '@/styled-system/css' +import { type RecipeVariantProps, cva, cx } from '@/styled-system/css' export const text = cva({ base: {}, diff --git a/src/frontend/src/primitives/ToggleButton.tsx b/src/frontend/src/primitives/ToggleButton.tsx index 8ce14e9e..433b1256 100644 --- a/src/frontend/src/primitives/ToggleButton.tsx +++ b/src/frontend/src/primitives/ToggleButton.tsx @@ -4,7 +4,7 @@ import { ToggleButtonProps as RACToggleButtonProps, } from 'react-aria-components' import { type ButtonRecipeProps, buttonRecipe } from './buttonRecipe' -import { TooltipWrapper, TooltipWrapperProps } from './TooltipWrapper' +import { TooltipWrapper, type TooltipWrapperProps } from './TooltipWrapper' export type ToggleButtonProps = RACToggleButtonProps & ButtonRecipeProps & diff --git a/src/frontend/src/stores/layout.ts b/src/frontend/src/stores/layout.ts index f69b010a..4b30144f 100644 --- a/src/frontend/src/stores/layout.ts +++ b/src/frontend/src/stores/layout.ts @@ -1,5 +1,5 @@ import { proxy } from 'valtio' -import { +import type { PanelId, SubPanelId, } from '@/features/rooms/livekit/hooks/useSidePanel' diff --git a/src/frontend/src/stores/reactions.ts b/src/frontend/src/stores/reactions.ts index cd853bc4..4e796281 100644 --- a/src/frontend/src/stores/reactions.ts +++ b/src/frontend/src/stores/reactions.ts @@ -1,5 +1,5 @@ import { proxy } from 'valtio' -import { Reaction } from '@/features/reactions/types' +import type { Reaction } from '@/features/reactions/types' type State = { reactions: Reaction[] diff --git a/src/frontend/src/stores/settings.ts b/src/frontend/src/stores/settings.ts index 2493aedc..fe8c9c1d 100644 --- a/src/frontend/src/stores/settings.ts +++ b/src/frontend/src/stores/settings.ts @@ -1,5 +1,5 @@ import { proxy } from 'valtio' -import { SettingsDialogExtendedKey } from '@/features/settings/type' +import type { SettingsDialogExtendedKey } from '@/features/settings/type' type State = { areSettingsOpen: boolean diff --git a/src/frontend/src/stores/userChoices.ts b/src/frontend/src/stores/userChoices.ts index 0d3e89d5..963dea5d 100644 --- a/src/frontend/src/stores/userChoices.ts +++ b/src/frontend/src/stores/userChoices.ts @@ -5,7 +5,7 @@ import { } from '@/features/rooms/livekit/components/blur' import { loadUserChoices, - LocalUserChoices as LocalUserChoicesLK, + type LocalUserChoices as LocalUserChoicesLK, saveUserChoices, } from '@livekit/components-core' import { VideoQuality } from 'livekit-client' diff --git a/src/frontend/src/stores/userPreferences.ts b/src/frontend/src/stores/userPreferences.ts index ad651152..ca520790 100644 --- a/src/frontend/src/stores/userPreferences.ts +++ b/src/frontend/src/stores/userPreferences.ts @@ -1,5 +1,4 @@ -import { proxy } from 'valtio' -import { subscribe } from 'valtio/index' +import { proxy, subscribe } from 'valtio' import { STORAGE_KEYS } from '@/utils/storageKeys' type State = { diff --git a/src/frontend/src/utils/livekit.ts b/src/frontend/src/utils/livekit.ts index af933bcb..08acb0dd 100644 --- a/src/frontend/src/utils/livekit.ts +++ b/src/frontend/src/utils/livekit.ts @@ -2,7 +2,7 @@ import { getBrowser, LocalParticipant, LogLevel, - Participant, + type Participant, setLogLevel, } from 'livekit-client' diff --git a/src/frontend/src/utils/parseLineBreaks.tsx b/src/frontend/src/utils/parseLineBreaks.tsx index 335df8c3..ba12e99c 100644 --- a/src/frontend/src/utils/parseLineBreaks.tsx +++ b/src/frontend/src/utils/parseLineBreaks.tsx @@ -1,4 +1,4 @@ -import { Fragment, ReactNode } from 'react' +import { Fragment, type ReactNode } from 'react' export const parseLineBreaks = (text: string): ReactNode[] => { const parts = text.split(/()/gi)