/- sur=nostrill, nsur=nostr, feed=trill-feed /+ sr=sortug, common=json-common, trill=json-trill, nostr=json-nostr |% ++ en =, enjs:format |% :: UI comms ++ state |= state-0:sur ^- json %: pairs relays+(en-relays relays) key+(hex:en:common pub.i.keys) profiles+(en-profiles profiles) :: TODO proper cursors feed+(feed-with-cursor:en:trill feed ~ ~) nostr+(en-nostr-feed nostr-feed) following+(enfollowing following) ['followGraph' (engraph follow-graph)] ~ == ++ en-nostr-feed |= feed=nostr-feed:sur ^- json :- %a %+ turn (tap:norm:sur feed) |= [id=@ud ev=event:nsur] (event:en:nostr ev) ++ en-relays |= r=(map @t relay-stats:nsur) ^- json %- pairs %+ turn ~(tap by r) |= [url=@t rs=relay-stats:nsur] :- url %- pairs :~ :- %connected ?~ connected.rs ~ (time u.connected.rs) :- %reqs (relay-stats reqs.rs) == ++ relay-stats |= rm=(map @t event-stats:nsur) %- pairs %+ turn ~(tap by rm) |= [sub-id=@t es=event-stats:nsur] :: TODO do we even need this :- sub-id (numb received.es) ++ en-profiles |= m=(map @ux user-meta:nsur) %- pairs %+ turn ~(tap by m) |= [key=@ux p=user-meta:nsur] :- (crip (scow:sr %ux key)) (user-meta:en:nostr p) ++ enfollowing |= m=(map @ux feed:feed) ^- json %- pairs %+ turn ~(tap by m) |= [key=@ux f=feed:feed] :- (crip (scow:sr %ux key)) (feed:en:trill f) ++ engraph |= m=(map @ux (set follow:sur)) ^- json %- pairs %+ turn ~(tap by m) |= [key=@ux s=(set follow:sur)] :- (crip (scow:sr %ux key)) :- %a %+ turn ~(tap in s) |= f=follow:sur %- pairs :~ pubkey+(hex:en:common pubkey.f) name+s+name.f :- %relay ?~ relay.f ~ s+u.relay.f == -- ++ de =, dejs-soft:format |% :: ui ++ ui %- of :~ keys+ul fols+ui-fols prof+ui-prof post+ui-post rela+ui-relay == ++ ui-fols %- of :~ add+hex:de:common del+hex:de:common == ++ ui-prof %- of :~ add+add-prof del+hex:de:common == ++ add-prof %- ot :~ pubkey+hex:de:common meta+user-meta:de:nostr == ++ ui-post %- of :~ add+de-post rt+de-rt del+hex:de:common == ++ de-post %- ot :~ pubkey+hex:de:common content+so == ++ de-rt %- ot :~ id+hex:de:common pubkey+hex:de:common relay+so == ++ ui-relay %- of :~ send+de-relay == ++ de-relay %- ot :~ host+(se:de:common %p) id+de-atom-id relays+(ar so) == ++ de-atom-id |= jon=json ?. ?=([%s @t] jon) ~ (rush p.jon dem) -- --