Skip to main content
Glama
ComponentListItem.vue2.08 kB
<template> <div tabindex="0" :data-list-item-component-id="component.id" :class=" clsx( 'absolute top-0 left-0 w-full', 'flex flex-row items-center gap-xs p-2xs text-sm h-8', 'border border-transparent rounded-sm cursor-pointer outline-none', '[&>span]:min-w-0', themeClasses('hover:border-action-500', 'hover:border-action-300'), selected && themeClasses('bg-action-200', 'bg-action-900'), ) " > <StatusIndicatorIcon class="flex-none" type="diff" :status="status" /> <TextPill tighter variant="component" :class=" clsx( themeClasses( 'text-newhotness-greenlight', 'text-newhotness-greendark', ), 'max-w-fit flex-1', ) " > <TruncateWithTooltip>{{ component.schemaName }}</TruncateWithTooltip> </TextPill> <TextPill tighter variant="component" :class=" clsx( 'max-w-fit flex-1', themeClasses( 'text-newhotness-purplelight', 'text-newhotness-purpledark', ), ) " > <TruncateWithTooltip>{{ component.name }}</TruncateWithTooltip> </TextPill> <StatusIndicatorIcon class="ml-auto flex-none" type="qualification" :status="qualificationStatus" /> </div> </template> <script setup lang="ts"> import { TextPill, themeClasses, TruncateWithTooltip, } from "@si/vue-lib/design-system"; import clsx from "clsx"; import { computed } from "vue"; import { BifrostComponent, ComponentDiffStatus, ComponentInList, } from "@/workers/types/entity_kind_types"; import StatusIndicatorIcon from "@/components/StatusIndicatorIcon.vue"; import { getQualificationStatus } from "./ComponentTileQualificationStatus.vue"; const props = defineProps<{ component: ComponentInList | BifrostComponent; status: ComponentDiffStatus; selected?: boolean; }>(); const qualificationStatus = computed(() => getQualificationStatus(props.component), ); </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