33 [lobjur.widgets.shared :refer [upvote-btn back-to-home-btn]]
44 [lobjur.state :as state :refer [curr-view]]
55 [lobjur.utils.http :as http]
6- [lobjur.utils.common :refer [parse-json base-url-lobster]]
6+ [lobjur.utils.common :refer [parse-json]]
7+ [lobster.core :as lobster]
78 [rollui.core :as rollui :refer-macros [defc ]]
89 [" gjs.gi.Adw" :as Adw]
910 [" gjs.gi.GLib" :as GLib]
1011 [" gjs.gi.Gtk" :as Gtk]))
1112
12- (def stories-urls
13- {:active " https://lobste.rs/active.json"
14- :hottest " https://lobste.rs/hottest.json"
15- :recents " https://lobste.rs/recents.json" })
16-
1713(defn tagged-stories-url [tag page]
1814 (str " https://lobste.rs/t/" tag " .json" " ?page=" page))
19- (defn compute-stories-url [kw page]
20- (str (kw stories-urls) " ?page=" page))
21-
2215
2316; ;taken from https://stackoverflow.com/a/69122877/11189772
2417(js* " function timeAgo(input) {
@@ -68,7 +61,7 @@ global.timeAgo = timeAgo")
6861 :spacing 8
6962 :selection-mode Gtk/SelectionMode.NONE
7063 :.append
71- (let [host (.get_host (.parse_relative base-url-lobster url GLib/UriFlags.NONE))]
64+ (let [host (.get_host (.parse_relative lobster/ base-url url GLib/UriFlags.NONE))]
7265 [Gtk/LinkButton
7366 :css_classes #js [" small" " button" " flat" " caption" ]
7467 :halign Gtk/Align.START
@@ -145,14 +138,12 @@ global.timeAgo = timeAgo")
145138 :.add_css_class (list " small" " flat" )
146139 :$clicked #(reset! curr-view {:name :search})])]])
147140
148- (defn stories-widget-provider [url]
149- (-> (http/get url)
150- (.then parse-json)
151- (.then
152- (partial map story-item-widget))
141+ (defn stories-widget-provider [prom]
142+ (-> prom
143+ (.then (partial map story-item-widget))
153144 (.catch println)))
154145
155- (defn stories-list-view [top-bar url ]
146+ (defn stories-list-view [top-bar prom ]
156147 [Gtk/ScrolledWindow
157148 :propagate_natural_height true
158149 :child
@@ -172,7 +163,7 @@ global.timeAgo = timeAgo")
172163 :.append
173164 [Gtk/ListBox
174165 :css_classes #js [" boxed-list" ]
175- :.append (stories-widget-provider url )]
166+ :.append (stories-widget-provider prom )]
176167 :.append
177168 [Gtk/Box
178169 :hexpand true
0 commit comments