Merge pull request #139 from ethereum/empty-state-releases
feat: add empty state for platforms without releases
This commit is contained in:
commit
4315911af4
|
@ -1,4 +1,15 @@
|
|||
import { Link, Table, Thead, Tr, Th, TableContainer, Text, Tbody, Td } from '@chakra-ui/react';
|
||||
import {
|
||||
Link,
|
||||
Table,
|
||||
Thead,
|
||||
Tr,
|
||||
Th,
|
||||
TableContainer,
|
||||
Text,
|
||||
Tbody,
|
||||
Td,
|
||||
Stack
|
||||
} from '@chakra-ui/react';
|
||||
import { FC } from 'react';
|
||||
import { OpenPGPSignaturesData, ReleaseData } from '../../types';
|
||||
import { getParsedDate } from '../../utils';
|
||||
|
@ -30,26 +41,34 @@ export const DataTable: FC<Props> = ({ columnHeaders, data }) => {
|
|||
pb={4}
|
||||
>
|
||||
<Table variant='unstyled'>
|
||||
<Thead>
|
||||
<Tr>
|
||||
{columnHeaders.map((columnHeader, idx) => {
|
||||
return (
|
||||
<Th key={idx} textTransform='none' minW={'130.5px'} px={4}>
|
||||
<Text
|
||||
fontFamily='"JetBrains Mono", monospace'
|
||||
fontWeight={700}
|
||||
fontSize='md'
|
||||
color='#868b87' //? Use theme color? Or add to theme?
|
||||
>
|
||||
{columnHeader}
|
||||
</Text>
|
||||
</Th>
|
||||
);
|
||||
})}
|
||||
</Tr>
|
||||
</Thead>
|
||||
{data.length > 0 && (
|
||||
<Thead>
|
||||
<Tr>
|
||||
{columnHeaders.map((columnHeader, idx) => {
|
||||
return (
|
||||
<Th key={idx} textTransform='none' minW={'130.5px'} px={4}>
|
||||
<Text
|
||||
fontFamily='"JetBrains Mono", monospace'
|
||||
fontWeight={700}
|
||||
fontSize='md'
|
||||
color='#868b87' // TODO: Use theme color? Or add to theme?
|
||||
>
|
||||
{columnHeader}
|
||||
</Text>
|
||||
</Th>
|
||||
);
|
||||
})}
|
||||
</Tr>
|
||||
</Thead>
|
||||
)}
|
||||
|
||||
<Tbody>
|
||||
{data.length === 0 && (
|
||||
<Stack justifyContent='center' alignItems='center' w='100%' minH={80}>
|
||||
<Text textStyle='header4'>No builds found</Text>
|
||||
</Stack>
|
||||
)}
|
||||
|
||||
{dataType === 'Releases' &&
|
||||
data.map((r: ReleaseData, idx: number) => {
|
||||
return (
|
||||
|
|
|
@ -12,6 +12,7 @@ interface Props {
|
|||
windowsData: ReleaseData[];
|
||||
iOSData: ReleaseData[];
|
||||
androidData: ReleaseData[];
|
||||
totalReleasesNumber: number;
|
||||
amountOfReleasesToShow: number;
|
||||
setTotalReleases: (idx: number) => void;
|
||||
}
|
||||
|
@ -22,6 +23,7 @@ export const DownloadsTable: FC<Props> = ({
|
|||
windowsData,
|
||||
iOSData,
|
||||
androidData,
|
||||
totalReleasesNumber,
|
||||
amountOfReleasesToShow,
|
||||
setTotalReleases
|
||||
}) => {
|
||||
|
@ -36,7 +38,14 @@ export const DownloadsTable: FC<Props> = ({
|
|||
const LAST_2_LINUX_RELEASES = amountOfReleasesToShow + 12;
|
||||
|
||||
return (
|
||||
<Stack sx={{ mt: '0 !important' }} borderBottom='2px solid' borderColor='primary'>
|
||||
<Stack
|
||||
sx={{ mt: '0 !important' }}
|
||||
borderBottom={
|
||||
amountOfReleasesToShow < totalReleasesNumber
|
||||
? '2px solid var(--chakra-colors-primary)'
|
||||
: 'none'
|
||||
}
|
||||
>
|
||||
<Tabs variant='unstyled' onChange={idx => setTotalReleases(totalReleases[idx])}>
|
||||
<TabList color='primary' bg='button-bg'>
|
||||
{DOWNLOADS_TABLE_TABS.map((tab, idx) => {
|
||||
|
|
|
@ -368,6 +368,7 @@ const DownloadsPage: NextPage<Props> = ({ data }) => {
|
|||
windowsData={ALL_WINDOWS_STABLE_RELEASES}
|
||||
iOSData={ALL_IOS_STABLE_RELEASES}
|
||||
androidData={ALL_ANDROID_STABLE_RELEASES}
|
||||
totalReleasesNumber={totalStableReleases}
|
||||
amountOfReleasesToShow={amountStableReleases}
|
||||
setTotalReleases={setTotalStableReleases}
|
||||
/>
|
||||
|
@ -423,6 +424,7 @@ const DownloadsPage: NextPage<Props> = ({ data }) => {
|
|||
windowsData={ALL_WINDOWS_DEV_BUILDS}
|
||||
iOSData={ALL_IOS_DEV_BUILDS}
|
||||
androidData={ALL_ANDROID_DEV_BUILDS}
|
||||
totalReleasesNumber={totalDevBuilds}
|
||||
amountOfReleasesToShow={amountDevBuilds}
|
||||
setTotalReleases={setTotalDevBuilds}
|
||||
/>
|
||||
|
|
Loading…
Reference in New Issue