|
37 | 37 | :by-favorites (util/tweets-by-order :retweets :by-favorites)
|
38 | 38 | :by-rt-since-startup (util/tweets-by-order :retweets :by-rt-since-startup)})
|
39 | 39 |
|
| 40 | +(def find-tweets2 {:by-id (util/tweet-ids-by-order :tweets-map :by-id) |
| 41 | + :by-followers (util/tweet-ids-by-order :tweets-map :by-followers) |
| 42 | + :by-retweets (util/tweet-ids-by-order :retweets :by-retweets) |
| 43 | + :by-favorites (util/tweet-ids-by-order :retweets :by-favorites) |
| 44 | + :by-rt-since-startup (util/tweet-ids-by-order :retweets :by-rt-since-startup)}) |
| 45 | + |
40 | 46 | (defn sort-button-js [app key]
|
41 | 47 | "generates JS for sort button for both updating sort order and showing active button"
|
42 | 48 | #js {:onClick (fn [e] (om/update! app [:sorted] key))
|
|
79 | 85 | (dom/a #js {:href (str "https://twitter.com/intent/" intent (:id_str tweet))}
|
80 | 86 | (dom/img #js {:src (str "/images/" icon)})))
|
81 | 87 |
|
| 88 | +#_(defn tweet-view [tid owner] |
| 89 | + "rendering single tweet card" |
| 90 | + (print tid) |
| 91 | + (let [raw-tweet ((first tid) (:tweets-map @state/app))] |
| 92 | + (reify |
| 93 | + om/IRender |
| 94 | + (render [this] |
| 95 | + (if (:user raw-tweet) |
| 96 | + (let [tweet (util/format-tweet raw-tweet) |
| 97 | + user (:user tweet) |
| 98 | + screen-name (:screen_name user) |
| 99 | + href (str "http://www.twitter.com/" screen-name) |
| 100 | + media (:media (:entities tweet))] |
| 101 | + (dom/div #js {:className "tweet"} |
| 102 | + (dom/span nil (dom/a #js {:href href :target "_blank"} |
| 103 | + (dom/img #js {:className "thumbnail" :src (:profile_image_url user)}))) |
| 104 | + (dom/a #js {:href href :target "_blank"} |
| 105 | + (dom/span #js {:className "username" :src (:profile_image_url user)} (:name user))) |
| 106 | + (dom/span #js {:className "username_screen"} (str " @" screen-name)) |
| 107 | + (dom/div #js {:className "pull-right timeInterval"} (util/from-now (:created_at tweet))) |
| 108 | + (dom/div #js {:className "tweettext"} |
| 109 | + (dom/div #js {:dangerouslySetInnerHTML #js {:__html (:html-text tweet)}}) |
| 110 | + (dom/div #js {:className "pull-left timeInterval"} |
| 111 | + (str (util/number-format (:followers_count user)) " followers")) |
| 112 | + (dom/div #js {:className "pull-right timeInterval"} |
| 113 | + (str (util/rt-count-since-startup tweet) |
| 114 | + (util/rt-count tweet) |
| 115 | + (util/fav-count tweet)))) |
| 116 | + (when (> (count media) 0) |
| 117 | + (dom/div #js {:className "tweet-image"} |
| 118 | + (dom/a #js {:href (:url (get media 0)) :target "_blank"} |
| 119 | + (dom/img #js {:src (str (:media_url (get media 0)) ":small")})))) |
| 120 | + (dom/div #js {:className "intent"} |
| 121 | + (twitter-intent tweet "tweet?in_reply_to=" "reply.png") |
| 122 | + (twitter-intent tweet "retweet?tweet_id=" "retweet.png") |
| 123 | + (twitter-intent tweet "favorite?tweet_id=" "favorite.png")))) |
| 124 | + (do |
| 125 | + (print "hello") |
| 126 | + ;(print ((keyword (:id_str raw-tweet)) (:tweets-map @state/app))) |
| 127 | + ;(put! c/tweet-missing-chan tid) |
| 128 | + ;(dom/div #js {:className "tweet"} "loading... " tid) |
| 129 | + |
| 130 | + )))))) |
| 131 | + |
| 132 | + |
82 | 133 |
|
83 |
| -(defn tweet-view [raw-tweet owner] |
| 134 | +(defn tweet-view [raw-tweet-entry owner] |
84 | 135 | "rendering single tweet card"
|
| 136 | + (print "raw-tweet") |
| 137 | + (print raw-tweet-entry) |
| 138 | + (let [raw-tweet ((keyword (:id_str raw-tweet-entry)) (:tweets-map @state/app))] |
85 | 139 | (reify
|
86 | 140 | om/IRender
|
87 | 141 | (render [this]
|
|
115 | 169 | (twitter-intent tweet "retweet?tweet_id=" "retweet.png")
|
116 | 170 | (twitter-intent tweet "favorite?tweet_id=" "favorite.png"))))
|
117 | 171 | (do
|
118 |
| - (put! c/missing-tweets-chan (:id_str raw-tweet)) |
119 |
| - (dom/div #js {:className "tweet"} "loading...")))))) |
| 172 | + (print "hello") |
| 173 | + ;(print ((keyword (:id_str raw-tweet)) (:tweets-map @state/app))) |
| 174 | + (put! c/tweet-missing-chan (:id_str raw-tweet-entry)) |
| 175 | + (dom/div #js {:className "tweet"} "loading... " (:id_str raw-tweet-entry)))))))) |
120 | 176 |
|
121 | 177 | (defn tweets-view [app owner]
|
122 | 178 | "rendering tweet list"
|
123 | 179 | (reify
|
124 | 180 | om/IRender
|
125 | 181 | (render [this]
|
126 |
| - (apply dom/div nil (om/build-all |
127 |
| - tweet-view |
128 |
| - (((:sorted app) find-tweets) app (:n app) (- (:page app) 1))))))) |
| 182 | + (let [tweets (((:sorted app) find-tweets) app (:n app) (- (:page app) 1))] |
| 183 | + (print "load tweets") |
| 184 | + (print (count tweets)) |
| 185 | + (print tweets) |
| 186 | + (apply dom/div nil (om/build-all |
| 187 | + tweet-view |
| 188 | + tweets)))))) |
129 | 189 |
|
130 | 190 | (defn pag-items [app page-change-chan]
|
131 | 191 | "function creating pagination items"
|
|
0 commit comments