diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx
index afb15ae96c..032b9c3b01 100644
--- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx
@@ -1,5 +1,5 @@
import type { ContextMenuProps } from '@invoke-ai/ui-library';
-import { ContextMenu, MenuGroup, MenuItem, MenuList } from '@invoke-ai/ui-library';
+import { ContextMenu, MenuGroup, MenuItem, MenuList, Tooltip } from '@invoke-ai/ui-library';
import { createSelector } from '@reduxjs/toolkit';
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
import { autoAddBoardIdChanged, selectGallerySlice } from 'features/gallery/store/gallerySlice';
@@ -88,9 +88,11 @@ const BoardContextMenu = ({ board, board_id, setBoardToDelete, children }: Props
{t('boards.unarchiveBoard')}
) : (
- } onClick={handleArchive}>
- {t('boards.archiveBoard')}
-
+
+ } onClick={handleArchive} isDisabled={isSelectedForAutoAdd}>
+ {t('boards.archiveBoard')}
+
+
))}
{board && }
diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx
index 5f684d9bb0..125e2a93c1 100644
--- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx
@@ -56,10 +56,10 @@ const GalleryBoard = ({ board, isSelected, setBoardToDelete }: GalleryBoardProps
const handleSelectBoard = useCallback(() => {
dispatch(boardIdSelected({ boardId: board_id }));
- if (autoAssignBoardOnClick) {
+ if (autoAssignBoardOnClick && !board.archived) {
dispatch(autoAddBoardIdChanged(board_id));
}
- }, [board_id, autoAssignBoardOnClick, dispatch]);
+ }, [board_id, autoAssignBoardOnClick, dispatch, board.archived]);
const [updateBoard, { isLoading: isUpdateBoardLoading }] = useUpdateBoardMutation();
diff --git a/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts b/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts
index 478bea9f18..8798673e0d 100644
--- a/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts
+++ b/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts
@@ -2,9 +2,11 @@ import type { BoardId } from 'features/gallery/store/types';
import { t } from 'i18next';
import { useListAllBoardsQuery } from 'services/api/endpoints/boards';
import { selectListBoardsQueryArgs } from '../../../features/gallery/store/gallerySelectors';
+import { useAppSelector } from '../../../app/store/storeHooks';
export const useBoardName = (board_id: BoardId) => {
- const { boardName } = useListAllBoardsQuery({}, {
+ const queryArgs = useAppSelector(selectListBoardsQueryArgs);
+ const { boardName } = useListAllBoardsQuery(queryArgs, {
selectFromResult: ({ data }) => {
const selectedBoard = data?.find((b) => b.board_id === board_id);
const boardName = selectedBoard?.board_name || t('boards.uncategorized');