mirror of
https://github.com/edufeed-org/edufeed-web.git
synced 2025-12-09 16:24:34 +00:00
Fix resource view; fetch missing events
This commit is contained in:
parent
18aecc3f5e
commit
fe42a9bf66
3 changed files with 52 additions and 43 deletions
|
|
@ -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" "-")
|
||||
|
|
|
|||
|
|
@ -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]))
|
||||
|
|
|
|||
|
|
@ -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"]))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue