diff --git a/package-lock.json b/package-lock.json index e2bbb85..3cc1526 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "payload-feature-flags", - "version": "0.0.16", + "version": "0.0.17", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "payload-feature-flags", - "version": "0.0.16", + "version": "0.0.17", "license": "MIT", "devDependencies": { "@eslint/eslintrc": "^3.2.0", diff --git a/package.json b/package.json index d920a1e..7d8b663 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@xtr-dev/payload-feature-flags", - "version": "0.0.16", + "version": "0.0.17", "description": "Feature flags plugin for Payload CMS - manage feature toggles, A/B tests, and gradual rollouts", "license": "MIT", "type": "module", diff --git a/src/index.ts b/src/index.ts index 3b03e47..4924c38 100644 --- a/src/index.ts +++ b/src/index.ts @@ -34,6 +34,11 @@ export type PayloadFeatureFlagsConfig = { * Override collection configuration */ collectionOverrides?: CollectionOverrides + /** + * Enable custom list view for feature flags + * @default false + */ + enableCustomListView?: boolean } export const payloadFeatureFlags = @@ -44,6 +49,7 @@ export const payloadFeatureFlags = defaultValue = false, enableRollouts = true, enableVariants = true, + enableCustomListView = false, collectionOverrides, } = pluginOptions @@ -163,6 +169,15 @@ export const payloadFeatureFlags = useAsTitle: 'name', group: 'Configuration', description: 'Manage feature flags for your application', + components: enableCustomListView ? { + ...collectionOverrides?.admin?.components, + views: { + ...collectionOverrides?.admin?.components?.views, + list: { + Component: '@xtr-dev/payload-feature-flags/views#FeatureFlagsView' + } + } + } : collectionOverrides?.admin?.components || {}, ...(collectionOverrides?.admin || {}), }, fields,