Newer
Older
import { currentOverviewImageSelector } from '@/redux/project/project.selectors';
import { useSelector } from 'react-redux';
import { OverviewImageLinkConfig } from '../OverviewImageModal.types';
import { getOverviewImageLinkSize } from './getOverviewImageLinkSize';
import { useOvervieImageLinkActions } from './useOverviewImageLinkActions';
interface UseOverviewImageLinksArgs {
sizeFactor: number;
}
export const useOverviewImageLinkConfigs = ({
sizeFactor,
}: UseOverviewImageLinksArgs): OverviewImageLinkConfig[] => {
const { handleOnLinkClick } = useOvervieImageLinkActions();
const currentImage = useSelector(currentOverviewImageSelector);
if (!currentImage || !sizeFactor) return [];
const linkConfigs = currentImage.links.map(link => {
return {
idObject: link.idObject,
size: getOverviewImageLinkSize(link, { sizeFactor }),
onClick: () => handleOnLinkClick(link),
};
});
return linkConfigs;
};