Feat: Share agent dialog box externally #3221 (#9005)

### What problem does this PR solve?

Feat: Share agent dialog box externally #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2025-07-23 18:10:18 +08:00
committed by GitHub
parent 8345e92671
commit 5f0ec005ba
22 changed files with 351 additions and 431 deletions

View File

@ -39,10 +39,14 @@ export const useNavigatePage = () => {
navigate(Routes.Chat);
}, [navigate]);
const navigateToAgentList = useCallback(() => {
const navigateToAgents = useCallback(() => {
navigate(Routes.Agents);
}, [navigate]);
const navigateToAgentList = useCallback(() => {
navigate(Routes.AgentList);
}, [navigate]);
const navigateToAgent = useCallback(
(id: string) => () => {
navigate(`${Routes.Agent}/${id}`);
@ -114,11 +118,12 @@ export const useNavigatePage = () => {
navigateToChunkParsedResult,
getQueryString,
navigateToChunk,
navigateToAgentList,
navigateToAgents,
navigateToAgent,
navigateToAgentTemplates,
navigateToSearchList,
navigateToSearch,
navigateToFiles,
navigateToAgentList,
};
};

View File

@ -35,6 +35,7 @@ export const enum AgentApiAction {
FetchInputForm = 'fetchInputForm',
FetchVersionList = 'fetchVersionList',
FetchVersion = 'fetchVersion',
FetchAgentAvatar = 'fetchAgentAvatar',
}
export const EmptyDsl = {
@ -444,3 +445,32 @@ export const useFetchVersion = (
return { data, loading };
};
export const useFetchAgentAvatar = (): {
data: IFlow;
loading: boolean;
refetch: () => void;
} => {
const { sharedId } = useGetSharedChatSearchParams();
const {
data,
isFetching: loading,
refetch,
} = useQuery({
queryKey: [AgentApiAction.FetchAgentAvatar],
initialData: {} as IFlow,
refetchOnReconnect: false,
refetchOnMount: false,
refetchOnWindowFocus: false,
gcTime: 0,
queryFn: async () => {
if (!sharedId) return {};
const { data } = await agentService.fetchAgentAvatar(sharedId);
return data?.data ?? {};
},
});
return { data, loading, refetch };
};