mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 08:12:00 +02:00
🔗 feat: Enhance Share Functionality, Optimize DataTable & Fix Critical Bugs (#5220)
* 🔄 refactor: frontend and backend share link logic; feat: qrcode for share link; feat: refresh link * 🐛 fix: Conditionally render shared link and refactor share link creation logic * 🐛 fix: Correct conditional check for shareId in ShareButton component * 🔄 refactor: Update shared links API and data handling; improve query parameters and response structure * 🔄 refactor: Update shared links pagination and response structure; replace pageNumber with cursor for improved data fetching * 🔄 refactor: DataTable performance optimization * fix: delete shared link cache update * 🔄 refactor: Enhance shared links functionality; add conversationId to shared link model and update related components * 🔄 refactor: Add delete functionality to SharedLinkButton; integrate delete mutation and confirmation dialog * 🔄 feat: Add AnimatedSearchInput component with gradient animations and search functionality; update search handling in API and localization * 🔄 refactor: Improve SharedLinks component; enhance delete functionality and loading states, optimize AnimatedSearchInput, and refine DataTable scrolling behavior * fix: mutation type issues with deleted shared link mutation * fix: MutationOptions types * fix: Ensure only public shared links are retrieved in getSharedLink function * fix: `qrcode.react` install location * fix: ensure non-public shared links are not fetched when checking for existing shared links, and remove deprecated .exec() method for queries * fix: types and import order * refactor: cleanup share button UI logic, make more intuitive --------- Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
parent
460cde0c0b
commit
fa9e778399
55 changed files with 1779 additions and 1975 deletions
|
@ -75,6 +75,29 @@ export const useGetSharedMessages = (
|
|||
);
|
||||
};
|
||||
|
||||
export const useGetSharedLinkQuery = (
|
||||
conversationId: string,
|
||||
config?: UseQueryOptions<t.TSharedLinkGetResponse>,
|
||||
): QueryObserverResult<t.TSharedLinkGetResponse> => {
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery<t.TSharedLinkGetResponse>(
|
||||
[QueryKeys.sharedLinks, conversationId],
|
||||
() => dataService.getSharedLink(conversationId),
|
||||
{
|
||||
refetchOnWindowFocus: false,
|
||||
refetchOnReconnect: false,
|
||||
refetchOnMount: false,
|
||||
onSuccess: (data) => {
|
||||
queryClient.setQueryData([QueryKeys.sharedLinks, conversationId], {
|
||||
conversationId: data.conversationId,
|
||||
shareId: data.shareId,
|
||||
});
|
||||
},
|
||||
...config,
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
export const useGetUserBalance = (
|
||||
config?: UseQueryOptions<string>,
|
||||
): QueryObserverResult<string> => {
|
||||
|
@ -306,15 +329,18 @@ export const useRegisterUserMutation = (
|
|||
options?: m.RegistrationOptions,
|
||||
): UseMutationResult<t.TError, unknown, t.TRegisterUser, unknown> => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation((payload: t.TRegisterUser) => dataService.register(payload), {
|
||||
...options,
|
||||
onSuccess: (...args) => {
|
||||
queryClient.invalidateQueries([QueryKeys.user]);
|
||||
if (options?.onSuccess) {
|
||||
options.onSuccess(...args);
|
||||
}
|
||||
return useMutation<t.TRegisterUserResponse, t.TError, t.TRegisterUser>(
|
||||
(payload: t.TRegisterUser) => dataService.register(payload),
|
||||
{
|
||||
...options,
|
||||
onSuccess: (...args) => {
|
||||
queryClient.invalidateQueries([QueryKeys.user]);
|
||||
if (options?.onSuccess) {
|
||||
options.onSuccess(...args);
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
);
|
||||
};
|
||||
|
||||
export const useRefreshTokenMutation = (): UseMutationResult<
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue