From 62e7709dd89e1a61c27c5ea4edc30f02167eeff9 Mon Sep 17 00:00:00 2001
From: tusmester <tusmester@gmail.com>
Date: Thu, 16 Nov 2023 10:47:16 +0100
Subject: [PATCH] Feature flag for Categories field.

---
 .../components/content-list/contenttype-list.tsx    | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/apps/sensenet/src/components/content-list/contenttype-list.tsx b/apps/sensenet/src/components/content-list/contenttype-list.tsx
index f440e0c16..3f5594daf 100644
--- a/apps/sensenet/src/components/content-list/contenttype-list.tsx
+++ b/apps/sensenet/src/components/content-list/contenttype-list.tsx
@@ -1,12 +1,21 @@
 import React, { lazy, useState } from 'react'
 import { PATHS } from '../../application-paths'
 import { Switch } from '@sensenet/controls-react'
+import { useRepository } from '@sensenet/hooks-react'
 
 const ContentComponent = lazy(() => import(/* webpackChunkName: "content" */ '../content'))
 
 const ContentTypeList: React.FC = () => {
+  const repository = useRepository()
   const [showHiddenTypes, setShowHiddenTypes] = useState(false)
+  const categoryField = repository.schemas.getFieldTypeByName('Categories')
+  const isCategoryFieldAvailable = categoryField !== undefined
+
   const renderBeforeGrid = () => {
+    if (!isCategoryFieldAvailable) {
+      return <></>
+    }
+
     return (
       <div style={{ marginTop: '20px', marginBottom: '20px' }}>
         <label htmlFor="showHiddenTypes" style={{ marginRight: '10px' }}>
@@ -23,7 +32,9 @@ const ContentTypeList: React.FC = () => {
   }
 
   const contentTypeQuery =
-    "+TypeIs:'ContentType'" + (!showHiddenTypes ? ' -Categories:*HideByDefault*' : '') + ' .AUTOFILTERS:OFF'
+    "+TypeIs:'ContentType'" +
+    (isCategoryFieldAvailable && !showHiddenTypes ? ' -Categories:*HideByDefault*' : '') +
+    ' .AUTOFILTERS:OFF'
 
   return (
     <ContentComponent