diff --git a/types/index.d.ts b/types/index.d.ts index 3581a68..140e4df 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -48,5 +48,5 @@ export declare type OdSearchResult = Array<{ file?: OdFileObject folder?: OdFolderObject path: string - parentReference: { id: string; name: string; path?: string } + parentReference: { id: string; name: string; path: string } }> diff --git a/utils/getFileIcon.ts b/utils/getFileIcon.ts index f2ab78a..9027486 100644 --- a/utils/getFileIcon.ts +++ b/utils/getFileIcon.ts @@ -98,6 +98,8 @@ export function getFileIcon(fileName: string, flags?: { video?: boolean }): [Ico const extension = getExtension(fileName) let icon = hasKey(extensions, extension) ? extensions[extension] : icons.file + // Files with '.ts' extensions may be TypeScript files or TS Video files, we check for the flag 'video' + // to determine which icon to render for '.ts' files. if (extension === 'ts') { if (flags?.video) { icon = icons.video diff --git a/utils/getPreviewType.ts b/utils/getPreviewType.ts index 5395ead..b8d6a31 100644 --- a/utils/getPreviewType.ts +++ b/utils/getPreviewType.ts @@ -1,4 +1,4 @@ -const preview = { +export const preview = { markdown: 'markdown', image: 'image', text: 'text', @@ -11,7 +11,7 @@ const preview = { url: 'url', } -const extensions = { +export const extensions = { gif: preview.image, jpeg: preview.image, jpg: preview.image, @@ -34,13 +34,17 @@ const extensions = { c: preview.code, cpp: preview.code, js: preview.code, + jsx: preview.code, java: preview.code, sh: preview.code, cs: preview.code, py: preview.code, css: preview.code, html: preview.code, + // typescript or video file, determined below ts: preview.code, + tsx: preview.code, + rs: preview.code, vue: preview.code, json: preview.code, yaml: preview.code, @@ -70,14 +74,14 @@ const extensions = { url: preview.url, } -export { preview } - export function getPreviewType(extension: string, flags?: { video?: boolean }): string | undefined { let previewType = extensions[extension] if (!previewType) { return previewType } + // Files with '.ts' extensions may be TypeScript files or TS Video files, we check for the flag 'video' + // to determine what preview renderer to use for '.ts' files. if (extension === 'ts') { if (flags?.video) { previewType = preview.video