diff --git a/src/modules/atproto/getAka.ts b/src/modules/atproto/getAka.ts new file mode 100644 index 0000000..6480205 --- /dev/null +++ b/src/modules/atproto/getAka.ts @@ -0,0 +1,13 @@ +export const getAka = async (dids: Set) => { + const correspondance = await Promise.all( + [...dids].map(async (did) => { + const response = await fetch(`https://plc.directory/${did}`) + const { + alsoKnownAs: [aka], + } = await response.json() + return [did, aka] as [string, string] + }), + ) + + return new Map(correspondance) +} diff --git a/src/modules/note/models/Note.ts b/src/modules/note/models/Note.ts index fa38c99..76570f2 100644 --- a/src/modules/note/models/Note.ts +++ b/src/modules/note/models/Note.ts @@ -1,7 +1,19 @@ -import { DataType } from '@/data/DataType.enum' -import { Model } from '@/data/models/Model' +import { DataType } from "@/data/DataType.enum" +import { Model } from "@/data/models/Model" export interface Note extends Model { content: string editedSha?: string } + +export interface PublicNoteListItem { + did: string + rkey: string + title: string + publishedAt: string + createdAt: string +} + +export interface PublicNote extends PublicNoteListItem { + content: string +} diff --git a/src/router/router.ts b/src/router/router.ts index a19256e..7f1abe4 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -14,6 +14,11 @@ const routes: Array = [ props: true, component: () => import("@/views/FluxNoteView.vue"), }, + { + path: "/notes", + name: "PublicNoteView", + component: () => import("@/views/PublicNoteView.vue"), + }, { path: "/:user/:repo/share/:note", name: "ShareNotes", diff --git a/src/views/PublicNoteView.vue b/src/views/PublicNoteView.vue new file mode 100644 index 0000000..e7f7d16 --- /dev/null +++ b/src/views/PublicNoteView.vue @@ -0,0 +1,30 @@ + + + + +