diff --git a/packages/app/src/components/LoopControllerNodePorts.tsx b/packages/app/src/components/LoopControllerNodePorts.tsx index b859369d7..686bf3175 100644 --- a/packages/app/src/components/LoopControllerNodePorts.tsx +++ b/packages/app/src/components/LoopControllerNodePorts.tsx @@ -12,6 +12,8 @@ import { useStableCallback } from '../hooks/useStableCallback.js'; import { Port } from './Port.js'; import { useDependsOnPlugins } from '../hooks/useDependsOnPlugins'; import { type DraggingWireDef } from '../state/graphBuilder'; +import { useRecoilValue } from 'recoil'; +import { preservePortTextCaseState } from '../state/settings.js'; export type NodePortsProps = { node: ChartNode; @@ -54,6 +56,8 @@ export const LoopControllerNodePorts: FC = ({ }) => { const { inputDefinitions, outputDefinitions } = useNodeIO(node.id)!; + const preservePortTextCase = useRecoilValue(preservePortTextCaseState); + const handlePortMouseDown = useStableCallback((event: MouseEvent, port: PortId, isInput: boolean) => { event.stopPropagation(); event.preventDefault(); @@ -105,6 +109,7 @@ export const LoopControllerNodePorts: FC = ({ (draggingWire?.endNodeId === node.id && draggingWire?.endPortId === input.id); return ( = ({ (draggingWire?.startNodeId === node.id && draggingWire?.startPortId === output.id); return ( = ({ (draggingWire?.endNodeId === node.id && draggingWire?.endPortId === input.id); return ( = ({ (draggingWire?.startNodeId === node.id && draggingWire?.startPortId === output.id); return ( = ({ onPortMouseOut, }) => { const { inputDefinitions, outputDefinitions } = useNodeIO(node.id)!; + const preservePortTextCase = useRecoilValue(preservePortTextCaseState); const handlePortMouseDown = useStableCallback((event: MouseEvent, port: PortId, isInput: boolean) => { event.stopPropagation(); @@ -88,6 +91,7 @@ export const NodePorts: FC = ({ = ({ (draggingWire?.startNodeId === node.id && draggingWire?.startPortId === output.id); return ( ; onMouseDown?: (event: MouseEvent, port: PortId, isInput: boolean) => void; @@ -52,6 +53,7 @@ export const Port: FC<{ onMouseUp, onMouseOver, onMouseOut, + preservePortCase, }) => { const ref = useRef(null); @@ -114,7 +116,7 @@ export const Port: FC<{ > {canDragTo &&
}
-
+
{title}
diff --git a/packages/app/src/components/SettingsModal.tsx b/packages/app/src/components/SettingsModal.tsx index 49998f747..67a7198dd 100644 --- a/packages/app/src/components/SettingsModal.tsx +++ b/packages/app/src/components/SettingsModal.tsx @@ -4,6 +4,7 @@ import { checkForUpdatesState, defaultExecutorState, executorOptions, + preservePortTextCaseState, previousDataPerNodeToKeepState, recordExecutionsState, settingsState, @@ -123,6 +124,7 @@ export const GeneralSettingsPage: FC = () => { const [defaultExecutor, setDefaultExecutor] = useRecoilState(defaultExecutorState); const [previousDataPerNodeToKeep, setPreviousDataPerNodeToKeep] = useRecoilState(previousDataPerNodeToKeepState); const [zoomSensitivity, setZoomSensitivity] = useRecoilState(zoomSensitivityState); + const [preservePortTextCase, setPreservePortTextCase] = useRecoilState(preservePortTextCaseState); return (
@@ -135,6 +137,22 @@ export const GeneralSettingsPage: FC = () => { /> )} + + {() => ( + <> + { + setPreservePortTextCase(e.target.checked); + }} + /> + + This WILL preserve the text fromat of the node port names. e.g. `newInputPort` will be shown instead of `NEWINPUTPORT` when enabled + + + )} + {() => ( <> diff --git a/packages/app/src/components/nodeStyles.ts b/packages/app/src/components/nodeStyles.ts index 469293305..83b08c243 100644 --- a/packages/app/src/components/nodeStyles.ts +++ b/packages/app/src/components/nodeStyles.ts @@ -240,10 +240,13 @@ export const nodeStyles = css` position: relative; } + .port-label-uppercase { + text-transform: uppercase; + } + .port-label { color: var(--grey-lighter); font-size: 10px; - text-transform: uppercase; letter-spacing: 1px; margin: 0 4px; white-space: nowrap; diff --git a/packages/app/src/state/settings.ts b/packages/app/src/state/settings.ts index 4942acc3c..11b3c7b87 100644 --- a/packages/app/src/state/settings.ts +++ b/packages/app/src/state/settings.ts @@ -68,6 +68,12 @@ export const previousDataPerNodeToKeepState = atom({ effects: [persistAtom], }); +export const preservePortTextCaseState = atom({ + key: 'preservePortTextCase', + default: false, + effects: [persistAtom], +}); + export const checkForUpdatesState = atom({ key: 'checkForUpdates', default: true,