hold command to freeze tooltip

This commit is contained in:
2024-10-25 19:48:02 +02:00
parent cf85f4a97b
commit 4fc3462ec9
4 changed files with 9 additions and 5 deletions
+6 -2
View File
@@ -112,10 +112,11 @@ const Map: React.FC<MapProps> = ({ imageUrl, regions = [], cities = [], pois = [
return { tooltipX, tooltipY };
}
return { tooltipX: clientX, tooltipY: clientY };
return { tooltipX: clientX + 10, tooltipY: clientY + 10 };
};
const handleMouseEnterRegion = (event: React.MouseEvent<SVGPolygonElement>, region: MapRegion) => {
if (event.metaKey || event.ctrlKey) return;
const { tooltipX, tooltipY } = setDynamicTooltipPosition(event.pageX, event.pageY);
setTooltip({
visible: true,
@@ -126,6 +127,7 @@ const Map: React.FC<MapProps> = ({ imageUrl, regions = [], cities = [], pois = [
};
const handleMouseEnterLocation = (event: React.MouseEvent<SVGGElement>, location: MapLocation) => {
if (event.metaKey || event.ctrlKey) return;
const { tooltipX, tooltipY } = setDynamicTooltipPosition(event.clientX, event.clientY);
setTooltip({
visible: true,
@@ -136,6 +138,7 @@ const Map: React.FC<MapProps> = ({ imageUrl, regions = [], cities = [], pois = [
};
const handleMouseMove = (event: React.MouseEvent) => {
if (event.metaKey || event.ctrlKey) return;
const { tooltipX, tooltipY } = setDynamicTooltipPosition(event.clientX, event.clientY);
setTooltip(prev => ({
...prev,
@@ -144,7 +147,8 @@ const Map: React.FC<MapProps> = ({ imageUrl, regions = [], cities = [], pois = [
}));
};
const handleMouseLeave = () => {
const handleMouseLeave = (event: React.MouseEvent) => {
if (event.metaKey || event.ctrlKey) return;
setTooltip({ visible: false, x: 0, y: 0, content: null });
};
+1 -1
View File
@@ -5,7 +5,7 @@ interface CapitalProps {
city: MapLocation;
onMouseEnter: (event: React.MouseEvent<SVGGElement>, city: MapLocation) => void;
onMouseMove: (event: React.MouseEvent<SVGGElement>) => void;
onMouseLeave: () => void;
onMouseLeave: (event: React.MouseEvent) => void;
}
const Capital: React.FC<CapitalProps> = ({ key, city, onMouseEnter, onMouseMove, onMouseLeave }) => (
+1 -1
View File
@@ -5,7 +5,7 @@ interface CityProps {
city: MapLocation;
onMouseEnter: (event: React.MouseEvent<SVGGElement>, city: MapLocation) => void;
onMouseMove: (event: React.MouseEvent<SVGGElement>) => void;
onMouseLeave: () => void;
onMouseLeave: (event: React.MouseEvent) => void;
}
const City: React.FC<CityProps> = ({ key, city, onMouseEnter, onMouseMove, onMouseLeave }) => (
+1 -1
View File
@@ -5,7 +5,7 @@ interface PoiProps {
poi: MapLocation;
onMouseEnter: (event: React.MouseEvent<SVGGElement>, city: MapLocation) => void;
onMouseMove: (event: React.MouseEvent<SVGGElement>) => void;
onMouseLeave: () => void;
onMouseLeave: (event: React.MouseEvent) => void;
}
const City: React.FC<PoiProps> = ({ key, poi, onMouseMove, onMouseLeave, onMouseEnter }) => (