0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-10 14:51:37 -05:00

Merge remote-tracking branch 'origin/staging' into develop

This commit is contained in:
Alejandro Alonso 2024-09-24 14:27:20 +02:00
commit 9b802e1c7d
3 changed files with 20 additions and 12 deletions

View file

@ -150,7 +150,7 @@
href (->> path
(js/encodeURIComponent)
(str "/challenge.html?redirect="))]
(rx/of (rt/nav-raw href)))
(rx/of (rt/nav-raw :href href)))
(rx/throw cause))))
(defn fetch-profile
@ -172,13 +172,16 @@
(letfn [(get-redirect-events []
(let [team-id (get-current-team-id profile)
welcome-file-id (dm/get-in profile [:props :welcome-file-id])
redirect-href (:login-redirect storage/session)]
redirect-href (:login-redirect @s/session)
current-href (rt/get-current-href)]
(cond
(some? redirect-href)
(binding [storage/*sync* true]
(swap! storage/session dissoc :login-redirect)
(rx/of (rt/nav-raw :href redirect-href)))
(if (= current-href redirect-href)
(rx/of (rt/reload true))
(rx/of (rt/nav-raw :href redirect-href))))
(some? welcome-file-id)
(rx/of (rt/nav' :workspace {:project-id (:default-project-id profile)

View file

@ -45,18 +45,22 @@
[]
(st/emit! (du/create-demo-profile)))
(defn- store-login-redirect
[save-login-redirect]
(binding [s/*sync* true]
(if (some? save-login-redirect)
;; Save the current login raw uri for later redirect user back to
;; the same page, we need it to be synchronous because the user is
;; going to be redirected instantly to the oidc provider uri
(swap! s/session assoc :login-redirect (rt/get-current-href))
;; Clean the login redirect
(swap! s/session dissoc :login-redirect))))
(defn- login-with-oidc
[event provider params]
(dom/prevent-default event)
(binding [s/*sync* true]
(if (some? (:save-login-redirect params))
;; Save the current login raw uri for later redirect user back to
;; the same page, we need it to be synchronous because the user is
;; going to be redirected instantly to the oidc provider uri
(swap! s/session assoc :login-redirect (rt/get-current-href))
;; Clean the login redirect
(swap! s/session dissoc :login-redirect)))
(store-login-redirect (:save-login-redirect params))
;; FIXME: this code should be probably moved outside of the UI
(->> (rp/cmd! :login-with-oidc (assoc params :provider provider))
@ -131,6 +135,7 @@
on-submit
(mf/use-callback
(fn [form _event]
(store-login-redirect (:save-login-redirect params))
(reset! error nil)
(let [params (with-meta (:clean-data @form)
{:on-error on-error

View file

@ -31,7 +31,7 @@
(defn asap
[f]
(-> (p/resolved nil)
(p/then f)))
(p/then (fn [_] (f)))))
(defn interval
[ms func]