diff --git a/src/renderer/src/config/models/video.ts b/src/renderer/src/config/models/video.ts index a04aedcee..fdecd65f7 100644 --- a/src/renderer/src/config/models/video.ts +++ b/src/renderer/src/config/models/video.ts @@ -1,4 +1,4 @@ -import { SystemProviderId, Video } from '@renderer/types' +import type { SystemProviderId, Video } from '@renderer/types' // Hard-encoded for now. We may implement a function to filter video generation model from provider.models. export const videoModelsMap = { diff --git a/src/renderer/src/hooks/video/useAddOpenAIVideo.ts b/src/renderer/src/hooks/video/useAddOpenAIVideo.ts index 0e0d706da..03dfb8b9d 100644 --- a/src/renderer/src/hooks/video/useAddOpenAIVideo.ts +++ b/src/renderer/src/hooks/video/useAddOpenAIVideo.ts @@ -1,4 +1,4 @@ -import OpenAI from '@cherrystudio/openai' +import type OpenAI from '@cherrystudio/openai' import { useCallback } from 'react' import { useProviderVideos } from './useProviderVideos' diff --git a/src/renderer/src/hooks/video/useOpenAIVideo.ts b/src/renderer/src/hooks/video/useOpenAIVideo.ts index 1ebef9d54..7eaf88abf 100644 --- a/src/renderer/src/hooks/video/useOpenAIVideo.ts +++ b/src/renderer/src/hooks/video/useOpenAIVideo.ts @@ -1,5 +1,6 @@ import { retrieveVideo } from '@renderer/services/ApiService' -import useSWR, { SWRConfiguration, useSWRConfig } from 'swr' +import type { SWRConfiguration } from 'swr' +import useSWR, { useSWRConfig } from 'swr' import { useProvider } from '../useProvider' import { useVideo } from './useVideo' diff --git a/src/renderer/src/hooks/video/useProviderVideos.ts b/src/renderer/src/hooks/video/useProviderVideos.ts index 7e4d44bf6..b0f0cab30 100644 --- a/src/renderer/src/hooks/video/useProviderVideos.ts +++ b/src/renderer/src/hooks/video/useProviderVideos.ts @@ -3,7 +3,7 @@ import { retrieveVideo } from '@renderer/services/ApiService' import { getProviderById } from '@renderer/services/ProviderService' import { useAppDispatch, useAppSelector } from '@renderer/store' import { addVideoAction, setVideoAction, setVideosAction, updateVideoAction } from '@renderer/store/video' -import { Video } from '@renderer/types/video' +import type { Video } from '@renderer/types/video' import { getErrorMessage } from '@renderer/utils' import { useCallback, useEffect, useRef } from 'react' import { useTranslation } from 'react-i18next' diff --git a/src/renderer/src/hooks/video/useVideoThumbnail.ts b/src/renderer/src/hooks/video/useVideoThumbnail.ts index b536ef045..a204a2a12 100644 --- a/src/renderer/src/hooks/video/useVideoThumbnail.ts +++ b/src/renderer/src/hooks/video/useVideoThumbnail.ts @@ -2,7 +2,7 @@ import { loggerService } from '@logger' import { retrieveVideoContent } from '@renderer/services/ApiService' import ImageStorage from '@renderer/services/ImageStorage' import { getProviderById } from '@renderer/services/ProviderService' -import { Video } from '@renderer/types' +import type { Video } from '@renderer/types' import { useCallback } from 'react' const logger = loggerService.withContext('useRetrieveThumbnail') diff --git a/src/renderer/src/pages/video/VideoList.tsx b/src/renderer/src/pages/video/VideoList.tsx index bb578f633..4cf60e60c 100644 --- a/src/renderer/src/pages/video/VideoList.tsx +++ b/src/renderer/src/pages/video/VideoList.tsx @@ -1,4 +1,4 @@ -import { Video } from '@renderer/types' +import type { Video } from '@renderer/types' import { PlusIcon } from 'lucide-react' import { VideoListItem } from './VideoListItem' diff --git a/src/renderer/src/pages/video/VideoListItem.tsx b/src/renderer/src/pages/video/VideoListItem.tsx index f485502ac..5afeed774 100644 --- a/src/renderer/src/pages/video/VideoListItem.tsx +++ b/src/renderer/src/pages/video/VideoListItem.tsx @@ -1,6 +1,6 @@ import { cn, Progress, Spinner } from '@heroui/react' import { DeleteIcon } from '@renderer/components/Icons' -import { Video } from '@renderer/types/video' +import type { Video } from '@renderer/types/video' import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuTrigger } from '@renderer/ui/context-menu' import { CheckCircleIcon, CircleXIcon, ClockIcon, DownloadIcon, ImageDownIcon } from 'lucide-react' import { useTranslation } from 'react-i18next' diff --git a/src/renderer/src/pages/video/VideoPage.tsx b/src/renderer/src/pages/video/VideoPage.tsx index 7fd7daee4..6e82a2c5c 100644 --- a/src/renderer/src/pages/video/VideoPage.tsx +++ b/src/renderer/src/pages/video/VideoPage.tsx @@ -8,11 +8,11 @@ import { useProviderVideos } from '@renderer/hooks/video/useProviderVideos' import { useVideoThumbnail } from '@renderer/hooks/video/useVideoThumbnail' import { deleteVideo } from '@renderer/services/ApiService' import { SystemProviderIds } from '@renderer/types' -import { CreateVideoParams } from '@renderer/types/video' +import type { CreateVideoParams } from '@renderer/types/video' import { getErrorMessage } from '@renderer/utils' import { deepUpdate } from '@renderer/utils/deepUpdate' import { isVideoModel } from '@renderer/utils/model/video' -import { DeepPartial } from 'ai' +import type { DeepPartial } from 'ai' import { useCallback, useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' diff --git a/src/renderer/src/pages/video/VideoPanel.tsx b/src/renderer/src/pages/video/VideoPanel.tsx index 14c0a65f2..bf5492cea 100644 --- a/src/renderer/src/pages/video/VideoPanel.tsx +++ b/src/renderer/src/pages/video/VideoPanel.tsx @@ -5,11 +5,12 @@ import { useAddOpenAIVideo } from '@renderer/hooks/video/useAddOpenAIVideo' import { useProviderVideos } from '@renderer/hooks/video/useProviderVideos' import { createVideo, retrieveVideoContent } from '@renderer/services/ApiService' import FileManager from '@renderer/services/FileManager' -import { FileTypes, Provider, VideoFileMetadata } from '@renderer/types' -import { CreateVideoParams, Video } from '@renderer/types/video' +import type { Provider, VideoFileMetadata } from '@renderer/types' +import { FileTypes } from '@renderer/types' +import type { CreateVideoParams, Video } from '@renderer/types/video' import { getErrorMessage } from '@renderer/utils' import { MB } from '@shared/config/constant' -import { DeepPartial } from 'ai' +import type { DeepPartial } from 'ai' import dayjs from 'dayjs' import { isEmpty } from 'lodash' import { ArrowUp, CircleXIcon, ImageIcon } from 'lucide-react' diff --git a/src/renderer/src/pages/video/VideoViewer.tsx b/src/renderer/src/pages/video/VideoViewer.tsx index 21d8629fc..d5858fe34 100644 --- a/src/renderer/src/pages/video/VideoViewer.tsx +++ b/src/renderer/src/pages/video/VideoViewer.tsx @@ -12,7 +12,7 @@ import { } from '@heroui/react' import { usePending } from '@renderer/hooks/usePending' import FileManager from '@renderer/services/FileManager' -import { Video, VideoDownloaded, VideoFailed } from '@renderer/types/video' +import type { Video, VideoDownloaded, VideoFailed } from '@renderer/types/video' import dayjs from 'dayjs' import { CheckCircleIcon, CircleXIcon, Clock9Icon } from 'lucide-react' import { useEffect, useMemo, useRef, useState } from 'react' diff --git a/src/renderer/src/pages/video/settings/ModelSetting.tsx b/src/renderer/src/pages/video/settings/ModelSetting.tsx index 71b529966..bacbb994f 100644 --- a/src/renderer/src/pages/video/settings/ModelSetting.tsx +++ b/src/renderer/src/pages/video/settings/ModelSetting.tsx @@ -1,6 +1,6 @@ import { Select, SelectItem } from '@heroui/react' import { videoModelsMap } from '@renderer/config/models/video' -import { Model } from '@renderer/types' +import type { Model } from '@renderer/types' import { useTranslation } from 'react-i18next' import { SettingItem } from './shared' diff --git a/src/renderer/src/pages/video/settings/OpenAIParamSettings.tsx b/src/renderer/src/pages/video/settings/OpenAIParamSettings.tsx index f71f4b3d4..85c5418fe 100644 --- a/src/renderer/src/pages/video/settings/OpenAIParamSettings.tsx +++ b/src/renderer/src/pages/video/settings/OpenAIParamSettings.tsx @@ -1,7 +1,7 @@ -import { VideoSeconds, VideoSize } from '@cherrystudio/openai/resources' +import type { VideoSeconds, VideoSize } from '@cherrystudio/openai/resources' import { Select, SelectItem } from '@heroui/react' -import { OpenAICreateVideoParams } from '@renderer/types/video' -import { DeepPartial } from 'ai' +import type { OpenAICreateVideoParams } from '@renderer/types/video' +import type { DeepPartial } from 'ai' import { useCallback } from 'react' import { useTranslation } from 'react-i18next' diff --git a/src/renderer/src/pages/video/settings/ProviderSetting.tsx b/src/renderer/src/pages/video/settings/ProviderSetting.tsx index 6983b6b6f..ffc60db4f 100644 --- a/src/renderer/src/pages/video/settings/ProviderSetting.tsx +++ b/src/renderer/src/pages/video/settings/ProviderSetting.tsx @@ -1,9 +1,9 @@ import { Select, SelectItem } from '@heroui/react' import { ProviderAvatar } from '@renderer/components/ProviderAvatar' import { useProviders } from '@renderer/hooks/useProvider' -import { Provider, SystemProviderId } from '@renderer/types' +import type { Provider, SystemProviderId } from '@renderer/types' import { getFancyProviderName } from '@renderer/utils' -import { Dispatch, SetStateAction } from 'react' +import type { Dispatch, SetStateAction } from 'react' import { useTranslation } from 'react-i18next' import { SettingItem } from './shared' diff --git a/src/renderer/src/pages/video/settings/shared.tsx b/src/renderer/src/pages/video/settings/shared.tsx index 8e5b3c559..cc01194db 100644 --- a/src/renderer/src/pages/video/settings/shared.tsx +++ b/src/renderer/src/pages/video/settings/shared.tsx @@ -1,5 +1,5 @@ import { Divider } from '@heroui/react' -import { PropsWithChildren } from 'react' +import type { PropsWithChildren } from 'react' export const SettingsGroup = ({ children }: PropsWithChildren) => { return
{children}
diff --git a/src/renderer/src/store/video.ts b/src/renderer/src/store/video.ts index 7942cd26d..7b6167669 100644 --- a/src/renderer/src/store/video.ts +++ b/src/renderer/src/store/video.ts @@ -1,6 +1,7 @@ import { loggerService } from '@logger' -import { createSlice, PayloadAction } from '@reduxjs/toolkit' -import { Video } from '@renderer/types/video' +import type { PayloadAction } from '@reduxjs/toolkit' +import { createSlice } from '@reduxjs/toolkit' +import type { Video } from '@renderer/types/video' const logger = loggerService.withContext('Store:video') diff --git a/src/renderer/src/types/video.ts b/src/renderer/src/types/video.ts index fbc390dbd..8a0e02df9 100644 --- a/src/renderer/src/types/video.ts +++ b/src/renderer/src/types/video.ts @@ -1,6 +1,6 @@ -import OpenAI from '@cherrystudio/openai' +import type OpenAI from '@cherrystudio/openai' -import { Provider } from './provider' +import type { Provider } from './provider' // Only OpenAI (Responses) is supported for now. export type VideoEndpointType = 'openai' diff --git a/src/renderer/src/utils/deepUpdate.ts b/src/renderer/src/utils/deepUpdate.ts index c7d607e89..ab8997ac5 100644 --- a/src/renderer/src/utils/deepUpdate.ts +++ b/src/renderer/src/utils/deepUpdate.ts @@ -1,4 +1,4 @@ -import { DeepPartial } from 'ai' +import type { DeepPartial } from 'ai' import { cloneDeep } from 'lodash' /** diff --git a/src/renderer/src/utils/model/video.ts b/src/renderer/src/utils/model/video.ts index 34cfb099a..50f06d485 100644 --- a/src/renderer/src/utils/model/video.ts +++ b/src/renderer/src/utils/model/video.ts @@ -1,4 +1,4 @@ -import { VideoModel } from '@cherrystudio/openai/resources' +import type { VideoModel } from '@cherrystudio/openai/resources' import { videoModelsMap } from '@renderer/config/models/video' // Only for openai, use hard-encoded values