diff --git a/README.md b/README.md index 602f2cdd..5029903e 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ * tags as buttons bellow a post * [pinch and pan media](https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1403) * swap of react and favorite button in status +* adding __vueComponent__ to DOM nodes to make new mods work # For Translators diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 76832708..ace53d3f 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -15,6 +15,8 @@ import { CURRENT_VERSION } from '../services/theme_data/theme_data.service.js' import { applyTheme } from '../services/style_setter/style_setter.js' import FaviconService from '../services/favicon_service/favicon_service.js' +import DomNodeToComponent from '../modules/domNodeToComponent.js' + let staticInitialResults = null const parsedInitialResults = () => { @@ -392,6 +394,7 @@ const afterStoreSetup = async ({ store, i18n }) => { app.use(vClickOutside) app.use(VBodyScrollLock) + app.use(DomNodeToComponent) app.component('FAIcon', FontAwesomeIcon) app.component('FALayers', FontAwesomeLayers) diff --git a/src/modules/domNodeToComponent.js b/src/modules/domNodeToComponent.js new file mode 100644 index 00000000..e51c64e5 --- /dev/null +++ b/src/modules/domNodeToComponent.js @@ -0,0 +1,9 @@ +export default { + install: (Vue, options) => { + Vue.mixin({ + mounted () { + this.$el.__vueComponent__ = this + } + }) + } +}