Skip to content

Commit 4133dd1

Browse files
authored
fix: party creation page crash from eager JS reload
make-empty-party had :on-success (.reload js/window.location true) which evaluated eagerly during map construction, reloading the page before the POST even completed. Replaced with a proper dispatch vector to a new make-empty-party-success handler that appends the new party to app-db reactively, matching the existing make-party pattern.
1 parent 22e48cc commit 4133dd1

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/cljs/orcpub/dnd/e5/events.cljs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,15 @@
756756
::party5e/character-ids character-ids}
757757
:on-success [::party5e/make-party-success]}}))
758758

759+
(reg-event-fx
760+
::party5e/make-empty-party-success
761+
(fn [{:keys [db]} [_ response]]
762+
(let [new-party (:body response)
763+
parties (conj (vec (::char5e/parties db)) new-party)]
764+
{:db (assoc db
765+
::char5e/parties parties
766+
::char5e/parties-map (common/map-by-id parties))})))
767+
759768
(reg-event-fx
760769
::party5e/make-empty-party
761770
(fn [{:keys [db]} [_]]
@@ -764,8 +773,7 @@
764773
:headers (authorization-headers db)
765774
:url (url-for-route routes/dnd-e5-char-parties-route)
766775
:transit-params {::party5e/name "A New Party"}
767-
:on-success (.reload js/window.location true)
768-
}}))
776+
:on-success [::party5e/make-empty-party-success]}}))
769777

770778
(reg-event-fx
771779
::party5e/rename-party

0 commit comments

Comments
 (0)