Skip to content

Commit d82b9bd

Browse files
committed
refactor and standardize SmallCard component
1 parent 07bd5b7 commit d82b9bd

File tree

7 files changed

+35
-81
lines changed

7 files changed

+35
-81
lines changed

components/card.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,13 @@ export function SmallCard({
108108
<Link
109109
{...props}
110110
className={cn(
111-
"not-prose block text-sm text-card-foreground transition-colors",
111+
"not-prose block text-sm text-card-foreground transition-colors space-y-3",
112112
props.className
113113
)}
114114
>
115115
<div className="group flex space-x-4 px-3 py-4 rounded-lg hover:bg-accent">
116116
{icon && (
117-
<div className="h-fit w-fit rounded-md border bg-card group-hover:bg-background p-2 text-muted-foreground [&_svg]:size-4">
117+
<div className="h-fit w-fit rounded-md border bg-card group-hover:bg-background group-hover:text-primary transition-colors duration-500 ease-in-out p-2 text-muted-foreground [&_svg]:size-4">
118118
{icon}
119119
</div>
120120
)}

components/ui/icon.tsx

+2-21
Original file line numberDiff line numberDiff line change
@@ -78,27 +78,8 @@ export function Ordinals(): JSX.Element {
7878
fill="none"
7979
xmlns="http://www.w3.org/2000/svg"
8080
>
81-
<circle
82-
cx="7.58228"
83-
cy="7.05255"
84-
r="6.36257"
85-
stroke="currentColor"
86-
style={{
87-
stroke: "currentColor",
88-
strokeOpacity: 1,
89-
strokeWidth: "1.2651",
90-
}}
91-
/>
92-
<circle
93-
cx="7.53107"
94-
cy="7.04505"
95-
r="3.76642"
96-
fill="currentColor"
97-
style={{
98-
fill: "currentColor",
99-
fillOpacity: 1,
100-
}}
101-
/>
81+
<circle cx="7.58228" cy="7.05255" r="6.36257" stroke="currentColor" />
82+
<circle cx="7.53107" cy="7.04505" r="3.76642" fill="currentColor" />
10283
</svg>
10384
);
10485
}

content/docs/bitcoin/get-started.mdx

+1-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ import { API, Container, Chainhook, BitcoinIcon } from '@/components/ui/icon';
4848

4949
<Cards>
5050
<SmallCard
51-
className="group"
52-
icon={<BitcoinIcon className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
51+
icon={<BitcoinIcon />}
5352
href="/guides/sync-a-bitcoin-node"
5453
title="Sync a Bitcoin node"
5554
description="Set up and run a Bitcoin node to use tools like Ordhook."

content/docs/bitcoin/index.mdx

+7-11
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,19 @@ import heroImage from '@/public/bitcoin-hero.svg';
5757

5858
<Cards>
5959
<SmallCard
60-
className='group space-y-3'
61-
icon={<Ordinals className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
62-
href="/bitcoin/ordinals/ordhook"
63-
title="Ordhook"
64-
description="Create custom event streams for real-time data and analytics with Ordhook."
60+
icon={<Ordinals />}
61+
href="/bitcoin/ordinals/api"
62+
title="Ordinals API"
63+
description="Fetch on-chain data for Ordinals and meta-protocols with our hosted API."
6564
/>
6665
<SmallCard
67-
className='group space-y-3'
68-
icon={<API className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
66+
icon={<API />}
6967
href="/bitcoin/ordinals/api"
7068
title="Ordinals API"
7169
description="Fetch on-chain data for Ordinals and meta-protocols with our hosted API."
7270
/>
7371
<SmallCard
74-
className='group space-y-3'
75-
icon={<Play className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
72+
icon={<Play />}
7673
href="/ordinals/explorer"
7774
title="Explorer"
7875
description="View on-chain data for Ordinals and meta-protocols with our explorer."
@@ -91,8 +88,7 @@ import heroImage from '@/public/bitcoin-hero.svg';
9188

9289
<Cards>
9390
<SmallCard
94-
className='group space-y-3'
95-
icon={<API className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
91+
icon={<API />}
9692
href="/bitcoin/runes/api"
9793
title="Runes API"
9894
description="Interact with the Runes protocol from your backend via our hosted API."

content/docs/bitcoin/runes/runehook/quickstart.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Before starting, ensure you have `runehook` installed. If you haven't already, c
7171

7272
<Cards className='sm:grid-cols-1'>
7373
<SmallCard
74-
icon={<Code className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
74+
icon={<Code />}
7575
href="/bitcoin/runes/api"
7676
title="Integrate runes data into your app"
7777
description="Use the Runes API to get reliable data for Runes and BRC-20 tokens."

content/docs/stacks/get-started.mdx

+11-22
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,28 @@ import { SectionHeader } from '@/components/layout/section-header';
1414

1515
<Cards>
1616
<SecondaryCard
17-
className="group"
18-
icon={<Clarinet className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
17+
icon={<Clarinet />}
1918
href="/stacks/clarinet/quickstart"
2019
title="Create your first smart contract"
2120
description="Build a simple counter contract using Clarinet."
2221
tag='Clarinet'
2322
/>
2423
<SecondaryCard
25-
className="group"
26-
icon={<Blockchain className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
24+
icon={<Blockchain />}
2725
href="/stacks/clarinet-js-sdk/quickstart"
2826
title="Write unit tests for your smart contracts"
2927
description="Learn how run unit tests with Clarinet JS SDK."
3028
tag='Clarinet JS SDK'
3129
/>
3230
<SecondaryCard
33-
className="group"
34-
icon={<Js className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
31+
icon={<Js />}
3532
href="/stacks/stacks.js/quickstart"
3633
title="Make a contract call with Stacks.js"
3734
description="Learn how to integrate smart contracts into your app."
3835
tag='Stacks.js'
3936
/>
4037
<SecondaryCard
41-
className="group"
42-
icon={<Database className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
38+
icon={<Database />}
4339
href="/stacks/chainhook/quickstart"
4440
title="Stream custom blockchain events"
4541
description="Use Chainhook to filter & stream for contract deployments."
@@ -57,29 +53,25 @@ import { SectionHeader } from '@/components/layout/section-header';
5753

5854
<Cards>
5955
<SmallCard
60-
className="group"
61-
icon={<Shapes className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
56+
icon={<Shapes />}
6257
href="/guides/build-an-nft-marketplace"
6358
title="Build an NFT Marketplace"
6459
description="Learn how to create and deploy your own NFT marketplace."
6560
/>
6661
{/* <SmallCard
67-
className="group"
68-
icon={<DAO className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
62+
icon={<DAO />}
6963
href="/stacks/clarinet"
7064
title="Launch a Decentralized Autonomous Organization (DAO)"
7165
description="Discover the steps to creating your own DAO."
7266
/> */}
7367
<SmallCard
74-
className="group"
75-
icon={<Ticket className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
68+
icon={<Ticket />}
7669
href="/guides/no-loss-lottery"
7770
title="Create a no-loss lottery pool"
7871
description="Build a no-loss lottery pool that leverages stacking yield."
7972
/>
8073
<SmallCard
81-
className="group"
82-
icon={<Plant className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
74+
icon={<Plant />}
8375
href="/guides/build-a-decentralized-kickstarter"
8476
title="Build a decentralized Kickstarter"
8577
description="Learn how to create a crowdfunding app, enabling creators to fund their projects without a third party."
@@ -98,22 +90,19 @@ import { SectionHeader } from '@/components/layout/section-header';
9890

9991
<Cards>
10092
<SmallCard
101-
className="group"
102-
icon={<BitcoinIcon className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
93+
icon={<BitcoinIcon />}
10394
href="/guides/sync-a-bitcoin-node"
10495
title="Sync a Bitcoin node"
10596
description="Set up and run a Bitcoin node to run tools like Chainhook as a service."
10697
/>
10798
<SmallCard
108-
className="group"
109-
icon={<StacksIcon className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
99+
icon={<StacksIcon />}
110100
href="/guides/sync-a-stacks-node"
111101
title="Sync a Stacks node"
112102
description="Set up and run a Stacks node to use tools like Chainhook or spin up your own API."
113103
/>
114104
<SmallCard
115-
className="group"
116-
icon={<Container className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
105+
icon={<Container />}
117106
href="/guides/installing-docker"
118107
title="Install and run Docker on your machine"
119108
description="Essential for running a local development with Clarinet"

content/docs/stacks/index.mdx

+11-22
Original file line numberDiff line numberDiff line change
@@ -57,43 +57,37 @@ import heroImage from '@/public/stacks-hero.svg';
5757

5858
<Cards>
5959
<SmallCard
60-
className='group space-y-3'
61-
icon={<Cloud className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
60+
icon={<Cloud />}
6261
href="/stacks/platform"
6362
title="Cloud-Based Development"
6463
description="Develop, test, and deploy smart contracts straight from your browser."
6564
/>
6665
<SmallCard
67-
className='group space-y-3'
68-
icon={<Code className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
66+
icon={<Code />}
6967
href="/stacks/clarinet"
7068
title="Smart Contract Development"
7169
description="Kickstart your smart contract journey with Clarinet and the Clarinet JS SDK."
7270
/>
7371
<SmallCard
74-
className='group space-y-3'
75-
icon={<Database className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
72+
icon={<Database />}
7673
href="/stacks/chainhook"
7774
title="Data Streaming &amp; Events"
7875
description="Create custom event streams for real-time data with Chainhook."
7976
/>
8077
<SmallCard
81-
className='group space-y-3'
82-
icon={<Frontend className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
78+
icon={<Frontend />}
8379
href="/stacks/stacks.js"
8480
title="Frontend Web Development"
8581
description="Interact with smart contracts on the web with the Stacks.js library."
8682
/>
8783
<SmallCard
88-
className='group space-y-3'
89-
icon={<Backend className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
84+
icon={<Backend />}
9085
href="/stacks/api"
9186
title="Backend Development"
9287
description="Explore our hosted APIs offering a familiar REST interface."
9388
/>
9489
<SmallCard
95-
className='group space-y-3'
96-
icon={<Braces className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
90+
icon={<Braces />}
9791
href="/stacks/token-metadata-api"
9892
title="Token Management"
9993
description="Explore our hosted API for fetching token metadata on Stacks."
@@ -113,36 +107,31 @@ import heroImage from '@/public/stacks-hero.svg';
113107

114108
<Cards>
115109
<SmallCard
116-
className='group space-y-3'
117-
icon={<Hiro className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
110+
icon={<Hiro />}
118111
href="/stacks/platform"
119112
title="Hiro Platform"
120113
description="A hosted developer experience for creating, testing, and deploying smart contracts."
121114
/>
122115
<SmallCard
123-
className='group space-y-3'
124-
icon={<Clarinet className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
116+
icon={<Clarinet />}
125117
href="/stacks/clarinet"
126118
title="Clarinet"
127119
description="Create, test, and deploy smart contracts on the Stacks blockchain."
128120
/>
129121
<SmallCard
130-
className='group space-y-3'
131-
icon={<API className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
122+
icon={<API />}
132123
href="/stacks/api"
133124
title="Stacks Blockchain API"
134125
description="Interact with the Stacks blockchain from your backend via our hosted API."
135126
/>
136127
<SmallCard
137-
className='group space-y-3'
138-
icon={<Js className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
128+
icon={<Js />}
139129
href="/stacks/stacks.js"
140130
title="Stacks.js"
141131
description="A collection of JavaScript libraries to build web applications on Stacks."
142132
/>
143133
<SmallCard
144-
className='group space-y-3'
145-
icon={<Chainhook className='transition-colors duration-500 ease-in-out group-hover:text-primary' />}
134+
icon={<Chainhook />}
146135
href="/stacks/chainhook"
147136
title="Chainhook"
148137
description="Create customizable, lightweight databases for on-chain events for Bitcoin and Stacks."

0 commit comments

Comments
 (0)