mirror of
https://github.com/penpot/penpot.git
synced 2026-04-25 11:18:36 +00:00
🐛 Fix several bugs (#8604)
* 🐛 Fix console warning * ♻️ Use DS buttons and remove deprecated CSS * 🐛 Fix copy on update library message * 🐛 Fix id prop on switch component * 🐛 Fix tooltip shown after tab change
This commit is contained in:
parent
04a3e236fe
commit
df8194acf5
@ -35,7 +35,11 @@
|
||||
- Fix Alt/Option to draw shapes from center point (by @offreal) [Github #8361](https://github.com/penpot/penpot/pull/8361)
|
||||
- Add token name on broken token pill on sidebar [Taiga #13527](https://tree.taiga.io/project/penpot/issue/13527)
|
||||
- Fix collapsible sidebar property titles not toggling on click [Github #5168](https://github.com/penpot/penpot/issues/5168)
|
||||
|
||||
- Fix `penpot.openPage()` plugin API not navigating in the same tab; change default to same-tab navigation and allow passing a UUID string instead of a Page object [Github #8520](https://github.com/penpot/penpot/issues/8520)
|
||||
- Fix scroll on library modal [Taiga #13639](https://tree.taiga.io/project/penpot/issue/13639)
|
||||
- Update copy on penpot update message [Taiga #12924](https://tree.taiga.io/project/penpot/issue/12924)
|
||||
- Fix id prop on switch component [Taiga #13534](https://tree.taiga.io/project/penpot/issue/13534)
|
||||
- Fix tooltip shown on tab change [Taiga #13627](https://tree.taiga.io/project/penpot/issue/13627)
|
||||
|
||||
## 2.14.0 (Unreleased)
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
|
||||
(def ^:private schema:switch
|
||||
[:map
|
||||
[:id {:optional true} :string]
|
||||
[:class {:optional true} :string]
|
||||
[:label {:optional true} [:maybe :string]]
|
||||
[:aria-label {:optional true} [:maybe :string]]
|
||||
@ -26,10 +25,12 @@
|
||||
|
||||
(mf/defc switch*
|
||||
{::mf/schema schema:switch}
|
||||
[{:keys [id class label aria-label default-checked on-change disabled] :rest props} ref]
|
||||
[{:keys [class label aria-label default-checked on-change disabled] :rest props} ref]
|
||||
(let [checked* (mf/use-state default-checked)
|
||||
checked? (deref checked*)
|
||||
|
||||
id (mf/use-id)
|
||||
|
||||
disabled? (d/nilv disabled false)
|
||||
|
||||
has-label? (not (str/blank? label))
|
||||
|
||||
@ -185,17 +185,18 @@
|
||||
(mf/use-fn
|
||||
(mf/deps tooltip-id delay)
|
||||
(fn [_]
|
||||
(let [trigger-el (mf/ref-val trigger-ref)]
|
||||
(clear-schedule schedule-ref)
|
||||
(add-schedule schedule-ref (d/nilv delay 300)
|
||||
(fn []
|
||||
(when-let [active @active-tooltip]
|
||||
(when (not= (:id active) tooltip-id)
|
||||
(when-let [tooltip-el (dom/get-element (:id active))]
|
||||
(dom/set-css-property! tooltip-el "display" "none"))
|
||||
(reset! active-tooltip nil)))
|
||||
(reset! active-tooltip {:id tooltip-id :trigger trigger-el})
|
||||
(reset! visible* true))))))
|
||||
(when-not (.-hidden js/document)
|
||||
(let [trigger-el (mf/ref-val trigger-ref)]
|
||||
(clear-schedule schedule-ref)
|
||||
(add-schedule schedule-ref (d/nilv delay 300)
|
||||
(fn []
|
||||
(when-let [active @active-tooltip]
|
||||
(when (not= (:id active) tooltip-id)
|
||||
(when-let [tooltip-el (dom/get-element (:id active))]
|
||||
(dom/set-css-property! tooltip-el "display" "none"))
|
||||
(reset! active-tooltip nil)))
|
||||
(reset! active-tooltip {:id tooltip-id :trigger trigger-el})
|
||||
(reset! visible* true)))))))
|
||||
|
||||
on-hide
|
||||
(mf/use-fn
|
||||
@ -243,6 +244,17 @@
|
||||
content
|
||||
aria-label)})]
|
||||
|
||||
(mf/use-effect
|
||||
(mf/deps tooltip-id)
|
||||
(fn []
|
||||
(let [handle-visibility-change
|
||||
(fn []
|
||||
(when (.-hidden js/document)
|
||||
(on-hide)))]
|
||||
(js/document.addEventListener "visibilitychange" handle-visibility-change)
|
||||
;; cleanup
|
||||
#(js/document.removeEventListener "visibilitychange" handle-visibility-change))))
|
||||
|
||||
(mf/use-effect
|
||||
(mf/deps visible placement offset)
|
||||
(fn []
|
||||
|
||||
@ -32,6 +32,7 @@
|
||||
[app.main.ui.components.search-bar :refer [search-bar*]]
|
||||
[app.main.ui.components.title-bar :refer [title-bar*]]
|
||||
[app.main.ui.context :as ctx]
|
||||
[app.main.ui.ds.buttons.button :refer [button*]]
|
||||
[app.main.ui.ds.buttons.icon-button :refer [icon-button*]]
|
||||
[app.main.ui.ds.foundations.assets.icon :as i]
|
||||
[app.main.ui.ds.layout.tab-switcher :refer [tab-switcher*]]
|
||||
@ -47,12 +48,6 @@
|
||||
[cuerdas.core :as str]
|
||||
[rumext.v2 :as mf]))
|
||||
|
||||
(def ^:private close-icon
|
||||
(deprecated-icon/icon-xref :close (stl/css :close-icon)))
|
||||
|
||||
(def ^:private add-icon
|
||||
(deprecated-icon/icon-xref :add (stl/css :add-icon)))
|
||||
|
||||
(defn- get-library-summary
|
||||
"Given a library data return a summary representation of this library"
|
||||
[data]
|
||||
@ -171,12 +166,12 @@
|
||||
[:div {:class (stl/css :sample-library-item)
|
||||
:key (dm/str id)}
|
||||
[:div {:class (stl/css :sample-library-item-name)} (:name library)]
|
||||
[:input {:class (stl/css-case :sample-library-button true
|
||||
:sample-library-add (nil? importing?)
|
||||
:sample-library-adding (some? importing?))
|
||||
:type "button"
|
||||
:value (if (= importing? id) (tr "labels.adding") (tr "labels.add"))
|
||||
:on-click import-library}]]))
|
||||
|
||||
[:> button* {:variant "secondary"
|
||||
:disabled (some? importing?)
|
||||
:on-click import-library
|
||||
:class (stl/css :sample-library-button)}
|
||||
(if (= importing? id) (tr "labels.adding") (tr "labels.add"))]]))
|
||||
|
||||
(defn- empty-library?
|
||||
"Check if currentt library summary has elements or not"
|
||||
@ -341,31 +336,31 @@
|
||||
|
||||
[:div {:class (stl/css :section-list-item)}
|
||||
[:div {:class (stl/css :item-content)}
|
||||
[:div {:class (stl/css :item-name)} (tr "workspace.libraries.file-library")]
|
||||
[:div {:class (stl/css :item-title)} (tr "workspace.libraries.file-library")]
|
||||
[:ul {:class (stl/css :item-contents)}
|
||||
[:> library-description* {:summary summary}]]]
|
||||
|
||||
(if ^boolean is-shared
|
||||
[:input {:class (stl/css :item-unpublish)
|
||||
:type "button"
|
||||
:value (tr "common.unpublish")
|
||||
:on-click unpublish}]
|
||||
[:input {:class (stl/css :item-publish)
|
||||
:type "button"
|
||||
:value (tr "common.publish")
|
||||
:on-click publish}])]
|
||||
[:> button* {:variant "secondary"
|
||||
:type "button"
|
||||
:on-click unpublish}
|
||||
(tr "common.unpublish")]
|
||||
|
||||
[:> button* {:variant "primary"
|
||||
:type "button"
|
||||
:on-click publish}
|
||||
(tr "common.publish")])]
|
||||
|
||||
(for [{:keys [id name data connected-to connected-to-names] :as library} linked-libraries]
|
||||
(let [disabled? (some #(contains? linked-libraries-ids %) connected-to)
|
||||
has-tokens? (and (has-tokens? library)
|
||||
(contains? cf/flags :token-import-from-library))]
|
||||
[:div {:class (if has-tokens?
|
||||
(stl/css :section-list-item-double-icon)
|
||||
(stl/css :section-list-item))
|
||||
[:div {:class (stl/css :section-list-item)
|
||||
:key (dm/str id)
|
||||
:data-testid "library-item"}
|
||||
[:div {:class (stl/css :item-content)}
|
||||
[:div {:class (stl/css :item-name)} name]
|
||||
[:div {:class (stl/css-case :item-name true
|
||||
:item-name-short has-tokens?)} name]
|
||||
[:ul {:class (stl/css :item-contents)}
|
||||
(let [summary (get-library-summary data)]
|
||||
[:*
|
||||
@ -375,23 +370,23 @@
|
||||
[:span "(" (tr "workspace.libraries.connected-to") " "]
|
||||
[:span {:class (stl/css :connected-to-values)} (str/join ", " connected-to-names)]
|
||||
[:span ")"]])])]]
|
||||
[:div {:class (stl/css :library-actions)}
|
||||
(when ^boolean has-tokens?
|
||||
[:> icon-button*
|
||||
{:type "button"
|
||||
:aria-label (tr "workspace.tokens.import-tokens")
|
||||
:icon i/import-export
|
||||
:data-library-id (dm/str id)
|
||||
:variant "secondary"
|
||||
:on-click import-tokens}])
|
||||
|
||||
(when ^boolean has-tokens?
|
||||
[:> icon-button*
|
||||
{:type "button"
|
||||
:aria-label (tr "workspace.tokens.import-tokens")
|
||||
:icon i/import-export
|
||||
:data-library-id (dm/str id)
|
||||
:variant "secondary"
|
||||
:on-click import-tokens}])
|
||||
|
||||
[:> icon-button* {:type "button"
|
||||
:aria-label (tr "workspace.libraries.unlink-library-btn")
|
||||
:icon i/detach
|
||||
:data-library-id (dm/str id)
|
||||
:variant "secondary"
|
||||
:disabled disabled?
|
||||
:on-click unlink-library}]]))]]
|
||||
[:> icon-button* {:type "button"
|
||||
:aria-label (tr "workspace.libraries.unlink-library-btn")
|
||||
:icon i/detach
|
||||
:data-library-id (dm/str id)
|
||||
:variant "secondary"
|
||||
:disabled disabled?
|
||||
:on-click unlink-library}]]]))]]
|
||||
|
||||
[:div {:class (stl/css :shared-section)}
|
||||
[:> title-bar* {:collapsable false
|
||||
@ -415,11 +410,12 @@
|
||||
(adapt-backend-summary))]
|
||||
[:> library-description* {:summary summary}])]]
|
||||
|
||||
[:button {:class (stl/css :item-button-shared)
|
||||
:data-library-id (dm/str id)
|
||||
:title (tr "workspace.libraries.shared-library-btn")
|
||||
:on-click link-library}
|
||||
add-icon]])]
|
||||
[:> icon-button* {:class (stl/css :item-button-shared)
|
||||
:variant "secondary"
|
||||
:data-library-id (dm/str id)
|
||||
:icon "add"
|
||||
:aria-label (tr "workspace.libraries.shared-library-btn")
|
||||
:on-click link-library}]])]
|
||||
|
||||
(when (empty? shared-libraries)
|
||||
[:div {:class (stl/css :section-list-empty)}
|
||||
@ -440,6 +436,7 @@
|
||||
(for [library sample-libraries]
|
||||
[:> sample-library-entry*
|
||||
{:library library
|
||||
:key (dm/str (:id library))
|
||||
:importing importing*}])]]
|
||||
|
||||
:else
|
||||
@ -540,17 +537,17 @@
|
||||
[:div {:class (stl/css :section-list-item)
|
||||
:key (dm/str id)}
|
||||
[:div {:class (stl/css :item-content)}
|
||||
[:div {:class (stl/css :item-name)} name]
|
||||
[:div {:class (stl/css :item-name-long)} name]
|
||||
[:ul {:class (stl/css :item-contents)} (describe-library
|
||||
(count components)
|
||||
0
|
||||
(count colors)
|
||||
(count typographies))]]
|
||||
[:button {:type "button"
|
||||
:class (stl/css :item-update)
|
||||
:disabled updating?
|
||||
:data-library-id (dm/str id)
|
||||
:on-click update}
|
||||
[:> button* {:class (stl/css :item-update)
|
||||
:disabled updating?
|
||||
:variant "primary"
|
||||
:data-library-id (dm/str id)
|
||||
:on-click update}
|
||||
(tr "workspace.libraries.update")]
|
||||
|
||||
[:div {:class (stl/css :libraries-updates)}
|
||||
@ -684,11 +681,11 @@
|
||||
:on-click close-dialog-outside
|
||||
:data-testid "libraries-modal"}
|
||||
[:div {:class (stl/css :modal-dialog)}
|
||||
[:button {:class (stl/css :close-btn)
|
||||
:on-click close-dialog
|
||||
:aria-label (tr "labels.close")
|
||||
:data-testid "close-libraries"}
|
||||
close-icon]
|
||||
[:> icon-button* {:class (stl/css :close-btn)
|
||||
:on-click close-dialog
|
||||
:aria-label (tr "labels.close")
|
||||
:variant "ghost"
|
||||
:icon i/close}]
|
||||
[:div {:class (stl/css :modal-title)}
|
||||
(tr "workspace.libraries.libraries")]
|
||||
|
||||
@ -760,5 +757,6 @@
|
||||
"created in your files previously to this new version."]]]
|
||||
|
||||
[:div {:class (stl/css :info-bottom)}
|
||||
[:button {:class (stl/css :primary-button)
|
||||
:on-click handle-gotit-click} "I GOT IT"]]]]]))
|
||||
[:> button* {:class (stl/css :primary-button)
|
||||
:variant "primary"
|
||||
:on-click handle-gotit-click} "I GOT IT"]]]]]))
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
//
|
||||
// Copyright (c) KALEIDOS INC
|
||||
|
||||
@use "refactor/common-refactor.scss" as deprecated;
|
||||
@use "ds/_sizes.scss" as *;
|
||||
@use "ds/_borders.scss" as *;
|
||||
@use "ds/_utils.scss" as *;
|
||||
@ -33,7 +32,7 @@
|
||||
background-color: var(--modal-background-color);
|
||||
border: $b-2 solid var(--modal-border-color);
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr;
|
||||
grid-template-rows: 0 auto 1fr;
|
||||
min-width: $sz-364;
|
||||
min-height: $sz-192;
|
||||
height: $sz-520;
|
||||
@ -42,23 +41,6 @@
|
||||
max-width: $sz-712;
|
||||
}
|
||||
|
||||
// TODO: Remove this extended creating modal component
|
||||
.close-btn {
|
||||
@extend .modal-close-btn-base;
|
||||
}
|
||||
|
||||
.close-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: $sz-16;
|
||||
width: $sz-16;
|
||||
color: transparent;
|
||||
fill: none;
|
||||
stroke-width: $b-1;
|
||||
stroke: var(--icon-foreground);
|
||||
}
|
||||
|
||||
.modal-title {
|
||||
@include t.use-typography("headline-medium");
|
||||
margin-block-end: var(--sp-l);
|
||||
@ -81,12 +63,6 @@
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr;
|
||||
gap: var(--sp-s);
|
||||
|
||||
.section-list {
|
||||
.section-list-item:first-child {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.shared-section {
|
||||
@ -116,6 +92,10 @@
|
||||
border-radius: $br-8;
|
||||
}
|
||||
|
||||
.section-list-item:first-child {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.section-list-item-double-icon {
|
||||
@extend .section-list-item;
|
||||
grid-template-columns: 1fr auto auto;
|
||||
@ -125,44 +105,10 @@
|
||||
height: fit-content;
|
||||
}
|
||||
|
||||
.item-publish,
|
||||
.item-unpublish {
|
||||
// TODO: remove this extended by using DS button component
|
||||
@extend .button-primary;
|
||||
@include t.use-typography("headline-small");
|
||||
height: $sz-32;
|
||||
min-width: px2rem(92);
|
||||
padding: var(--sp-s) var(--sp-xxl);
|
||||
margin: 0;
|
||||
border-radius: $br-8;
|
||||
}
|
||||
|
||||
.item-unpublish {
|
||||
// TODO: remove this extended by using DS button component
|
||||
@extend .button-secondary;
|
||||
}
|
||||
|
||||
.item-button,
|
||||
.item-button-shared {
|
||||
// TODO: remove this extended by using DS button component
|
||||
@extend .button-secondary;
|
||||
height: $sz-32;
|
||||
width: $sz-32;
|
||||
margin-inline-start: var(--sp-xxs);
|
||||
padding: var(--sp-s);
|
||||
}
|
||||
|
||||
.detach-icon,
|
||||
.add-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: $sz-16;
|
||||
width: $sz-16;
|
||||
color: transparent;
|
||||
fill: none;
|
||||
stroke-width: $b-1;
|
||||
stroke: var(--icon-foreground);
|
||||
.close-btn {
|
||||
position: absolute;
|
||||
inset-block-start: var(--sp-s);
|
||||
inset-inline-end: var(--sp-s);
|
||||
}
|
||||
|
||||
.section-list-shared {
|
||||
@ -175,26 +121,6 @@
|
||||
color: var(--title-foreground-color);
|
||||
}
|
||||
|
||||
.search-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: px2rem(20);
|
||||
padding: 0 0 0 var(--sp-s);
|
||||
|
||||
svg {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: transparent;
|
||||
fill: none;
|
||||
height: px2rem(12);
|
||||
width: px2rem(12);
|
||||
stroke-width: 1.33px;
|
||||
stroke: var(--icon-foreground);
|
||||
}
|
||||
}
|
||||
|
||||
// empty state
|
||||
.section-list-empty {
|
||||
display: grid;
|
||||
@ -206,21 +132,13 @@
|
||||
margin-block: var(--sp-l);
|
||||
}
|
||||
|
||||
.library-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: transparent;
|
||||
fill: none;
|
||||
stroke-width: $b-1;
|
||||
stroke: var(--icon-foreground);
|
||||
height: $sz-32;
|
||||
width: $sz-32;
|
||||
}
|
||||
|
||||
// Update library tab
|
||||
.libraries-updates-see-all {
|
||||
@extend .link;
|
||||
background: unset;
|
||||
border: none;
|
||||
color: var(--link-foreground-color);
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
direction: rtl;
|
||||
grid-column: span 3;
|
||||
margin-block-start: var(--sp-s);
|
||||
@ -236,7 +154,7 @@
|
||||
display: grid;
|
||||
grid-column: span 3;
|
||||
grid-template-columns: repeat(auto-fill, minmax(px2rem(160), 1fr));
|
||||
gap: deprecated.$s-24;
|
||||
gap: var(--sp-xxl);
|
||||
margin-block-start: var(--sp-l);
|
||||
}
|
||||
|
||||
@ -246,7 +164,7 @@
|
||||
}
|
||||
|
||||
.libraries-updates-item {
|
||||
@include deprecated.bodyLargeTypography;
|
||||
@include t.use-typography("body-large");
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
align-items: start;
|
||||
@ -277,22 +195,32 @@
|
||||
@include t.use-typography("body-large");
|
||||
@include textEllipsis;
|
||||
margin: 0;
|
||||
max-width: px2rem(216);
|
||||
max-width: px2rem(236);
|
||||
color: var(--library-name-foreground-color);
|
||||
}
|
||||
|
||||
.item-name-short {
|
||||
max-width: px2rem(206);
|
||||
}
|
||||
|
||||
.item-name-long {
|
||||
@extend .item-name;
|
||||
max-width: px2rem(450);
|
||||
}
|
||||
|
||||
.item-title {
|
||||
@include t.use-typography("body-large");
|
||||
margin: 0;
|
||||
color: var(--library-name-foreground-color);
|
||||
}
|
||||
|
||||
.item-update {
|
||||
@extend .button-primary;
|
||||
@include t.use-typography("headline-small");
|
||||
height: $sz-32;
|
||||
min-width: px2rem(92);
|
||||
padding: var(--sp-s) var(--sp-xxl);
|
||||
margin-inline-end: var(--sp-xxs);
|
||||
border-radius: $br-8;
|
||||
|
||||
&:disabled {
|
||||
@extend .button-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
.item-contents {
|
||||
@ -303,6 +231,11 @@
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.library-actions {
|
||||
display: flex;
|
||||
gap: var(--sp-xs);
|
||||
}
|
||||
|
||||
.element-count {
|
||||
white-space: nowrap;
|
||||
|
||||
@ -386,7 +319,6 @@
|
||||
}
|
||||
|
||||
.primary-button {
|
||||
@extend .button-primary;
|
||||
@include t.use-typography("headline-small");
|
||||
padding: 0 var(--sp-l);
|
||||
}
|
||||
@ -434,16 +366,6 @@
|
||||
max-width: px2rem(232);
|
||||
}
|
||||
|
||||
// TODO: Remove this extended using a DS component
|
||||
.sample-library-add {
|
||||
@extend .button-secondary;
|
||||
}
|
||||
|
||||
// TODO: Remove this extended using a DS component
|
||||
.sample-library-adding {
|
||||
@extend .button-disabled;
|
||||
}
|
||||
|
||||
.sample-library-button {
|
||||
@include t.use-typography("headline-small");
|
||||
height: $sz-32;
|
||||
|
||||
@ -114,8 +114,7 @@
|
||||
:class (stl/css :theme-row)}
|
||||
[:div {:class (stl/css :theme-switch-row)}
|
||||
|
||||
[:> switch* {:id name
|
||||
:label name
|
||||
[:> switch* {:label name
|
||||
:on-change on-switch-theme
|
||||
:default-checked selected?}]]
|
||||
|
||||
|
||||
@ -2916,7 +2916,7 @@ msgstr "Přestávka na údržbu: do 5 minut budeme mimo provoz na krátkou údr
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "K dispozici je nová verze, obnovte prosím stránku"
|
||||
msgstr "K dispozici je nová verze."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
|
||||
@ -3661,7 +3661,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Eine neue Version ist verfügbar, bitte aktualisieren Sie die Seite"
|
||||
msgstr "Eine neue Version ist verfügbar."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3819,7 +3819,7 @@ msgstr "Maintenance break: we will be down for a short maintenance within 5 minu
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "A new version is available, please refresh the page"
|
||||
msgstr "A new version is available."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3776,7 +3776,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Una nueva versión está disponible, por favor actualiza la página"
|
||||
msgstr "Una nueva versión está disponible."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3717,7 +3717,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Il y a une nouvelle version disponible. Rafraîchissez la page"
|
||||
msgstr "Il y a une nouvelle version disponible."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3690,7 +3690,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Une nouvelle version est disponible. Merci de rafraîchir la page"
|
||||
msgstr "Une nouvelle version est disponible."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -2269,7 +2269,7 @@ msgstr "sabunta sashe a babbar taska"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "akwai sabon yayi, fatan za a sabunta fage"
|
||||
msgstr "akwai sabon yayi."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
|
||||
@ -3465,10 +3465,6 @@ msgstr "כדי לגשת למיזם הזה, אפשר לבקש מבעלי הצוו
|
||||
msgid "notifications.by-code.maintenance"
|
||||
msgstr "הפסקת תחזוקה: המערכת תושבת לעבודת תחזוקה קצרה תוך 5 דקות."
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "יש גרסה חדשה, נא לרענן את העמוד"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
msgstr "ההזמנה נמחקה בהצלחה"
|
||||
|
||||
@ -3578,10 +3578,6 @@ msgstr "इस परियोजना तक पहुँचने के ल
|
||||
msgid "notifications.by-code.maintenance"
|
||||
msgstr "रखरखाव विराम: हम 5 मिनट के भीतर एक छोटे रखरखाव के लिए बंद रहेंगे।"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "एक नया संस्करण उपलब्ध है, कृपया पृष्ठ को रिफ्रेश करें"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
msgstr "आमंत्रण सफलतापूर्वक हटा दिया गया"
|
||||
|
||||
@ -2913,7 +2913,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Dostupna je nova verzija, molimo osvježite stranicu"
|
||||
msgstr "Dostupna je nova verzija."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
|
||||
@ -3088,7 +3088,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Versi baru sudah tersedia, silakan muat ulang laman"
|
||||
msgstr "Versi baru sudah tersedia."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
|
||||
@ -1935,7 +1935,7 @@ msgstr "Kagbuo"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "A new version is available, please refresh the page"
|
||||
msgstr "A new version is available."
|
||||
|
||||
#: src/app/main/ui/settings/delete_account.cljs:24
|
||||
msgid "notifications.profile-deletion-not-allowed"
|
||||
|
||||
@ -3686,7 +3686,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Una nuova versione è disponibile, si prega di ricaricare la pagina"
|
||||
msgstr "Una nuova versione è disponibile."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3389,7 +3389,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Ir pieejama jauna versija, lūgums atsvaidzināt lapu"
|
||||
msgstr "Ir pieejama jauna versija."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
|
||||
@ -2332,7 +2332,7 @@ msgstr "Kemas kini komponen dalam pustaka kongsi"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Versi baharu tersedia, sila muat semula halaman"
|
||||
msgstr "Versi baharu tersedia."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
|
||||
@ -3711,7 +3711,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Er is een nieuwe versie beschikbaar, vernieuw de pagina"
|
||||
msgstr "Er is een nieuwe versie beschikbaar."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -2968,7 +2968,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Está disponível uma nova versão, por favor atualiza a página"
|
||||
msgstr "Está disponível uma nova versão."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
|
||||
@ -3446,7 +3446,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "O versiune nouă este valabilă, te rugăm să reîncarci pagina"
|
||||
msgstr "O versiune nouă este valabilă."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3108,10 +3108,6 @@ msgstr ""
|
||||
"Технический перерыв: сервис будет недоступен короткое время в течение 5 "
|
||||
"минут."
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Доступна новая версия, обновите страницу"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
msgstr "Приглашение успешно отправлено"
|
||||
|
||||
@ -2495,10 +2495,6 @@ msgstr ""
|
||||
msgid "modals.update-remote-component.message"
|
||||
msgstr "Ажурирајте компоненту у дељеној библиотеци"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Доступна је нова верзија, молимо Вас да освежите страницу"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
msgstr "Позивница је успешно послата"
|
||||
|
||||
@ -3501,7 +3501,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "En ny version är tillgänglig, uppdatera sidan"
|
||||
msgstr "En ny version är tillgänglig."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3673,7 +3673,7 @@ msgstr "Bakım arası: 5 dakika içinde kısa bir bakım için kapalı olacağı
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Yeni bir sürüm mevcut, lütfen sayfayı yenileyin"
|
||||
msgstr "Yeni bir sürüm mevcut."
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:825
|
||||
msgid "notifications.invitation-deleted"
|
||||
|
||||
@ -3262,10 +3262,6 @@ msgstr ""
|
||||
"Перерва на технічне обслуговування: ми закінчимо технічне обслуговування "
|
||||
"протягом 5 хвилин."
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Нова версія доступна, будь ласка, оновіть сторінку"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
msgstr "Запрощення успішно надіслано"
|
||||
|
||||
@ -2151,10 +2151,6 @@ msgstr ""
|
||||
msgid "modals.update-remote-component.message"
|
||||
msgstr "Mú ẹ̀yà iyàrá ìkàwé pípín kan dójú ìwọ̀n"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "Ẹ̀yà tuntun ti wà, jọ̀wọ́ tún sọ ọ́ jí"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
msgstr "Ìfipè tí a fi ránńṣẹ́ ti lọ dáadáa"
|
||||
|
||||
@ -3140,10 +3140,6 @@ msgstr "要访问此项目,您可以询问团队拥有者。"
|
||||
msgid "notifications.by-code.maintenance"
|
||||
msgstr "维护中断:我们将在5分钟内进行短暂维护。"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "有新版本可用,请刷新页面"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
msgstr "成功发送邀请"
|
||||
|
||||
@ -2770,10 +2770,6 @@ msgstr "要存取該項目,您可以詢問團隊老大。"
|
||||
msgid "notifications.by-code.maintenance"
|
||||
msgstr "中斷維護:我們將在5分鐘內進行短暫維護。"
|
||||
|
||||
#: src/app/main/data/common.cljs:82
|
||||
msgid "notifications.by-code.upgrade-version"
|
||||
msgstr "有新版本可用,請重新整理頁面"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs:170, src/app/main/ui/dashboard/team.cljs:867
|
||||
msgid "notifications.invitation-email-sent"
|
||||
msgstr "邀請已成功發送"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user