diff --git a/net/web/src/session/conversation/topicItem/imageAsset/useImageAsset.hook.js b/net/web/src/session/conversation/topicItem/imageAsset/useImageAsset.hook.js new file mode 100644 index 00000000..b53f78eb --- /dev/null +++ b/net/web/src/session/conversation/topicItem/imageAsset/useImageAsset.hook.js @@ -0,0 +1,34 @@ +import { useContext, useState, useEffect, useRef } from 'react'; +import { ViewportContext } from 'context/ViewportContext'; + +export function useImageAsset() { + + const [state, setState] = useState({ + display: null, + popout: false, + width: 0, + height: 0, + }); + + const viewport = useContext(ViewportContext); + + const updateState = (value) => { + setState((s) => ({ ...s, ...value })); + } + + useEffect(() => { + updateState({ display: viewport.state.display }); + }, []); + + const actions = { + setPopout: (width, height) => { + updateState({ popout: true, width, height }); + }, + clearPopout: () => { +console.log("CLEAR POPOUT"); + updateState({ popout: false }); + }, + }; + + return { state, actions }; +}