diff --git a/components/base/UForm.vue b/components/base/UForm.vue
index e705143..4654e1f 100644
--- a/components/base/UForm.vue
+++ b/components/base/UForm.vue
@@ -58,7 +58,8 @@ watch(
Oops! {{ error }}
- {{ form.success_message ?? 'Success! Your form has been submitted.' }}
+
+ Success! Your form has been submitted.
diff --git a/package.json b/package.json
index 3ea0ede..41d5e98 100644
--- a/package.json
+++ b/package.json
@@ -48,7 +48,8 @@
"stripe": "^16.5.0",
"uuid": "^10.0.0",
"v-perfect-signature": "^1.4.0",
- "vue": "^3.4.34"
+ "vue": "^3.4.34",
+ "vue-dompurify-html": "^5.1.0"
},
"packageManager": "pnpm@9.6.0",
"engines": {
diff --git a/plugins/dompurify-html.ts b/plugins/dompurify-html.ts
new file mode 100644
index 0000000..51529fa
--- /dev/null
+++ b/plugins/dompurify-html.ts
@@ -0,0 +1,5 @@
+import VueDOMPurifyHTML from 'vue-dompurify-html';
+
+export default defineNuxtPlugin((nuxtApp) => {
+ nuxtApp.vueApp.use(VueDOMPurifyHTML);
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e1a96f1..b9662a0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -62,6 +62,9 @@ importers:
vue:
specifier: ^3.4.34
version: 3.4.34(typescript@5.5.4)
+ vue-dompurify-html:
+ specifier: ^5.1.0
+ version: 5.1.0(vue@3.4.34(typescript@5.5.4))
devDependencies:
'@iconify-json/material-symbols':
specifier: ^1.1.85
@@ -2479,6 +2482,9 @@ packages:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
+ dompurify@3.1.6:
+ resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==}
+
domutils@3.1.0:
resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
@@ -5369,6 +5375,11 @@ packages:
vue-devtools-stub@0.1.0:
resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
+ vue-dompurify-html@5.1.0:
+ resolution: {integrity: sha512-616o2/PBdOLM2bwlRWLdzeEC9NerLkwiudqNgaIJ5vBQWXec+u7Kuzh+45DtQQrids67s4pHnTnJZLVfyPMxbA==}
+ peerDependencies:
+ vue: ^3.0.0
+
vue-eslint-parser@9.4.3:
resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
engines: {node: ^14.17.0 || >=16.0.0}
@@ -8232,6 +8243,8 @@ snapshots:
dependencies:
domelementtype: 2.3.0
+ dompurify@3.1.6: {}
+
domutils@3.1.0:
dependencies:
dom-serializer: 2.0.0
@@ -11864,6 +11877,11 @@ snapshots:
vue-devtools-stub@0.1.0: {}
+ vue-dompurify-html@5.1.0(vue@3.4.34(typescript@5.5.4)):
+ dependencies:
+ dompurify: 3.1.6
+ vue: 3.4.34(typescript@5.5.4)
+
vue-eslint-parser@9.4.3(eslint@8.56.0):
dependencies:
debug: 4.3.6