Skip to content

Commit 8ab8307

Browse files
committed
chore: type
1 parent d3759b3 commit 8ab8307

File tree

6 files changed

+57
-23
lines changed

6 files changed

+57
-23
lines changed

website/src/components/BaseComponents/Card/index.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
// Copyright 2023 Datafuse Labs.
22
import React from 'react';
3-
import { FC, ReactElement, ReactNode } from 'react';
3+
import { FC, ReactElement } from 'react';
44
import styles from './styles.module.scss';
55
import clsx from 'clsx';
6-
interface IProps {
7-
children: ReactNode;
8-
padding?: number[];
9-
className?: string;
6+
import { ICommonProps } from '@site/src/types';
7+
interface IProps extends ICommonProps{
108
href?: string;
119
isDownload?: boolean;
12-
style?: React.CSSProperties;
10+
padding?: number[];
1311
}
1412
const Card: FC<IProps> = ({children, padding, className, href, isDownload, style}): ReactElement=> {
1513
const props = {

website/src/components/BaseComponents/Tag/index.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
// Copyright 2023 Datafuse Labs.
2-
import { FC, ReactElement, ReactNode } from 'react';
2+
import { FC, ReactElement } from 'react';
33
import styles from './styles.module.scss';
44
import React from 'react';
55
import clsx from 'clsx';
6-
interface IProps {
7-
children: ReactNode;
8-
className?: string;
9-
}
10-
const Tag: FC<IProps> = ({children, className}): ReactElement=> {
6+
import { ICommonProps } from '@site/src/types';
7+
8+
const Tag: FC<ICommonProps> = ({children, className}): ReactElement=> {
119
return (
1210
<span className={clsx(styles.tag, className)}>{children}</span>
1311
);

website/src/hooks/useGetReleases.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
import { usePluginData } from "@docusaurus/useGlobalData";
2-
interface IGlobalData {
3-
releasesList: any[],
4-
repoResource: any,
5-
stargazersCount: number,
6-
[prop: string]: any
7-
}
2+
import { IGlobalData } from "@site/src/types/download";
3+
84
function numberFormat(num: number): string | number {
95
return num < 1000 ? num : (num / 1000).toFixed(1) + 'K';
106
}

website/src/pages/download/index.tsx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Copyright 2023 Datafuse Labs.
2-
import React, { FC, ReactElement } from 'react';
2+
import React, { FC, ReactElement, ReactNode } from 'react';
33
import Layout from '@theme/Layout';
44
import clsx from 'clsx';
55
import ReactMarkdown from 'react-markdown';
@@ -16,8 +16,8 @@ const Releases: FC = (): ReactElement => {
1616
releasesList,
1717
tagName
1818
} = useGetReleases();
19-
const { filterBody, assets: latestAssets, published_at } = releasesList[0];
20-
function Icons({isApple, size = 24}) {
19+
const { filterBody, assets: latestAssets, published_at, prerelease} = releasesList[0];
20+
function Icons({isApple, size = 24}): ReactElement {
2121
return (
2222
<>
2323
{
@@ -28,6 +28,9 @@ const Releases: FC = (): ReactElement => {
2828
</>
2929
)
3030
}
31+
function IsPreReleaseTag({prerelease}: {prerelease: boolean}): ReactElement {
32+
return <Tag className={styles.preTag}>{prerelease ? 'Pre-release' : 'Release'}</Tag>
33+
}
3134
return (
3235
<Layout
3336
title={`Databend - Activate your Object Storage for real-time analytics`}
@@ -40,7 +43,7 @@ const Releases: FC = (): ReactElement => {
4043
<div className={styles.topTag}>
4144
<span className={styles.version}>{tagName}</span>
4245
<Tag>Latest</Tag>
43-
<Tag className={styles.preTag}>Pre-release</Tag>
46+
<IsPreReleaseTag prerelease={prerelease}></IsPreReleaseTag>
4447
</div>
4548
<div className={styles.updateTime}>{timeFormatAgo(published_at)}</div>
4649
<div className={styles.nowAssets}>
@@ -84,7 +87,7 @@ const Releases: FC = (): ReactElement => {
8487
<div>
8588
<div className={styles.leftDesc}>
8689
<div className={styles.tagName}>{release?.tag_name}</div>
87-
<Tag className={styles.preTag}>Pre-release</Tag>
90+
<IsPreReleaseTag prerelease={release.prerelease}></IsPreReleaseTag>
8891
</div>
8992
<div>{timeFormatAgo(release?.published_at)}</div>
9093
</div>

website/src/types/download.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
export interface IAssets {
2+
size: number;
3+
formatSize?: string;
4+
browser_download_url: string;
5+
name: string;
6+
osTypeDesc?: string;
7+
osType: string;
8+
isApple?: boolean;
9+
}
10+
11+
export interface IRepoResource {
12+
stargazers_count: number;
13+
formatStargazersCount?: number;
14+
[prop: string]: any
15+
}
16+
export interface IRelease {
17+
tag_name: string;
18+
published_at: string;
19+
prerelease: boolean;
20+
name: string;
21+
body: string;
22+
filterBody: string;
23+
originAssets: IAssets[];
24+
assets: IAssets[]
25+
}
26+
export interface IGlobalData {
27+
releasesList: IRelease[],
28+
repoResource: IRepoResource,
29+
stargazersCount: number,
30+
[prop: string]: any
31+
}

website/src/types/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { ReactNode } from "react";
2+
3+
export interface ICommonProps {
4+
children: ReactNode;
5+
className?: string;
6+
style?: React.CSSProperties;
7+
onClick?: ()=> void;
8+
}

0 commit comments

Comments
 (0)