Save workspace changes
This commit is contained in:
59
.deploy/artwork-evolution-release/resources/js/app.js
Normal file
59
.deploy/artwork-evolution-release/resources/js/app.js
Normal file
@@ -0,0 +1,59 @@
|
||||
import './bootstrap';
|
||||
import './username-availability';
|
||||
|
||||
import Alpine from 'alpinejs';
|
||||
import React from 'react';
|
||||
import { createRoot } from 'react-dom/client';
|
||||
import AvatarUploader from './components/profile/AvatarUploader';
|
||||
|
||||
window.Alpine = Alpine;
|
||||
|
||||
Alpine.start();
|
||||
|
||||
document.querySelectorAll('[data-avatar-uploader="true"]').forEach((element) => {
|
||||
const uploadUrl = element.getAttribute('data-upload-url') || '';
|
||||
const initialSrc = element.getAttribute('data-initial-src') || '';
|
||||
const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
|
||||
|
||||
createRoot(element).render(
|
||||
React.createElement(AvatarUploader, {
|
||||
uploadUrl,
|
||||
initialSrc,
|
||||
csrfToken,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
const storyEditorRoot = document.getElementById('story-editor-react-root');
|
||||
|
||||
if (storyEditorRoot) {
|
||||
const mode = storyEditorRoot.getAttribute('data-mode') || 'create';
|
||||
const storyRaw = storyEditorRoot.getAttribute('data-story') || '{}';
|
||||
const storyTypesRaw = storyEditorRoot.getAttribute('data-story-types') || '[]';
|
||||
const endpointsRaw = storyEditorRoot.getAttribute('data-endpoints') || '{}';
|
||||
const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
|
||||
|
||||
let initialStory = {};
|
||||
let storyTypes = [];
|
||||
let endpoints = {};
|
||||
|
||||
try {
|
||||
initialStory = JSON.parse(storyRaw);
|
||||
storyTypes = JSON.parse(storyTypesRaw);
|
||||
endpoints = JSON.parse(endpointsRaw);
|
||||
} catch (_) {
|
||||
// If parsing fails, the editor falls back to empty defaults in the component.
|
||||
}
|
||||
|
||||
void import('./components/editor/StoryEditor').then(({ default: StoryEditor }) => {
|
||||
createRoot(storyEditorRoot).render(
|
||||
React.createElement(StoryEditor, {
|
||||
mode,
|
||||
initialStory,
|
||||
storyTypes,
|
||||
endpoints,
|
||||
csrfToken,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user