minor styling changes, cache queried messages on server

This commit is contained in:
Daniel Avila 2023-03-22 18:26:29 -04:00
parent 0a671849b5
commit 1dbfb0dab7
6 changed files with 12 additions and 10 deletions

View file

@ -23,8 +23,8 @@ router.get('/', async function (req, res) {
if (cache.has(key)) { if (cache.has(key)) {
console.log('cache hit', key); console.log('cache hit', key);
const cached = cache.get(key); const cached = cache.get(key);
const { pages, pageSize } = cached; const { pages, pageSize, messages } = cached;
res.status(200).send({ conversations: cached[pageNumber], pages, pageNumber, pageSize }); res.status(200).send({ conversations: cached[pageNumber], pages, pageNumber, pageSize, messages });
return; return;
} else { } else {
cache.clear(); cache.clear();
@ -53,8 +53,6 @@ router.get('/', async function (req, res) {
console.log('messages', messages.length, 'titles', titles.length); console.log('messages', messages.length, 'titles', titles.length);
const sortedHits = reduceHits(messages, titles); const sortedHits = reduceHits(messages, titles);
const result = await getConvosQueried(user, sortedHits, pageNumber); const result = await getConvosQueried(user, sortedHits, pageNumber);
cache.set(key, result.cache);
delete result.cache;
const activeMessages = []; const activeMessages = [];
for (let i = 0; i < messages.length; i++) { for (let i = 0; i < messages.length; i++) {
@ -68,6 +66,8 @@ router.get('/', async function (req, res) {
} }
} }
result.messages = activeMessages; result.messages = activeMessages;
result.cache.messages = activeMessages;
cache.set(key, result.cache);
delete result.cache; delete result.cache;
delete result.convoMap; delete result.convoMap;
// for debugging // for debugging

View file

@ -156,7 +156,9 @@ export default function Message({
classes={props.titleClass + ' rounded'} classes={props.titleClass + ' rounded'}
subclasses="switch-result pl-2 pb-2" subclasses="switch-result pl-2 pb-2"
onClick={clickSearchResult} onClick={clickSearchResult}
>{`${message.title} | ${message.sender}`}</SubRow> >
<strong>{`${message.title} | ${message.sender}`}</strong>
</SubRow>
)} )}
<div className="flex flex-grow flex-col gap-3"> <div className="flex flex-grow flex-col gap-3">
{error ? ( {error ? (

View file

@ -9,7 +9,7 @@ import { useSelector } from 'react-redux';
export default function Messages({ messages, messageTree }) { export default function Messages({ messages, messageTree }) {
const [currentEditId, setCurrentEditId] = useState(-1); const [currentEditId, setCurrentEditId] = useState(-1);
const { conversationId } = useSelector((state) => state.convo); const { conversationId } = useSelector((state) => state.convo);
const { model, customModel, chatGptLabel } = useSelector((state) => state.submit); const { model, customModel } = useSelector((state) => state.submit);
const { models } = useSelector((state) => state.models); const { models } = useSelector((state) => state.models);
const [showScrollButton, setShowScrollButton] = useState(false); const [showScrollButton, setShowScrollButton] = useState(false);
const scrollableRef = useRef(null); const scrollableRef = useRef(null);
@ -74,7 +74,7 @@ export default function Messages({ messages, messageTree }) {
<div className="flex w-full items-center justify-center gap-1 border-b border-black/10 bg-gray-50 p-3 text-sm text-gray-500 dark:border-gray-900/50 dark:bg-gray-700 dark:text-gray-300"> <div className="flex w-full items-center justify-center gap-1 border-b border-black/10 bg-gray-50 p-3 text-sm text-gray-500 dark:border-gray-900/50 dark:bg-gray-700 dark:text-gray-300">
Model: {modelName} {customModel ? `(${customModel})` : null} Model: {modelName} {customModel ? `(${customModel})` : null}
</div> </div>
{(messageTree.length === 0 || messages.length === 0 || !messages) ? ( {(messageTree.length === 0 || !messages) ? (
<Spinner /> <Spinner />
) : ( ) : (
<> <>

View file

@ -10,8 +10,8 @@ export default function NavLinks({ fetch, onSearchSuccess, clearSearch }) {
return ( return (
<> <>
{ !!searchEnabled && <SearchBar fetch={fetch} onSuccess={onSearchSuccess} clearSearch={clearSearch}/>} { !!searchEnabled && <SearchBar fetch={fetch} onSuccess={onSearchSuccess} clearSearch={clearSearch}/>}
<ClearConvos />
<DarkMode /> <DarkMode />
<ClearConvos />
<Logout /> <Logout />
</> </>
); );

View file

@ -43,7 +43,7 @@ export default function Nav({ navVisible, setNavVisible }) {
setPage(res.pageNumber); setPage(res.pageNumber);
setPages(res.pages); setPages(res.pages);
setIsFetching(false); setIsFetching(false);
if (res.messages) { if (res.messages?.length > 0) {
dispatch(setMessages(res.messages)); dispatch(setMessages(res.messages));
dispatch(setDisabled(true)); dispatch(setDisabled(true));
} }

View file

@ -1,5 +1,5 @@
const even = const even =
'w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 bg-white dark:text-gray-100 group dark:bg-gray-800 hover:bg-gray-100/25 hover:text-gray-700 dark:hover:bg-[#32343e] dark:hover:text-gray-200'; 'w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 bg-white dark:text-gray-100 group dark:bg-gray-800 hover:bg-gray-100/25 hover:text-gray-700 dark:hover:bg-gray-900 dark:hover:text-gray-200';
const odd = const odd =
'w-full border-b border-black/10 bg-gray-50 dark:border-gray-900/50 text-gray-800 dark:text-gray-100 group bg-gray-100 dark:bg-[#444654] hover:bg-gray-100/40 hover:text-gray-700 dark:hover:bg-[#3b3d49] dark:hover:text-gray-200'; 'w-full border-b border-black/10 bg-gray-50 dark:border-gray-900/50 text-gray-800 dark:text-gray-100 group bg-gray-100 dark:bg-[#444654] hover:bg-gray-100/40 hover:text-gray-700 dark:hover:bg-[#3b3d49] dark:hover:text-gray-200';