diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json
index 17c99e6186..79d71370a6 100644
--- a/invokeai/frontend/web/public/locales/en.json
+++ b/invokeai/frontend/web/public/locales/en.json
@@ -1664,6 +1664,8 @@
"storeNotInitialized": "Store is not initialized"
},
"controlLayers": {
+ "regional": "Regional",
+ "global": "Global",
"canvas": "Canvas",
"bookmark": "Bookmark for Quick Switch",
"fitBboxToLayers": "Fit Bbox To Layers",
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx
index 33357e572c..413eb63106 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx
@@ -34,7 +34,7 @@ export const CanvasAddEntityButtons = memo(() => {
{t('controlLayers.controlLayer')}
} onClick={addIPAdapter}>
- {t('controlLayers.globalIPAdapter')}
+ {t('controlLayers.ipAdapter')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx
index 694d50aab6..d3289bbd1d 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx
@@ -1,4 +1,4 @@
-import { IconButton, Menu, MenuButton, MenuItem, MenuList } from '@invoke-ai/ui-library';
+import { IconButton, Menu, MenuButton, MenuGroup, MenuItem, MenuList } from '@invoke-ai/ui-library';
import {
useAddControlLayer,
useAddInpaintMask,
@@ -31,21 +31,27 @@ export const EntityListGlobalActionBarAddLayerMenu = memo(() => {
data-testid="control-layers-add-layer-menu-button"
/>
- } onClick={addInpaintMask}>
- {t('controlLayers.inpaintMask')}
-
- } onClick={addRegionalGuidance}>
- {t('controlLayers.regionalGuidance')}
-
- } onClick={addRasterLayer}>
- {t('controlLayers.rasterLayer')}
-
- } onClick={addControlLayer}>
- {t('controlLayers.controlLayer')}
-
- } onClick={addIPAdapter}>
- {t('controlLayers.globalIPAdapter')}
-
+
+ } onClick={addIPAdapter}>
+ {t('controlLayers.ipAdapter')}
+
+
+
+ } onClick={addInpaintMask}>
+ {t('controlLayers.inpaintMask')}
+
+ } onClick={addRegionalGuidance}>
+ {t('controlLayers.regionalGuidance')}
+
+
+
+ } onClick={addRasterLayer}>
+ {t('controlLayers.rasterLayer')}
+
+ } onClick={addControlLayer}>
+ {t('controlLayers.controlLayer')}
+
+
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTitle.ts b/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTitle.ts
index c3bdd55f6c..4ce99c01cc 100644
--- a/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTitle.ts
+++ b/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTitle.ts
@@ -33,7 +33,7 @@ export const useEntityTitle = (entityIdentifier: CanvasEntityIdentifier) => {
case 'raster_layer':
return t('controlLayers.rasterLayer');
case 'ip_adapter':
- return t('controlLayers.globalIPAdapter');
+ return t('controlLayers.ipAdapter');
case 'regional_guidance':
return t('controlLayers.regionalGuidance');
default:
diff --git a/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeString.ts b/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeString.ts
index 5144195c49..ed5c39ecfb 100644
--- a/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeString.ts
+++ b/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeString.ts
@@ -16,7 +16,7 @@ export const useEntityTypeString = (type: CanvasEntityIdentifier['type'], plural
case 'regional_guidance':
return plural ? t('controlLayers.regionalGuidance_withCount_other') : t('controlLayers.regionalGuidance');
case 'ip_adapter':
- return plural ? t('controlLayers.globalIPAdapter_withCount_other') : t('controlLayers.globalIPAdapter');
+ return plural ? t('controlLayers.ipAdapter_withCount_other') : t('controlLayers.ipAdapter');
default:
return '';
}
diff --git a/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeTitle.ts b/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeTitle.ts
index 3782612508..c693db533c 100644
--- a/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeTitle.ts
+++ b/invokeai/frontend/web/src/features/controlLayers/hooks/useEntityTypeTitle.ts
@@ -22,7 +22,7 @@ export const useEntityTypeTitle = (type: CanvasEntityIdentifier['type']): string
case 'regional_guidance':
return t('controlLayers.regionalGuidance_withCount', { count, context });
case 'ip_adapter':
- return t('controlLayers.globalIPAdapters_withCount', { count, context });
+ return t('controlLayers.ipAdapters_withCount', { count, context });
default:
return '';
}