Skip to main content
Glama
ComponentDetailsCode.vue2.48 kB
<template> <div> <template v-if="codeReqStatus.isPending"> Loading code...</template> <template v-else-if="codeReqStatus.isError"> <ErrorMessage :requestStatus="codeReqStatus" /> </template> <template v-else-if="codeReqStatus.isSuccess && selectedComponentCode"> <div v-if="selectedComponentCode[0]?.code" class="absolute inset-xs"> <template v-for="(item, index) in selectedComponentCode" :key="index"> <div v-if="item.code || item.message" class="pb-md"> <div v-if="selectedComponentCode.length > 1" class="text-lg font-bold pb-xs px-xs" > Code Output {{ item.func ?? index + 1 }}: </div> <ErrorMessage v-if="item.message" class="mx-1 mb-2"> {{ item.message }} </ErrorMessage> <div class="relative"> <CodeViewer v-if="item.code" :code="item.code" /> </div> </div> </template> </div> <div v-else class="flex flex-row items-center justify-center p-md text-lg italic text-neutral-500 dark:text-neutral-400" > No code generated </div> </template> </div> </template> <script lang="ts" setup> import { computed, watch } from "vue"; import { ErrorMessage } from "@si/vue-lib/design-system"; import { useComponentsStore } from "@/store/components.store"; import { useChangeSetsStore } from "@/store/change_sets.store"; import { useViewsStore } from "@/store/views.store"; import CodeViewer from "./CodeViewer.vue"; const changeSetsStore = useChangeSetsStore(); const viewStore = useViewsStore(); const componentsStore = useComponentsStore(); const selectedComponentId = computed( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion () => viewStore.selectedComponentId!, ); const codeReqStatus = componentsStore.getRequestStatus( "FETCH_COMPONENT_CODE", selectedComponentId, ); const selectedComponentCode = computed( () => componentsStore.componentCodeViewsById[viewStore.selectedComponentId || ""], ); watch( [() => changeSetsStore.selectedChangeSetLastWrittenAt], () => { if ( viewStore.selectedComponent && "changeStatus" in viewStore.selectedComponent.def && viewStore.selectedComponent.def.changeStatus !== "deleted" ) { componentsStore.FETCH_COMPONENT_CODE(selectedComponentId.value); } }, { immediate: true }, ); </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