Dice rollers!
All checks were successful
Build and Deploy Nuxt / build (push) Successful in 58s

This commit is contained in:
2026-05-02 23:37:17 +02:00
parent b7ad2dc406
commit 030060286f
6 changed files with 221 additions and 29 deletions

View File

@@ -1,20 +1,26 @@
import { Marked } from "marked";
const widget_map = {
test: () => import("~/components/viewer/widgets/TestWidget.vue"),
table: () => import("~/components/viewer/widgets/TableWidget.vue"),
roll: () => import("~/components/viewer/widgets/RollWidget.vue"),
inline: {
roll: () => import("~/components/viewer/widgets/inline/RollWidgetInline.vue"),
},
display: {
roll: () => import("~/components/viewer/widgets/display/RollWidgetDisplay.vue"),
}
};
const componentCache = {}
const componentCache = {
inline: {},
display: {}
}
const GetWidget = (type) => {
if (!componentCache[type]) {
componentCache[type] = defineAsyncComponent(
widget_map[type]
const GetWidget = (type, name) => {
if (!componentCache[type][name]) {
componentCache[type][name] = defineAsyncComponent(
widget_map[type][name]
)
}
return componentCache[type]
return componentCache[type][name]
}
@@ -39,7 +45,7 @@ const extension = {
},
renderer(token) {
return `<div class="vue-component" data-component="${token.name}" data-content="${token.text}"></div>`;
return `<div class="vue-component-display" data-component="${token.name}" data-content="${token.text}"></div>`;
},
};
@@ -64,7 +70,7 @@ const inlineExtension = {
},
renderer(token) {
return `<span class="vue-component" data-component="${token.name}" data-content="${token.text}"></span>`;
return `<span class="vue-component-inline" data-component="${token.name}" data-content="${token.text}"></span>`;
},
};