Spaces:
Running
Running
only able to delete the parent node
Browse files
src/lib/components/chat/Assistant.svelte
CHANGED
|
@@ -110,7 +110,7 @@
|
|
| 110 |
</script>
|
| 111 |
|
| 112 |
<article
|
| 113 |
-
class="relative flex w-full flex-col rounded-3xl border border-border bg-background p-5 shadow-lg/5 lg:w-[600px]"
|
| 114 |
style={rowHeight ? `min-height: ${rowHeight}px` : ''}
|
| 115 |
>
|
| 116 |
<div class="nodrag pointer-events-auto flex flex-1 cursor-auto flex-col justify-between">
|
|
|
|
| 110 |
</script>
|
| 111 |
|
| 112 |
<article
|
| 113 |
+
class="group/assistant relative flex w-full flex-col rounded-3xl border border-border bg-background p-5 shadow-lg/5 lg:w-[600px]"
|
| 114 |
style={rowHeight ? `min-height: ${rowHeight}px` : ''}
|
| 115 |
>
|
| 116 |
<div class="nodrag pointer-events-auto flex flex-1 cursor-auto flex-col justify-between">
|
src/lib/components/chat/User.svelte
CHANGED
|
@@ -40,6 +40,7 @@
|
|
| 40 |
let messages = $derived((nodeData.current?.data.messages as ChatMessage[]) ?? []);
|
| 41 |
let isFirstNode = $derived((nodeData.current?.data.isFirstNode as boolean) ?? false);
|
| 42 |
let showWelcome = $derived((nodeData.current?.data.showWelcome as boolean) ?? true);
|
|
|
|
| 43 |
|
| 44 |
let prompt = $state.raw<string>((nodeData.current?.data.prompt as string) ?? '');
|
| 45 |
let loading = $state.raw<boolean>(false);
|
|
@@ -422,7 +423,7 @@
|
|
| 422 |
</div>
|
| 423 |
{#if isFirstNode}
|
| 424 |
<Welcome bind:showWelcome />
|
| 425 |
-
{:else}
|
| 426 |
<Button
|
| 427 |
size="icon-lg"
|
| 428 |
variant="outline"
|
|
|
|
| 40 |
let messages = $derived((nodeData.current?.data.messages as ChatMessage[]) ?? []);
|
| 41 |
let isFirstNode = $derived((nodeData.current?.data.isFirstNode as boolean) ?? false);
|
| 42 |
let showWelcome = $derived((nodeData.current?.data.showWelcome as boolean) ?? true);
|
| 43 |
+
let isParentNode = $derived((nodeData.current?.data.isParentNode as boolean) ?? false);
|
| 44 |
|
| 45 |
let prompt = $state.raw<string>((nodeData.current?.data.prompt as string) ?? '');
|
| 46 |
let loading = $state.raw<boolean>(false);
|
|
|
|
| 423 |
</div>
|
| 424 |
{#if isFirstNode}
|
| 425 |
<Welcome bind:showWelcome />
|
| 426 |
+
{:else if isParentNode}
|
| 427 |
<Button
|
| 428 |
size="icon-lg"
|
| 429 |
variant="outline"
|
src/lib/components/flow/actions/ContextMenu.svelte
CHANGED
|
@@ -32,6 +32,7 @@
|
|
| 32 |
},
|
| 33 |
data: {
|
| 34 |
role: 'user',
|
|
|
|
| 35 |
selectedModels: modelsState.models.slice(0, MAX_DEFAULT_MODELS) as ChatModel[]
|
| 36 |
}
|
| 37 |
};
|
|
|
|
| 32 |
},
|
| 33 |
data: {
|
| 34 |
role: 'user',
|
| 35 |
+
isParentNode: true,
|
| 36 |
selectedModels: modelsState.models.slice(0, MAX_DEFAULT_MODELS) as ChatModel[]
|
| 37 |
}
|
| 38 |
};
|
src/routes/+page.svelte
CHANGED
|
@@ -38,6 +38,7 @@
|
|
| 38 |
data: {
|
| 39 |
isFirstNode: true,
|
| 40 |
showWelcome: true,
|
|
|
|
| 41 |
selectedModels: modelsState.models.slice(0, MAX_DEFAULT_MODELS) as ChatModel[]
|
| 42 |
}
|
| 43 |
}
|
|
|
|
| 38 |
data: {
|
| 39 |
isFirstNode: true,
|
| 40 |
showWelcome: true,
|
| 41 |
+
isParentNode: true,
|
| 42 |
selectedModels: modelsState.models.slice(0, MAX_DEFAULT_MODELS) as ChatModel[]
|
| 43 |
}
|
| 44 |
}
|