refac: chat reset input behaviour

This commit is contained in:
Timothy Jaeryang Baek 2025-05-23 23:52:10 +04:00
parent 99f88082ca
commit 88a296b989

View File

@ -195,15 +195,27 @@
console.log('saveSessionSelectedModels', selectedModels, sessionStorage.selectedModels);
};
$: if (selectedModels) {
setToolIds();
setFilterIds();
let oldSelectedModelIds = [''];
$: if (JSON.stringify(selectedModelIds) !== JSON.stringify(oldSelectedModelIds)) {
onSelectedModelIdsChange();
}
$: if (atSelectedModel || selectedModels) {
const onSelectedModelIdsChange = () => {
if (oldSelectedModelIds.filter((id) => id).length > 0) {
resetInput();
}
oldSelectedModelIds = selectedModelIds;
};
const resetInput = () => {
console.debug('resetInput');
setToolIds();
setFilterIds();
}
selectedFilterIds = [];
webSearchEnabled = false;
imageGenerationEnabled = false;
codeInterpreterEnabled = false;
};
const setToolIds = async () => {
if (!$tools) {
@ -215,20 +227,14 @@
}
const model = atSelectedModel ?? $models.find((m) => m.id === selectedModels[0]);
if (model) {
if (model && model?.info?.meta?.toolIds) {
selectedToolIds = [
...new Set(
[...selectedToolIds, ...(model?.info?.meta?.toolIds ?? [])].filter((id) =>
$tools.find((t) => t.id === id)
)
[...(model?.info?.meta?.toolIds ?? [])].filter((id) => $tools.find((t) => t.id === id))
)
];
}
};
const setFilterIds = async () => {
if (selectedModels.length !== 1 && !atSelectedModel) {
selectedFilterIds = [];
} else {
selectedToolIds = [];
}
};
@ -846,6 +852,8 @@
(chatContent?.models ?? undefined) !== undefined
? chatContent.models
: [chatContent.models ?? ''];
oldSelectedModelIds = selectedModels;
history =
(chatContent?.history ?? undefined) !== undefined
? chatContent.history