1
+ import { BaseHTMLAttributes } from "react"
1
2
import { useRouter } from "next/router"
2
3
import { GetStaticProps } from "next/types"
3
4
import { useTranslation } from "next-i18next"
4
5
import { serverSideTranslations } from "next-i18next/serverSideTranslations"
5
- import {
6
- Box ,
7
- BoxProps ,
8
- Flex ,
9
- HeadingProps ,
10
- ListItem ,
11
- SimpleGrid ,
12
- UnorderedList ,
13
- } from "@chakra-ui/react"
14
6
15
7
import { BasePageProps , CostLeaderboardData , Lang } from "@/lib/types"
16
8
17
9
import Breadcrumbs from "@/components/Breadcrumbs"
18
10
import FeedbackCard from "@/components/FeedbackCard"
19
- import InlineLink from "@/components/Link"
20
11
import MainArticle from "@/components/MainArticle"
21
- import OldHeading from "@/components/OldHeading"
22
- import Text from "@/components/OldText"
23
12
import PageMetadata from "@/components/PageMetadata"
13
+ import { Flex } from "@/components/ui/flex"
14
+ import InlineLink from "@/components/ui/Link"
15
+ import { List , ListItem } from "@/components/ui/list"
24
16
17
+ import { cn } from "@/lib/utils/cn"
25
18
import { existsNamespace } from "@/lib/utils/existsNamespace"
26
19
import { getLastDeployDate } from "@/lib/utils/getLastDeployDate"
27
20
import { getLocaleTimestamp } from "@/lib/utils/time"
@@ -51,11 +44,15 @@ export const getStaticProps = (async ({ locale }) => {
51
44
}
52
45
} ) satisfies GetStaticProps < BasePageProps >
53
46
54
- const Content = ( props : BoxProps ) => (
55
- < Box as = { MainArticle } py = { 4 } px = { 10 } w = "full " { ...props } />
47
+ const Content = ( { ... props } : BaseHTMLAttributes < HTMLHeadingElement > ) => (
48
+ < MainArticle className = "w-full px-10 py-4 " { ...props } />
56
49
)
57
- const ContentHeading = ( props : HeadingProps ) => (
58
- < OldHeading lineHeight = { 1.4 } { ...props } />
50
+
51
+ const Text = ( {
52
+ className,
53
+ ...props
54
+ } : BaseHTMLAttributes < HTMLHeadingElement > ) => (
55
+ < p className = { cn ( "mb-6" , className ) } { ...props } />
59
56
)
60
57
61
58
const Contributors = ( ) => {
@@ -69,7 +66,7 @@ const Contributors = () => {
69
66
. filter ( ( item ) => item . length > 0 )
70
67
71
68
return (
72
- < Flex direction = "column" align = "center" w = " full">
69
+ < Flex className = "w- full flex-col items-center ">
73
70
< PageMetadata
74
71
title = { t (
75
72
"page-contributing-translation-program-contributors-meta-title"
@@ -81,25 +78,15 @@ const Contributors = () => {
81
78
82
79
< Content >
83
80
< Breadcrumbs slug = { router . asPath } className = "mt-12" />
84
- < ContentHeading
85
- as = "h1"
86
- fontSize = { { base : "2.5rem" , md : "5xl" } }
87
- fontWeight = { 700 }
88
- >
81
+ < h1 className = "my-8 leading-xs" >
89
82
{ t ( "page-contributing-translation-program-contributors-title" ) }
90
- </ ContentHeading >
91
- < ContentHeading
92
- as = "h4"
93
- fontSize = { { base : "md" , md : "xl" } }
94
- fontWeight = { 500 }
95
- >
96
- < Text as = "strong" >
97
- { t (
98
- "page-contributing-translation-program-contributors-number-of-contributors"
99
- ) } { " " }
100
- { translators . length }
101
- </ Text >
102
- </ ContentHeading >
83
+ </ h1 >
84
+ < h4 className = "my-8 leading-xs" >
85
+ { t (
86
+ "page-contributing-translation-program-contributors-number-of-contributors"
87
+ ) } { " " }
88
+ { translators . length }
89
+ </ h4 >
103
90
< Text >
104
91
{ t (
105
92
"page-contributing-translation-program-contributors-our-translators-1"
@@ -122,24 +109,20 @@ const Contributors = () => {
122
109
</ InlineLink >
123
110
.
124
111
</ Text >
125
- < ContentHeading
126
- as = "h2"
127
- fontSize = { { base : "2xl" , md : "2rem" } }
128
- fontWeight = { 600 }
129
- >
112
+ < h2 className = "mb-8 mt-12 leading-xs" >
130
113
{ t ( "page-contributing-translation-program-contributors-thank-you" ) }
131
- </ ContentHeading >
132
- < SimpleGrid as = { UnorderedList } columns = { [ 1 , 2 , 3 , 4 , 6 ] } ms = "1.45rem ">
114
+ </ h2 >
115
+ < List className = "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 ">
133
116
{ translators
134
117
. sort ( ( user1 , user2 ) =>
135
118
user1 . toLowerCase ( ) . localeCompare ( user2 . toLowerCase ( ) )
136
119
)
137
120
. map ( ( user ) => (
138
- < ListItem key = { user } color = "text300 ">
121
+ < ListItem key = { user } className = "text-body-medium ">
139
122
{ user }
140
123
</ ListItem >
141
124
) ) }
142
- </ SimpleGrid >
125
+ </ List >
143
126
< Text >
144
127
{ t ( "common:page-languages-interested" ) } { " " }
145
128
< InlineLink href = "/contributing/translation-program/" >
0 commit comments