| 1 |
import { AdminBar } from '@help-center/components/buttons/AdminBar'; |
| 2 |
import { PostEditor } from '@help-center/components/buttons/PostEditor'; |
| 3 |
import { render } from '@shared/lib/dom'; |
| 4 |
import { isOnLaunch } from '@shared/lib/utils'; |
| 5 |
import { useEffect } from '@wordpress/element'; |
| 6 |
import { registerPlugin } from '@wordpress/plugins'; |
| 7 |
|
| 8 |
// Global toolbar |
| 9 |
(() => { |
| 10 |
if (isOnLaunch()) return; |
| 11 |
const id = 'wp-admin-bar-help-center-btn'; |
| 12 |
if (document.getElementById(id)) return; |
| 13 |
const helpCenter = Object.assign(document.createElement('li'), { |
| 14 |
className: 'extendify-help-center', |
| 15 |
id, |
| 16 |
}); |
| 17 |
document.querySelector('#wp-admin-bar-my-account')?.after(helpCenter); |
| 18 |
render(<AdminBar />, helpCenter); |
| 19 |
})(); |
| 20 |
|
| 21 |
// In editor |
| 22 |
registerPlugin('extendify-help-center-buttons', { |
| 23 |
render: () => <HelpCenterButton />, |
| 24 |
}); |
| 25 |
const HelpCenterButton = () => { |
| 26 |
useEffect(() => { |
| 27 |
if (isOnLaunch()) return; |
| 28 |
const id = 'extendify-gtnbrg-help-center-btn'; |
| 29 |
if (document.getElementById(id)) return; |
| 30 |
|
| 31 |
const helpCenter = Object.assign(document.createElement('span'), { |
| 32 |
className: 'extendify-help-center', |
| 33 |
id, |
| 34 |
}); |
| 35 |
setTimeout(() => { |
| 36 |
if (document.getElementById(id)) return; |
| 37 |
const page = '[aria-controls="edit-post:document"]'; |
| 38 |
const fse = '[aria-controls="edit-site:template"]'; |
| 39 |
document.querySelector(page)?.after(helpCenter); |
| 40 |
document.querySelector(fse)?.after(helpCenter); |
| 41 |
render(<PostEditor />, helpCenter); |
| 42 |
}, 500); |
| 43 |
}, []); |
| 44 |
return null; |
| 45 |
}; |
| 46 |
|