quivr/frontend/app/chat/components/ChatsList/hooks/useChatsList.ts
Matthieu Jacq c140b9c517
feat: responsive sidebar (#1279)
* 💄 The chat sidebar takes the full height

* 💄 redesign of the action section and buttons in the sidebar

*  Sidebar header

* ♻️  Refact sidebar filesystem structure

* ♻️  Create a separate reusable sidebar component

* 🐛 Fix sidebar quick open/close on mobile

* 💄 New open/close sidebar button

* fix: error message + sidebar height issue + mobile width incoherence

* ♻️  Rename and move the sidebar footer

* 💄 sidebar toggle: color on hover

* apply sidebar to brains-management

* 💄 Larger sidebar

* 🚨Pass existing tests

*  Test the sidebar

*  Test the open and close buttons in the sidebar
2023-10-02 14:42:23 +02:00

32 lines
915 B
TypeScript

import { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { useChatApi } from "@/lib/api/chat/useChatApi";
import { useChatsContext } from "@/lib/context/ChatsProvider/hooks/useChatsContext";
import { useToast } from "@/lib/hooks";
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export const useChatsList = () => {
const { t } = useTranslation(["chat"]);
const { setAllChats } = useChatsContext();
const { publish } = useToast();
const { getChats } = useChatApi();
useEffect(() => {
const fetchAllChats = async () => {
try {
const response = await getChats();
setAllChats(response.reverse());
} catch (error) {
console.error(error);
publish({
variant: "danger",
text: t("errorFetching", { ns: "chat" }),
});
}
};
void fetchAllChats();
}, []);
};