Skip to main content
Glama
CustomizeTabs.vue1.94 kB
<template> <TabGroup v-if="featureFlagsStore.MODULES_TAB" ref="group" :startSelectedTabSlug="tabContentSlug" marginTop="2xs" @update:selected-tab="onTabChange" > <TabGroupItem slug="assets"> <template #label> <div class="flex flex-row items-center gap-xs"> <div>Assets Installed</div> <PillCounter :count="assetList.length" /> </div> </template> <slot name="assets" /> </TabGroupItem> <TabGroupItem slug="packages" label="Modules (Internal)"> <slot name="packages" /> </TabGroupItem> </TabGroup> <!-- NOTE(nick): do not use the tab group if only one slot is used --> <div v-else> <slot name="assets" /> </div> </template> <script lang="ts" setup> import { useRouter, useRoute, RouteLocationNamedRaw } from "vue-router"; import { PropType, ref } from "vue"; import { storeToRefs } from "pinia"; import { TabGroup, TabGroupItem, PillCounter } from "@si/vue-lib/design-system"; import { useFeatureFlagsStore } from "@/store/feature_flags.store"; import { useAssetStore } from "@/store/asset.store"; const router = useRouter(); const route = useRoute(); const featureFlagsStore = useFeatureFlagsStore(); const assetStore = useAssetStore(); const { variantList: assetList } = storeToRefs(assetStore); const group = ref<InstanceType<typeof TabGroup>>(); defineProps({ tabContentSlug: { type: String as PropType<"assets" | "newassets" | "packages">, required: true, }, }); function onTabChange(tabSlug?: string) { // keep selections in the URL bar as you move to asset tab // NOT FOR PAGE LOAD if (tabSlug && route.name !== `workspace-lab-${tabSlug}`) { const params = { name: `workspace-lab-${tabSlug}`, } as RouteLocationNamedRaw; if (tabSlug !== "packages") params.query = assetStore.syncSelectionIntoUrl(true); router.push(params); } } defineExpose({ group }); </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