Newer
Older
import ReactDOM from "react-dom";
import React from "react";
import { IntlProvider, addLocaleData } from "react-intl";
import { lang, messages } from "./utils/i18n";
import { patchWebGLRenderingContext } from "./utils/webgl";
patchWebGLRenderingContext();
import "./assets/stylesheets/avatar-selector.scss";
import "three/examples/js/loaders/GLTFLoader";
import "./components/animation-mixer";
import "./components/audio-feedback";
import "./components/loop-animation";
import { App } from "./App";
import AvatarSelector from "./react-components/avatar-selector";
function getHashArg(arg) {
return new URLSearchParams(location.hash.replace(/^#/, "?")).get(arg);
}
window.APP.quality = getHashArg("quality") || AFRAME.utils.device.isMobile() ? "low" : "high";
function postAvatarIdToParent(newAvatarId) {
window.parent.postMessage({ avatarId: newAvatarId }, location.origin);
ReactDOM.render(
<IntlProvider locale={lang} messages={messages}>
<AvatarSelector {...{ avatars, avatarId, onChange: postAvatarIdToParent }} />
document.getElementById("selector-root")
);
}
document.addEventListener("DOMContentLoaded", mountUI);