diff --git a/src/modules/atproto/getUrl.ts b/src/modules/atproto/getUrl.ts new file mode 100644 index 0000000..71aa15e --- /dev/null +++ b/src/modules/atproto/getUrl.ts @@ -0,0 +1,13 @@ +export const getUrl = async ({ did, rkey }: { did: string; rkey: string }) => { + const response = await fetch(`https://plc.directory/${did}`) + const { + service: [{ serviceEndpoint }], + } = await response.json() + + const url = new URL("/xrpc/com.atproto.repo.getRecord", serviceEndpoint) + url.searchParams.set("repo", did) + url.searchParams.set("collection", "space.litenote.note") + url.searchParams.set("rkey", rkey) + + return url.toString() +} diff --git a/src/router/router.ts b/src/router/router.ts index 5ec12f4..a293e81 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -14,15 +14,21 @@ const routes: Array = [ props: true, component: () => import("@/views/FluxNoteView.vue"), }, + { + path: "/tiboudenote", + name: "PublicNoteListView", + component: () => import("@/views/PublicNoteListView.vue"), + }, { path: "/notes", name: "PublicNoteListView", component: () => import("@/views/PublicNoteListView.vue"), }, { - path: "/tiboudenote", - name: "PublicNoteListView", - component: () => import("@/views/PublicNoteListView.vue"), + path: "/notes/:did/:rkey", + name: "PublicNoteView", + props: true, + component: () => import("@/views/PublicNoteView.vue"), }, { path: "/:user/:repo/inbox", diff --git a/src/views/PublicNoteListView.vue b/src/views/PublicNoteListView.vue index 205290f..5386798 100644 --- a/src/views/PublicNoteListView.vue +++ b/src/views/PublicNoteListView.vue @@ -28,7 +28,15 @@ const getAlias = (did: string) => aka.value.get(did) ?? ""
diff --git a/src/views/PublicNoteView.vue b/src/views/PublicNoteView.vue new file mode 100644 index 0000000..7d8bc06 --- /dev/null +++ b/src/views/PublicNoteView.vue @@ -0,0 +1,28 @@ + + + + +