hunk.code_window:       });
       }
     }, [authApiPlugin, props.createDatasourceFromForm]);
     const handleCreateNew = () => {
       if (pageId) {
         createNewApiAction(pageId, "API_PANE");
       }
     };
  
hunk.labels: keep keep keep keep add keep keep keep keep
hunk.after_edit:     AnalyticsUtil.logEvent("CREATE_DATA_SOURCE_CLICK", {
         source: "CREATE_NEW_API",
       });
  
hunk.file_path: app/client/src/pages/Editor/IntegrationEditor/NewApi.tsx
hunk.type: add
file: import { useState } from "react";
  import localStorage from "utils/localStorage";
  import log from "loglevel";
  
  export function useLocalStorage(key: string, initialValue: string) {
    // State to store our value
    // Pass initial state function to useState so logic is only executed once
    const [storedValue, setStoredValue] = useState(() => {
      try {
        // Get from local storage by key
        const item = localStorage.getItem(key);
        // Parse stored json or if none return initialValue
        return item ? JSON.parse(item) : initialValue;
      } catch (error) {
        // If error also return initialValue
        log.error(error);
        return initialValue;
      }
    });
  
    // Return a wrapped version of useState's setter function that ...
    // ... persists the new value to localStorage.
    const setValue = (value: any) => {
      try {
        // Allow value to be a function so we have same API as useState
        const valueToStore =
          value instanceof Function ? value(storedValue) : value;
        // Save state
        setStoredValue(valueToStore);
        // Save to local storage
        localStorage.setItem(key, JSON.stringify(valueToStore));
      } catch (error) {
        // A more advanced implementation would handle the error case
        log.error(error);
      }
    };
  
    return [storedValue, setValue];
  }
  