- {node.data.node.template[templateName].type ===
- "str" &&
- !node.data.node.template[templateName].options ? (
+ {node.data.node.template[
+ templateName
+ ].type === "str" &&
+ !node.data.node.template[
+ templateName
+ ].options ? (
- {node.data.node.template[templateName]
- .list ? (
+ {node.data.node.template[
+ templateName
+ ].list ? (
- ) : node.data.node.template[templateName]
- .multiline ? (
+ ) : node.data.node.template[
+ templateName
+ ].multiline ? (
@@ -305,16 +321,19 @@ export default function CodeTabsComponent({
disabled={false}
editNode={true}
value={
- !node.data.node.template[
+ !node.data.node
+ .template[
templateName
].value ||
- node.data.node.template[
+ node.data.node
+ .template[
templateName
].value === ""
? ""
: node.data.node
- .template[templateName]
- .value
+ .template[
+ templateName
+ ].value
}
onChange={(target) => {
setData((old) => {
@@ -331,7 +350,9 @@ export default function CodeTabsComponent({
node["data"]["id"],
target,
node.data.node
- .template[templateName]
+ .template[
+ templateName
+ ]
);
}}
/>
@@ -342,16 +363,20 @@ export default function CodeTabsComponent({
editNode={true}
disabled={false}
password={
- node.data.node.template[templateName]
- .password ?? false
+ node.data.node.template[
+ templateName
+ ].password ?? false
}
value={
- !node.data.node.template[templateName]
- .value ||
- node.data.node.template[templateName]
- .value === ""
+ !node.data.node.template[
+ templateName
+ ].value ||
+ node.data.node.template[
+ templateName
+ ].value === ""
? ""
- : node.data.node.template[
+ : node.data.node
+ .template[
templateName
].value
}
@@ -369,20 +394,24 @@ export default function CodeTabsComponent({
tweaks.buildTweakObject(
node["data"]["id"],
target,
- node.data.node.template[templateName]
+ node.data.node.template[
+ templateName
+ ]
);
}}
/>
)}
- ) : node.data.node.template[templateName].type ===
- "bool" ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "bool" ? (
{" "}
{
setData((old) => {
@@ -398,24 +427,30 @@ export default function CodeTabsComponent({
tweaks.buildTweakObject(
node["data"]["id"],
e,
- node.data.node.template[templateName]
+ node.data.node.template[
+ templateName
+ ]
);
}}
size="small"
disabled={false}
/>
- ) : node.data.node.template[templateName].type ===
- "file" ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "file" ? (
@@ -423,17 +458,22 @@ export default function CodeTabsComponent({
editNode={true}
disabled={false}
value={
- node.data.node.template[templateName]
- .value ?? ""
+ node.data.node.template[
+ templateName
+ ].value ?? ""
}
- onChange={(target: any) => {}}
+ onChange={(
+ target: any
+ ) => {}}
fileTypes={
- node.data.node.template[templateName]
- .fileTypes
+ node.data.node.template[
+ templateName
+ ].fileTypes
}
suffixes={
- node.data.node.template[templateName]
- .suffixes
+ node.data.node.template[
+ templateName
+ ].suffixes
}
onFileChange={(
value: any
@@ -445,20 +485,24 @@ export default function CodeTabsComponent({
>
- ) : node.data.node.template[templateName].type ===
- "float" ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "float" ? (
{
setData((old) => {
@@ -474,22 +518,27 @@ export default function CodeTabsComponent({
tweaks.buildTweakObject(
node["data"]["id"],
target,
- node.data.node.template[templateName]
+ node.data.node.template[
+ templateName
+ ]
);
}}
/>
- ) : node.data.node.template[templateName].type ===
- "str" &&
- node.data.node.template[templateName]
- .options ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "str" &&
+ node.data.node.template[
+ templateName
+ ].options ? (
{
setData((old) => {
@@ -505,34 +554,43 @@ export default function CodeTabsComponent({
tweaks.buildTweakObject(
node["data"]["id"],
target,
- node.data.node.template[templateName]
+ node.data.node.template[
+ templateName
+ ]
);
}}
value={
- !node.data.node.template[templateName]
- .value ||
- node.data.node.template[templateName]
- .value === ""
+ !node.data.node.template[
+ templateName
+ ].value ||
+ node.data.node.template[
+ templateName
+ ].value === ""
? ""
- : node.data.node.template[templateName]
- .value
+ : node.data.node.template[
+ templateName
+ ].value
}
>
- ) : node.data.node.template[templateName].type ===
- "int" ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "int" ? (
{
setData((old) => {
@@ -548,22 +606,28 @@ export default function CodeTabsComponent({
tweaks.buildTweakObject(
node["data"]["id"],
target,
- node.data.node.template[templateName]
+ node.data.node.template[
+ templateName
+ ]
);
}}
/>
- ) : node.data.node.template[templateName].type ===
- "prompt" ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "prompt" ? (
@@ -571,12 +635,15 @@ export default function CodeTabsComponent({
editNode={true}
disabled={false}
value={
- !node.data.node.template[templateName]
- .value ||
- node.data.node.template[templateName]
- .value === ""
+ !node.data.node.template[
+ templateName
+ ].value ||
+ node.data.node.template[
+ templateName
+ ].value === ""
? ""
- : node.data.node.template[
+ : node.data.node
+ .template[
templateName
].value
}
@@ -594,21 +661,27 @@ export default function CodeTabsComponent({
tweaks.buildTweakObject(
node["data"]["id"],
target,
- node.data.node.template[templateName]
+ node.data.node.template[
+ templateName
+ ]
);
}}
/>
- ) : node.data.node.template[templateName].type ===
- "code" ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "code" ? (
@@ -617,12 +690,15 @@ export default function CodeTabsComponent({
disabled={false}
editNode={true}
value={
- !node.data.node.template[templateName]
- .value ||
- node.data.node.template[templateName]
- .value === ""
+ !node.data.node.template[
+ templateName
+ ].value ||
+ node.data.node.template[
+ templateName
+ ].value === ""
? ""
- : node.data.node.template[
+ : node.data.node
+ .template[
templateName
].value
}
@@ -640,14 +716,17 @@ export default function CodeTabsComponent({
tweaks.buildTweakObject(
node["data"]["id"],
target,
- node.data.node.template[templateName]
+ node.data.node.template[
+ templateName
+ ]
);
}}
/>
- ) : node.data.node.template[templateName].type ===
- "Any" ? (
+ ) : node.data.node.template[
+ templateName
+ ].type === "Any" ? (
"-"
) : (
diff --git a/src/frontend/src/components/headerComponent/index.tsx b/src/frontend/src/components/headerComponent/index.tsx
index 545a49593..8acb9583e 100644
--- a/src/frontend/src/components/headerComponent/index.tsx
+++ b/src/frontend/src/components/headerComponent/index.tsx
@@ -34,9 +34,8 @@ export default function Header() {
⛓️
- {flows.findIndex((flow) => tabId === flow.id) !== -1 && tabId !== "" && (
-
- )}
+ {flows.findIndex((flow) => tabId === flow.id) !== -1 &&
+ tabId !== "" &&
}
diff --git a/src/frontend/src/constants/constants.ts b/src/frontend/src/constants/constants.ts
index 2ac8df4fd..ab9de7f63 100644
--- a/src/frontend/src/constants/constants.ts
+++ b/src/frontend/src/constants/constants.ts
@@ -509,49 +509,12 @@ export const URL_EXCLUDED_FROM_ERROR_RETRIES = [
"/api/v1/validate/prompt",
];
-export const tabsCode = []
+export const tabsCode = [];
export function tabsArray(codes: string[], method: number) {
- if (!method) return
+ if (!method) return;
if (method === 0) {
- return (
- [
- {
- name: "cURL",
- mode: "bash",
- image: "https://curl.se/logo/curl-symbol-transparent.png",
- language: "sh",
- code: codes[0],
- },
- {
- name: "Python API",
- mode: "python",
- image:
- "https://images.squarespace-cdn.com/content/v1/5df3d8c5d2be5962e4f87890/1628015119369-OY4TV3XJJ53ECO0W2OLQ/Python+API+Training+Logo.png?format=1000w",
- language: "py",
- code: codes[1],
- },
- {
- name: "Python Code",
- mode: "python",
- image: "https://cdn-icons-png.flaticon.com/512/5968/5968350.png",
- language: "py",
- code: codes[2],
- },
- {
- name: "Chat Widget HTML",
- description:
- "Insert this code anywhere in your <body> tag. To use with react and other libs, check our
documentation.",
- mode: "html",
- image: "https://cdn-icons-png.flaticon.com/512/5968/5968350.png",
- language: "py",
- code: codes[3],
- },
- ]
- );
- }
- return (
- [
+ return [
{
name: "cURL",
mode: "bash",
@@ -570,8 +533,8 @@ export function tabsArray(codes: string[], method: number) {
{
name: "Python Code",
mode: "python",
- language: "py",
image: "https://cdn-icons-png.flaticon.com/512/5968/5968350.png",
+ language: "py",
code: codes[2],
},
{
@@ -583,13 +546,46 @@ export function tabsArray(codes: string[], method: number) {
language: "py",
code: codes[3],
},
- {
- name: "Tweaks",
- mode: "python",
- image: "https://cdn-icons-png.flaticon.com/512/5968/5968350.png",
- language: "py",
- code: codes[4],
- },
- ]
- );
-};
+ ];
+ }
+ return [
+ {
+ name: "cURL",
+ mode: "bash",
+ image: "https://curl.se/logo/curl-symbol-transparent.png",
+ language: "sh",
+ code: codes[0],
+ },
+ {
+ name: "Python API",
+ mode: "python",
+ image:
+ "https://images.squarespace-cdn.com/content/v1/5df3d8c5d2be5962e4f87890/1628015119369-OY4TV3XJJ53ECO0W2OLQ/Python+API+Training+Logo.png?format=1000w",
+ language: "py",
+ code: codes[1],
+ },
+ {
+ name: "Python Code",
+ mode: "python",
+ language: "py",
+ image: "https://cdn-icons-png.flaticon.com/512/5968/5968350.png",
+ code: codes[2],
+ },
+ {
+ name: "Chat Widget HTML",
+ description:
+ "Insert this code anywhere in your <body> tag. To use with react and other libs, check our
documentation.",
+ mode: "html",
+ image: "https://cdn-icons-png.flaticon.com/512/5968/5968350.png",
+ language: "py",
+ code: codes[3],
+ },
+ {
+ name: "Tweaks",
+ mode: "python",
+ image: "https://cdn-icons-png.flaticon.com/512/5968/5968350.png",
+ language: "py",
+ code: codes[4],
+ },
+ ];
+}
diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx
index 2cc4adc2b..5adc72e72 100644
--- a/src/frontend/src/contexts/tabsContext.tsx
+++ b/src/frontend/src/contexts/tabsContext.tsx
@@ -318,7 +318,9 @@ export function TabsProvider({ children }: { children: ReactNode }) {
// add a change event listener to the file input
input.onchange = (event: Event) => {
// check if the file type is application/json
- if ((event.target as HTMLInputElement).files[0].type === "application/json") {
+ if (
+ (event.target as HTMLInputElement).files[0].type === "application/json"
+ ) {
// get the file from the file input
const file = (event.target as HTMLInputElement).files[0];
// read the file as text
diff --git a/src/frontend/src/contexts/undoRedoContext.tsx b/src/frontend/src/contexts/undoRedoContext.tsx
index 218a5ec8a..e2473c39e 100644
--- a/src/frontend/src/contexts/undoRedoContext.tsx
+++ b/src/frontend/src/contexts/undoRedoContext.tsx
@@ -50,8 +50,12 @@ export function UndoRedoProvider({ children }) {
useEffect(() => {
// whenever the flows variable changes, we need to add one array to the past and future states
- setPast((old) => flows.map((flow, index) => (old[index] ? old[index] : [])));
- setFuture((old) => flows.map((flow, index) => (old[index] ? old[index] : [])));
+ setPast((old) =>
+ flows.map((flow, index) => (old[index] ? old[index] : []))
+ );
+ setFuture((old) =>
+ flows.map((flow, index) => (old[index] ? old[index] : []))
+ );
setTabIndex(flows.findIndex((flow) => flow.id === tabId));
}, [flows, tabId]);
diff --git a/src/frontend/src/modals/EditNodeModal/index.tsx b/src/frontend/src/modals/EditNodeModal/index.tsx
index 9447f21ac..36c38e963 100644
--- a/src/frontend/src/modals/EditNodeModal/index.tsx
+++ b/src/frontend/src/modals/EditNodeModal/index.tsx
@@ -49,13 +49,15 @@ const EditNodeModal = forwardRef(
const { reactFlowInstance } = useContext(typesContext);
let disabled =
- reactFlowInstance?.getEdges().some((edge) => edge.targetHandle === data.id) ??
- false;
+ reactFlowInstance
+ ?.getEdges()
+ .some((edge) => edge.targetHandle === data.id) ?? false;
function changeAdvanced(templateParam) {
setMyData((old) => {
let newData = cloneDeep(old);
- newData.node.template[templateParam].advanced = !newData.node.template[templateParam].advanced;
+ newData.node.template[templateParam].advanced =
+ !newData.node.template[templateParam].advanced;
return newData;
});
}
@@ -115,23 +117,32 @@ const EditNodeModal = forwardRef(
(templateParam) =>
templateParam.charAt(0) !== "_" &&
myData.node.template[templateParam].show &&
- (myData.node.template[templateParam].type === "str" ||
- myData.node.template[templateParam].type === "bool" ||
- myData.node.template[templateParam].type === "float" ||
- myData.node.template[templateParam].type === "code" ||
- myData.node.template[templateParam].type === "prompt" ||
- myData.node.template[templateParam].type === "file" ||
- myData.node.template[templateParam].type === "int")
+ (myData.node.template[templateParam].type ===
+ "str" ||
+ myData.node.template[templateParam].type ===
+ "bool" ||
+ myData.node.template[templateParam].type ===
+ "float" ||
+ myData.node.template[templateParam].type ===
+ "code" ||
+ myData.node.template[templateParam].type ===
+ "prompt" ||
+ myData.node.template[templateParam].type ===
+ "file" ||
+ myData.node.template[templateParam].type ===
+ "int")
)
.map((templateParam, index) => (
{myData.node.template[templateParam].name
? myData.node.template[templateParam].name
- : myData.node.template[templateParam].display_name}
+ : myData.node.template[templateParam]
+ .display_name}
- {myData.node.template[templateParam].type === "str" &&
+ {myData.node.template[templateParam].type ===
+ "str" &&
!myData.node.template[templateParam].options ? (
{myData.node.template[templateParam].list ? (
@@ -139,21 +150,26 @@ const EditNodeModal = forwardRef(
editNode={true}
disabled={disabled}
value={
- !myData.node.template[templateParam].value ||
- myData.node.template[templateParam].value === ""
+ !myData.node.template[templateParam]
+ .value ||
+ myData.node.template[templateParam]
+ .value === ""
? [""]
- : myData.node.template[templateParam].value
+ : myData.node.template[templateParam]
+ .value
}
onChange={(value: string[]) => {
handleOnNewValue(value, templateParam);
}}
/>
- ) : myData.node.template[templateParam].multiline ? (
+ ) : myData.node.template[templateParam]
+ .multiline ? (
{
handleOnNewValue(value, templateParam);
@@ -164,11 +180,12 @@ const EditNodeModal = forwardRef(
editNode={true}
disabled={disabled}
password={
- myData.node.template[templateParam].password ??
- false
+ myData.node.template[templateParam]
+ .password ?? false
}
value={
- myData.node.template[templateParam].value ?? ""
+ myData.node.template[templateParam]
+ .value ?? ""
}
onChange={(value) => {
handleOnNewValue(value, templateParam);
@@ -176,73 +193,104 @@ const EditNodeModal = forwardRef(
/>
)}
- ) : myData.node.template[templateParam].type === "bool" ? (
+ ) : myData.node.template[templateParam].type ===
+ "bool" ? (
{" "}
{
- handleOnNewValue(isEnabled, templateParam);
+ handleOnNewValue(
+ isEnabled,
+ templateParam
+ );
}}
size="small"
/>
- ) : myData.node.template[templateParam].type === "float" ? (
+ ) : myData.node.template[templateParam].type ===
+ "float" ? (
{
handleOnNewValue(value, templateParam);
}}
/>
- ) : myData.node.template[templateParam].type === "str" &&
+ ) : myData.node.template[templateParam].type ===
+ "str" &&
myData.node.template[templateParam].options ? (
handleOnNewValue(value, templateParam)}
+ options={
+ myData.node.template[templateParam]
+ .options
+ }
+ onSelect={(value) =>
+ handleOnNewValue(value, templateParam)
+ }
value={
- myData.node.template[templateParam].value ??
- "Choose an option"
+ myData.node.template[templateParam]
+ .value ?? "Choose an option"
}
>
- ) : myData.node.template[templateParam].type === "int" ? (
+ ) : myData.node.template[templateParam].type ===
+ "int" ? (
{
handleOnNewValue(value, templateParam);
}}
/>
- ) : myData.node.template[templateParam].type === "file" ? (
+ ) : myData.node.template[templateParam].type ===
+ "file" ? (
{
handleOnNewValue(value, templateParam);
}}
fileTypes={
- myData.node.template[templateParam].fileTypes
+ myData.node.template[templateParam]
+ .fileTypes
+ }
+ suffixes={
+ myData.node.template[templateParam]
+ .suffixes
}
- suffixes={myData.node.template[templateParam].suffixes}
onFileChange={(filePath: string) => {
- data.node.template[templateParam].file_path = filePath;
+ data.node.template[
+ templateParam
+ ].file_path = filePath;
}}
>
- ) : myData.node.template[templateParam].type === "prompt" ? (
+ ) : myData.node.template[templateParam].type ===
+ "prompt" ? (
{
myData.node = nodeClass;
}}
- value={myData.node.template[templateParam].value ?? ""}
+ value={
+ myData.node.template[templateParam]
+ .value ?? ""
+ }
onChange={(value: string) => {
handleOnNewValue(value, templateParam);
}}
/>
- ) : myData.node.template[templateParam].type === "code" ? (
+ ) : myData.node.template[templateParam].type ===
+ "code" ? (
{
data.node = nodeClass;
@@ -270,13 +323,17 @@ const EditNodeModal = forwardRef(
nodeClass={data.node}
disabled={disabled}
editNode={true}
- value={myData.node.template[templateParam].value ?? ""}
+ value={
+ myData.node.template[templateParam]
+ .value ?? ""
+ }
onChange={(value: string) => {
handleOnNewValue(value, templateParam);
}}
/>
- ) : myData.node.template[templateParam].type === "Any" ? (
+ ) : myData.node.template[templateParam].type ===
+ "Any" ? (
"-"
) : (
@@ -285,8 +342,13 @@ const EditNodeModal = forwardRef(
changeAdvanced(templateParam)}
+ enabled={
+ !myData.node.template[templateParam]
+ .advanced
+ }
+ setEnabled={(e) =>
+ changeAdvanced(templateParam)
+ }
disabled={disabled}
size="small"
/>
diff --git a/src/frontend/src/modals/exportModal/index.tsx b/src/frontend/src/modals/exportModal/index.tsx
index d3bbbaa64..bc75c2b34 100644
--- a/src/frontend/src/modals/exportModal/index.tsx
+++ b/src/frontend/src/modals/exportModal/index.tsx
@@ -12,7 +12,9 @@ const ExportModal = forwardRef((props: { children: ReactNode }, ref) => {
const { flows, tabId, updateFlow, downloadFlow, saveFlow } =
useContext(TabsContext);
const [checked, setChecked] = useState(false);
- const [name, setName] = useState(flows.find((flow) => flow.id === tabId).name);
+ const [name, setName] = useState(
+ flows.find((flow) => flow.id === tabId).name
+ );
const [invalidName, setInvalidName] = useState(false);
const [description, setDescription] = useState(
flows.find((flow) => flow.id === tabId).description
diff --git a/src/frontend/src/modals/flowSettingsModal/index.tsx b/src/frontend/src/modals/flowSettingsModal/index.tsx
index 12db76931..0005acbc6 100644
--- a/src/frontend/src/modals/flowSettingsModal/index.tsx
+++ b/src/frontend/src/modals/flowSettingsModal/index.tsx
@@ -19,7 +19,9 @@ export default function FlowSettingsModal({
const { flows, tabId, updateFlow, setTabsState, saveFlow } =
useContext(TabsContext);
const maxLength = 50;
- const [name, setName] = useState(flows.find((flow) => flow.id === tabId).name);
+ const [name, setName] = useState(
+ flows.find((flow) => flow.id === tabId).name
+ );
const [description, setDescription] = useState(
flows.find((flow) => flow.id === tabId).description
);
diff --git a/src/frontend/src/modals/formModal/index.tsx b/src/frontend/src/modals/formModal/index.tsx
index 989426d6f..6dd426045 100644
--- a/src/frontend/src/modals/formModal/index.tsx
+++ b/src/frontend/src/modals/formModal/index.tsx
@@ -70,9 +70,9 @@ export default function FormModal({
const [chatKey, setChatKey] = useState(() => {
if (tabsState[flow.id]?.formKeysData?.input_keys) {
return Object.keys(tabsState[flow.id].formKeysData.input_keys).find(
- (k) =>
- !tabsState[flow.id].formKeysData.handle_keys.some((j) => j === k) &&
- tabsState[flow.id].formKeysData.input_keys[k] === ""
+ (key) =>
+ !tabsState[flow.id].formKeysData.handle_keys.some((j) => j === key) &&
+ tabsState[flow.id].formKeysData.input_keys[key] === ""
);
}
// TODO: return a sensible default
@@ -425,13 +425,13 @@ export default function FormModal({
{tabsState[id.current]?.formKeysData?.input_keys
? Object.keys(
tabsState[id.current].formKeysData.input_keys
- ).map((i, k) => (
-
+ ).map((key, index) => (
+
- {i}
+ {key}
- handleOnCheckedChange(value, i)
+ handleOnCheckedChange(value, key)
}
size="small"
disabled={tabsState[
id.current
- ].formKeysData.handle_keys.some((t) => t === i)}
+ ].formKeysData.handle_keys.some(
+ (t) => t === key
+ )}
/>
}
- key={k}
- keyValue={i}
+ key={index}
+ keyValue={key}
>
{tabsState[id.current].formKeysData.handle_keys.some(
- (t) => t === i
+ (t) => t === key
) && (
Source: Component
@@ -467,18 +469,18 @@ export default function FormModal({
@@ -486,35 +488,37 @@ export default function FormModal({
))
: null}
- {tabsState[id.current].formKeysData.memory_keys.map((i, k) => (
-
-
-
- {key}
-
-
-
{}}
- size="small"
- disabled={true}
- />
+ {tabsState[id.current].formKeysData.memory_keys.map(
+ (key, index) => (
+
+
+
+ {key}
+
+
+ {}}
+ size="small"
+ disabled={true}
+ />
+
+
+ }
+ key={index}
+ keyValue={key}
+ >
+
- }
- key={index}
- keyValue={key}
- >
-
-
-
- ))}
+
+
+ )
+ )}
diff --git a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx
index 63e89e883..a15b99e58 100644
--- a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx
+++ b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx
@@ -303,7 +303,10 @@ export default function Page({ flow }: { flow: FlowType }) {
takeSnapshot();
setEdges(
edges.filter(
- (edge) => !mynodes.some((node) => edge.source === node.id || edge.target === node.id)
+ (edge) =>
+ !mynodes.some(
+ (node) => edge.source === node.id || edge.target === node.id
+ )
)
);
},
diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx
index 924168f9d..e6d5a7010 100644
--- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx
+++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx
@@ -168,7 +168,8 @@ export default function ExtraSidebar() {
key={index}
button={{
title: nodeNames[SBSectionName] ?? nodeNames.unknown,
- Icon: nodeIconsLucide[SBSectionName] ?? nodeIconsLucide.unknown,
+ Icon:
+ nodeIconsLucide[SBSectionName] ?? nodeIconsLucide.unknown,
}}
>