Skip to content

Commit f4d4bcf

Browse files
authored
feat: add card-caption (#48)
* created cardCaption.tsx * Updated card-caption to use react-icons * Adjusted font sizes * Updated card-caption to use react-icons * Adjusted font sizes * chore: biome * feat: typography * aligned card.tsx between all cards * fix: homepage cards layout * chore: biome
1 parent cef8d1d commit f4d4bcf

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

src/app/page.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import { FaBookBookmark } from "react-icons/fa6"
12
import { FiBook, FiBookOpen, FiClipboard, FiFileText, FiPenTool, FiTriangle, FiUploadCloud } from "react-icons/fi"
3+
import { CardCaption } from "@/components/card-caption"
24
import { CardIcon } from "@/components/card-icon"
35
import { Hero } from "@/components/home/hero"
46

@@ -55,6 +57,20 @@ export default function Home() {
5557
))}
5658
</div>
5759
</section>
60+
<section className="flex gap-4">
61+
<CardCaption
62+
title="Title"
63+
caption="Beccatevi questo lorem ipsum dolor sit amet: lorem ipsum dolor sit amet"
64+
icon={FaBookBookmark}
65+
iconPosition="right"
66+
></CardCaption>
67+
<CardCaption
68+
title="CardCaption 2"
69+
caption="Beccatevi questo lorem ipsum dolor sit amet: lorem ipsum dolor sit amet"
70+
icon={FaBookBookmark}
71+
iconPosition="top"
72+
></CardCaption>
73+
</section>
5874
</div>
5975
</main>
6076
)

src/components/card-caption.tsx

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import type { IconType } from "react-icons"
2+
import { Card, CardAction, CardContent, CardHeader, CardTitle } from "./ui/card"
3+
4+
export function CardCaption({
5+
title,
6+
caption,
7+
icon,
8+
iconPosition = "right",
9+
}: {
10+
title: string
11+
caption: string
12+
icon?: IconType
13+
iconPosition?: "top" | "right"
14+
}) {
15+
return (
16+
<Card>
17+
<CardHeader
18+
className={`typo-headline-medium flex ${iconPosition === "right" ? "justify-between" : "flex-col-reverse"}`}
19+
>
20+
<CardTitle>{title}</CardTitle>
21+
{icon && <CardAction icon={icon} iconSize={iconPosition === "right" ? "normal" : "large"}></CardAction>}
22+
</CardHeader>
23+
<CardContent className="typo-body-medium">
24+
<p>{caption}</p>
25+
</CardContent>
26+
</Card>
27+
)
28+
}

0 commit comments

Comments
 (0)