Skip to content

Commit eacb9ee

Browse files
committed
feat: create responsive css-only table
1 parent 5a401ab commit eacb9ee

File tree

2 files changed

+54
-18
lines changed

2 files changed

+54
-18
lines changed

apps/site/components/Releases/PreviousReleasesTable.tsx

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import Badge from '@node-core/ui-components/Common/Badge';
44
import { useTranslations } from 'next-intl';
55
import type { FC } from 'react';
6-
import { useState } from 'react';
6+
import { Fragment, useState } from 'react';
77

88
import FormattedTime from '#site/components/Common/FormattedTime';
99
import LinkWithArrow from '#site/components/Common/LinkWithArrow';
@@ -41,21 +41,29 @@ const PreviousReleasesTable: FC = () => {
4141

4242
<tbody>
4343
{releaseData.map(release => (
44-
<>
45-
<tr key={release.major}>
46-
<td data-label="Version">v{release.major}</td>
44+
<Fragment key={release.major}>
45+
<tr data-label={release.major}>
46+
<td data-label={t('components.downloadReleasesTable.version')}>
47+
v{release.major}
48+
</td>
4749

48-
<td data-label="LTS">{release.codename || '-'}</td>
50+
<td data-label={t('components.downloadReleasesTable.codename')}>
51+
{release.codename || '-'}
52+
</td>
4953

50-
<td data-label="Date">
54+
<td
55+
data-label={t('components.downloadReleasesTable.firstReleased')}
56+
>
5157
<FormattedTime date={release.currentStart} />
5258
</td>
5359

54-
<td data-label="Date">
60+
<td
61+
data-label={t('components.downloadReleasesTable.lastUpdated')}
62+
>
5563
<FormattedTime date={release.releaseDate} />
5664
</td>
5765

58-
<td data-label="Status">
66+
<td data-label={t('components.downloadReleasesTable.status')}>
5967
<Badge kind={BADGE_KIND_MAP[release.status]} size="small">
6068
{release.status}
6169
{release.status === 'End-of-life' ? ' (EoL)' : ''}
@@ -77,7 +85,7 @@ const PreviousReleasesTable: FC = () => {
7785
open={currentModal === release.version}
7886
onOpenChange={open => open || setCurrentModal(undefined)}
7987
/>
80-
</>
88+
</Fragment>
8189
))}
8290
</tbody>
8391
</table>

packages/ui-components/src/styles/markdown.css

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -128,23 +128,51 @@ main {
128128
w-full
129129
border-separate
130130
border-spacing-0
131-
border
132131
border-neutral-200
133132
text-left
134133
text-sm
134+
max-sm:block
135+
md:border
135136
dark:border-neutral-800;
136137

138+
thead {
139+
@apply max-sm:sr-only;
140+
}
141+
142+
tbody {
143+
@apply max-sm:block
144+
max-sm:space-y-4;
145+
}
146+
147+
tr {
148+
@apply max-sm:rounded-xs
149+
max-sm:block
150+
max-sm:border
151+
max-sm:border-neutral-200
152+
max-sm:p-4
153+
max-sm:before:content-[attr(data-label)]
154+
max-sm:dark:border-neutral-800;
155+
}
156+
157+
td {
158+
@apply border-b
159+
max-sm:flex
160+
max-sm:gap-2
161+
max-sm:py-2
162+
max-sm:before:grow
163+
max-sm:before:content-[attr(data-label)]
164+
max-sm:last:border-0;
165+
}
166+
137167
th,
138168
td {
139-
@apply max-xs:block
140-
max-xs:border-l-0
141-
border
142-
border-r-0
143-
border-t-0
144-
border-neutral-200
145-
px-4
146-
py-2
169+
@apply border-neutral-200
147170
text-neutral-900
171+
md:border
172+
md:border-r-0
173+
md:border-t-0
174+
md:px-4
175+
md:py-2
148176
dark:border-neutral-800
149177
dark:text-white;
150178

0 commit comments

Comments
 (0)