View.js 1.1 KB

123456789101112131415161718192021222324
  1. import { __rest } from "tslib";
  2. import { jsx as _jsx } from "react/jsx-runtime";
  3. import { memo, useContext, useEffect } from "react";
  4. import { KrpanoRendererContext } from "../contexts";
  5. export const View = memo((_a) => {
  6. var { children } = _a, viewAttrs = __rest(_a, ["children"]);
  7. const renderer = useContext(KrpanoRendererContext);
  8. useEffect(() => {
  9. if (!renderer)
  10. return;
  11. if (renderer.littlePlanetIntro) {
  12. renderer === null || renderer === void 0 ? void 0 : renderer.setTag("view", null, Object.assign({}, viewAttrs));
  13. // TOFIX: 如果开启小行星入场,会导致 limitview 设置失效
  14. setTimeout(() => {
  15. // 等待入场动画结束覆盖属性
  16. renderer === null || renderer === void 0 ? void 0 : renderer.setTag("view", null, Object.assign({}, viewAttrs));
  17. }, 4000);
  18. }
  19. else {
  20. renderer === null || renderer === void 0 ? void 0 : renderer.setTag("view", null, Object.assign({}, viewAttrs), true);
  21. }
  22. }, [renderer, viewAttrs]);
  23. return _jsx("div", { className: "view", children: children });
  24. });