Skip to content

Commit a09a251

Browse files
committed
factor type definitions
1 parent f85ccf9 commit a09a251

File tree

5 files changed

+17
-21
lines changed

5 files changed

+17
-21
lines changed

src/components/viewers/ContentHeader.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
import React, { ReactNode } from 'react'
22
import { getFileSize } from '../../files.js'
33

4+
export interface ContentSize {
5+
fileSize?: number
6+
}
7+
8+
export interface TextContent extends ContentSize {
9+
text: string
10+
}
11+
412
interface ContentHeaderProps {
5-
content?: { fileSize?: number }
13+
content?: ContentSize
614
headers?: ReactNode
715
children?: ReactNode
816
}

src/components/viewers/ImageView.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useEffect, useState } from 'react'
2-
import ContentHeader, { parseFileSize } from './ContentHeader.js'
2+
import ContentHeader, { ContentSize, parseFileSize } from './ContentHeader.js'
33

44
enum LoadingState {
55
NotLoaded,
@@ -12,9 +12,8 @@ interface ViewerProps {
1212
setError: (error: Error) => void
1313
}
1414

15-
interface Content {
15+
interface Content extends ContentSize {
1616
dataUri: string
17-
fileSize?: number
1817
}
1918

2019
/**

src/components/viewers/MarkdownView.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react'
22
import { useEffect, useState } from 'react'
33
import Markdown from '../Markdown.js'
4-
import ContentHeader, { parseFileSize } from './ContentHeader.js'
4+
import ContentHeader, { parseFileSize, TextContent } from './ContentHeader.js'
55

66
enum LoadingState {
77
NotLoaded,
@@ -14,17 +14,12 @@ interface ViewerProps {
1414
setError: (error: Error) => void
1515
}
1616

17-
interface Content {
18-
text: string
19-
fileSize?: number
20-
}
21-
2217
/**
2318
* Markdown viewer component.
2419
*/
2520
export default function MarkdownView({ file, setError }: ViewerProps) {
2621
const [loading, setLoading] = useState(LoadingState.NotLoaded)
27-
const [content, setContent] = useState<Content>()
22+
const [content, setContent] = useState<TextContent>()
2823

2924
const isUrl = file.startsWith('http://') || file.startsWith('https://')
3025
const url = isUrl ? file : '/api/store/get?key=' + file

src/components/viewers/ParquetView.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import HighTable, { DataFrame, rowCache } from 'hightable'
22
import React, { useCallback, useEffect, useState } from 'react'
33
import { parquetDataFrame } from '../../tableProvider.js'
44
import { Spinner } from '../Layout.js'
5-
import ContentHeader from './ContentHeader.js'
5+
import ContentHeader, {ContentSize} from './ContentHeader.js'
66
import { asyncBufferFromUrl, parquetMetadataAsync } from 'hyparquet'
77

88
enum LoadingState {
@@ -17,9 +17,8 @@ interface ViewerProps {
1717
setError: (error: Error) => void
1818
}
1919

20-
interface Content {
20+
interface Content extends ContentSize {
2121
dataframe: DataFrame
22-
fileSize?: number
2322
}
2423

2524
/**

src/components/viewers/TextView.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useEffect, useRef, useState } from 'react'
22
import React from 'react'
33
import { Spinner } from '../Layout.js'
4-
import ContentHeader, { parseFileSize } from './ContentHeader.js'
4+
import ContentHeader, { parseFileSize, TextContent } from './ContentHeader.js'
55

66
enum LoadingState {
77
NotLoaded,
@@ -15,17 +15,12 @@ interface ViewerProps {
1515
setProgress: (progress: number) => void
1616
}
1717

18-
interface Content {
19-
text: string
20-
fileSize?: number
21-
}
22-
2318
/**
2419
* Text viewer component.
2520
*/
2621
export default function TextView({ file, setError }: ViewerProps) {
2722
const [loading, setLoading] = useState(LoadingState.NotLoaded)
28-
const [content, setContent] = useState<Content>()
23+
const [content, setContent] = useState<TextContent>()
2924
const textRef = useRef<HTMLPreElement>(null)
3025

3126
const isUrl = file.startsWith('http://') || file.startsWith('https://')

0 commit comments

Comments
 (0)