github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/web/src/HudErrorContext.tsx (about)

     1  import React, { useContext, useMemo } from "react"
     2  
     3  // allows consumers to set an error message to show up in the HUD
     4  type HudErrorContext = {
     5    setError: (error: string) => void
     6  }
     7  
     8  const hudErrorContext = React.createContext<HudErrorContext>({
     9    setError: () => {},
    10  })
    11  
    12  export function useHudErrorContext() {
    13    return useContext(hudErrorContext)
    14  }
    15  
    16  export function HudErrorContextProvider(
    17    props: React.PropsWithChildren<HudErrorContext>
    18  ) {
    19    let value = useMemo(() => {
    20      return { setError: props.setError }
    21    }, [props.setError])
    22    return (
    23      <hudErrorContext.Provider value={value}>
    24        {props.children}
    25      </hudErrorContext.Provider>
    26    )
    27  }