🐛 Fix import error messages (#6265)

This commit is contained in:
Alonso Torres 2025-04-10 14:46:50 +02:00 committed by GitHub
parent 6f2f1b7a76
commit caf558f8dd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 83 additions and 18 deletions

View file

@ -291,7 +291,7 @@
import-error?
[:div {:class (stl/css :error-message)}
(tr "dashboard.import.import-error")]
(tr "labels.error")]
(and (not import-success?) (some? progress))
[:div {:class (stl/css :progress-message)} (parse-progress-message progress)])
@ -443,7 +443,12 @@
(and (seq entries)
(every? #(= :import-success (:status %)) entries))
(reset! status* :import-success)))
(reset! status* :import-success)
(and (seq entries)
(and (every? #(not= :import-ready (:status %)) entries)
(some #(= :import-error (:status %)) entries)))
(reset! status* :import-error)))
;; Run analyze operation on component mount
(mf/with-effect []
@ -469,15 +474,30 @@
{:level (if (zero? import-success-total) :warning :success)
:content (tr "dashboard.import.import-message" (i18n/c import-success-total))}])
(for [entry entries]
[:> import-entry* {:edition edition
:key (dm/str (:uri entry) "/" (:file-id entry))
:entry entry
:entries entries
:on-edit on-edit
:on-change on-entry-change
:on-delete on-entry-delete
:can-be-deleted (> (count entries) 1)}])
(when (= :import-error status)
[:& context-notification
{:level :error
:class (stl/css :context-notification-error)
:content (tr "dashboard.import.import-error.disclaimer")}])
(if (= :import-error status)
[:div {:class (stl/css :import-error-disclaimer)}
[:div (tr "dashboard.import.import-error.message1")]
[:ul {:class (stl/css :import-error-list)}
(for [entry entries]
(when (= :import-error (:status entry))
[:li {:class (stl/css :import-error-list-enry)} (:name entry)]))]
[:div (tr "dashboard.import.import-error.message2")]]
(for [entry entries]
[:> import-entry* {:edition edition
:key (dm/str (:uri entry) "/" (:file-id entry))
:entry entry
:entries entries
:on-edit on-edit
:on-change on-entry-change
:on-delete on-entry-delete
:can-be-deleted (> (count entries) 1)}]))
(when (some? template)
[:> import-entry* {:entry (assoc template :status status)
@ -499,6 +519,7 @@
:on-click on-continue}])
(when (or (= :import-success status)
(= :import-error status)
(= :import-progress status))
[:input {:class (stl/css :accept-btn)
:type "button"

View file

@ -192,3 +192,20 @@
}
}
}
.context-notification-error {
--context-notification-bg-color: var(--modal-background-color);
}
.import-error-disclaimer {
color: var(--color-foreground-primary);
}
.import-error-list {
padding: 0 var(--sp-l);
list-style: disc;
}
.import-error-list-enry {
padding: var(--sp-xs) 0;
}

View file

@ -38,13 +38,16 @@
"They are persistent, informative and non-actionable.
They are contextual messages in specific areas off the app"
{::mf/props :obj}
[{:keys [level content links is-html] :as props}]
[:aside {:class (stl/css-case :context-notification true
:contain-html is-html
:warning (= level :warning)
:error (= level :error)
:success (= level :success)
:info (= level :info))}
[{:keys [level content links is-html class] :as props}]
[:aside {:class (dm/str
class
" "
(stl/css-case :context-notification true
:contain-html is-html
:warning (= level :warning)
:error (= level :error)
:success (= level :success)
:info (= level :info)))}
(get-icon-by-level level)