useOpenAISuggestionLocalStorage.tsx 866 B

1234567891011121314151617181920212223242526272829303132
  1. import {useCallback} from 'react';
  2. import ConfigStore from 'sentry/stores/configStore';
  3. import {useLocalStorageState} from 'sentry/utils/useLocalStorageState';
  4. type LocalState = {
  5. individualConsent: boolean;
  6. };
  7. export function useOpenAISuggestionLocalStorage(): [
  8. LocalState,
  9. (newState: Partial<LocalState>) => void
  10. ] {
  11. const user = ConfigStore.get('user');
  12. const [localStorageState, setLocalStorageState] = useLocalStorageState<LocalState>(
  13. `open-ai-suggestion:${user.id}`,
  14. {
  15. // agree forward data to OpenAI
  16. individualConsent: false,
  17. }
  18. );
  19. const setSuggestedSolutionLocalConfig = useCallback(
  20. (newState: Partial<LocalState>) => {
  21. setLocalStorageState({...localStorageState, ...newState});
  22. },
  23. [localStorageState, setLocalStorageState]
  24. );
  25. return [localStorageState, setSuggestedSolutionLocalConfig];
  26. }