summaryrefslogtreecommitdiffstats
path: root/app/javascript/entrypoints/share.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/entrypoints/share.tsx')
-rw-r--r--app/javascript/entrypoints/share.tsx36
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);
+ });