Fixed Custom Icon Persistance Across New View Creations (#9070)
closes #8714
This commit is contained in:
@ -30,7 +30,7 @@ import { viewPickerIsPersistingComponentState } from '@/views/view-picker/states
|
||||
import { viewPickerKanbanFieldMetadataIdComponentState } from '@/views/view-picker/states/viewPickerKanbanFieldMetadataIdComponentState';
|
||||
import { viewPickerSelectedIconComponentState } from '@/views/view-picker/states/viewPickerSelectedIconComponentState';
|
||||
import { viewPickerTypeComponentState } from '@/views/view-picker/states/viewPickerTypeComponentState';
|
||||
import { useState } from 'react';
|
||||
import { useMemo, useState } from 'react';
|
||||
|
||||
const StyledNoKanbanFieldAvailableContainer = styled.div`
|
||||
color: ${({ theme }) => theme.font.color.light};
|
||||
@ -41,7 +41,7 @@ const StyledNoKanbanFieldAvailableContainer = styled.div`
|
||||
`;
|
||||
|
||||
export const ViewPickerContentCreateMode = () => {
|
||||
const { setViewPickerMode } = useViewPickerMode();
|
||||
const { viewPickerMode, setViewPickerMode } = useViewPickerMode();
|
||||
const [hasManuallySelectedIcon, setHasManuallySelectedIcon] = useState(false);
|
||||
|
||||
const [viewPickerInputName, setViewPickerInputName] =
|
||||
@ -92,9 +92,20 @@ export const ViewPickerContentCreateMode = () => {
|
||||
const defaultIcon =
|
||||
viewPickerType === ViewType.Kanban ? 'IconLayoutKanban' : 'IconTable';
|
||||
|
||||
const selectedIcon = hasManuallySelectedIcon
|
||||
? viewPickerSelectedIcon
|
||||
: defaultIcon;
|
||||
const selectedIcon = useMemo(() => {
|
||||
if (hasManuallySelectedIcon) {
|
||||
return viewPickerSelectedIcon;
|
||||
}
|
||||
if (viewPickerMode === 'create-from-current') {
|
||||
return viewPickerSelectedIcon || defaultIcon;
|
||||
}
|
||||
return defaultIcon;
|
||||
}, [
|
||||
hasManuallySelectedIcon,
|
||||
viewPickerSelectedIcon,
|
||||
viewPickerMode,
|
||||
defaultIcon,
|
||||
]);
|
||||
|
||||
const onIconChange = ({ iconKey }: { iconKey: string }) => {
|
||||
setViewPickerIsDirty(true);
|
||||
|
||||
Reference in New Issue
Block a user