diff --git a/src/platform/assets/components/AssetBadgeGroup.vue b/src/platform/assets/components/AssetBadgeGroup.vue
index 73194743d..fbefc93d6 100644
--- a/src/platform/assets/components/AssetBadgeGroup.vue
+++ b/src/platform/assets/components/AssetBadgeGroup.vue
@@ -5,7 +5,7 @@
:key="badge.label"
:class="
cn(
- 'px-2 py-1 rounded text-[10px] font-medium uppercase tracking-wider text-white',
+ 'px-2 py-1 rounded text-xs font-medium uppercase tracking-wider text-white',
getBadgeColor(badge.type)
)
"
diff --git a/src/platform/assets/components/AssetBrowserModal.vue b/src/platform/assets/components/AssetBrowserModal.vue
index 188daaee3..0ddbd85b1 100644
--- a/src/platform/assets/components/AssetBrowserModal.vue
+++ b/src/platform/assets/components/AssetBrowserModal.vue
@@ -1,7 +1,7 @@
@@ -23,7 +23,7 @@
v-model="searchQuery"
size="lg"
placeholder="Search assets..."
- class="max-w-[384px]"
+ class="max-w-96"
/>
@@ -80,14 +80,7 @@ const {
// Compute whether to show left panel
const shouldShowLeftPanel = computed(() => {
- // If explicitly set to false, don't show
- if (props.showLeftPanel === false) return false
-
- // If explicitly set to true, always show
- if (props.showLeftPanel === true) return true
-
- // Auto-hide if only one unique asset category (excluding "All Models")
- return availableCategories.value.length >= 3
+ return props.showLeftPanel ?? availableCategories.value.length >= 3
})
// Handle close button - call both the prop callback and emit the event
diff --git a/src/platform/assets/components/AssetCard.stories.ts b/src/platform/assets/components/AssetCard.stories.ts
index ffce30d55..f4cd9f063 100644
--- a/src/platform/assets/components/AssetCard.stories.ts
+++ b/src/platform/assets/components/AssetCard.stories.ts
@@ -46,7 +46,8 @@ type Story = StoryObj
// Default story with all data provided
export const Default: Story = {
args: {
- asset: createAssetData()
+ asset: createAssetData(),
+ interactive: true
},
parameters: {
docs: {
@@ -58,6 +59,22 @@ export const Default: Story = {
}
}
+// Non-interactive story
+export const NonInteractive: Story = {
+ args: {
+ asset: createAssetData(),
+ interactive: false
+ },
+ parameters: {
+ docs: {
+ description: {
+ story:
+ 'AssetCard in non-interactive mode - renders as div without button semantics.'
+ }
+ }
+ }
+}
+
// Story with all edge cases in a grid layout
export const EdgeCases: Story = {
render: () => ({
@@ -139,6 +156,7 @@ export const EdgeCases: Story = {
v-for="asset in edgeCases"
:key="asset.id"
:asset="asset"
+ :interactive="true"
@select="(asset) => console.log('Selected:', asset)"
/>
diff --git a/src/platform/assets/components/AssetCard.vue b/src/platform/assets/components/AssetCard.vue
index 3a2458954..89621b8ac 100644
--- a/src/platform/assets/components/AssetCard.vue
+++ b/src/platform/assets/components/AssetCard.vue
@@ -1,23 +1,31 @@
-
+