|
@@ -34,79 +34,84 @@
|
|
|
(let [if-nil #(if (nil? %1) %2 %1)]
|
|
|
{:fx [[:dispatch
|
|
|
[:services/fetch-all
|
|
|
- [:services/load] [:bad-response]]]]
|
|
|
+ [:services/load] [:bad-response]]]
|
|
|
+ [:dispatch
|
|
|
+ [:api/get "services/3/instance" [:peertube/load-active-instance]
|
|
|
+ [:bad-response]]]]
|
|
|
:db
|
|
|
- {:player/paused true
|
|
|
- :player/muted (:player/muted store)
|
|
|
- :player/shuffled (:player/shuffled store)
|
|
|
- :player/loop (if-nil (:player/loop store) :playlist)
|
|
|
- :player/volume (if-nil (:player/volume store) 100)
|
|
|
- :bg-player/show (:bg-player/show store)
|
|
|
- :queue (if-nil (:queue store) [])
|
|
|
- :queue/position (if-nil (:queue/position store) 0)
|
|
|
- :queue/unshuffled (:queue/unshuffled store)
|
|
|
- :service-id (if-nil (:service-id store) 0)
|
|
|
- :bookmarks (if-nil (:bookmarks store)
|
|
|
- [{:id (nano-id) :name "Liked Streams"}])
|
|
|
- :settings {:theme (if-nil (-> store
|
|
|
- :settings
|
|
|
- :theme)
|
|
|
- "auto")
|
|
|
- :show-comments (if-nil (-> store
|
|
|
- :settings
|
|
|
- :show-comments)
|
|
|
- true)
|
|
|
- :show-related (if-nil (-> store
|
|
|
- :settings
|
|
|
- :show-related)
|
|
|
- true)
|
|
|
- :show-description (if-nil (-> store
|
|
|
- :settings
|
|
|
- :show-description)
|
|
|
- true)
|
|
|
- :items-layout (if-nil (-> store
|
|
|
- :settings
|
|
|
- :items-layout)
|
|
|
- "list")
|
|
|
- :default-resolution (if-nil
|
|
|
- (-> store
|
|
|
- :settings
|
|
|
- :default-resolution)
|
|
|
- "720p")
|
|
|
- :default-video-format (if-nil
|
|
|
- (-> store
|
|
|
- :settings
|
|
|
- :default-video-format)
|
|
|
- "MPEG-4")
|
|
|
- :default-audio-format (if-nil
|
|
|
- (-> store
|
|
|
- :settings
|
|
|
- :default-audio-format)
|
|
|
- "m4a")
|
|
|
- :instance (if-nil (-> store
|
|
|
- :settings
|
|
|
- :instance)
|
|
|
- (config/get-in
|
|
|
- [:frontend
|
|
|
- :backend-url]))
|
|
|
- :default-country (if-nil (-> store
|
|
|
- :settings
|
|
|
- :default-country)
|
|
|
- {0 {:name
|
|
|
- "United States"
|
|
|
- :code "US"}})
|
|
|
- :default-kiosk (if-nil (-> store
|
|
|
- :settings
|
|
|
- :default-kiosk)
|
|
|
- {0 "Trending"})
|
|
|
- :default-filter (if-nil (-> store
|
|
|
- :settings
|
|
|
- :default-filter)
|
|
|
- {0 "all"})
|
|
|
- :default-service (if-nil (-> store
|
|
|
- :settings
|
|
|
- :default-service)
|
|
|
- 0)}}})))
|
|
|
+ {:player/paused true
|
|
|
+ :player/muted (:player/muted store)
|
|
|
+ :player/shuffled (:player/shuffled store)
|
|
|
+ :player/loop (if-nil (:player/loop store) :playlist)
|
|
|
+ :player/volume (if-nil (:player/volume store) 100)
|
|
|
+ :bg-player/show (:bg-player/show store)
|
|
|
+ :queue (if-nil (:queue store) [])
|
|
|
+ :queue/position (if-nil (:queue/position store) 0)
|
|
|
+ :queue/unshuffled (:queue/unshuffled store)
|
|
|
+ :service-id (if-nil (:service-id store) 0)
|
|
|
+ :peertube/instances (if-nil (:peertube/instances store)
|
|
|
+ (config/get-in [:peertube :instances]))
|
|
|
+ :bookmarks (if-nil (:bookmarks store)
|
|
|
+ [{:id (nano-id) :name "Liked Streams"}])
|
|
|
+ :settings {:theme (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :theme)
|
|
|
+ "auto")
|
|
|
+ :show-comments (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :show-comments)
|
|
|
+ true)
|
|
|
+ :show-related (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :show-related)
|
|
|
+ true)
|
|
|
+ :show-description (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :show-description)
|
|
|
+ true)
|
|
|
+ :items-layout (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :items-layout)
|
|
|
+ "list")
|
|
|
+ :default-resolution (if-nil
|
|
|
+ (-> store
|
|
|
+ :settings
|
|
|
+ :default-resolution)
|
|
|
+ "720p")
|
|
|
+ :default-video-format (if-nil
|
|
|
+ (-> store
|
|
|
+ :settings
|
|
|
+ :default-video-format)
|
|
|
+ "MPEG-4")
|
|
|
+ :default-audio-format (if-nil
|
|
|
+ (-> store
|
|
|
+ :settings
|
|
|
+ :default-audio-format)
|
|
|
+ "m4a")
|
|
|
+ :instance (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :instance)
|
|
|
+ (config/get-in
|
|
|
+ [:frontend
|
|
|
+ :backend-url]))
|
|
|
+ :default-country (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :default-country)
|
|
|
+ {0 {:name
|
|
|
+ "United States"
|
|
|
+ :code "US"}})
|
|
|
+ :default-kiosk (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :default-kiosk)
|
|
|
+ {0 "Trending"})
|
|
|
+ :default-filter (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :default-filter)
|
|
|
+ {0 "all"})
|
|
|
+ :default-service (if-nil (-> store
|
|
|
+ :settings
|
|
|
+ :default-service)
|
|
|
+ 0)}}})))
|
|
|
|
|
|
(rf/reg-fx
|
|
|
:scroll-to-top
|
|
@@ -146,7 +151,24 @@
|
|
|
:request-content-type :json
|
|
|
:response-content-types {#"application/.*json" :json}
|
|
|
:mode :cors
|
|
|
- :credentials :same-origin
|
|
|
+ :credentials :omit
|
|
|
+ :on-success on-success
|
|
|
+ :on-failure on-failure}}))
|
|
|
+
|
|
|
+(rf/reg-event-fx
|
|
|
+ :api/post
|
|
|
+ (fn [{:keys [db]} [_ path body on-success on-failure params]]
|
|
|
+ {:fetch
|
|
|
+ {:method :post
|
|
|
+ :url (str (get-in db [:settings :instance])
|
|
|
+ "/api/v1/"
|
|
|
+ path)
|
|
|
+ :params (or params {})
|
|
|
+ :body body
|
|
|
+ :request-content-type :json
|
|
|
+ :response-content-types {#"application/.*json" :json}
|
|
|
+ :mode :cors
|
|
|
+ :credentials :omit
|
|
|
:on-success on-success
|
|
|
:on-failure on-failure}}))
|
|
|
|