diff options
Diffstat (limited to 'app/javascript/entrypoints/share.tsx')
-rw-r--r-- | app/javascript/entrypoints/share.tsx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app/javascript/entrypoints/share.tsx b/app/javascript/entrypoints/share.tsx new file mode 100644 index 00000000000..79262508510 --- /dev/null +++ b/app/javascript/entrypoints/share.tsx @@ -0,0 +1,36 @@ +import './public-path'; +import { createRoot } from 'react-dom/client'; + +import { start } from '../mastodon/common'; +import ComposeContainer from '../mastodon/containers/compose_container'; +import { loadPolyfills } from '../mastodon/polyfills'; +import ready from '../mastodon/ready'; + +start(); + +function loaded() { + const mountNode = document.getElementById('mastodon-compose'); + + if (mountNode) { + const attr = mountNode.getAttribute('data-props'); + + if (!attr) return; + + const props = JSON.parse(attr) as object; + const root = createRoot(mountNode); + + root.render(<ComposeContainer {...props} />); + } +} + +function main() { + ready(loaded).catch((error: unknown) => { + console.error(error); + }); +} + +loadPolyfills() + .then(main) + .catch((error: unknown) => { + console.error(error); + }); |