UX: Gate the buttons behind a feature flag

This commit is contained in:
DrJKL
2025-12-01 13:31:42 -08:00
parent 23d01f0b34
commit 23d8ccd394
2 changed files with 8 additions and 1 deletions

View File

@@ -9,7 +9,8 @@ export enum ServerFeatureFlag {
SUPPORTS_PREVIEW_METADATA = 'supports_preview_metadata',
MAX_UPLOAD_SIZE = 'max_upload_size',
MANAGER_SUPPORTS_V4 = 'extension.manager.supports_v4',
MODEL_UPLOAD_BUTTON_ENABLED = 'model_upload_button_enabled'
MODEL_UPLOAD_BUTTON_ENABLED = 'model_upload_button_enabled',
MODEL_EDIT_ENABLED = 'model_edit_enabled'
}
/**
@@ -31,6 +32,9 @@ export function useFeatureFlags() {
ServerFeatureFlag.MODEL_UPLOAD_BUTTON_ENABLED,
false
)
},
get modelEditEnabled() {
return api.getServerFeature(ServerFeatureFlag.MODEL_EDIT_ENABLED, false)
}
})

View File

@@ -33,6 +33,7 @@
<AssetBadgeGroup :badges="asset.badges" />
<IconGroup
v-if="flags.modelEditEnabled"
:class="
cn(
'absolute top-2 right-2 invisible group-hover:visible',
@@ -128,6 +129,7 @@ import IconTextButton from '@/components/button/IconTextButton.vue'
import MoreButton from '@/components/button/MoreButton.vue'
import EditableText from '@/components/common/EditableText.vue'
import { showConfirmDialog } from '@/components/dialog/confirm/confirmDialog'
import { useFeatureFlags } from '@/composables/useFeatureFlags'
import AssetBadgeGroup from '@/platform/assets/components/AssetBadgeGroup.vue'
import type { AssetDisplayItem } from '@/platform/assets/composables/useAssetBrowser'
import { assetService } from '@/platform/assets/services/assetService'
@@ -147,6 +149,7 @@ defineEmits<{
const { t } = useI18n()
const settingStore = useSettingStore()
const { closeDialog } = useDialogStore()
const { flags } = useFeatureFlags()
const dropdownMenuButton = useTemplateRef<InstanceType<typeof MoreButton>>(
'dropdown-menu-button'