Skip to main content
Glama
ComponentCard.vue1.59 kB
<template> <div :style="borderStyle(component)" :class=" clsx( 'flex flex-row items-center rounded-sm border-l-2 p-xs space-x-sm', themeClasses('bg-neutral-200', 'bg-neutral-800'), ) " > <Icon :name="pickBrandIconByString(component.schemaCategory)" size="lg" class="flex-none" /> <div class="flex-1 min-w-0"> <TruncateWithTooltip :lineClamp="3" class="text-sm font-semibold">{{ component.name }}</TruncateWithTooltip> <TruncateWithTooltip class="text-xs">{{ component.schemaName }}</TruncateWithTooltip> </div> <ComponentTileQualificationStatus :component="component" hideTitle /> <StatusIndicatorIcon v-if="component.hasResource" type="resource" size="sm" status="exists" /> <slot name="endItems" /> </div> </template> <script setup lang="ts"> import { Icon, themeClasses, TruncateWithTooltip, } from "@si/vue-lib/design-system"; import clsx from "clsx"; import { BifrostComponent, ComponentInList, } from "@/workers/types/entity_kind_types"; import StatusIndicatorIcon from "@/components/StatusIndicatorIcon.vue"; import { pickBrandIconByString, getAssetColor } from "./util"; import ComponentTileQualificationStatus from "./ComponentTileQualificationStatus.vue"; defineProps<{ component: ComponentInList | BifrostComponent; }>(); const borderStyle = (component: ComponentInList | BifrostComponent) => { const color = getAssetColor(component.schemaCategory); return `border-color: ${color}`; }; </script>

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server