--- export interface Props { tool: { name: string; icon?: string; type?: string; description: string; domains: string[]; phases: string[]; platforms: string[]; skillLevel: string; accessType: string; url: string; projectUrl?: string; license: string; tags: string[]; statusUrl?: string; knowledgebase?: boolean; }; } const { tool } = Astro.props; // Check types const isMethod = tool.type === 'method'; const isConcept = tool.type === 'concept'; // Check if tool has a valid project URL (means we're hosting it) const hasValidProjectUrl = tool.projectUrl !== undefined && tool.projectUrl !== null && tool.projectUrl !== "" && tool.projectUrl.trim() !== ""; // Check if tool has knowledgebase entry const hasKnowledgebase = tool.knowledgebase === true; // Determine card styling based on type and hosting status const cardClass = isConcept ? 'card card-concept tool-card' : isMethod ? 'card card-method tool-card' : hasValidProjectUrl ? 'card card-hosted tool-card' : (tool.license !== 'Proprietary' ? 'card card-oss tool-card' : 'card tool-card'); ---

{tool.icon && {tool.icon}} {tool.name}

{!isMethod && hasValidProjectUrl && CC24-Server} {hasKnowledgebase && 📖}

{tool.description}

{tool.tags.slice(0, 8).map(tag => ( {tag} ))}
{isConcept ? ( Mehr erfahren ) : isMethod ? ( Zur Methode ) : hasValidProjectUrl ? ( ) : ( Software-Homepage )}