diff --git a/pkg/views/package.json b/pkg/views/package.json
index 8a00dc9..50e6356 100644
--- a/pkg/views/package.json
+++ b/pkg/views/package.json
@@ -16,6 +16,8 @@
"@fontsource/roboto": "^5.0.8",
"@mdi/font": "^7.4.47",
"@unocss/reset": "^0.58.5",
+ "dompurify": "^3.0.9",
+ "marked": "^12.0.0",
"pinia": "^2.1.7",
"universal-cookie": "^7.1.0",
"unocss": "^0.58.5",
@@ -26,7 +28,9 @@
"devDependencies": {
"@rushstack/eslint-patch": "^1.3.3",
"@tsconfig/node20": "^20.1.2",
+ "@types/dompurify": "^3.0.5",
"@types/node": "^20.11.10",
+ "@unocss/preset-typography": "^0.58.5",
"@vitejs/plugin-vue": "^5.0.3",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"@vue/eslint-config-prettier": "^8.0.0",
diff --git a/pkg/views/src/components/posts/PostItem.vue b/pkg/views/src/components/posts/PostItem.vue
index 844105f..d4ec9c5 100644
--- a/pkg/views/src/components/posts/PostItem.vue
+++ b/pkg/views/src/components/posts/PostItem.vue
@@ -13,7 +13,7 @@
{{ props.item?.author.nick }}
- {{ props.item?.content }}
+
@@ -21,11 +21,24 @@
+
+
\ No newline at end of file
diff --git a/pkg/views/src/components/posts/PostList.vue b/pkg/views/src/components/posts/PostList.vue
index 4cb9771..1559965 100644
--- a/pkg/views/src/components/posts/PostList.vue
+++ b/pkg/views/src/components/posts/PostList.vue
@@ -5,7 +5,7 @@
-
+
diff --git a/pkg/views/src/components/publish/PostEditor.vue b/pkg/views/src/components/publish/PostEditor.vue
new file mode 100644
index 0000000..04acee3
--- /dev/null
+++ b/pkg/views/src/components/publish/PostEditor.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cancel
+ Publish
+
+
+
+
+
+
+
diff --git a/pkg/views/src/layouts/master.vue b/pkg/views/src/layouts/master.vue
index a161a8d..897bb9e 100644
--- a/pkg/views/src/layouts/master.vue
+++ b/pkg/views/src/layouts/master.vue
@@ -25,11 +25,25 @@
+
+
+
+
+
+
diff --git a/pkg/views/src/main.ts b/pkg/views/src/main.ts
index b517f0b..edb1660 100644
--- a/pkg/views/src/main.ts
+++ b/pkg/views/src/main.ts
@@ -9,6 +9,7 @@ import "vuetify/styles";
import { createVuetify } from "vuetify";
import { md3 } from "vuetify/blueprints";
import * as components from "vuetify/components";
+import * as labsComponents from 'vuetify/labs/components'
import * as directives from "vuetify/directives";
import "@mdi/font/css/materialdesignicons.min.css";
@@ -22,8 +23,11 @@ const app = createApp(index);
app.use(
createVuetify({
- components,
directives,
+ components: {
+ ...components,
+ ...labsComponents,
+ },
blueprint: md3,
theme: {
defaultTheme: "original",
diff --git a/pkg/views/src/stores/editor.ts b/pkg/views/src/stores/editor.ts
new file mode 100644
index 0000000..15dfafb
--- /dev/null
+++ b/pkg/views/src/stores/editor.ts
@@ -0,0 +1,8 @@
+import { defineStore } from "pinia";
+import { ref } from "vue";
+
+export const useEditor = defineStore("editor", () => {
+ const show = ref(false);
+
+ return { show };
+});
\ No newline at end of file
diff --git a/pkg/views/src/views/explore.vue b/pkg/views/src/views/explore.vue
index eeb2ef9..d3eb254 100644
--- a/pkg/views/src/views/explore.vue
+++ b/pkg/views/src/views/explore.vue
@@ -1,5 +1,5 @@
-
+
@@ -56,4 +56,4 @@ async function readMore({ done }: any) {
}
readPosts();
-
\ No newline at end of file
+
diff --git a/pkg/views/uno.config.ts b/pkg/views/uno.config.ts
index bdfffe1..cb688df 100644
--- a/pkg/views/uno.config.ts
+++ b/pkg/views/uno.config.ts
@@ -1,5 +1,5 @@
-import { defineConfig, presetUno } from "unocss"
+import { defineConfig, presetAttributify, presetTypography, presetUno } from "unocss";
export default defineConfig({
- presets: [presetUno({ preflight: false })]
+ presets: [presetAttributify(), presetTypography(), presetUno({ preflight: false })]
})