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" (let [query ["REQ"
"RAND42" "RAND42"
{:ids event-ids}]] {:ids event-ids}]]
{::request-from-relay [sockets query]}))) {::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] (defn cleanup-list-name [s]
(-> s (-> s
(str/replace #"\s" "-") (str/replace #"\s" "-")

View file

@ -33,8 +33,13 @@
(re-frame/reg-sub (re-frame/reg-sub
::events-by-d-tag ::events-by-d-tag
(fn [db [_ d]] :<- [::sockets]
(sort-by :created_at #(> %1 %2) (filter #(= d (nostr/get-d-id-from-event %)) (:events db))))) :<- [::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 (re-frame/reg-sub
::metadata-events ::metadata-events
@ -337,5 +342,4 @@
@(re-frame/subscribe [::profile "1c5ff3caacd842c01dca8f378231b16617516d214da75c7aeabbe9e1efe9c0f6"]) @(re-frame/subscribe [::profile "1c5ff3caacd842c01dca8f378231b16617516d214da75c7aeabbe9e1efe9c0f6"])
@(re-frame/subscribe [::md-form-resource]) @(re-frame/subscribe [::md-form-resource])
@(re-frame/subscribe [::md-form-image]) @(re-frame/subscribe [::md-form-image]))
)

View file

@ -11,14 +11,11 @@
(let [route-params @(re-frame/subscribe [::subs/route-params]) (let [route-params @(re-frame/subscribe [::subs/route-params])
naddr (:naddr route-params) naddr (:naddr route-params)
data (nostr/decode-naddr naddr) data (nostr/decode-naddr naddr)
events-with-same-d (re-frame/subscribe [::subs/events-by-d-tag (:identifier data)]) events-with-same-d (re-frame/subscribe [::subs/events-by-d-tag (:identifier data)])]
latest-event (first @events-with-same-d) (fn []
_ (.log js/console "events with same d id" (clj->js @events-with-same-d)) (let [latest-event (first @events-with-same-d)]
; _ (.log js/)
]
[:div [:div
(case (:kind data) (case (:kind latest-event)
30142 [:div {:class "flex flex-col"} 30142 [:div {:class "flex flex-col"}
[:img {:class "w-full object-contain bg-transparent max-h-[40vh] " [:img {:class "w-full object-contain bg-transparent max-h-[40vh] "
:src (nostr/get-image-from-metadata-event latest-event)}] :src (nostr/get-image-from-metadata-event latest-event)}]
@ -35,7 +32,7 @@
(resource-component/authors-component latest-event)] (resource-component/authors-component latest-event)]
[:p (nostr/get-description-from-metadata-event 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 (comment
(re-frame/subscribe [::subs/events-by-d-tag "https://langsci-press.org/catalog/book/406"])) (re-frame/subscribe [::subs/events-by-d-tag "https://langsci-press.org/catalog/book/406"]))