useFeedbackInit.tsx 993 B

123456789101112131415161718192021222324252627282930313233343536
  1. import {useEffect} from 'react';
  2. import {addIntegration, getClient} from '@sentry/react';
  3. import useAsyncSDKIntegrationStore from 'sentry/views/app/asyncSDKIntegrationProvider';
  4. /**
  5. * Add Feedback integration here as feedback is for Sentry employees, it
  6. * doesn't make sense to have it for self-hosted.
  7. */
  8. export default function useFeedbackInit() {
  9. const {setState} = useAsyncSDKIntegrationStore();
  10. useEffect(() => {
  11. async function init() {
  12. const {feedbackIntegration} = await import('@sentry/react');
  13. const client = getClient();
  14. if (!client?.getIntegrationByName?.('Feedback')) {
  15. const feedback = feedbackIntegration({
  16. useSentryUser: {
  17. email: 'email',
  18. name: 'name',
  19. },
  20. autoInject: false,
  21. showEmail: false,
  22. showName: false,
  23. });
  24. addIntegration(feedback);
  25. setState(prev => ({...prev, Feedback: feedback}));
  26. }
  27. }
  28. init();
  29. }, [setState]);
  30. }