import { TbStack2 } from 'react-icons/tb' import Link from '@/components/objects/Link' import type { AITool } from '../types' interface AIStackProps { tools: AITool[] } export default function AIStack({ tools }: AIStackProps) { const getStatusColor = (status: string) => { switch (status) { case 'primary': return 'text-green-400 border-green-400 bg-green-400/10' case 'active': return 'text-green-300 border-green-300 bg-green-300/10' case 'occasional': return 'text-orange-300 border-orange-300 bg-orange-300/10' default: return 'text-gray-400 border-gray-400' } } const getStatusLabel = (status: string) => { switch (status) { case 'primary': return 'Primary' case 'active': return 'Active Use' case 'occasional': return 'Occasional Use' default: return status } } const formatPrice = (price: number) => { if (price === 0) return 'Free' if (price % 1 === 0) return `$${price}/mo` return `$${price.toFixed(2)}/mo` } return (

My AI Stack

The AI tools I use as a part of my routine and workflow.

{tools.map((tool, index) => (
{tool.icon && } {tool.svg && (
{tool.svg}
)}

{tool.name}

{tool.price !== undefined && (
{tool.discountedPrice !== undefined ? ( <> {formatPrice(tool.price)} {formatPrice(tool.discountedPrice)} ) : ( {formatPrice(tool.price)} )}
)}

{tool.description}

{getStatusLabel(tool.status)} {tool.link && ( Visit → )} {(tool.usage || tool.hasUsage) && ( Usage → )}
))}
) }