Skip to content

Instantly share code, notes, and snippets.

@MichaelBelousov
Last active January 28, 2021 13:23
Show Gist options
  • Save MichaelBelousov/5a3afeb562dbd1b0a98376c86db966c7 to your computer and use it in GitHub Desktop.
Save MichaelBelousov/5a3afeb562dbd1b0a98376c86db966c7 to your computer and use it in GitHub Desktop.
even more hooks - show the marker in App
// at the top add these imports
import TankMarker from "./TankMarker.tsx";
import { Viewer } from "@bentley/itwin-viewer-react";
import { IModelJsViewProvider } from "@bentley/imodel-react-hooks";
const App = () => {//...
//... at the bottom of the file replace the return statement with this
const [imjsInited, setImjsInited] = useState(false);
const [tankParamType, setTankParamType] = useState<"level" | "pressure">("level");
return (
<div className="itwin-viewer-sample" onClick={(ev) => {
setTankParamType(prev => prev === "level" ? "pressure" : "level");
}}>
<Header handleLogin={onLoginClick} loggedIn={isAuthorized} handleLogout={onLogoutClick} />
{isLoggingIn
? <span>"Logging in...."</span>
: isAuthorized && <>
<Viewer
contextId={process.env.IMJS_CONTEXT_ID!}
iModelId={process.env.IMJS_IMODEL_ID!}
authConfig={{ oidcClient: AuthorizationClient.oidcClient }}
onIModelAppInit={() => setImjsInited(true)}
/>
{imjsInited && <IModelJsViewProvider><TankMarker tankParamType={tankParamType} /></IModelJsViewProvider>}
</>
}
</div>
);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment