Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
3fa7718f
Commit
3fa7718f
authored
Feb 07, 2024
by
Henry Holloway
Browse files
full search
parent
46d0eff2
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
15 deletions
+38
-15
src/lib/components/layout/Sidebar.svelte
src/lib/components/layout/Sidebar.svelte
+38
-15
No files found.
src/lib/components/layout/Sidebar.svelte
View file @
3fa7718f
...
...
@@ -11,6 +11,7 @@
import
{
deleteChatById
,
getChatList
,
getChatById
,
getChatListByTagName
,
updateChatById
}
from
'
$lib/apis/chats
'
;
...
...
@@ -32,14 +33,30 @@
show
=
true
;
}
await chats.set(await getChatList(localStorage.token));
const
chatList
=
await
getChatList
(
localStorage
.
token
);
await
enrichChatsWithContent
(
chatList
);
});
tags
.
subscribe
(
async
(
value
)
=>
{
if
(
value
.
length
===
0
)
{
await chats.set(await getChatList(localStorage.token));
const
chatList
=
await
getChatList
(
localStorage
.
token
);
await
enrichChatsWithContent
(
chatList
);
}
});
});
// Helper function to fetch and add chat content to each chat
async
function
enrichChatsWithContent
(
chatList
)
{
const
enrichedChats
=
await
Promise
.
all
(
chatList
.
map
(
async
(
chat
)
=>
{
const
chatDetails
=
await
getChatById
(
localStorage
.
token
,
chat
.
id
).
catch
(
error
=>
null
);
// Handle error or non-existent chat gracefully
if
(
chatDetails
)
{
chat
.
chat
=
chatDetails
.
chat
;
// Assuming chatDetails.chat contains the chat content
}
return
chat
;
}));
await
chats
.
set
(
enrichedChats
);
}
const
loadChat
=
async
(
id
)
=>
{
goto
(
`/c/
${
id
}
`
);
...
...
@@ -323,13 +340,19 @@
let title = chat.title.toLowerCase();
const query = search.toLowerCase();
if (title.includes(query)) {
return true;
} else {
return false;
let contentMatches = false;
// Access the messages within chat.chat.messages
if (chat.chat
&&
chat.chat.messages
&&
Array.isArray(chat.chat.messages)) {
contentMatches = chat.chat.messages.some(message => {
// Check if message.content exists and includes the search query
return message.content
&&
message.content.toLowerCase().includes(query);
});
}
return title.includes(query) || contentMatches;
}
}) as chat, i}
<div
class=
" w-full pr-2 relative"
>
<button
class=
" w-full flex justify-between rounded-md px-3 py-2 hover:bg-gray-900 {chat.id ===
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment