From a17df9fff827a9a1a1020159b46bf0ca58668bea Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Wed, 24 Apr 2024 20:56:01 -1000 Subject: [PATCH] feat: :sparkles: Create new user profile view, refine components, add dropdown to notes --- bun.lockb | Bin 501068 -> 501556 bytes components/LoginInput.vue | 2 +- components/buttons/DropdownElement.vue | 19 +++ components/buttons/base.vue | 2 +- components/dropdowns/AdaptiveDropdown.vue | 29 +++++ components/skeleton/Skeleton.vue | 39 +++--- .../social-elements/notes/attachment.vue | 2 +- components/social-elements/notes/mention.vue | 8 +- components/social-elements/notes/note.vue | 81 +++++++++++-- composables/AccountTimeline.ts | 92 ++++++++++++++ composables/ParsedContent.ts | 21 +++- ...usePublicTimeline.ts => PublicTimeline.ts} | 0 nuxt.config.ts | 19 +++ package.json | 113 +++++++++--------- pages/[username]/[uuid].vue | 2 +- pages/[username]/index.vue | 77 +++++++++++- pages/index.vue | 2 +- pages/oauth/authorize.vue | 16 +-- pages/oauth/consent.vue | 4 +- pages/public.vue | 13 +- pages/register/index.vue | 62 ++++++---- 21 files changed, 470 insertions(+), 133 deletions(-) create mode 100644 components/buttons/DropdownElement.vue create mode 100644 components/dropdowns/AdaptiveDropdown.vue create mode 100644 composables/AccountTimeline.ts rename composables/{usePublicTimeline.ts => PublicTimeline.ts} (100%) diff --git a/bun.lockb b/bun.lockb index 4a644bdb40868c4a984fee73cf74397f7d472aba..04ac9f176557dbc28d8cf9de2855491c43c78deb 100755 GIT binary patch delta 97176 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 delta 97340 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 diff --git a/components/LoginInput.vue b/components/LoginInput.vue index 9556ad7..9334164 100644 --- a/components/LoginInput.vue +++ b/components/LoginInput.vue @@ -9,7 +9,7 @@ + + \ No newline at end of file diff --git a/components/buttons/base.vue b/components/buttons/base.vue index 8df0f44..693622f 100644 --- a/components/buttons/base.vue +++ b/components/buttons/base.vue @@ -8,7 +8,7 @@ diff --git a/components/dropdowns/AdaptiveDropdown.vue b/components/dropdowns/AdaptiveDropdown.vue new file mode 100644 index 0000000..2c97e7e --- /dev/null +++ b/components/dropdowns/AdaptiveDropdown.vue @@ -0,0 +1,29 @@ + + + \ No newline at end of file diff --git a/components/skeleton/Skeleton.vue b/components/skeleton/Skeleton.vue index 6a167ae..a40b262 100644 --- a/components/skeleton/Skeleton.vue +++ b/components/skeleton/Skeleton.vue @@ -12,29 +12,38 @@ \ No newline at end of file + + + \ No newline at end of file diff --git a/composables/AccountTimeline.ts b/composables/AccountTimeline.ts new file mode 100644 index 0000000..6b2fd0d --- /dev/null +++ b/composables/AccountTimeline.ts @@ -0,0 +1,92 @@ +import type { Mastodon } from "megalodon"; +import type { Status } from "~/types/mastodon/status"; + +export const useAccountTimeline = ( + client: Mastodon | null, + id: string | null, + options: MaybeRef< + Partial<{ + limit?: number | undefined; + max_id?: string | undefined; + since_id?: string | undefined; + min_id?: string | undefined; + pinned?: boolean | undefined; + exclude_replies?: boolean | undefined; + exclude_reblogs?: boolean | undefined; + only_media: boolean; + }> + >, +): { + timeline: Ref; + loadNext: () => Promise; + loadPrev: () => Promise; +} => { + if (!client || !id) { + return { + timeline: ref([]), + loadNext: async () => {}, + loadPrev: async () => {}, + }; + } + + const fetchedNotes = ref([]); + const fetchedNoteIds = new Set(); + let nextMaxId: string | undefined = undefined; + let prevMinId: string | undefined = undefined; + + const loadNext = async () => { + const response = await client.getAccountStatuses(id, { + only_media: false, + ...ref(options).value, + max_id: nextMaxId, + limit: useConfig().NOTES_PER_PAGE, + }); + + const newNotes = response.data.filter( + (note) => !fetchedNoteIds.has(note.id), + ); + if (newNotes.length > 0) { + fetchedNotes.value = [...fetchedNotes.value, ...newNotes]; + nextMaxId = newNotes[newNotes.length - 1].id; + for (const note of newNotes) { + fetchedNoteIds.add(note.id); + } + } else { + nextMaxId = undefined; + } + }; + + const loadPrev = async () => { + const response = await client.getAccountStatuses(id, { + only_media: false, + ...ref(options).value, + min_id: prevMinId, + limit: useConfig().NOTES_PER_PAGE, + }); + + const newNotes = response.data.filter( + (note) => !fetchedNoteIds.has(note.id), + ); + if (newNotes.length > 0) { + fetchedNotes.value = [...newNotes, ...fetchedNotes.value]; + prevMinId = newNotes[0].id; + for (const note of newNotes) { + fetchedNoteIds.add(note.id); + } + } else { + prevMinId = undefined; + } + }; + + watch( + () => ref(options).value, + async ({ max_id, min_id }) => { + nextMaxId = max_id; + prevMinId = min_id; + await loadNext(); + }, + { immediate: true }, + ); + + return { timeline: fetchedNotes, loadNext, loadPrev }; +}; diff --git a/composables/ParsedContent.ts b/composables/ParsedContent.ts index fca2127..ec77ee7 100644 --- a/composables/ParsedContent.ts +++ b/composables/ParsedContent.ts @@ -1,7 +1,7 @@ +import { renderToString } from "vue/server-renderer"; import type { Account } from "~/types/mastodon/account"; import type { Emoji } from "~/types/mastodon/emoji"; import MentionComponent from "../components/social-elements/notes/mention.vue"; -import { renderToString } from "vue/server-renderer"; /** * Takes in an HTML string, parses emojis and returns a reactive object with the parsed content. @@ -55,5 +55,24 @@ export const useParsedContent = async ( link.outerHTML = await renderToString(renderedMention); } + + // Highlight code blocks + const codeBlocks = contentHtml.querySelectorAll("pre code"); + for (const codeBlock of codeBlocks) { + const code = codeBlock.textContent; + if (!code) { + continue; + } + const newCode = (await getShikiHighlighter()).highlight(code, { + lang: codeBlock.getAttribute("class")?.replace("language-", ""), + }); + + // Replace parent pre tag with highlighted code + const parent = codeBlock.parentElement; + if (!parent) { + continue; + } + parent.outerHTML = newCode; + } return ref(contentHtml.innerHTML); }; diff --git a/composables/usePublicTimeline.ts b/composables/PublicTimeline.ts similarity index 100% rename from composables/usePublicTimeline.ts rename to composables/PublicTimeline.ts diff --git a/nuxt.config.ts b/nuxt.config.ts index ba3bb5d..56f9320 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -8,6 +8,7 @@ export default defineNuxtConfig({ "@nuxt/fonts", "nuxt-icon", "@vee-validate/nuxt", + "nuxt-shiki", ], app: { head: { @@ -21,6 +22,24 @@ export default defineNuxtConfig({ htmlAttrs: { lang: "en-us" }, }, }, + shiki: { + defaultTheme: "rose-pine", + bundledLangs: [ + "javascript", + "typescript", + "html", + "css", + "json", + "python", + "toml", + "rust", + "sql", + "scss", + "bash", + "shell", + "yaml", + ], + }, nitro: { preset: "bun", minify: true, diff --git a/package.json b/package.json index 97c2d61..c182562 100644 --- a/package.json +++ b/package.json @@ -1,58 +1,59 @@ { - "name": "lysand-fe", - "private": true, - "type": "module", - "license": "AGPL-3.0", - "author": { - "email": "contact@cpluspatch.com", - "name": "CPlusPatch", - "url": "https://cpluspatch.com" - }, - "maintainers": [ - { - "email": "contact@cpluspatch.com", - "name": "CPlusPatch", - "url": "https://cpluspatch.com" - } - ], - "repository": { - "type": "git", - "url": "git+https://github.com/lysand-org/lysand-fe.git" - }, - "scripts": { - "build": "nuxt build", - "dev": "nuxt dev", - "generate": "nuxt generate", - "preview": "nuxt preview", - "postinstall": "nuxt prepare" - }, - "dependencies": { - "@nuxt/fonts": "^0.6.1", - "@tailwindcss/typography": "^0.5.12", - "@vee-validate/nuxt": "^4.12.6", - "@vee-validate/zod": "^4.12.6", - "c12": "^1.10.0", - "megalodon": "^10.0.0", - "nuxt": "^3.11.2", - "nuxt-headlessui": "^1.2.0", - "nuxt-icon": "^0.6.10", - "shiki": "^1.3.0", - "vue": "^3.4.21", - "vue-router": "^4.3.0", - "zod": "^3.23.0" - }, - "devDependencies": { - "@biomejs/biome": "^1.6.4", - "@nuxtjs/seo": "^2.0.0-rc.10", - "@nuxtjs/tailwindcss": "^6.11.4", - "@tailwindcss/forms": "^0.5.7", - "@vue-email/nuxt": "^0.8.19" - }, - "trustedDependencies": [ - "@biomejs/biome", - "@fortawesome/fontawesome-common-types", - "@fortawesome/free-regular-svg-icons", - "@fortawesome/free-solid-svg-icons", - "json-editor-vue" - ] + "name": "lysand-fe", + "private": true, + "type": "module", + "license": "AGPL-3.0", + "author": { + "email": "contact@cpluspatch.com", + "name": "CPlusPatch", + "url": "https://cpluspatch.com" + }, + "maintainers": [ + { + "email": "contact@cpluspatch.com", + "name": "CPlusPatch", + "url": "https://cpluspatch.com" + } + ], + "repository": { + "type": "git", + "url": "git+https://github.com/lysand-org/lysand-fe.git" + }, + "scripts": { + "build": "nuxt build", + "dev": "nuxt dev", + "generate": "nuxt generate", + "preview": "nuxt preview", + "postinstall": "nuxt prepare" + }, + "dependencies": { + "@nuxt/fonts": "^0.6.1", + "@tailwindcss/typography": "^0.5.12", + "@vee-validate/nuxt": "^4.12.6", + "@vee-validate/zod": "^4.12.6", + "c12": "^1.10.0", + "megalodon": "^10.0.0", + "nuxt": "^3.11.2", + "nuxt-headlessui": "^1.2.0", + "nuxt-icon": "^0.6.10", + "nuxt-shiki": "^0.3.0", + "shiki": "^1.3.0", + "vue": "^3.4.21", + "vue-router": "^4.3.0", + "zod": "^3.23.0" + }, + "devDependencies": { + "@biomejs/biome": "^1.6.4", + "@nuxtjs/seo": "^2.0.0-rc.10", + "@nuxtjs/tailwindcss": "^6.11.4", + "@tailwindcss/forms": "^0.5.7", + "@vue-email/nuxt": "^0.8.19" + }, + "trustedDependencies": [ + "@biomejs/biome", + "@fortawesome/fontawesome-common-types", + "@fortawesome/free-regular-svg-icons", + "@fortawesome/free-solid-svg-icons", + "json-editor-vue" + ] } diff --git a/pages/[username]/[uuid].vue b/pages/[username]/[uuid].vue index 396aeb3..2d9378b 100644 --- a/pages/[username]/[uuid].vue +++ b/pages/[username]/[uuid].vue @@ -11,7 +11,7 @@ import { useRoute } from "vue-router"; const route = useRoute(); const client = await useMegalodon(); -const uuid = (route.params.uuid as string); +const uuid = route.params.uuid as string; const note = await useNote(client, uuid); \ No newline at end of file diff --git a/pages/[username]/index.vue b/pages/[username]/index.vue index 266249d..9ec7cfb 100644 --- a/pages/[username]/index.vue +++ b/pages/[username]/index.vue @@ -1,6 +1,7 @@ @@ -56,11 +77,55 @@ import { useRoute } from "vue-router"; const route = useRoute(); const client = await useMegalodon(); const username = (route.params.username as string).replace("@", ""); -const id = await useAccountSearch(client, username); - -const account = id ? await useAccount(client, id[0].id) : null; +const accounts = await useAccountSearch(client, username); +const account = + (await accounts?.find((account) => account.acct === username)) ?? null; const formattedJoin = Intl.DateTimeFormat("en-US", { month: "long", year: "numeric", }).format(new Date(account?.created_at ?? 0)); + +useServerSeoMeta({ + title: account?.display_name, + description: account?.note, + ogImage: account?.avatar, +}); + +const isLoadingTimeline = ref(true); + +const timelineParameters = ref({}); +const hasReachedEnd = ref(false); +const { timeline, loadNext, loadPrev } = useAccountTimeline( + client, + account?.id ?? null, + timelineParameters, +); +const skeleton = ref(null); + +const parsedNote = account ? await useParsedContent(account?.note, account?.emojis, []) : ref(""); +const parsedFields = await Promise.all(account?.fields.map(async (field) => ({ + name: await useParsedContent(field.name, account.emojis, []), + value: await useParsedContent(field.value, account.emojis, []), +})) ?? []); + +onMounted(() => { + useIntersectionObserver(skeleton, async (entries) => { + if ( + entries[0].isIntersecting && + !hasReachedEnd.value && + !isLoadingTimeline.value + ) { + isLoadingTimeline.value = true; + await loadNext(); + } + }); +}); + +watch(timeline, (newTimeline, oldTimeline) => { + isLoadingTimeline.value = false; + // If less than NOTES_PER_PAGE statuses are returned, we have reached the end + if (newTimeline.length - oldTimeline.length < useConfig().NOTES_PER_PAGE) { + hasReachedEnd.value = true; + } +}); \ No newline at end of file diff --git a/pages/index.vue b/pages/index.vue index dfbf74d..bd78802 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -56,7 +56,7 @@ \ No newline at end of file diff --git a/pages/oauth/consent.vue b/pages/oauth/consent.vue index 115c577..3b1a6cb 100644 --- a/pages/oauth/consent.vue +++ b/pages/oauth/consent.vue @@ -97,7 +97,9 @@ const url = useRequestURL(); const query = useRoute().query; const application = "Soapbox"; //query.application; -const website = query.website ? decodeURIComponent(query.website as string) : null; +const website = query.website + ? decodeURIComponent(query.website as string) + : null; const redirect_uri = query.redirect_uri as string; const client_id = query.client_id; const scope = query.scope ? decodeURIComponent(query.scope as string) : ""; diff --git a/pages/public.vue b/pages/public.vue index 37213c6..a1ab92e 100644 --- a/pages/public.vue +++ b/pages/public.vue @@ -21,17 +21,24 @@ const isLoading = ref(true); const timelineParameters = ref({}); const hasReachedEnd = ref(false); -const { timeline, loadNext, loadPrev } = usePublicTimeline(client, timelineParameters); +const { timeline, loadNext, loadPrev } = usePublicTimeline( + client, + timelineParameters, +); const skeleton = ref(null); onMounted(() => { useIntersectionObserver(skeleton, async (entries) => { - if (entries[0].isIntersecting && !hasReachedEnd.value && !isLoading.value) { + if ( + entries[0].isIntersecting && + !hasReachedEnd.value && + !isLoading.value + ) { isLoading.value = true; await loadNext(); } }); -}) +}); watch(timeline, (newTimeline, oldTimeline) => { isLoading.value = false; diff --git a/pages/register/index.vue b/pages/register/index.vue index 57e4d64..676caac 100644 --- a/pages/register/index.vue +++ b/pages/register/index.vue @@ -84,28 +84,35 @@ \ No newline at end of file