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