From c4f5de7c3b6efb417ab0d91b207f747277d27079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madis=20N=C3=B5mme?= Date: Mon, 18 Nov 2024 07:08:04 -0600 Subject: [PATCH] Link feedback slides to user profiles --- ui/src/ethlance/ui/component/carousel.cljs | 20 ++++++++++++-------- ui/src/ethlance/ui/page/profile.cljs | 12 ++++++++---- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/ui/src/ethlance/ui/component/carousel.cljs b/ui/src/ethlance/ui/component/carousel.cljs index e3d74ee6..55451100 100644 --- a/ui/src/ethlance/ui/component/carousel.cljs +++ b/ui/src/ethlance/ui/component/carousel.cljs @@ -60,14 +60,18 @@ (defn c-feedback-slide - [{:keys [id rating author text image-url class]}] - [:div.feedback-slide - ;; FIXME: use better unique key - {:key (str "feedback-" id "-" rating) :class class} - [:div.profile-image [c-profile-image {:src image-url}]] - [:div.rating [c-rating {:rating rating :color :white}]] - [:div.message text] - [:div.name author]]) + [{:keys [id rating author text image-url class link-params]}] + (let [slide-content [:div.feedback-slide + ;; FIXME: use better unique key + {:key (str "feedback-" id "-" rating) :class class} + [:div.profile-image [c-profile-image {:src image-url}]] + [:div.rating [c-rating {:rating rating :color :white}]] + [:div.message text] + [:div.name author]]] + (if link-params + [:a link-params slide-content] + slide-content)) + ) (defn c-carousel diff --git a/ui/src/ethlance/ui/page/profile.cljs b/ui/src/ethlance/ui/page/profile.cljs index 87169c3c..c6c5a3fb 100644 --- a/ui/src/ethlance/ui/page/profile.cljs +++ b/ui/src/ethlance/ui/page/profile.cljs @@ -227,7 +227,8 @@ {:rating (:feedback/rating item) :text (:feedback/text item) :image-url (-> item :feedback/from-user :user/profile-image) - :author (get-in item [:feedback/from-user :user/name])}) + :author (get-in item [:feedback/from-user :user/name]) + :link-params (navigation/link-params {:route :route.user/profile :params {:address (get-in item [:feedback/from-user :user/id])}})}) (defn c-missing-profile-notification @@ -266,7 +267,8 @@ :feedback/text :feedback/rating [:feedback/from-user - [:user/name + [:user/id + :user/name :user/profile-image]]]]]]]] results (re/subscribe [::gql/query {:queries [query]}]) name (get-in @results [:candidate :user :user/name]) @@ -318,7 +320,8 @@ :feedback/text :feedback/rating [:feedback/from-user - [:user/name + [:user/id + :user/name :user/profile-image]]]]]]]] results (re/subscribe [::gql/query {:queries [query]}]) name (get-in @results [:employer :user :user/name]) @@ -429,7 +432,8 @@ :feedback/text :feedback/rating [:feedback/from-user - [:user/name + [:user/id + :user/name :user/profile-image]]]]]]]] results (re/subscribe [::gql/query {:queries [query]}]) name (get-in @results [:arbiter :user :user/name])