Files
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

42 lines
870 B
JavaScript

'use client';
import { useZAxes } from "../hooks/useZAxis.js";
import { useXAxes, useYAxes } from "../hooks/useAxis.js";
/**
* Helper to select an axis definition according to its direction and id.
*/
export function useAxis({
axisDirection,
axisId
}) {
const {
xAxis,
xAxisIds
} = useXAxes();
const {
yAxis,
yAxisIds
} = useYAxes();
const {
zAxis,
zAxisIds
} = useZAxes();
switch (axisDirection) {
case 'x':
{
const id = typeof axisId === 'string' ? axisId : xAxisIds[axisId ?? 0];
return xAxis[id];
}
case 'y':
{
const id = typeof axisId === 'string' ? axisId : yAxisIds[axisId ?? 0];
return yAxis[id];
}
case 'z':
default:
{
const id = typeof axisId === 'string' ? axisId : zAxisIds[axisId ?? 0];
return zAxis[id];
}
}
}