UNPKG

@roadiehq/backstage-plugin-jira

Version:
32 lines (29 loc) 925 B
import { useCallback, useEffect } from 'react'; import { useApi } from '@backstage/core-plugin-api'; import { useAsyncFn } from 'react-use'; import { handleError } from './utils.esm.js'; import { jiraApiRef } from '../api/index.esm.js'; const useUserInfo = (userId) => { const api = useApi(jiraApiRef); const getUserDetails = useCallback(async () => { try { setTimeout(() => document.activeElement.blur(), 0); return await api.getUserDetails(userId); } catch (err) { return handleError(err); } }, [api, userId]); const [state, fetchUserInfo] = useAsyncFn(() => getUserDetails(), [userId]); useEffect(() => { fetchUserInfo(); }, [userId, fetchUserInfo]); return { loading: state.loading, error: state.error, user: state?.value?.user, tickets: state?.value?.tickets, fetchUserInfo }; }; export { useUserInfo }; //# sourceMappingURL=useUserInfo.esm.js.map