mirror of
https://github.com/penpot/penpot.git
synced 2025-03-12 15:51:37 -05:00
Merge pull request #4758 from penpot/superalex-refactor-data-test-attribute
✨ Refactor data-test attribute
This commit is contained in:
commit
3b5b81b08f
31 changed files with 118 additions and 128 deletions
|
@ -159,7 +159,7 @@
|
|||
[:& context-notification
|
||||
{:type :error
|
||||
:content message
|
||||
:data-test "login-banner"
|
||||
:data-testid "login-banner"
|
||||
:role "alert"}])
|
||||
|
||||
[:& fm/form {:on-submit on-submit
|
||||
|
@ -185,7 +185,7 @@
|
|||
[:div {:class (stl/css :fields-row :forgot-password)}
|
||||
[:& lk/link {:action on-recovery-request
|
||||
:class (stl/css :forgot-pass-link)
|
||||
:data-test "forgot-password"}
|
||||
:data-testid "forgot-password"}
|
||||
(tr "auth.forgot-password")]])
|
||||
|
||||
[:div {:class (stl/css :buttons-stack)}
|
||||
|
@ -193,7 +193,7 @@
|
|||
(contains? cf/flags :login-with-password))
|
||||
[:> fm/submit-button*
|
||||
{:label (tr "auth.login-submit")
|
||||
:data-test "login-submit"
|
||||
:data-testid "login-submit"
|
||||
:class (stl/css :login-button)}])
|
||||
|
||||
(when (contains? cf/flags :login-with-ldap)
|
||||
|
@ -279,7 +279,7 @@
|
|||
|
||||
[:div {:class (stl/css :auth-form-wrapper)}
|
||||
[:h1 {:class (stl/css :auth-title)
|
||||
:data-test "login-title"} (tr "auth.login-account-title")]
|
||||
:data-testid "login-title"} (tr "auth.login-account-title")]
|
||||
|
||||
[:p {:class (stl/css :auth-tagline)}
|
||||
(tr "auth.login-tagline")]
|
||||
|
@ -298,5 +298,5 @@
|
|||
(tr "auth.register") " "]
|
||||
[:& lk/link {:action go-register
|
||||
:class (stl/css :register-link)
|
||||
:data-test "register-submit"}
|
||||
:data-testid "register-submit"}
|
||||
(tr "auth.register-submit")]])]]))
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
|
||||
[:> fm/submit-button*
|
||||
{:label (tr "auth.recovery-request-submit")
|
||||
:data-test "recovery-resquest-submit"
|
||||
:data-testid "recovery-resquest-submit"
|
||||
:class (stl/css :recover-btn)}]]))
|
||||
|
||||
|
||||
|
@ -106,5 +106,5 @@
|
|||
[:div {:class (stl/css :go-back)}
|
||||
[:& lk/link {:action go-back
|
||||
:class (stl/css :go-back-link)
|
||||
:data-test "go-back-link"}
|
||||
:data-testid "go-back-link"}
|
||||
(tr "labels.go-back")]]]))
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
[:& fm/input {:type "text"
|
||||
:name :email
|
||||
:label (tr "auth.work-email")
|
||||
:data-test "email-input"
|
||||
:data-testid "email-input"
|
||||
:show-success? true
|
||||
:class (stl/css :form-field)}]]
|
||||
[:div {:class (stl/css :fields-row)}
|
||||
|
@ -120,7 +120,7 @@
|
|||
[:> fm/submit-button*
|
||||
{:label (tr "auth.register-submit")
|
||||
:disabled @submitted?
|
||||
:data-test "register-form-submit"
|
||||
:data-testid "register-form-submit"
|
||||
:class (stl/css :register-btn)}]]))
|
||||
|
||||
(mf/defc register-methods
|
||||
|
@ -137,7 +137,7 @@
|
|||
[{:keys [params]}]
|
||||
[:div {:class (stl/css :auth-form-wrapper :register-form)}
|
||||
[:h1 {:class (stl/css :auth-title)
|
||||
:data-test "registration-title"} (tr "auth.register-title")]
|
||||
:data-testid "registration-title"} (tr "auth.register-title")]
|
||||
[:p {:class (stl/css :auth-tagline)}
|
||||
(tr "auth.register-tagline")]
|
||||
|
||||
|
@ -151,7 +151,7 @@
|
|||
[:span {:class (stl/css :account-text)} (tr "auth.already-have-account") " "]
|
||||
[:& lk/link {:action #(st/emit! (rt/nav :auth-login {} params))
|
||||
:class (stl/css :account-link)
|
||||
:data-test "login-here-link"}
|
||||
:data-testid "login-here-link"}
|
||||
(tr "auth.login-here")]]
|
||||
|
||||
(when (contains? cf/flags :demo-users)
|
||||
|
@ -272,7 +272,7 @@
|
|||
[:a {:href "#/" :title "Penpot" :class (stl/css :logo-btn)} i/logo]]
|
||||
[:div {:class (stl/css :auth-title-wrapper)}
|
||||
[:h2 {:class (stl/css :auth-title)
|
||||
:data-test "register-title"} (tr "auth.register-account-title")]
|
||||
:data-testid "register-title"} (tr "auth.register-account-title")]
|
||||
[:div {:class (stl/css :auth-subtitle)} (tr "auth.register-account-tagline")]]
|
||||
|
||||
[:& register-validate-form {:params params}]
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
id (gobj/get props "id")
|
||||
klass (gobj/get props "class")
|
||||
key-index (gobj/get props "key-index")
|
||||
data-test (gobj/get props "data-test")]
|
||||
data-testid (gobj/get props "data-testid")]
|
||||
[:li {:id id
|
||||
:class klass
|
||||
:tab-index "0"
|
||||
|
@ -47,7 +47,7 @@
|
|||
:on-click on-click
|
||||
:key key-index
|
||||
:role "menuitem"
|
||||
:data-test data-test}
|
||||
:data-testid data-testid}
|
||||
children]))
|
||||
|
||||
(mf/defc context-menu-a11y'
|
||||
|
@ -230,7 +230,7 @@
|
|||
id (:id option)
|
||||
sub-options (:sub-options option)
|
||||
option-handler (:option-handler option)
|
||||
data-test (:data-test option)]
|
||||
data-testid (:data-testid option)]
|
||||
(when option-name
|
||||
(if (= option-name :separator)
|
||||
[:li {:key (dm/str "context-item-" index)
|
||||
|
@ -240,7 +240,7 @@
|
|||
:key id
|
||||
:class (stl/css-case
|
||||
:is-selected (and selected (= option-name selected))
|
||||
:selected (and selected (= data-test selected))
|
||||
:selected (and selected (= data-testid selected))
|
||||
:context-menu-item true)
|
||||
:key-index (dm/str "context-item-" index)
|
||||
:tab-index "0"
|
||||
|
@ -251,18 +251,18 @@
|
|||
:on-click #(do (dom/stop-propagation %)
|
||||
(on-close)
|
||||
(option-handler %))
|
||||
:data-test data-test}
|
||||
:data-testid data-testid}
|
||||
(if (and in-dashboard? (= option-name "Default"))
|
||||
(tr "dashboard.default-team-name")
|
||||
option-name)
|
||||
|
||||
(when (and selected (= data-test selected))
|
||||
(when (and selected (= data-testid selected))
|
||||
[:span {:class (stl/css :selected-icon)} i/tick])]
|
||||
|
||||
[:a {:class (stl/css :context-menu-action :submenu)
|
||||
:data-no-close true
|
||||
:on-click (enter-submenu option-name sub-options)
|
||||
:data-test data-test}
|
||||
:data-testid data-testid}
|
||||
option-name
|
||||
[:span {:class (stl/css :submenu-icon)} i/arrow]])]))))])])])))
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
(mf/defc file-uploader
|
||||
{::mf/forward-ref true}
|
||||
[{:keys [accept multi label-text label-class input-id on-selected data-test] :as props} input-ref]
|
||||
[{:keys [accept multi label-text label-class input-id on-selected data-testid] :as props} input-ref]
|
||||
(let [opt-pick-one #(if multi % (first %))
|
||||
|
||||
on-files-selected
|
||||
|
@ -38,6 +38,6 @@
|
|||
:type "file"
|
||||
:ref input-ref
|
||||
:on-change on-files-selected
|
||||
:data-test data-test
|
||||
:data-testid data-testid
|
||||
:aria-label "uploader"}]]))
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
(def use-form fm/use-form)
|
||||
|
||||
(mf/defc input
|
||||
[{:keys [label help-icon disabled form hint trim children data-test on-change-value placeholder show-success?] :as props}]
|
||||
[{:keys [label help-icon disabled form hint trim children data-testid on-change-value placeholder show-success?] :as props}]
|
||||
(let [input-type (get props :type "text")
|
||||
input-name (get props :name)
|
||||
more-classes (get props :class)
|
||||
|
@ -155,7 +155,7 @@
|
|||
(and touched? (:message error))
|
||||
[:div {:id (dm/str "error-" input-name)
|
||||
:class (stl/css :error)
|
||||
:data-test (clojure.string/join [data-test "-error"])}
|
||||
:data-testid (clojure.string/join [data-testid "-error"])}
|
||||
(tr (:message error))]
|
||||
|
||||
(string? hint)
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
(mf/defc link
|
||||
{::mf/wrap-props false}
|
||||
[{:keys [action class data-test keyboard-action children data-testid]}]
|
||||
[{:keys [action class data-testid keyboard-action children]}]
|
||||
(let [keyboard-action (d/nilv keyboard-action action)]
|
||||
[:a {:on-click action
|
||||
:class class
|
||||
|
@ -20,6 +20,5 @@
|
|||
(when ^boolean (kbd/enter? event)
|
||||
(keyboard-action event)))
|
||||
:tab-index "0"
|
||||
:data-testid data-testid
|
||||
:data-test data-test}
|
||||
:data-testid data-testid}
|
||||
children]))
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
(mf/defc link-button
|
||||
{::mf/wrap-props false}
|
||||
[{:keys [on-click class value data-test]}]
|
||||
[{:keys [on-click class value data-testid]}]
|
||||
(let [on-key-down (mf/use-fn
|
||||
(mf/deps on-click)
|
||||
(fn [event]
|
||||
|
@ -24,4 +24,4 @@
|
|||
:tab-index "0"
|
||||
:on-click on-click
|
||||
:on-key-down on-key-down
|
||||
:data-test data-test}]))
|
||||
:data-testid data-testid}]))
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
[:button {:tab-index "0"
|
||||
:on-click on-show-comments
|
||||
:on-key-down handle-keydown
|
||||
:data-test "open-comments"
|
||||
:data-testid "open-comments"
|
||||
:class (stl/css-case :comment-button true
|
||||
:open show?
|
||||
:unread (boolean (seq tgroups)))}
|
||||
|
|
|
@ -240,12 +240,12 @@
|
|||
[{:option-name (tr "dashboard.duplicate-multi" file-count)
|
||||
:id "file-duplicate-multi"
|
||||
:option-handler on-duplicate
|
||||
:data-test "duplicate-multi"}
|
||||
:data-testid "duplicate-multi"}
|
||||
(when (or (seq current-projects) (seq other-teams))
|
||||
{:option-name (tr "dashboard.move-to-multi" file-count)
|
||||
:id "file-move-multi"
|
||||
:sub-options sub-options
|
||||
:data-test "move-to-multi"})
|
||||
:data-testid "move-to-multi"})
|
||||
{:option-name (tr "dashboard.export-binary-multi" file-count)
|
||||
:id "file-binari-export-multi"
|
||||
:option-handler on-export-binary-files}
|
||||
|
@ -256,13 +256,13 @@
|
|||
{:option-name (tr "labels.unpublish-multi-files" file-count)
|
||||
:id "file-unpublish-multi"
|
||||
:option-handler on-del-shared
|
||||
:data-test "file-del-shared"})
|
||||
:data-testid "file-del-shared"})
|
||||
(when (not is-lib-page?)
|
||||
{:option-name :separator}
|
||||
{:option-name (tr "labels.delete-multi-files" file-count)
|
||||
:id "file-delete-multi"
|
||||
:option-handler on-delete
|
||||
:data-test "delete-multi-files"})]
|
||||
:data-testid "delete-multi-files"})]
|
||||
|
||||
[{:option-name (tr "dashboard.open-in-new-tab")
|
||||
:id "file-open-new-tab"
|
||||
|
@ -271,42 +271,42 @@
|
|||
{:option-name (tr "labels.rename")
|
||||
:id "file-rename"
|
||||
:option-handler on-edit
|
||||
:data-test "file-rename"})
|
||||
:data-testid "file-rename"})
|
||||
(when (not is-search-page?)
|
||||
{:option-name (tr "dashboard.duplicate")
|
||||
:id "file-duplicate"
|
||||
:option-handler on-duplicate
|
||||
:data-test "file-duplicate"})
|
||||
:data-testid "file-duplicate"})
|
||||
(when (and (not is-lib-page?) (not is-search-page?) (or (seq current-projects) (seq other-teams)))
|
||||
{:option-name (tr "dashboard.move-to")
|
||||
:id "file-move-to"
|
||||
:sub-options sub-options
|
||||
:data-test "file-move-to"})
|
||||
:data-testid "file-move-to"})
|
||||
(when (not is-search-page?)
|
||||
(if (:is-shared file)
|
||||
{:option-name (tr "dashboard.unpublish-shared")
|
||||
:id "file-del-shared"
|
||||
:option-handler on-del-shared
|
||||
:data-test "file-del-shared"}
|
||||
:data-testid "file-del-shared"}
|
||||
{:option-name (tr "dashboard.add-shared")
|
||||
:id "file-add-shared"
|
||||
:option-handler on-add-shared
|
||||
:data-test "file-add-shared"}))
|
||||
:data-testid "file-add-shared"}))
|
||||
{:option-name :separator}
|
||||
{:option-name (tr "dashboard.download-binary-file")
|
||||
:id "file-download-binary"
|
||||
:option-handler on-export-binary-files
|
||||
:data-test "download-binary-file"}
|
||||
:data-testid "download-binary-file"}
|
||||
{:option-name (tr "dashboard.download-standard-file")
|
||||
:id "file-download-standard"
|
||||
:option-handler on-export-standard-files
|
||||
:data-test "download-standard-file"}
|
||||
:data-testid "download-standard-file"}
|
||||
(when (and (not is-lib-page?) (not is-search-page?))
|
||||
{:option-name :separator}
|
||||
{:option-name (tr "labels.delete")
|
||||
:id "file-delete"
|
||||
:option-handler on-delete
|
||||
:data-test "file-delete"})])]
|
||||
:data-testid "file-delete"})])]
|
||||
|
||||
[:& context-menu-a11y {:on-close on-menu-close
|
||||
:show show?
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
(swap! local assoc :edition false)))}]
|
||||
[:div {:class (stl/css :dashboard-title)}
|
||||
[:h1 {:on-double-click on-edit
|
||||
:data-test "project-title"
|
||||
:data-testid "project-title"
|
||||
:id (:id project)}
|
||||
(:name project)]]))
|
||||
|
||||
|
@ -98,7 +98,7 @@
|
|||
[:a {:class (stl/css :btn-secondary :btn-small :new-file)
|
||||
:tab-index "0"
|
||||
:on-click on-create-click
|
||||
:data-test "new-file"
|
||||
:data-testid "new-file"
|
||||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(on-create-click event)))}
|
||||
|
|
|
@ -197,12 +197,12 @@
|
|||
:btn-primary true
|
||||
:disabled disable-upload-all?)
|
||||
:on-click on-upload-all
|
||||
:data-test "upload-all"
|
||||
:data-testid "upload-all"
|
||||
:disabled disable-upload-all?}
|
||||
[:span (tr "dashboard.fonts.upload-all")]]
|
||||
[:button {:class (stl/css :btn-secondary)
|
||||
:on-click on-dismis-all
|
||||
:data-test "dismiss-all"}
|
||||
:data-testid "dismiss-all"}
|
||||
[:span (tr "dashboard.fonts.dismiss-all")]]]])
|
||||
|
||||
(for [{:keys [id] :as item} (sort-by :font-family font-vals)]
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
(= :libraries origin)
|
||||
[:div {:class (stl/css :grid-empty-placeholder :libs)
|
||||
:data-test "empty-placeholder"}
|
||||
:data-testid "empty-placeholder"}
|
||||
[:div {:class (stl/css :text)}
|
||||
[:& i18n/tr-html {:label "dashboard.empty-placeholder-drafts"}]]]
|
||||
|
||||
|
|
|
@ -85,12 +85,12 @@
|
|||
{:option-name (tr "labels.rename")
|
||||
:id "project-menu-rename"
|
||||
:option-handler on-edit
|
||||
:data-test "project-rename"})
|
||||
:data-testid "project-rename"})
|
||||
(when-not (:is-default project)
|
||||
{:option-name (tr "dashboard.duplicate")
|
||||
:id "project-menu-duplicated"
|
||||
:option-handler on-duplicate
|
||||
:data-test "project-duplicate"})
|
||||
:data-testid "project-duplicate"})
|
||||
(when-not (:is-default project)
|
||||
{:option-name (tr "dashboard.pin-unpin")
|
||||
:id "project-menu-pin"
|
||||
|
@ -103,19 +103,19 @@
|
|||
{:option-name (:name team)
|
||||
:id (:name team)
|
||||
:option-handler (on-move (:id team))})
|
||||
:data-test "project-move-to"})
|
||||
:data-testid "project-move-to"})
|
||||
(when (some? on-import)
|
||||
{:option-name (tr "dashboard.import")
|
||||
:id "project-menu-import"
|
||||
:option-handler on-import-files
|
||||
:data-test "file-import"})
|
||||
:data-testid "file-import"})
|
||||
(when-not (:is-default project)
|
||||
{:option-name :separator})
|
||||
(when-not (:is-default project)
|
||||
{:option-name (tr "labels.delete")
|
||||
:id "project-menu-delete"
|
||||
:option-handler on-delete
|
||||
:data-test "project-delete"})]]
|
||||
:data-testid "project-delete"})]]
|
||||
|
||||
[:*
|
||||
[:& udi/import-form {:ref file-input
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
[:h1 (tr "dashboard.projects-title")]]
|
||||
[:button {:class (stl/css :btn-secondary :btn-small)
|
||||
:on-click on-click
|
||||
:data-test "new-project-button"}
|
||||
:data-testid "new-project-button"}
|
||||
(tr "dashboard.new-project")]]))
|
||||
|
||||
(mf/defc team-hero
|
||||
|
@ -251,7 +251,7 @@
|
|||
:on-click on-create-click
|
||||
:title (tr "dashboard.new-file")
|
||||
:aria-label (tr "dashboard.new-file")
|
||||
:data-test "project-new-file"
|
||||
:data-testid "project-new-file"
|
||||
:on-key-down handle-create-click}
|
||||
add-icon]
|
||||
|
||||
|
@ -259,7 +259,7 @@
|
|||
:on-click on-menu-click
|
||||
:title (tr "dashboard.options")
|
||||
:aria-label (tr "dashboard.options")
|
||||
:data-test "project-options"
|
||||
:data-testid "project-options"
|
||||
:on-key-down handle-menu-click}
|
||||
menu-icon]]]]]
|
||||
|
||||
|
|
|
@ -506,15 +506,13 @@
|
|||
:on-key-down handle-members
|
||||
:className (stl/css :team-options-item)
|
||||
:id "teams-options-members"
|
||||
:data-testid "team-members"
|
||||
:data-test "team-members"}
|
||||
:data-testid "team-members"}
|
||||
(tr "labels.members")]
|
||||
[:> dropdown-menu-item* {:on-click go-invitations
|
||||
:on-key-down handle-invitations
|
||||
:className (stl/css :team-options-item)
|
||||
:data-testid "team-invitations"
|
||||
:id "teams-options-invitations"
|
||||
:data-test "team-invitations"}
|
||||
:data-testid "team-invitations"}
|
||||
(tr "labels.invitations")]
|
||||
|
||||
(when (contains? cf/flags :webhooks)
|
||||
|
@ -528,8 +526,7 @@
|
|||
:on-key-down handle-settings
|
||||
:className (stl/css :team-options-item)
|
||||
:id "teams-options-settings"
|
||||
:data-testid "team-settings"
|
||||
:data-test "team-settings"}
|
||||
:data-testid "team-settings"}
|
||||
(tr "labels.settings")]
|
||||
|
||||
[:hr {:class (stl/css :team-option-separator)}]
|
||||
|
@ -538,8 +535,7 @@
|
|||
:on-key-down handle-rename
|
||||
:id "teams-options-rename"
|
||||
:className (stl/css :team-options-item)
|
||||
:data-testid "rename-team"
|
||||
:data-test "rename-team"}
|
||||
:data-testid "rename-team"}
|
||||
(tr "labels.rename")])
|
||||
|
||||
(cond
|
||||
|
@ -556,8 +552,7 @@
|
|||
:on-key-down handle-leave-as-owner-clicked
|
||||
:id "teams-options-leave-team"
|
||||
:className (stl/css :team-options-item)
|
||||
:data-testid "leave-team"
|
||||
:data-test "leave-team"}
|
||||
:data-testid "leave-team"}
|
||||
(tr "dashboard.leave-team")]
|
||||
|
||||
(> (count members) 1)
|
||||
|
@ -572,7 +567,7 @@
|
|||
:on-key-down handle-on-delete-clicked
|
||||
:id "teams-options-delete-team"
|
||||
:className (stl/css :team-options-item :warning)
|
||||
:data-test "delete-team"}
|
||||
:data-testid "delete-team"}
|
||||
(tr "dashboard.delete-team")])]))
|
||||
|
||||
(mf/defc sidebar-team-switch
|
||||
|
@ -812,14 +807,13 @@
|
|||
:current fonts?)}
|
||||
[:& link {:action go-fonts
|
||||
:class (stl/css :sidebar-link)
|
||||
:data-testid "fonts-link-sidebar"
|
||||
:keyboard-action go-fonts-with-key
|
||||
:data-test "fonts"}
|
||||
:data-testid "fonts"}
|
||||
[:span {:class (stl/css :element-title)} (tr "labels.fonts")]]]]]
|
||||
|
||||
|
||||
[:div {:class (stl/css :sidebar-content-section)
|
||||
:data-test "pinned-projects"}
|
||||
:data-testid "pinned-projects"}
|
||||
(if (seq pinned-projects)
|
||||
[:ul {:class (stl/css :sidebar-nav :pinned-projects)}
|
||||
(for [item pinned-projects]
|
||||
|
@ -960,7 +954,7 @@
|
|||
:tab-index "0"
|
||||
:on-click handle-click
|
||||
:on-key-down handle-key-down
|
||||
:data-test "profile-btn"}
|
||||
:data-testid "profile-btn"}
|
||||
[:img {:src photo
|
||||
:class (stl/css :profile-img)
|
||||
:alt (:fullname profile)}]
|
||||
|
@ -971,7 +965,7 @@
|
|||
:class (stl/css :profile-dropdown-item)
|
||||
:on-click handle-set-profile
|
||||
:on-key-down handle-key-down-profile
|
||||
:data-test "profile-profile-opt"}
|
||||
:data-testid "profile-profile-opt"}
|
||||
(tr "labels.your-account")]
|
||||
|
||||
[:li {:class (stl/css :profile-separator)}]
|
||||
|
@ -981,7 +975,7 @@
|
|||
:data-url "https://help.penpot.app"
|
||||
:on-click handle-click-url
|
||||
:on-key-down handle-keydown-url
|
||||
:data-test "help-center-profile-opt"}
|
||||
:data-testid "help-center-profile-opt"}
|
||||
(tr "labels.help-center")]
|
||||
|
||||
[:li {:tab-index (if show "0" "-1")
|
||||
|
@ -1011,7 +1005,7 @@
|
|||
:data-url "https://penpot.app/libraries-templates"
|
||||
:on-click handle-click-url
|
||||
:on-key-down handle-keydown-url
|
||||
:data-test "libraries-templates-profile-opt"}
|
||||
:data-testid "libraries-templates-profile-opt"}
|
||||
(tr "labels.libraries-and-templates")]
|
||||
|
||||
[:li {:tab-index (if show "0" "-1")
|
||||
|
@ -1035,14 +1029,14 @@
|
|||
:tab-index (if show "0" "-1")
|
||||
:on-click handle-feedback-click
|
||||
:on-key-down handle-feedback-keydown
|
||||
:data-test "feedback-profile-opt"}
|
||||
:data-testid "feedback-profile-opt"}
|
||||
(tr "labels.give-feedback")])
|
||||
|
||||
[:li {:class (stl/css :profile-dropdown-item :item-with-icon)
|
||||
:tab-index (if show "0" "-1")
|
||||
:on-click handle-logout-click
|
||||
:on-key-down handle-logout-keydown
|
||||
:data-test "logout-profile-opt"}
|
||||
:data-testid "logout-profile-opt"}
|
||||
exit-icon
|
||||
(tr "labels.logout")]]
|
||||
|
||||
|
|
|
@ -105,7 +105,6 @@
|
|||
[:a
|
||||
{:class (stl/css :btn-secondary :btn-small)
|
||||
:on-click on-invite-member
|
||||
:data-test "invite-member"
|
||||
:data-testid "invite-member"}
|
||||
(tr "dashboard.invite-profile")]
|
||||
[:div {:class (stl/css :blank-space)}])]]))
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
[:div {:class (stl/css :modal-right)}
|
||||
[:h2 {:class (stl/css :modal-title)
|
||||
:data-test "onboarding-newsletter-title"}
|
||||
:data-testid "onboarding-newsletter-title"}
|
||||
(tr "onboarding.newsletter.title")]
|
||||
|
||||
[:p {:class (stl/css :modal-text)}
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
[:div.modal-header
|
||||
[:div.modal-close-button
|
||||
{:on-click close-fn
|
||||
:data-test "close-templates-btn"} i/close]]
|
||||
:data-testid "close-templates-btn"} i/close]]
|
||||
|
||||
[:div.modal-content
|
||||
[:h3 (tr "onboarding.templates.title")]
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
[]
|
||||
[:header {:class (stl/css :dashboard-header)}
|
||||
[:div {:class (stl/css :dashboard-title)}
|
||||
[:h1 {:data-test "account-title"} (tr "dashboard.your-account-title")]]])
|
||||
[:h1 {:data-testid "account-title"} (tr "dashboard.your-account-title")]]])
|
||||
|
||||
(mf/defc settings
|
||||
[{:keys [route] :as props}]
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
|
||||
[:div {:class (stl/css :modal-header)}
|
||||
[:h2 {:class (stl/css :modal-title)
|
||||
:data-test "change-email-title"}
|
||||
:data-testid "change-email-title"}
|
||||
(tr "modals.change-email.title")]
|
||||
[:button {:class (stl/css :modal-close-btn)
|
||||
:on-click on-close} i/close]]
|
||||
|
@ -131,7 +131,7 @@
|
|||
|
||||
[:div {:class (stl/css :modal-footer)}
|
||||
[:div {:class (stl/css :action-buttons)
|
||||
:data-test "change-email-submit"}
|
||||
:data-testid "change-email-submit"}
|
||||
[:> fm/submit-button*
|
||||
{:label (tr "modals.change-email.submit")}]]]]]]))
|
||||
|
||||
|
|
|
@ -59,6 +59,6 @@
|
|||
[:button {:class (stl/css-case :accept-button true
|
||||
:danger true)
|
||||
:on-click on-accept
|
||||
:data-test "delete-account-btn"}
|
||||
:data-testid "delete-account-btn"}
|
||||
(tr "modals.delete-account.confirm")]]]]]))
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
:label (tr "dashboard.select-ui-language")
|
||||
:default ""
|
||||
:name :lang
|
||||
:data-test "setting-lang"}]]
|
||||
:data-testid "setting-lang"}]]
|
||||
|
||||
[:h3 (tr "dashboard.theme-change")]
|
||||
[:div {:class (stl/css :fields-row)}
|
||||
|
@ -65,11 +65,11 @@
|
|||
:default "default"
|
||||
:options [{:label "Penpot Dark (default)" :value "default"}
|
||||
{:label "Penpot Light" :value "light"}]
|
||||
:data-test "setting-theme"}]]
|
||||
:data-testid "setting-theme"}]]
|
||||
|
||||
[:> fm/submit-button*
|
||||
{:label (tr "dashboard.update-settings")
|
||||
:data-test "submit-lang-change"
|
||||
:data-testid "submit-lang-change"
|
||||
:class (stl/css :btn-primary)}]]))
|
||||
|
||||
;; --- Password Page
|
||||
|
@ -80,7 +80,7 @@
|
|||
#(dom/set-html-title (tr "title.settings.options")))
|
||||
|
||||
[:div {:class (stl/css :dashboard-settings)}
|
||||
[:div {:class (stl/css :form-container) :data-test "settings-form"}
|
||||
[:div {:class (stl/css :form-container) :data-testid "settings-form"}
|
||||
[:h2 (tr "labels.settings")]
|
||||
[:& options-form {}]]])
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
|
||||
[:> fm/submit-button*
|
||||
{:label (t locale "dashboard.password-change")
|
||||
:data-test "submit-password"
|
||||
:data-testid "submit-password"
|
||||
:class (stl/css :update-btn)}]]))
|
||||
|
||||
;; --- Password Page
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
[:div {:class (stl/css :links)}
|
||||
[:div {:class (stl/css :link-item)}
|
||||
[:a {:on-click handle-show-delete-account
|
||||
:data-test "remove-acount-btn"}
|
||||
:data-testid "remove-acount-btn"}
|
||||
(tr "dashboard.remove-account")]]]]))
|
||||
|
||||
;; --- Profile Photo Form
|
||||
|
@ -106,7 +106,7 @@
|
|||
:multi false
|
||||
:ref file-input
|
||||
:on-selected on-file-selected
|
||||
:data-test "profile-image-input"}]]]))
|
||||
:data-testid "profile-image-input"}]]]))
|
||||
|
||||
;; --- Profile Page
|
||||
|
||||
|
|
|
@ -89,20 +89,19 @@
|
|||
[:li {:class (stl/css-case :current options?
|
||||
:settings-item true)
|
||||
:on-click go-settings-options
|
||||
:data-testid "settings-profile"
|
||||
:data-test "settings-profile"}
|
||||
:data-testid "settings-profile"}
|
||||
[:span {:class (stl/css :element-title)} (tr "labels.settings")]]
|
||||
|
||||
(when (contains? cf/flags :access-tokens)
|
||||
[:li {:class (stl/css-case :current access-tokens?
|
||||
:settings-item true)
|
||||
:on-click go-settings-access-tokens
|
||||
:data-test "settings-access-tokens"}
|
||||
:data-testid "settings-access-tokens"}
|
||||
[:span {:class (stl/css :element-title)} (tr "labels.access-tokens")]])
|
||||
|
||||
[:hr {:class (stl/css :sidebar-separator)}]
|
||||
|
||||
[:li {:on-click show-release-notes :data-test "release-notes"
|
||||
[:li {:on-click show-release-notes :data-testid "release-notes"
|
||||
:class (stl/css :settings-item)}
|
||||
[:span {:class (stl/css :element-title)} (tr "labels.release-notes")]]
|
||||
|
||||
|
|
|
@ -184,7 +184,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "scale-text"
|
||||
:data-testid "scale-text"
|
||||
:id "file-menu-scale-text"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :scale-text)
|
||||
|
@ -199,7 +199,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "snap-ruler-guides"
|
||||
:data-testid "snap-ruler-guides"
|
||||
:id "file-menu-snap-ruler-guides"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :snap-ruler-guides)
|
||||
|
@ -215,7 +215,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "snap-guides"
|
||||
:data-testid "snap-guides"
|
||||
:id "file-menu-snap-guides"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :snap-guides)
|
||||
|
@ -230,7 +230,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "dynamic-alignment"
|
||||
:data-testid "dynamic-alignment"
|
||||
:id "file-menu-dynamic-alignment"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :dynamic-alignment)
|
||||
|
@ -245,7 +245,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "snap-pixel-grid"
|
||||
:data-testid "snap-pixel-grid"
|
||||
:id "file-menu-pixel-grid"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :snap-pixel-grid)
|
||||
|
@ -260,7 +260,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(show-nudge-options event)))
|
||||
:data-test "snap-pixel-grid"
|
||||
:data-testid "snap-pixel-grid"
|
||||
:id "file-menu-nudge"}
|
||||
[:span {:class (stl/css :item-name)} (tr "modals.nudge-title")]]
|
||||
|
||||
|
@ -270,7 +270,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-theme event)))
|
||||
:data-test "toggle-theme"
|
||||
:data-testid "toggle-theme"
|
||||
:id "file-menu-toggle-theme"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (= (:theme profile) "default")
|
||||
|
@ -312,7 +312,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "rulers"
|
||||
:data-testid "rulers"
|
||||
:id "file-menu-rulers"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :rulers)
|
||||
|
@ -328,7 +328,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "display-guides"
|
||||
:data-testid "display-guides"
|
||||
:id "file-menu-guides"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :display-guides)
|
||||
|
@ -374,7 +374,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "display-artboard-names"
|
||||
:data-testid "display-artboard-names"
|
||||
:id "file-menu-artboards"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :display-artboard-names)
|
||||
|
@ -386,7 +386,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "show-pixel-grid"
|
||||
:data-testid "show-pixel-grid"
|
||||
:id "file-menu-pixel-grid"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(if (contains? layout :show-pixel-grid)
|
||||
|
@ -401,7 +401,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(toggle-flag event)))
|
||||
:data-test "hide-ui"
|
||||
:data-testid "hide-ui"
|
||||
:id "file-menu-hide-ui"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(tr "workspace.shape.menu.hide-ui")]
|
||||
|
@ -617,7 +617,7 @@
|
|||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(open-plugins event)))
|
||||
:data-test "open-plugins"
|
||||
:data-testid "open-plugins"
|
||||
:id "file-menu-open-plugins"}
|
||||
[:span {:class (stl/css :item-name)}
|
||||
(tr "workspace.plugins.menu.plugins-manager")]
|
||||
|
@ -669,7 +669,7 @@
|
|||
(fn [event]
|
||||
(dom/stop-propagation event)
|
||||
(let [menu (-> (dom/get-current-target event)
|
||||
(dom/get-data "test")
|
||||
(dom/get-data "testid")
|
||||
(keyword))]
|
||||
(reset! sub-menu* menu))))
|
||||
|
||||
|
@ -678,7 +678,7 @@
|
|||
(fn [event]
|
||||
(dom/stop-propagation event)
|
||||
(let [flag (-> (dom/get-current-target event)
|
||||
(dom/get-data "test")
|
||||
(dom/get-data "testid")
|
||||
(keyword))]
|
||||
(st/emit!
|
||||
(-> (dw/toggle-layout-flag flag)
|
||||
|
@ -708,14 +708,13 @@
|
|||
[:& dropdown-menu {:show show-menu?
|
||||
:on-close close-menu
|
||||
:list-class (stl/css :menu)}
|
||||
|
||||
[:> dropdown-menu-item* {:class (stl/css :menu-item)
|
||||
:on-click on-menu-click
|
||||
:on-key-down (fn [event]
|
||||
(when (kbd/enter? event)
|
||||
(on-menu-click event)))
|
||||
:on-pointer-enter on-menu-click
|
||||
:data-test "file"
|
||||
:data-testid "file"
|
||||
:id "file-menu-file"}
|
||||
[:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.file")]
|
||||
[:span {:class (stl/css :open-arrow)} i/arrow]]
|
||||
|
@ -726,7 +725,7 @@
|
|||
(when (kbd/enter? event)
|
||||
(on-menu-click event)))
|
||||
:on-pointer-enter on-menu-click
|
||||
:data-test "edit"
|
||||
:data-testid "edit"
|
||||
:id "file-menu-edit"}
|
||||
[:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.edit")]
|
||||
[:span {:class (stl/css :open-arrow)} i/arrow]]
|
||||
|
@ -737,7 +736,7 @@
|
|||
(when (kbd/enter? event)
|
||||
(on-menu-click event)))
|
||||
:on-pointer-enter on-menu-click
|
||||
:data-test "view"
|
||||
:data-testid "view"
|
||||
:id "file-menu-view"}
|
||||
[:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.view")]
|
||||
[:span {:class (stl/css :open-arrow)} i/arrow]]
|
||||
|
@ -748,7 +747,7 @@
|
|||
(when (kbd/enter? event)
|
||||
(on-menu-click event)))
|
||||
:on-pointer-enter on-menu-click
|
||||
:data-test "preferences"
|
||||
:data-testid "preferences"
|
||||
:id "file-menu-preferences"}
|
||||
[:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.preferences")]
|
||||
[:span {:class (stl/css :open-arrow)} i/arrow]]
|
||||
|
@ -760,7 +759,7 @@
|
|||
(when (kbd/enter? event)
|
||||
(on-menu-click event)))
|
||||
:on-pointer-enter on-menu-click
|
||||
:data-test "plugins"
|
||||
:data-testid "plugins"
|
||||
:id "file-menu-plugins"}
|
||||
[:span {:class (stl/css :item-name)} (tr "workspace.plugins.menu.title")]
|
||||
[:span {:class (stl/css :open-arrow)} i/arrow]])
|
||||
|
@ -772,7 +771,7 @@
|
|||
(when (kbd/enter? event)
|
||||
(on-menu-click event)))
|
||||
:on-pointer-enter on-menu-click
|
||||
:data-test "help-info"
|
||||
:data-testid "help-info"
|
||||
:id "file-menu-help-info"}
|
||||
[:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.help-info")]
|
||||
[:span {:class (stl/css :open-arrow)} i/arrow]]]
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
(let [value (or (-> (dom/get-target event)
|
||||
(dom/get-value))
|
||||
(as-> (dom/get-current-target event) $
|
||||
(dom/get-attribute $ "data-test")))]
|
||||
(dom/get-attribute $ "data-testid")))]
|
||||
(swap! filters* assoc :section value :open-menu false))))
|
||||
|
||||
show-libraries-dialog
|
||||
|
@ -130,28 +130,28 @@
|
|||
[{:option-name (tr "workspace.assets.box-filter-all")
|
||||
:id "section-all"
|
||||
:option-handler on-section-filter-change
|
||||
:data-test "all"}
|
||||
:data-testid "all"}
|
||||
|
||||
{:option-name (tr "workspace.assets.components")
|
||||
:id "section-components"
|
||||
:option-handler on-section-filter-change
|
||||
:data-test "components"}
|
||||
:data-testid "components"}
|
||||
|
||||
(when (not components-v2)
|
||||
{:option-name (tr "workspace.assets.graphics")
|
||||
:id "section-graphics"
|
||||
:option-handler on-section-filter-change
|
||||
:data-test "graphics"})
|
||||
:data-testid "graphics"})
|
||||
|
||||
{:option-name (tr "workspace.assets.colors")
|
||||
:id "section-color"
|
||||
:option-handler on-section-filter-change
|
||||
:data-test "colors"}
|
||||
:data-testid "colors"}
|
||||
|
||||
{:option-name (tr "workspace.assets.typography")
|
||||
:id "section-typography"
|
||||
:option-handler on-section-filter-change
|
||||
:data-test "typographies"}]))]
|
||||
:data-testid "typographies"}]))]
|
||||
|
||||
[:article {:class (stl/css :assets-bar)}
|
||||
[:div {:class (stl/css :assets-header)}
|
||||
|
|
|
@ -176,7 +176,7 @@
|
|||
:on-blur on-blur}]]
|
||||
|
||||
[:div {:class (stl/css :select-wrapper)
|
||||
:data-test "stroke.alignment"}
|
||||
:data-testid "stroke.alignment"}
|
||||
[:& select
|
||||
{:default-value stroke-alignment
|
||||
:options stroke-alignment-options
|
||||
|
@ -184,7 +184,7 @@
|
|||
|
||||
(when-not disable-stroke-style
|
||||
[:div {:class (stl/css :select-wrapper)
|
||||
:data-test "stroke.style"}
|
||||
:data-testid "stroke.style"}
|
||||
[:& select
|
||||
{:default-value stroke-style
|
||||
:options stroke-style-options
|
||||
|
|
|
@ -126,7 +126,7 @@
|
|||
:element-list-body true
|
||||
:hover hovering?
|
||||
:selected selected?)
|
||||
:data-test (dm/str "page-" id)
|
||||
:data-testid (dm/str "page-" id)
|
||||
:tab-index "0"
|
||||
:on-click navigate-fn
|
||||
:on-double-click on-double-click
|
||||
|
|
|
@ -142,7 +142,7 @@
|
|||
:class (stl/css-case :main-toolbar-options-button true :selected (= selected-drawtool :frame))
|
||||
:on-click select-drawtool
|
||||
:data-tool "frame"
|
||||
:data-test "artboard-btn"}
|
||||
:data-testid "artboard-btn"}
|
||||
i/board]]
|
||||
[:li
|
||||
[:button
|
||||
|
@ -151,7 +151,7 @@
|
|||
:class (stl/css-case :main-toolbar-options-button true :selected (= selected-drawtool :rect))
|
||||
:on-click select-drawtool
|
||||
:data-tool "rect"
|
||||
:data-test "rect-btn"}
|
||||
:data-testid "rect-btn"}
|
||||
i/rectangle]]
|
||||
[:li
|
||||
[:button
|
||||
|
@ -160,7 +160,7 @@
|
|||
:class (stl/css-case :main-toolbar-options-button true :selected (= selected-drawtool :circle))
|
||||
:on-click select-drawtool
|
||||
:data-tool "circle"
|
||||
:data-test "ellipse-btn"}
|
||||
:data-testid "ellipse-btn"}
|
||||
i/elipse]]
|
||||
[:li
|
||||
[:button
|
||||
|
@ -180,7 +180,7 @@
|
|||
:class (stl/css-case :main-toolbar-options-button true :selected (= selected-drawtool :curve))
|
||||
:on-click select-drawtool
|
||||
:data-tool "curve"
|
||||
:data-test "curve-btn"}
|
||||
:data-testid "curve-btn"}
|
||||
i/curve]]
|
||||
[:li
|
||||
[:button
|
||||
|
@ -189,7 +189,7 @@
|
|||
:class (stl/css-case :main-toolbar-options-button true :selected (= selected-drawtool :path))
|
||||
:on-click select-drawtool
|
||||
:data-tool "path"
|
||||
:data-test "path-btn"}
|
||||
:data-testid "path-btn"}
|
||||
i/path]]
|
||||
|
||||
(when *assert*
|
||||
|
|
Loading…
Add table
Reference in a new issue