Skip to content

Commit 2626696

Browse files
committed
Migrate IssuesList/index.tsx to Shadcn
1 parent 2f63ede commit 2626696

File tree

1 file changed

+27
-32
lines changed

1 file changed

+27
-32
lines changed

src/components/IssuesList/index.tsx

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

123
import type { GHIssue } from "@/lib/types"
134

14-
import InlineLink from "../Link"
15-
import Tag from "../Tag"
5+
import { cn } from "@/lib/utils/cn"
166

17-
type IssuesListProps = SimpleGridProps & {
7+
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"
11+
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}
31+
href={issue.user.avatar_url}
3732
src={issue.user.avatar_url}
38-
w="32px"
39-
h="32px"
33+
className="size-8 flex-wrap"
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)