Initial Switch to V2. Completely Overhauled Backend, Frontend and General Structure.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
// frontend/src/lib/loadQuill.js
|
||||
// Shared Quill CDN loader — ensures the script is only injected once across
|
||||
// all modals (ComposeEmailModal, MailSettingsModal, etc.).
|
||||
// Calls cb() immediately if Quill is already on window, otherwise queues it.
|
||||
|
||||
let _ready = false
|
||||
let _callbacks = []
|
||||
|
||||
export function loadQuill(cb) {
|
||||
if (_ready || window.Quill) { _ready = true; cb(); return }
|
||||
_callbacks.push(cb)
|
||||
if (document.getElementById('__quill_js__')) return // already injecting
|
||||
|
||||
const link = document.createElement('link')
|
||||
link.id = '__quill_css__'
|
||||
link.rel = 'stylesheet'
|
||||
link.href = 'https://cdn.quilljs.com/1.3.7/quill.snow.css'
|
||||
document.head.appendChild(link)
|
||||
|
||||
const script = document.createElement('script')
|
||||
script.id = '__quill_js__'
|
||||
script.src = 'https://cdn.quilljs.com/1.3.7/quill.min.js'
|
||||
script.onload = () => {
|
||||
_ready = true
|
||||
_callbacks.forEach(fn => fn())
|
||||
_callbacks = []
|
||||
}
|
||||
document.head.appendChild(script)
|
||||
}
|
||||
Reference in New Issue
Block a user