Files
gridpilot.gg/apps/website/ui/QuickActionLink.tsx
2026-01-18 23:24:30 +01:00

36 lines
1010 B
TypeScript

import { ArrowRight, LucideIcon } from 'lucide-react';
import { Box } from './Box';
import { Icon } from './Icon';
import { Link } from './Link';
import { Text } from './Text';
export interface QuickActionLinkProps {
label: string;
icon: LucideIcon;
href: string;
}
export const QuickActionLink = ({
label,
icon,
href
}: QuickActionLinkProps) => {
return (
<Link href={href} underline="none">
<Box
display="flex"
alignItems="center"
gap={3}
paddingY={2}
className="group"
>
<Icon icon={icon} size={4} intent="low" className="group-hover:text-[var(--ui-color-intent-primary)] transition-colors" />
<Text size="sm" variant="med" className="group-hover:text-[var(--ui-color-text-high)] transition-colors">
{label}
</Text>
<Icon icon={ArrowRight} size={3} intent="low" className="opacity-0 group-hover:opacity-100 group-hover:translate-x-1 transition-all" />
</Box>
</Link>
);
};