Skip to content

Commit 44fc9c7

Browse files
committed
style: improve card design
1 parent 14890d9 commit 44fc9c7

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

packages/web/src/app/[lang]/(home)/components/feature_card.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export function FeatureCard({
3333
return (
3434
<Card
3535
className={tw.join(
36-
'group relative grid size-full grid-rows-[auto_1fr] transition-all',
36+
'group relative grid size-full grid-rows-[auto_1fr] transition-all duration-500 ease-in-out',
3737
showCode
3838
? 'min-h-[600px] lg:min-h-[750px]'
3939
: 'min-h-[350px] lg:min-h-[375px]'

packages/web/src/components/ui/card.tsx

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { cn } from '@/lib/utils'
88
const Card = React.forwardRef<
99
HTMLDivElement,
1010
React.HTMLAttributes<HTMLDivElement>
11-
>(({ className, ...props }, ref) => (
11+
>(({ className, children, ...props }, ref) => (
1212
<div
1313
data-slot="card"
1414
className={cn(
@@ -17,7 +17,20 @@ const Card = React.forwardRef<
1717
)}
1818
ref={ref}
1919
{...props}
20-
/>
20+
>
21+
<div
22+
className="-z-10 pointer-events-none absolute inset-0 rounded-xl p-0.5 opacity-0 transition-opacity duration-700 ease-out group-hover:opacity-100"
23+
style={{
24+
mask: 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',
25+
maskComposite: 'exclude',
26+
// @ts-ignore
27+
WebkitMaskComposite: 'xor',
28+
}}
29+
>
30+
<div className="-translate-x-1/2 -translate-y-1/2 absolute top-1/2 left-1/2 h-[200%] w-[200%] animate-[spin_5s_linear_infinite] bg-[conic-gradient(from_0deg,transparent_0_300deg,#000000FF_360deg)] opacity-100 blur-[1px] will-change-transform dark:bg-[conic-gradient(from_0deg,transparent_0_300deg,#38BDF8_360deg)]" />
31+
</div>
32+
{children}
33+
</div>
2134
))
2235
Card.displayName = 'Card'
2336

0 commit comments

Comments
 (0)