ruv commited on
Commit
a3d838f
·
verified ·
1 Parent(s): fc854f5

Update src/TurboNode.tsx

Browse files
Files changed (1) hide show
  1. src/TurboNode.tsx +2 -42
src/TurboNode.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React, { memo, ReactNode, useState } from 'react';
2
  import { Handle, NodeProps, Position } from 'reactflow';
3
  import { FiCloud } from 'react-icons/fi';
4
 
@@ -6,28 +6,9 @@ export type TurboNodeData = {
6
  title: string;
7
  icon?: ReactNode;
8
  subline?: string;
9
- inputFields: { id: string; label: string; value: string }[];
10
- options: { id: string; label: string; checked: boolean }[];
11
  };
12
 
13
  export default memo(({ data }: NodeProps<TurboNodeData>) => {
14
- const [formData, setFormData] = useState(data.inputFields);
15
- const [selectedOptions, setSelectedOptions] = useState(data.options);
16
-
17
- const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
18
- const { name, value } = event.target;
19
- setFormData((prevFormData) =>
20
- prevFormData.map((field) => (field.id === name ? { ...field, value } : field))
21
- );
22
- };
23
-
24
- const handleOptionChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
25
- const { name, value } = event.target;
26
- setSelectedOptions((prevOptions) =>
27
- prevOptions.map((option) => (option.id === name ? { ...option, checked: option.label === value } : option))
28
- );
29
- };
30
-
31
  return (
32
  <>
33
  <div className="cloud gradient">
@@ -42,27 +23,6 @@ export default memo(({ data }: NodeProps<TurboNodeData>) => {
42
  <div>
43
  <div className="title">{data.title}</div>
44
  {data.subline && <div className="subline">{data.subline}</div>}
45
- {formData.map((field) => (
46
- <div key={field.id}>
47
- <label htmlFor={field.id}>{field.label}</label>
48
- <input
49
- type="text"
50
- id={field.id}
51
- name={field.id}
52
- value={field.value}
53
- onChange={handleInputChange}
54
- />
55
- </div>
56
- ))}
57
- {selectedOptions.map((option) => (
58
- <div key={option.id}>
59
- <label htmlFor={option.id}>{option.label}</label>
60
- <select id={option.id} name={option.id} value={option.checked ? option.label : ''} onChange={handleOptionChange}>
61
- <option value="">Select an option</option>
62
- <option value={option.label}>{option.label}</option>
63
- </select>
64
- </div>
65
- ))}
66
  </div>
67
  </div>
68
  <Handle type="target" position={Position.Left} />
@@ -71,4 +31,4 @@ export default memo(({ data }: NodeProps<TurboNodeData>) => {
71
  </div>
72
  </>
73
  );
74
- });
 
1
+ import React, { memo, ReactNode } from 'react';
2
  import { Handle, NodeProps, Position } from 'reactflow';
3
  import { FiCloud } from 'react-icons/fi';
4
 
 
6
  title: string;
7
  icon?: ReactNode;
8
  subline?: string;
 
 
9
  };
10
 
11
  export default memo(({ data }: NodeProps<TurboNodeData>) => {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  return (
13
  <>
14
  <div className="cloud gradient">
 
23
  <div>
24
  <div className="title">{data.title}</div>
25
  {data.subline && <div className="subline">{data.subline}</div>}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  </div>
27
  </div>
28
  <Handle type="target" position={Position.Left} />
 
31
  </div>
32
  </>
33
  );
34
+ });