AT Protocol Jetstream Module for Open Web Desktop
at main 30 lines 933 B view raw
1import { defineNuxtPlugin, useRuntimeConfig } from 'nuxt/app' 2import { useAtproto, useAgent } from '#imports' 3import { startActorDesktopStreamw } from './utils/utilAtprotoApplicationStates' 4 5export default defineNuxtPlugin({ 6 name: 'owd-plugin-atproto-jetstream', 7 dependsOn: ['owd-plugin-atproto'], 8 async setup(nuxt) { 9 nuxt.hook('app:mounted', () => { 10 const runtimeConfig = useRuntimeConfig() 11 const atproto = useAtproto() 12 13 if ( 14 runtimeConfig.public.desktop.atprotoJetstream && 15 runtimeConfig.public.desktop.atprotoJetstream.startOwnerDesktopStreamOnMounted 16 ) { 17 18 if (atproto.isLogged()) { 19 const agent = useAgent('private') 20 21 if (runtimeConfig.public.desktop.atprotoDesktop.owner.did === agent.assertDid) { 22 return 23 } 24 } 25 26 startActorDesktopStreamw(runtimeConfig.public.desktop.atprotoDesktop.owner.did) 27 } 28 }) 29 }, 30})