mirror of
https://github.com/penpot/penpot.git
synced 2026-04-25 11:18:36 +00:00
🐛 Make ct/format-inst nil safe (#8612)
Prevent JS TypeError when date is nil in date formatting. Signed-off-by: Andrey Antukh <niwi@niwi.nz>
This commit is contained in:
parent
25df9f2f83
commit
e7e6303184
@ -204,40 +204,41 @@
|
|||||||
(defn format-inst
|
(defn format-inst
|
||||||
([v] (format-inst v :iso))
|
([v] (format-inst v :iso))
|
||||||
([v fmt]
|
([v fmt]
|
||||||
(case fmt
|
(when (some? v)
|
||||||
(:iso :iso8601)
|
(case fmt
|
||||||
#?(:clj (.format DateTimeFormatter/ISO_INSTANT ^Instant v)
|
(:iso :iso8601)
|
||||||
:cljs (dfn-format-iso v))
|
#?(:clj (.format DateTimeFormatter/ISO_INSTANT ^Instant v)
|
||||||
|
:cljs (dfn-format-iso v))
|
||||||
|
|
||||||
:iso-date
|
:iso-date
|
||||||
#?(:clj (.format DateTimeFormatter/ISO_LOCAL_DATE
|
#?(:clj (.format DateTimeFormatter/ISO_LOCAL_DATE
|
||||||
^ZonedDateTime (ZonedDateTime/ofInstant v (ZoneId/of "UTC")))
|
^ZonedDateTime (ZonedDateTime/ofInstant v (ZoneId/of "UTC")))
|
||||||
:cljs (dfn-format-iso v #js {:representation "date"}))
|
:cljs (dfn-format-iso v #js {:representation "date"}))
|
||||||
|
|
||||||
(:rfc1123 :http)
|
(:rfc1123 :http)
|
||||||
#?(:clj (.format DateTimeFormatter/RFC_1123_DATE_TIME
|
#?(:clj (.format DateTimeFormatter/RFC_1123_DATE_TIME
|
||||||
^ZonedDateTime (ZonedDateTime/ofInstant v (ZoneId/of "UTC")))
|
^ZonedDateTime (ZonedDateTime/ofInstant v (ZoneId/of "UTC")))
|
||||||
:cljs (dfn-format v "EEE, dd LLL yyyy HH:mm:ss 'GMT'"))
|
:cljs (dfn-format v "EEE, dd LLL yyyy HH:mm:ss 'GMT'"))
|
||||||
|
|
||||||
#?@(:cljs [:time-24-simple
|
#?@(:cljs [:time-24-simple
|
||||||
(dfn-format v "HH:mm")
|
(dfn-format v "HH:mm")
|
||||||
|
|
||||||
;; DEPRECATED
|
;; DEPRECATED
|
||||||
:date-full
|
:date-full
|
||||||
(dfn-format v "PPP")
|
(dfn-format v "PPP")
|
||||||
|
|
||||||
:localized-date
|
:localized-date
|
||||||
(dfn-format v "PPP")
|
(dfn-format v "PPP")
|
||||||
|
|
||||||
:localized-time
|
:localized-time
|
||||||
(dfn-format v "p")
|
(dfn-format v "p")
|
||||||
|
|
||||||
:localized-date-time
|
:localized-date-time
|
||||||
(dfn-format v "PPP . p")
|
(dfn-format v "PPP . p")
|
||||||
|
|
||||||
(if (string? fmt)
|
(if (string? fmt)
|
||||||
(dfn-format v fmt)
|
(dfn-format v fmt)
|
||||||
(throw (js/Error. "unpexted format")))]))))
|
(throw (js/Error. "unpexted format")))])))))
|
||||||
|
|
||||||
#?(:cljs
|
#?(:cljs
|
||||||
(def locales
|
(def locales
|
||||||
|
|||||||
@ -137,16 +137,16 @@
|
|||||||
(ptk/reify ::pin-version
|
(ptk/reify ::pin-version
|
||||||
ptk/WatchEvent
|
ptk/WatchEvent
|
||||||
(watch [_ state _]
|
(watch [_ state _]
|
||||||
(let [version (->> (dm/get-in state [:workspace-versions :data])
|
(when-let [version (->> (dm/get-in state [:workspace-versions :data])
|
||||||
(d/seek #(= (:id %) id)))
|
(d/seek #(= (:id %) id)))]
|
||||||
params {:id id
|
(let [params {:id id
|
||||||
:label (ct/format-inst (:created-at version) :localized-date)}]
|
:label (ct/format-inst (:created-at version) :localized-date)}]
|
||||||
|
|
||||||
(->> (rp/cmd! :update-file-snapshot params)
|
(->> (rp/cmd! :update-file-snapshot params)
|
||||||
(rx/mapcat (fn [_]
|
(rx/mapcat (fn [_]
|
||||||
(rx/of (update-versions-state {:editing id})
|
(rx/of (update-versions-state {:editing id})
|
||||||
(fetch-versions)
|
(fetch-versions)
|
||||||
(ptk/event ::ev/event {::ev/name "pin-version"})))))))))
|
(ptk/event ::ev/event {::ev/name "pin-version"}))))))))))
|
||||||
|
|
||||||
(defn lock-version
|
(defn lock-version
|
||||||
[id]
|
[id]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user