From 9c69ff29035051bed65f266806897f20e8e1df5e Mon Sep 17 00:00:00 2001 From: Peaceultime Date: Tue, 10 Dec 2024 17:26:35 +0100 Subject: [PATCH] Add ProseSmall as a private commentary (using %%) --- components/MarkdownRenderer.vue | 2 ++ components/prose/ProseP.vue | 11 +---------- components/prose/ProseSmall.vue | 5 +++++ nuxt.config.ts | 2 +- server/api/file/content/[path].get.ts | 18 +++++++++++++++--- server/api/file/overview/[path].get.ts | 8 +++++--- 6 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 components/prose/ProseSmall.vue diff --git a/components/MarkdownRenderer.vue b/components/MarkdownRenderer.vue index a249d17..70d8d8b 100644 --- a/components/MarkdownRenderer.vue +++ b/components/MarkdownRenderer.vue @@ -20,6 +20,7 @@ import ProseImg from '~/components/prose/ProseImg.vue'; import ProseUl from '~/components/prose/ProseUl.vue'; import ProseOl from '~/components/prose/ProseOl.vue'; import ProseLi from '~/components/prose/ProseLi.vue'; +import ProseSmall from './prose/ProseSmall.vue'; import ProseStrong from '~/components/prose/ProseStrong.vue'; import ProseTable from '~/components/prose/ProseTable.vue'; import ProseTag from '~/components/prose/ProseTag.vue'; @@ -49,6 +50,7 @@ const proseList = { "ul": ProseUl, "ol": ProseOl, "li": ProseLi, + "small": ProseSmall, "strong": ProseStrong, "table": ProseTable, "tag": ProseTag, diff --git a/components/prose/ProseP.vue b/components/prose/ProseP.vue index a5d480d..64d97e5 100644 --- a/components/prose/ProseP.vue +++ b/components/prose/ProseP.vue @@ -1,12 +1,3 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/components/prose/ProseSmall.vue b/components/prose/ProseSmall.vue new file mode 100644 index 0000000..39e9217 --- /dev/null +++ b/components/prose/ProseSmall.vue @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts index 76ca06d..df2d740 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -160,7 +160,7 @@ export default defineNuxtConfig({ defaults: { nuxtLink: { prefetchOn: { - interaction: true, + interaction: false, visibility: false, } } diff --git a/server/api/file/content/[path].get.ts b/server/api/file/content/[path].get.ts index 82c0307..ae0c41f 100644 --- a/server/api/file/content/[path].get.ts +++ b/server/api/file/content/[path].get.ts @@ -29,10 +29,17 @@ export default defineEventHandler(async (e) => { setResponseStatus(e, 404); return; } - if(session && session.user && content.private && session.user.id !== content.owner) + if(session && session.user && session.user.id !== content.owner) { - setResponseStatus(e, 404); - return; + if(content.private) + { + setResponseStatus(e, 404); + return; + } + else + { + content.content = content.content.replace(/%%(.+)%%/g, ""); + } } if(query.type === 'view') { @@ -43,6 +50,11 @@ export default defineEventHandler(async (e) => { content.content = convertFromStorableLinks(content.content); } + if(session && session.user && session.user.id !== content.owner) + { + content.content = content.content.replace(/%%(.+)%%/g, ""); + } + return { content: content.content }; } diff --git a/server/api/file/overview/[path].get.ts b/server/api/file/overview/[path].get.ts index cc52dd4..2619def 100644 --- a/server/api/file/overview/[path].get.ts +++ b/server/api/file/overview/[path].get.ts @@ -20,8 +20,6 @@ export default defineEventHandler(async (e) => { 'type': explorerContentTable.type, 'navigable': explorerContentTable.navigable, 'private': explorerContentTable.private, - 'order': explorerContentTable.order, - 'visit': explorerContentTable.visit, }).from(explorerContentTable).where(eq(explorerContentTable.path, sql.placeholder('path'))).prepare().get({ path }); if(content !== undefined) @@ -39,7 +37,11 @@ export default defineEventHandler(async (e) => { return; } - return content; + return { path: content.path, + owner: content.owner, + title: content.title, + type: content.type, + }; } setResponseStatus(e, 404);