Skip to content

Commit a50faff

Browse files
authored
Merge pull request #14815 from JoeChenJ/Shadcn_migrate_IssueList.tsx
Shadcn Migrate: IssuesList/index.tsx
2 parents 874ca63 + e770bad commit a50faff

File tree

1 file changed

+24
-29
lines changed

1 file changed

+24
-29
lines changed

src/components/IssuesList/index.tsx

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,59 @@
11
import Emoji from "react-emoji-render"
2-
import {
3-
Flex,
4-
HStack,
5-
SimpleGrid,
6-
SimpleGridProps,
7-
Stack,
8-
Text,
9-
} from "@chakra-ui/react"
102

113
import type { GHIssue } from "@/lib/types"
124

13-
import InlineLink from "../Link"
14-
import Tag from "../Tag"
5+
import { cn } from "@/lib/utils/cn"
6+
157
import { Avatar } from "../ui/avatar"
8+
import { Flex, HStack, Stack } from "../ui/flex"
9+
import InlineLink from "../ui/Link"
10+
import { Tag } from "../ui/tag"
1611

17-
type IssuesListProps = SimpleGridProps & {
12+
type IssuesListProps = {
1813
issues: GHIssue[]
14+
className?: string
1915
}
2016

21-
const IssuesList = ({ issues, ...props }: IssuesListProps) => {
17+
const IssuesList = ({ issues, className }: IssuesListProps) => {
2218
return (
23-
<SimpleGrid columns={[1, null, 2]} spacing={4} {...props}>
19+
<div
20+
className={cn("my-7 grid gap-4 sm:grid-cols-1 lg:grid-cols-2", className)}
21+
>
2422
{issues.map((issue) => (
2523
<Stack
24+
className="gap-4 rounded-md border border-border p-4"
2625
key={issue.title}
27-
p={4}
28-
spacing={4}
29-
border="1px solid"
30-
borderColor="body.light"
31-
borderRadius="md"
3226
>
33-
<Stack spacing={2}>
34-
<HStack spacing={2}>
27+
<Stack className="gap-2">
28+
<HStack className="gap-2">
3529
<Avatar
3630
name={issue.user.login}
3731
src={issue.user.avatar_url}
3832
size="sm"
3933
href={`https://github.com/${issue.user.login}`}
4034
/>
41-
<Text size="sm">by {issue.user.login}</Text>
35+
<p className="text-sm">by {issue.user.login}</p>
4236
</HStack>
4337

44-
<InlineLink href={issue.html_url} textDecor="none">
38+
<InlineLink
39+
href={issue.html_url}
40+
className="no-underline hover:underline"
41+
>
4542
{issue.title}
4643
</InlineLink>
4744
</Stack>
48-
<Flex flexWrap="wrap" gap="1">
45+
<Flex className="flex-wrap gap-1">
4946
{issue.labels.map((label) => {
5047
return (
51-
<Tag
52-
key={label.id}
53-
label={<Emoji text={label.name} />}
54-
variant="outline"
55-
/>
48+
<Tag key={label.id} variant="outline">
49+
<Emoji text={label.name} />
50+
</Tag>
5651
)
5752
})}
5853
</Flex>
5954
</Stack>
6055
))}
61-
</SimpleGrid>
56+
</div>
6257
)
6358
}
6459

0 commit comments

Comments
 (0)