Fix resource view; fetch missing events

This commit is contained in:
@s.roertgen 2024-11-27 19:00:59 +01:00
parent 18aecc3f5e
commit fe42a9bf66
3 changed files with 52 additions and 43 deletions

View file

@ -447,9 +447,17 @@
(let [query ["REQ"
"RAND42"
{:ids event-ids}]]
{::request-from-relay [sockets query]})))
(re-frame/reg-event-fx
::query-for-d-tag
(fn [db [_ [sockets d-tags]]]
(let [query ["REQ"
"RAND42"
{:#d d-tags}]]
{::request-from-relay [sockets query]})))
(defn cleanup-list-name [s]
(-> s
(str/replace #"\s" "-")

View file

@ -32,9 +32,14 @@
(first (filter #(= (:id %) id) (:events db)))))
(re-frame/reg-sub
::events-by-d-tag
(fn [db [_ d]]
(sort-by :created_at #(> %1 %2) (filter #(= d (nostr/get-d-id-from-event %)) (:events db)))))
::events-by-d-tag
:<- [::sockets]
:<- [::events]
(fn [[sockets events] [_ d]]
(let [filtered-events (filter #(= d (nostr/get-d-id-from-event %)) events)]
(if-not (empty? filtered-events)
(sort-by :created_at #(> %1 %2) filtered-events)
(re-frame/dispatch [::events/query-for-d-tag [sockets [d]]])))))
(re-frame/reg-sub
::metadata-events
@ -313,29 +318,28 @@
(re-frame/dispatch [::events/load-profile pubkey])))
profiles))) ;; unique profiles
(re-frame/reg-sub
::md-form-image
(fn [db _]
(-> db :md-form-resource :image)))
(re-frame/reg-sub
::md-form-image
(fn [db _]
(-> db :md-form-resource :image)))
(re-frame/reg-sub
::selected-md-scheme
(fn [db]
(:selected-md-scheme db)))
::selected-md-scheme
(fn [db]
(:selected-md-scheme db)))
(re-frame/reg-sub
::md-form-resource
(fn [db]
(:md-form-resource db)))
::md-form-resource
(fn [db]
(:md-form-resource db)))
(re-frame/reg-sub
::user-language
(fn [db]
(:user-language db)))
::user-language
(fn [db]
(:user-language db)))
(comment
@(re-frame/subscribe [::profile "1c5ff3caacd842c01dca8f378231b16617516d214da75c7aeabbe9e1efe9c0f6"])
@(re-frame/subscribe [::md-form-resource])
@(re-frame/subscribe [::md-form-image])
)
@(re-frame/subscribe [::md-form-resource])
@(re-frame/subscribe [::md-form-image]))

View file

@ -11,31 +11,28 @@
(let [route-params @(re-frame/subscribe [::subs/route-params])
naddr (:naddr route-params)
data (nostr/decode-naddr naddr)
events-with-same-d (re-frame/subscribe [::subs/events-by-d-tag (:identifier data)])
latest-event (first @events-with-same-d)
_ (.log js/console "events with same d id" (clj->js @events-with-same-d))
; _ (.log js/)
]
[:div
(case (:kind data)
30142 [:div {:class "flex flex-col"}
[:img {:class "w-full object-contain bg-transparent max-h-[40vh] "
:src (nostr/get-image-from-metadata-event latest-event)}]
[:h1 {:class "text-2xl font-bold"} (nostr/get-name-from-metadata-event latest-event)]
[:div
(resource-component/skos-tags [@events-with-same-d "about"])]
events-with-same-d (re-frame/subscribe [::subs/events-by-d-tag (:identifier data)])]
(fn []
(let [latest-event (first @events-with-same-d)]
[:div
(case (:kind latest-event)
30142 [:div {:class "flex flex-col"}
[:img {:class "w-full object-contain bg-transparent max-h-[40vh] "
:src (nostr/get-image-from-metadata-event latest-event)}]
[:h1 {:class "text-2xl font-bold"} (nostr/get-name-from-metadata-event latest-event)]
[:div
(resource-component/skos-tags [@events-with-same-d "about"])]
;; Keywords
[:div
(doall
(for [kw (nostr/get-keywords-from-metadata-event latest-event)]
(resource-components/keywords-component kw)))]
[:div
(doall
(for [kw (nostr/get-keywords-from-metadata-event latest-event)]
(resource-components/keywords-component kw)))]
;; Author
[:div {:class "ml-auto mr-0 my-2"}
(resource-component/authors-component latest-event)]
[:p (nostr/get-description-from-metadata-event latest-event)]]
[:div {:class "ml-auto mr-0 my-2"}
(resource-component/authors-component latest-event)]
[:p (nostr/get-description-from-metadata-event latest-event)]]
[:p "Dunno how to render that, sorry 🤷"])]))
[:p "Dunno how to render that, sorry 🤷"])]))))
(comment
(re-frame/subscribe [::subs/events-by-d-tag "https://langsci-press.org/catalog/book/406"]))