mirror of
https://github.com/penpot/penpot.git
synced 2025-03-12 07:41:43 -05:00
Merge remote-tracking branch 'origin/staging' into develop
This commit is contained in:
commit
88540eeedd
13 changed files with 240 additions and 286 deletions
|
@ -53,6 +53,7 @@
|
||||||
- Toolbar keeps toggling on and off on spacebar press [Taiga #7654](https://github.com/penpot/penpot/pull/7654)
|
- Toolbar keeps toggling on and off on spacebar press [Taiga #7654](https://github.com/penpot/penpot/pull/7654)
|
||||||
- Fix toolbar keeps hiding when click outside workspace [Taiga #7776](https://tree.taiga.io/project/penpot/issue/7776)
|
- Fix toolbar keeps hiding when click outside workspace [Taiga #7776](https://tree.taiga.io/project/penpot/issue/7776)
|
||||||
- Fix open overlay relative to a frame [Taiga #7563](https://tree.taiga.io/project/penpot/issue/7563)
|
- Fix open overlay relative to a frame [Taiga #7563](https://tree.taiga.io/project/penpot/issue/7563)
|
||||||
|
- Workspace-palette items stay hidden when opening with keyboard-shortcut [Taiga #7489](https://tree.taiga.io/project/penpot/issue/7489)
|
||||||
|
|
||||||
## 2.0.3
|
## 2.0.3
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ export class WorkspacePage extends BaseWebSocketPage {
|
||||||
this.selectionRect = page.getByTestId("workspace-selection-rect");
|
this.selectionRect = page.getByTestId("workspace-selection-rect");
|
||||||
this.horizontalScrollbar = page.getByTestId("horizontal-scrollbar");
|
this.horizontalScrollbar = page.getByTestId("horizontal-scrollbar");
|
||||||
this.librariesModal = page.getByTestId("libraries-modal");
|
this.librariesModal = page.getByTestId("libraries-modal");
|
||||||
|
this.togglePalettesVisibility = page.getByTestId("toggle-palettes-visibility");
|
||||||
}
|
}
|
||||||
|
|
||||||
async goToWorkspace({ fileId = WorkspacePage.anyFileId, pageId = WorkspacePage.anyPageId } = {}) {
|
async goToWorkspace({ fileId = WorkspacePage.anyFileId, pageId = WorkspacePage.anyPageId } = {}) {
|
||||||
|
@ -173,4 +174,9 @@ export class WorkspacePage extends BaseWebSocketPage {
|
||||||
.getByRole("button", { name: "Color Palette (Alt+P)" })
|
.getByRole("button", { name: "Color Palette (Alt+P)" })
|
||||||
.click(clickOptions);
|
.click(clickOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async clickTogglePalettesVisibility(clickOptions = {}) {
|
||||||
|
await this.togglePalettesVisibility
|
||||||
|
.click(clickOptions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,3 +120,14 @@ test("User adds a library and its automatically selected in the color palette",
|
||||||
|
|
||||||
await expect(workspacePage.palette.getByText('There are no color styles in your library yet')).toBeVisible();
|
await expect(workspacePage.palette.getByText('There are no color styles in your library yet')).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("Bug 7489 - Workspace-palette items stay hidden when opening with keyboard-shortcut", async ({ page }) => {
|
||||||
|
const workspacePage = new WorkspacePage(page);
|
||||||
|
await workspacePage.setupEmptyFile();
|
||||||
|
await workspacePage.goToWorkspace();
|
||||||
|
|
||||||
|
await workspacePage.clickTogglePalettesVisibility();
|
||||||
|
await workspacePage.page.keyboard.press("Alt+t");
|
||||||
|
|
||||||
|
await expect(workspacePage.palette.getByText("There are no typography styles in your library yet")).toBeVisible();
|
||||||
|
});
|
||||||
|
|
|
@ -354,7 +354,7 @@
|
||||||
// STATUS WIDGET
|
// STATUS WIDGET
|
||||||
--status-widget-background-color-success: var(--status-color-success-500);
|
--status-widget-background-color-success: var(--status-color-success-500);
|
||||||
--status-widget-background-color-warning: var(--status-color-warning-500);
|
--status-widget-background-color-warning: var(--status-color-warning-500);
|
||||||
--status-widget-background-color-pending: var(--status-color-pending-500);
|
--status-widget-background-color-pending: var(--status-color-info-500);
|
||||||
--status-widget-background-color-error: var(--status-color-error-500);
|
--status-widget-background-color-error: var(--status-color-error-500);
|
||||||
--status-widget-icon-foreground-color: var(--color-background-primary);
|
--status-widget-icon-foreground-color: var(--color-background-primary);
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,12 @@ h.watch("resources/templates", null, async function (path) {
|
||||||
await h.compileTemplates();
|
await h.compileTemplates();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
log.info("watch: translations (~)")
|
||||||
|
h.watch("translations", null, async function (path) {
|
||||||
|
log.info("changed:", path);
|
||||||
|
await h.compileTemplates();
|
||||||
|
});
|
||||||
|
|
||||||
log.info("watch: assets (~)")
|
log.info("watch: assets (~)")
|
||||||
h.watch(["resources/images", "resources/fonts", "resources/plugins-runtime"], null, async function (path) {
|
h.watch(["resources/images", "resources/fonts", "resources/plugins-runtime"], null, async function (path) {
|
||||||
log.info("changed:", path);
|
log.info("changed:", path);
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
:comments
|
:comments
|
||||||
:assets
|
:assets
|
||||||
:document-history
|
:document-history
|
||||||
|
:hide-palettes
|
||||||
:colorpalette
|
:colorpalette
|
||||||
:element-options
|
:element-options
|
||||||
:rulers
|
:rulers
|
||||||
|
@ -134,7 +135,8 @@
|
||||||
"A map of layout flags that should be persisted in local storage; the
|
"A map of layout flags that should be persisted in local storage; the
|
||||||
value corresponds to the key that will be used for save the data in
|
value corresponds to the key that will be used for save the data in
|
||||||
storage object. It should be namespace qualified."
|
storage object. It should be namespace qualified."
|
||||||
{:colorpalette :app.main.data.workspace/show-colorpalette?
|
{:hide-palettes :app.main.data.workspace/hide-palettes?
|
||||||
|
:colorpalette :app.main.data.workspace/show-colorpalette?
|
||||||
:textpalette :app.main.data.workspace/show-textpalette?})
|
:textpalette :app.main.data.workspace/show-textpalette?})
|
||||||
|
|
||||||
(defn load-layout-flags
|
(defn load-layout-flags
|
||||||
|
|
|
@ -436,14 +436,16 @@
|
||||||
:command (ds/a-mod "p")
|
:command (ds/a-mod "p")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:fn #(do (r/set-resize-type! :bottom)
|
:fn #(do (r/set-resize-type! :bottom)
|
||||||
(emit-when-no-readonly (dw/remove-layout-flag :textpalette)
|
(emit-when-no-readonly (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :textpalette)
|
||||||
(toggle-layout-flag :colorpalette)))}
|
(toggle-layout-flag :colorpalette)))}
|
||||||
|
|
||||||
:toggle-textpalette {:tooltip (ds/alt "T")
|
:toggle-textpalette {:tooltip (ds/alt "T")
|
||||||
:command (ds/a-mod "t")
|
:command (ds/a-mod "t")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:fn #(do (r/set-resize-type! :bottom)
|
:fn #(do (r/set-resize-type! :bottom)
|
||||||
(emit-when-no-readonly (dw/remove-layout-flag :colorpalette)
|
(emit-when-no-readonly (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :colorpalette)
|
||||||
(toggle-layout-flag :textpalette)))}
|
(toggle-layout-flag :textpalette)))}
|
||||||
|
|
||||||
:hide-ui {:tooltip "\\"
|
:hide-ui {:tooltip "\\"
|
||||||
|
|
|
@ -49,12 +49,12 @@
|
||||||
(when (some? on-prev)
|
(when (some? on-prev)
|
||||||
[:button {:class (stl/css :prev-button)
|
[:button {:class (stl/css :prev-button)
|
||||||
:on-click on-prev}
|
:on-click on-prev}
|
||||||
(tr "questions.previous")])
|
(tr "labels.previous")])
|
||||||
|
|
||||||
[:> fm/submit-button*
|
[:> fm/submit-button*
|
||||||
{:label (if (< step 5)
|
{:label (if (< step 5)
|
||||||
(tr "questions.next")
|
(tr "labels.next")
|
||||||
(tr "questions.start"))
|
(tr "labels.start"))
|
||||||
:class (stl/css :next-button)}]]]))
|
:class (stl/css :next-button)}]]]))
|
||||||
|
|
||||||
(s/def ::questions-form-step-1
|
(s/def ::questions-form-step-1
|
||||||
|
@ -82,28 +82,28 @@
|
||||||
[{:keys [on-next form]}]
|
[{:keys [on-next form]}]
|
||||||
(let [use-options
|
(let [use-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
(shuffle [{:label (tr "questions.use-work") :value "use-work"}
|
(shuffle [{:label (tr "onboarding.questions.use.work") :value "work"}
|
||||||
{:label (tr "questions.use-education") :value "use-education"}
|
{:label (tr "onboarding.questions.use.education") :value "education"}
|
||||||
{:label (tr "questions.use-personal") :value "use-personal"}]))
|
{:label (tr "onboarding.questions.use.personal") :value "personal"}]))
|
||||||
|
|
||||||
planning-options
|
planning-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
(-> (shuffle [{:label (tr "questions.select-option")
|
(-> (shuffle [{:label (tr "labels.select-option")
|
||||||
:value "" :key "questions:what-brings-you-here"
|
:value "" :key "questions:what-brings-you-here"
|
||||||
:disabled true}
|
:disabled true}
|
||||||
{:label (tr "questions.reasons.exploring")
|
{:label (tr "onboarding.questions.reasons.exploring")
|
||||||
:value "discover-more-about-penpot"
|
:value "discover-more-about-penpot"
|
||||||
:key "discover-more-about-penpot"}
|
:key "discover-more-about-penpot"}
|
||||||
{:label (tr "questions.reasons.fit")
|
{:label (tr "onboarding.questions.reasons.fit")
|
||||||
:value "test-penpot-to-see-if-its-a-fit-for-team"
|
:value "test-penpot-to-see-if-its-a-fit-for-team"
|
||||||
:key "test-penpot-to-see-if-its-a-fit-for-team"}
|
:key "test-penpot-to-see-if-its-a-fit-for-team"}
|
||||||
{:label (tr "questions.reasons.alternative")
|
{:label (tr "onboarding.questions.reasons.alternative")
|
||||||
:value "alternative-to-figma"
|
:value "alternative-to-figma"
|
||||||
:key "alternative-to-figma"}
|
:key "alternative-to-figma"}
|
||||||
{:label (tr "questions.reasons.testing")
|
{:label (tr "onboarding.questions.reasons.testing")
|
||||||
:value "try-out-before-using-penpot-on-premise"
|
:value "try-out-before-using-penpot-on-premise"
|
||||||
:key "try-out-before-using-penpot-on-premise"}])
|
:key "try-out-before-using-penpot-on-premise"}])
|
||||||
(conj {:label (tr "questions.other-short") :value "other"})))
|
(conj {:label (tr "labels.other-short") :value "other"})))
|
||||||
|
|
||||||
current-planning
|
current-planning
|
||||||
(dm/get-in @form [:data :planning])]
|
(dm/get-in @form [:data :planning])]
|
||||||
|
@ -116,22 +116,22 @@
|
||||||
|
|
||||||
[:img {:class (stl/css :header-image)
|
[:img {:class (stl/css :header-image)
|
||||||
:src "images/form/use-for-1.png"
|
:src "images/form/use-for-1.png"
|
||||||
:alt (tr "questions.lets-get-started")}]
|
:alt (tr "onboarding.questions.lets-get-started")}]
|
||||||
[:h1 {:class (stl/css :modal-title)}
|
[:h1 {:class (stl/css :modal-title)}
|
||||||
(tr "questions.step1-title")]
|
(tr "onboarding.questions.step1.title")]
|
||||||
[:p {:class (stl/css :modal-text)}
|
[:p {:class (stl/css :modal-text)}
|
||||||
(tr "questions.step1-subtitle")]
|
(tr "onboarding.questions.step1.subtitle")]
|
||||||
|
|
||||||
[:div {:class (stl/css :modal-question)}
|
[:div {:class (stl/css :modal-question)}
|
||||||
[:h3 {:class (stl/css :modal-subtitle)}
|
[:h3 {:class (stl/css :modal-subtitle)}
|
||||||
(tr "questions.step1-question1")]
|
(tr "onboarding.questions.step1.question1")]
|
||||||
|
|
||||||
[:& fm/radio-buttons {:options use-options
|
[:& fm/radio-buttons {:options use-options
|
||||||
:name :expected-use
|
:name :expected-use
|
||||||
:class (stl/css :radio-btns)}]
|
:class (stl/css :radio-btns)}]
|
||||||
|
|
||||||
[:h3 {:class (stl/css :modal-subtitle)}
|
[:h3 {:class (stl/css :modal-subtitle)}
|
||||||
(tr "questions.step1-question2")]
|
(tr "onboarding.questions.step1.question2")]
|
||||||
|
|
||||||
[:& fm/select
|
[:& fm/select
|
||||||
{:options planning-options
|
{:options planning-options
|
||||||
|
@ -143,7 +143,7 @@
|
||||||
(when (= current-planning "other")
|
(when (= current-planning "other")
|
||||||
[:& fm/input {:name :planning-other
|
[:& fm/input {:name :planning-other
|
||||||
:class (stl/css :input-spacing)
|
:class (stl/css :input-spacing)
|
||||||
:placeholder (tr "questions.other")
|
:placeholder (tr "labels.other")
|
||||||
:label ""}])]]))
|
:label ""}])]]))
|
||||||
|
|
||||||
(s/def ::questions-form-step-2
|
(s/def ::questions-form-step-2
|
||||||
|
@ -168,17 +168,17 @@
|
||||||
[{:keys [on-next on-prev form]}]
|
[{:keys [on-next on-prev form]}]
|
||||||
(let [design-tool-options
|
(let [design-tool-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
(-> (shuffle [{:label (tr "questions.figma") :img-width "48px" :img-height "60px"
|
(-> (shuffle [{:label (tr "labels.figma") :img-width "48px" :img-height "60px"
|
||||||
:value "figma" :image "images/form/figma.png"}
|
:value "figma" :image "images/form/figma.png"}
|
||||||
{:label (tr "questions.sketch") :img-width "48px" :img-height "60px"
|
{:label (tr "labels.sketch") :img-width "48px" :img-height "60px"
|
||||||
:value "sketch" :image "images/form/sketch.png"}
|
:value "sketch" :image "images/form/sketch.png"}
|
||||||
{:label (tr "questions.adobe-xd") :img-width "48px" :img-height "60px"
|
{:label (tr "labels.adobe-xd") :img-width "48px" :img-height "60px"
|
||||||
:value "adobe-xd" :image "images/form/adobe-xd.png"}
|
:value "adobe-xd" :image "images/form/adobe-xd.png"}
|
||||||
{:label (tr "questions.canva") :img-width "48px" :img-height "60px"
|
{:label (tr "labels.canva") :img-width "48px" :img-height "60px"
|
||||||
:value "canva" :image "images/form/canva.png"}
|
:value "canva" :image "images/form/canva.png"}
|
||||||
{:label (tr "questions.invision") :img-width "48px" :img-height "60px"
|
{:label (tr "labels.invision") :img-width "48px" :img-height "60px"
|
||||||
:value "invision" :image "images/form/invision.png"}])
|
:value "invision" :image "images/form/invision.png"}])
|
||||||
(conj {:label (tr "questions.other-short") :value "other" :icon i/curve})))
|
(conj {:label (tr "labels.other-short") :value "other" :icon i/curve})))
|
||||||
|
|
||||||
current-experience
|
current-experience
|
||||||
(dm/get-in @form [:clean-data :experience-design-tool])
|
(dm/get-in @form [:clean-data :experience-design-tool])
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
:class (stl/css :step-2)}
|
:class (stl/css :step-2)}
|
||||||
|
|
||||||
[:h1 {:class (stl/css :modal-title)}
|
[:h1 {:class (stl/css :modal-title)}
|
||||||
(tr "question.design-tool-more-used")]
|
(tr "onboarding.questions.step2.title")]
|
||||||
[:div {:class (stl/css :radio-wrapper)}
|
[:div {:class (stl/css :radio-wrapper)}
|
||||||
[:& fm/image-radio-buttons {:options design-tool-options
|
[:& fm/image-radio-buttons {:options design-tool-options
|
||||||
:img-width "48px"
|
:img-width "48px"
|
||||||
|
@ -212,7 +212,7 @@
|
||||||
(when (= current-experience "other")
|
(when (= current-experience "other")
|
||||||
[:& fm/input {:name :experience-design-tool-other
|
[:& fm/input {:name :experience-design-tool-other
|
||||||
:class (stl/css :input-spacing)
|
:class (stl/css :input-spacing)
|
||||||
:placeholder (tr "questions.other")
|
:placeholder (tr "labels.other")
|
||||||
:label ""}])]]))
|
:label ""}])]]))
|
||||||
|
|
||||||
(s/def ::questions-form-step-3
|
(s/def ::questions-form-step-3
|
||||||
|
@ -246,36 +246,35 @@
|
||||||
[{:keys [on-next on-prev form]}]
|
[{:keys [on-next on-prev form]}]
|
||||||
(let [role-options
|
(let [role-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
(-> (shuffle [{:label (tr "questions.select-option") :value "" :key "role" :disabled true}
|
(-> (shuffle [{:label (tr "labels.select-option") :value "" :key "role" :disabled true}
|
||||||
{:label (tr "questions.work-type.ux") :value "designer" :key "designer"}
|
{:label (tr "labels.product-design") :value "ux" :key "ux"}
|
||||||
{:label (tr "questions.work-type.dev") :value "developer" :key "developer"}
|
{:label (tr "labels.developer") :value "developer" :key "developer"}
|
||||||
{:label (tr "questions.work-type.student") :value "student-teacher" :key "student"}
|
{:label (tr "labels.student-teacher") :value "student-teacher" :key "student"}
|
||||||
{:label (tr "questions.work-type.graphic") :value "graphic-design" :key "design"}
|
{:label (tr "labels.graphic-design") :value "designer" :key "design"}
|
||||||
{:label (tr "questions.work-type.marketing") :value "marketing" :key "marketing"}
|
{:label (tr "labels.marketing") :value "marketing" :key "marketing"}
|
||||||
{:label (tr "questions.work-type.product") :value "manager" :key "manager"}])
|
{:label (tr "labels.product-management") :value "manager" :key "manager"}])
|
||||||
(conj {:label (tr "questions.other-short") :value "other"})))
|
(conj {:label (tr "labels.other-short") :value "other"})))
|
||||||
|
|
||||||
responsability-options
|
responsability-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
(-> (shuffle [{:label (tr "questions.select-option") :value "" :key "responsability" :disabled true}
|
(-> (shuffle [{:label (tr "labels.select-option") :value "" :key "responsability" :disabled true}
|
||||||
{:label (tr "questions.role.team-leader") :value "team-leader"}
|
{:label (tr "labels.team-leader") :value "team-leader"}
|
||||||
{:label (tr "questions.role.team-member") :value "team-member"}
|
{:label (tr "labels.team-member") :value "team-member"}
|
||||||
{:label (tr "questions.role.freelancer") :value "freelancer"}
|
{:label (tr "labels.freelancer") :value "freelancer"}
|
||||||
{:label (tr "questions.role.founder") :value "ceo-founder"}
|
{:label (tr "labels.founder") :value "ceo-founder"}
|
||||||
{:label (tr "questions.role.director") :value "director"}
|
{:label (tr "labels.director") :value "director"}])
|
||||||
{:label (tr "questions.student-teacher") :value "student-teacher"}])
|
(conj {:label (tr "labels.other-short") :value "other"})))
|
||||||
(conj {:label (tr "questions.other-short") :value "other"})))
|
|
||||||
|
|
||||||
|
|
||||||
team-size-options
|
team-size-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
[{:label (tr "questions.select-option") :value "" :key "team-size" :disabled true}
|
[{:label (tr "labels.select-option") :value "" :key "team-size" :disabled true}
|
||||||
{:label (tr "questions.more-than-50") :value "more-than-50" :key "more-than-50"}
|
{:label (tr "onboarding.questions.team-size.more-than-50") :value "more-than-50" :key "more-than-50"}
|
||||||
{:label (tr "questions.31-50") :value "31-50" :key "31-50"}
|
{:label (tr "onboarding.questions.team-size.31-50") :value "31-50" :key "31-50"}
|
||||||
{:label (tr "questions.11-30") :value "11-30" :key "11-30"}
|
{:label (tr "onboarding.questions.team-size.11-30") :value "11-30" :key "11-30"}
|
||||||
{:label (tr "questions.2-10") :value "2-10" :key "2-10"}
|
{:label (tr "onboarding.questions.team-size.2-10") :value "2-10" :key "2-10"}
|
||||||
{:label (tr "questions.freelancer") :value "freelancer" :key "freelancer"}
|
{:label (tr "onboarding.questions.team-size.freelancer") :value "freelancer" :key "freelancer"}
|
||||||
{:label (tr "questions.personal-project") :value "personal-project" :key "personal-project"}])
|
{:label (tr "onboarding.questions.team-size.personal-project") :value "personal-project" :key "personal-project"}])
|
||||||
|
|
||||||
current-role
|
current-role
|
||||||
(dm/get-in @form [:data :role])
|
(dm/get-in @form [:data :role])
|
||||||
|
@ -290,9 +289,10 @@
|
||||||
:on-prev on-prev
|
:on-prev on-prev
|
||||||
:class (stl/css :step-3)}
|
:class (stl/css :step-3)}
|
||||||
|
|
||||||
[:h1 {:class (stl/css :modal-title)} (tr "questions.step3-title")]
|
[:h1 {:class (stl/css :modal-title)}
|
||||||
|
(tr "onboarding.questions.step3.title")]
|
||||||
[:div {:class (stl/css :modal-question)}
|
[:div {:class (stl/css :modal-question)}
|
||||||
[:h3 {:class (stl/css :modal-subtitle)} (tr "questions.step3.question1")]
|
[:h3 {:class (stl/css :modal-subtitle)} (tr "onboarding.questions.step3.question1")]
|
||||||
[:& fm/select {:options role-options
|
[:& fm/select {:options role-options
|
||||||
:select-class (stl/css :select-class)
|
:select-class (stl/css :select-class)
|
||||||
:default ""
|
:default ""
|
||||||
|
@ -301,11 +301,11 @@
|
||||||
(when (= current-role "other")
|
(when (= current-role "other")
|
||||||
[:& fm/input {:name :role-other
|
[:& fm/input {:name :role-other
|
||||||
:class (stl/css :input-spacing)
|
:class (stl/css :input-spacing)
|
||||||
:placeholder (tr "questions.other")
|
:placeholder (tr "labels.other")
|
||||||
:label ""}])]
|
:label ""}])]
|
||||||
|
|
||||||
[:div {:class (stl/css :modal-question)}
|
[:div {:class (stl/css :modal-question)}
|
||||||
[:h3 {:class (stl/css :modal-subtitle)} (tr "questions.step3.question2")]
|
[:h3 {:class (stl/css :modal-subtitle)} (tr "onboarding.questions.step3.question2")]
|
||||||
[:& fm/select {:options responsability-options
|
[:& fm/select {:options responsability-options
|
||||||
:select-class (stl/css :select-class)
|
:select-class (stl/css :select-class)
|
||||||
:default ""
|
:default ""
|
||||||
|
@ -314,11 +314,11 @@
|
||||||
(when (= current-responsability "other")
|
(when (= current-responsability "other")
|
||||||
[:& fm/input {:name :responsability-other
|
[:& fm/input {:name :responsability-other
|
||||||
:class (stl/css :input-spacing)
|
:class (stl/css :input-spacing)
|
||||||
:placeholder (tr "questions.other")
|
:placeholder (tr "labels.other")
|
||||||
:label ""}])]
|
:label ""}])]
|
||||||
|
|
||||||
[:div {:class (stl/css :modal-question)}
|
[:div {:class (stl/css :modal-question)}
|
||||||
[:h3 {:class (stl/css :modal-subtitle)} (tr "questions.company-size")]
|
[:h3 {:class (stl/css :modal-subtitle)} (tr "onboarding.questions.step3.question3")]
|
||||||
[:& fm/select {:options team-size-options
|
[:& fm/select {:options team-size-options
|
||||||
:default ""
|
:default ""
|
||||||
:select-class (stl/css :select-class)
|
:select-class (stl/css :select-class)
|
||||||
|
@ -345,12 +345,17 @@
|
||||||
[{:keys [on-next on-prev form]}]
|
[{:keys [on-next on-prev form]}]
|
||||||
(let [start-options
|
(let [start-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
(-> (shuffle [{:label (tr "questions.starting-ui") :value "ui" :image "images/form/Design.png"}
|
(-> (shuffle [{:label (tr "onboarding.questions.start-with.ui")
|
||||||
{:label (tr "questions.starting-wireframing") :value "wireframing" :image "images/form/templates.png"}
|
:value "ui" :image "images/form/Design.png"}
|
||||||
{:label (tr "questions.starting-prototyping") :value "prototyping" :image "images/form/Prototype.png"}
|
{:label (tr "onboarding.questions.start-with.wireframing")
|
||||||
{:label (tr "questions.starting-ds") :value "ds" :image "images/form/components.png"}
|
:value "wireframing" :image "images/form/templates.png"}
|
||||||
{:label (tr "questions.starting-code") :value "code" :image "images/form/design-and-dev.png"}])
|
{:label (tr "onboarding.questions.start-with.prototyping")
|
||||||
(conj {:label (tr "questions.other-short") :value "other" :icon i/curve})))
|
:value "prototyping" :image "images/form/Prototype.png"}
|
||||||
|
{:label (tr "onboarding.questions.start-with.ds")
|
||||||
|
:value "ds" :image "images/form/components.png"}
|
||||||
|
{:label (tr "onboarding.questions.start-with.code")
|
||||||
|
:value "code" :image "images/form/design-and-dev.png"}])
|
||||||
|
(conj {:label (tr "labels.other-short") :value "other" :icon i/curve})))
|
||||||
|
|
||||||
current-start (dm/get-in @form [:data :start-with])
|
current-start (dm/get-in @form [:data :start-with])
|
||||||
|
|
||||||
|
@ -369,7 +374,7 @@
|
||||||
:on-prev on-prev
|
:on-prev on-prev
|
||||||
:class (stl/css :step-4)}
|
:class (stl/css :step-4)}
|
||||||
|
|
||||||
[:h1 {:class (stl/css :modal-title)} (tr "questions.step4-title")]
|
[:h1 {:class (stl/css :modal-title)} (tr "onboarding.questions.step4.title")]
|
||||||
[:div {:class (stl/css :radio-wrapper)}
|
[:div {:class (stl/css :radio-wrapper)}
|
||||||
[:& fm/image-radio-buttons {:options start-options
|
[:& fm/image-radio-buttons {:options start-options
|
||||||
:img-width "159px"
|
:img-width "159px"
|
||||||
|
@ -382,7 +387,7 @@
|
||||||
[:& fm/input {:name :start-with-other
|
[:& fm/input {:name :start-with-other
|
||||||
:class (stl/css :input-spacing)
|
:class (stl/css :input-spacing)
|
||||||
:label ""
|
:label ""
|
||||||
:placeholder (tr "questions.other")}])]]))
|
:placeholder (tr "labels.other")}])]]))
|
||||||
|
|
||||||
(s/def ::questions-form-step-5
|
(s/def ::questions-form-step-5
|
||||||
(s/keys :req-un [::referer]
|
(s/keys :req-un [::referer]
|
||||||
|
@ -405,12 +410,12 @@
|
||||||
[{:keys [on-next on-prev form]}]
|
[{:keys [on-next on-prev form]}]
|
||||||
(let [referer-options
|
(let [referer-options
|
||||||
(mf/with-memo []
|
(mf/with-memo []
|
||||||
(-> (shuffle [{:label (tr "questions.referer.youtube") :value "youtube"}
|
(-> (shuffle [{:label (tr "labels.youtube") :value "youtube"}
|
||||||
{:label (tr "questions.referer.event") :value "event"}
|
{:label (tr "labels.event") :value "event"}
|
||||||
{:label (tr "questions.referer.search") :value "search"}
|
{:label (tr "labels.search") :value "search"}
|
||||||
{:label (tr "questions.referer.social") :value "social"}
|
{:label (tr "labels.social") :value "social"}
|
||||||
{:label (tr "questions.referer.article") :value "article"}])
|
{:label (tr "labels.article") :value "article"}])
|
||||||
(conj {:label (tr "questions.other-short") :value "other"})))
|
(conj {:label (tr "labels.other-short") :value "other"})))
|
||||||
|
|
||||||
current-referer
|
current-referer
|
||||||
(dm/get-in @form [:data :referer])
|
(dm/get-in @form [:data :referer])
|
||||||
|
@ -430,7 +435,7 @@
|
||||||
:on-prev on-prev
|
:on-prev on-prev
|
||||||
:class (stl/css :step-5)}
|
:class (stl/css :step-5)}
|
||||||
|
|
||||||
[:h1 {:class (stl/css :modal-title)} (tr "questions.step5-title")]
|
[:h1 {:class (stl/css :modal-title)} (tr "onboarding.questions.step5.title")]
|
||||||
[:div {:class (stl/css :radio-wrapper)}
|
[:div {:class (stl/css :radio-wrapper)}
|
||||||
[:& fm/radio-buttons {:options referer-options
|
[:& fm/radio-buttons {:options referer-options
|
||||||
:class (stl/css :radio-btns)
|
:class (stl/css :radio-btns)
|
||||||
|
@ -440,7 +445,7 @@
|
||||||
[:& fm/input {:name :referer-other
|
[:& fm/input {:name :referer-other
|
||||||
:class (stl/css :input-spacing)
|
:class (stl/css :input-spacing)
|
||||||
:label ""
|
:label ""
|
||||||
:placeholder (tr "questions.other")}])]]))
|
:placeholder (tr "labels.other")}])]]))
|
||||||
|
|
||||||
(mf/defc questions-modal
|
(mf/defc questions-modal
|
||||||
[]
|
[]
|
||||||
|
|
|
@ -50,12 +50,12 @@
|
||||||
[{:keys [layout on-change-palette-size]}]
|
[{:keys [layout on-change-palette-size]}]
|
||||||
(let [color-palette? (:colorpalette layout)
|
(let [color-palette? (:colorpalette layout)
|
||||||
text-palette? (:textpalette layout)
|
text-palette? (:textpalette layout)
|
||||||
|
hide-palettes? (:hide-palettes layout)
|
||||||
workspace-read-only? (mf/use-ctx ctx/workspace-read-only?)
|
workspace-read-only? (mf/use-ctx ctx/workspace-read-only?)
|
||||||
container (mf/use-ref nil)
|
container (mf/use-ref nil)
|
||||||
state* (mf/use-state {:show-menu false :hide-palettes false})
|
state* (mf/use-state {:show-menu false})
|
||||||
state (deref state*)
|
state (deref state*)
|
||||||
show-menu? (:show-menu state)
|
show-menu? (:show-menu state)
|
||||||
hide-palettes? (:hide-palettes state)
|
|
||||||
selected (h/use-shared-state mdc/colorpalette-selected-broadcast-key :recent)
|
selected (h/use-shared-state mdc/colorpalette-selected-broadcast-key :recent)
|
||||||
selected-text* (mf/use-state :file)
|
selected-text* (mf/use-state :file)
|
||||||
selected-text (deref selected-text*)
|
selected-text (deref selected-text*)
|
||||||
|
@ -100,15 +100,19 @@
|
||||||
toggle-palettes
|
toggle-palettes
|
||||||
(mf/use-callback
|
(mf/use-callback
|
||||||
(fn [_]
|
(fn [_]
|
||||||
(swap! state* update :hide-palettes not)))
|
(r/set-resize-type! :top)
|
||||||
|
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
||||||
|
(st/emit! (-> (dw/toggle-layout-flag :hide-palettes)
|
||||||
|
(vary-meta assoc ::ev/origin "workspace-left-toolbar")))))
|
||||||
|
|
||||||
on-select-color-palette
|
on-select-color-palette
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(let [node (dom/get-current-target event)]
|
(let [node (dom/get-current-target event)]
|
||||||
(r/set-resize-type! :top)
|
(r/set-resize-type! :top)
|
||||||
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
||||||
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :textpalette)
|
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :textpalette)
|
||||||
(-> (dw/toggle-layout-flag :colorpalette)
|
(-> (dw/toggle-layout-flag :colorpalette)
|
||||||
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
||||||
(dom/blur! node))))
|
(dom/blur! node))))
|
||||||
|
@ -118,8 +122,9 @@
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(let [node (dom/get-current-target event)]
|
(let [node (dom/get-current-target event)]
|
||||||
(r/set-resize-type! :top)
|
(r/set-resize-type! :top)
|
||||||
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
||||||
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :colorpalette)
|
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :colorpalette)
|
||||||
(-> (dw/toggle-layout-flag :textpalette)
|
(-> (dw/toggle-layout-flag :textpalette)
|
||||||
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
||||||
(dom/blur! node))))
|
(dom/blur! node))))
|
||||||
|
@ -198,5 +203,6 @@
|
||||||
:selected @selected
|
:selected @selected
|
||||||
:width vport-width}]])]]
|
:width vport-width}]])]]
|
||||||
[:div {:class (stl/css :handler)
|
[:div {:class (stl/css :handler)
|
||||||
:on-click toggle-palettes}
|
:on-click toggle-palettes
|
||||||
|
:data-testid "toggle-palettes-visibility"}
|
||||||
[:div {:class (stl/css :handler-btn)}]])])]))
|
[:div {:class (stl/css :handler-btn)}]])])]))
|
||||||
|
|
|
@ -43,9 +43,9 @@
|
||||||
i/status-alert]
|
i/status-alert]
|
||||||
|
|
||||||
:saving
|
:saving
|
||||||
[:div {:class (stl/css :status-icon :saving-status)
|
[:div {:class (stl/css :status-icon :pending-status)
|
||||||
:title (tr "workspace.header.saving")}
|
:title (tr "workspace.header.unsaved")}
|
||||||
i/status-update]
|
i/status-alert]
|
||||||
|
|
||||||
:saved
|
:saved
|
||||||
[:div {:class (stl/css :status-icon :saved-status)
|
[:div {:class (stl/css :status-icon :saved-status)
|
||||||
|
|
|
@ -2393,235 +2393,231 @@ msgid "profile.recovery.go-to-login"
|
||||||
msgstr "Go to login"
|
msgstr "Go to login"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-title"
|
msgid "onboarding.questions.step1.title"
|
||||||
msgstr "Help us get to know you"
|
msgstr "Help us get to know you"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-subtitle"
|
msgid "onboarding.questions.step1.subtitle"
|
||||||
msgstr "Let us know a bit about you to help us make Penpot work for you. Your answers will help us prioritize new features and point you in the right direction to get started."
|
msgstr "Let us know a bit about you to help us make Penpot work for you. Your answers will help us prioritize new features and point you in the right direction to get started."
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-question1"
|
msgid "onboarding.questions.step1.question1"
|
||||||
msgstr "What will you be using Penpot for?"
|
msgstr "What will you be using Penpot for?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.use-work"
|
msgid "onboarding.questions.use.work"
|
||||||
msgstr "Work"
|
msgstr "Work"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.use-education"
|
msgid "onboarding.questions.use.education"
|
||||||
msgstr "Education"
|
msgstr "Education"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.use-personal"
|
msgid "onboarding.questions.use.personal"
|
||||||
msgstr "Personal"
|
msgstr "Personal"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-question2"
|
msgid "onboarding.questions.step1.question2"
|
||||||
msgstr "What brings you to Penpot today?"
|
msgstr "What brings you to Penpot today?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.exploring"
|
msgid "onboarding.questions.reasons.exploring"
|
||||||
msgstr "Just exploring"
|
msgstr "Just exploring"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.fit"
|
msgid "onboarding.questions.reasons.fit"
|
||||||
msgstr "Reviewing whether Penpot is a good fit for my team"
|
msgstr "Reviewing whether Penpot is a good fit for my team"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.alternative"
|
msgid "onboarding.questions.reasons.alternative"
|
||||||
msgstr "Looking for an alternative to Figma, XD, etc"
|
msgstr "Looking for an alternative to Figma, XD, etc"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.testing"
|
msgid "onboarding.questions.reasons.testing"
|
||||||
msgstr "Testing before self-hosting"
|
msgstr "Testing before self-hosting"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "question.design-tool-more-used"
|
msgid "onboarding.questions.step2.title"
|
||||||
msgstr "Which one of these tools do you use the most?"
|
msgstr "Which one of these tools do you use the most?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.adobe-xd"
|
msgid "labels.adobe-xd"
|
||||||
msgstr "Adobe XD"
|
msgstr "Adobe XD"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.canva"
|
msgid "labels.canva"
|
||||||
msgstr "Canva"
|
msgstr "Canva"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.figma"
|
msgid "labels.figma"
|
||||||
msgstr "Figma"
|
msgstr "Figma"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.invision"
|
msgid "labels.invision"
|
||||||
msgstr "InVision"
|
msgstr "InVision"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.sketch"
|
msgid "labels.sketch"
|
||||||
msgstr "Sketch"
|
msgstr "Sketch"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step3-title"
|
msgid "onboarding.questions.step3.title"
|
||||||
msgstr "Tell us about your job"
|
msgstr "Tell us about your job"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step3.question1"
|
msgid "onboarding.questions.step3.question1"
|
||||||
msgstr "What kind of work do you do?"
|
msgstr "What kind of work do you do?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.ux"
|
msgid "labels.product-design"
|
||||||
msgstr "Product or UX design"
|
msgstr "Product or UX design"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.dev"
|
msgid "labels.developer"
|
||||||
msgstr "Development"
|
msgstr "Development"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.student"
|
msgid "labels.graphic-design"
|
||||||
msgstr "student"
|
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
|
||||||
msgid "questions.work-type.graphic"
|
|
||||||
msgstr "Graphic design"
|
msgstr "Graphic design"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.marketing"
|
msgid "labels.marketing"
|
||||||
msgstr "Marketing"
|
msgstr "Marketing"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.product"
|
msgid "labels.product-management"
|
||||||
msgstr "Product Managment"
|
msgstr "Product Managment"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step3.question2"
|
msgid "onboarding.questions.step3.question2"
|
||||||
msgstr "What's your role?"
|
msgstr "What's your role?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.team-leader"
|
msgid "labels.team-leader"
|
||||||
msgstr "Team Leader"
|
msgstr "Team Leader"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.team-member"
|
msgid "labels.team-member"
|
||||||
msgstr "Team member"
|
msgstr "Team member"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.freelancer"
|
msgid "labels.freelancer"
|
||||||
msgstr "Freelancer"
|
msgstr "Freelancer"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.founder"
|
msgid "labels.founder"
|
||||||
msgstr "CEO or Founder"
|
msgstr "CEO or Founder"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.director"
|
msgid "labels.director"
|
||||||
msgstr "Director"
|
msgstr "Director"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.company-size"
|
msgid "onboarding.questions.step3.question3"
|
||||||
msgstr "What's the size of your company?"
|
msgstr "What's the size of your company?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.more-than-50"
|
msgid "onboarding.questions.team-size.more-than-50"
|
||||||
msgstr "More than 50"
|
msgstr "More than 50"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.31-50"
|
msgid "onboarding.questions.team-size.31-50"
|
||||||
msgstr "31-50"
|
msgstr "31-50"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.11-30"
|
msgid "onboarding.questions.team-size.11-30"
|
||||||
msgstr "11-30"
|
msgstr "11-30"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.2-10"
|
msgid "onboarding.questions.team-size.2-10"
|
||||||
msgstr "2-10"
|
msgstr "2-10"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.freelancer"
|
msgid "onboarding.questions.team-size.freelancer"
|
||||||
msgstr "I'm a freelancer"
|
msgstr "I'm a freelancer"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.personal-project"
|
msgid "onboarding.questions.team-size.personal-project"
|
||||||
msgstr "I’m working in a personal project"
|
msgstr "I’m working in a personal project"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step4-title"
|
msgid "onboarding.questions.step4.title"
|
||||||
msgstr "Where would you like to get started?"
|
msgstr "Where would you like to get started?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-ui"
|
msgid "onboarding.questions.start-with.ui"
|
||||||
msgstr "Design the UI/UX of an app"
|
msgstr "Design the UI/UX of an app"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-wireframing"
|
msgid "onboarding.questions.start-with.wireframing"
|
||||||
msgstr "Wireframing"
|
msgstr "Wireframing"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-prototyping"
|
msgid "onboarding.questions.start-with.prototyping"
|
||||||
msgstr "Prototyping"
|
msgstr "Prototyping"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-ds"
|
msgid "onboarding.questions.start-with.ds"
|
||||||
msgstr "Creating Desing Systems"
|
msgstr "Creating Desing Systems"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-code"
|
msgid "onboarding.questions.start-with.code"
|
||||||
msgstr "Generating real code designs"
|
msgstr "Generating real code designs"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step5-title"
|
msgid "onboarding.questions.step5.title"
|
||||||
msgstr "How did you hear about Penpot?"
|
msgstr "How did you hear about Penpot?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.youtube"
|
msgid "labels.youtube"
|
||||||
msgstr "YouTube"
|
msgstr "YouTube"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.event"
|
msgid "labels.event"
|
||||||
msgstr "Event"
|
msgstr "Event"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.search"
|
msgid "labels.search"
|
||||||
msgstr "Search Engine (Google, Yahoo, Bing)"
|
msgstr "Search Engine (Google, Yahoo, Bing)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.social"
|
msgid "labels.social"
|
||||||
msgstr "Social Media (X, Linkedin, FB, etc)"
|
msgstr "Social Media (X, Linkedin, FB, etc)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.article"
|
msgid "labels.article"
|
||||||
msgstr "Article (Blog, Post, Newsletter)"
|
msgstr "Article (Blog, Post, Newsletter)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.lets-get-started"
|
msgid "onboarding.questions.lets-get-started"
|
||||||
msgstr "Let's get started!"
|
msgstr "Let's get started!"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.next"
|
msgid "labels.next"
|
||||||
msgstr "Next"
|
msgstr "Next"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.other"
|
msgid "labels.other"
|
||||||
msgstr "Other (specify)"
|
msgstr "Other (specify)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.other-short"
|
msgid "labels.other-short"
|
||||||
msgstr "Other"
|
msgstr "Other"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.previous"
|
msgid "labels.previous"
|
||||||
msgstr "Previous"
|
msgstr "Previous"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.select-option"
|
msgid "labels.select-option"
|
||||||
msgstr "Select option"
|
msgstr "Select option"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.start"
|
msgid "labels.start"
|
||||||
msgstr "Start"
|
msgstr "Start"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.student-teacher"
|
msgid "labels.student-teacher"
|
||||||
msgstr "Student or teacher"
|
msgstr "Student or teacher"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs,
|
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs,
|
||||||
|
|
|
@ -2503,236 +2503,232 @@ msgstr "Ir al login"
|
||||||
|
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-title"
|
msgid "onboarding.questions.step1.title"
|
||||||
msgstr "Ayúdanos a conocerte"
|
msgstr "Ayúdanos a conocerte"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-subtitle"
|
msgid "onboarding.questions.step1.subtitle"
|
||||||
msgstr "Cuéntanos un poco sobre tí para ayudarnos a que Penpot se adapte mejor a tí. Tus respuestas nos ayudarán a priorizar nuevas funcionalidades y a saber cómo podemos acompañarte mejor."
|
msgstr "Cuéntanos un poco sobre tí para ayudarnos a que Penpot se adapte mejor a tí. Tus respuestas nos ayudarán a priorizar nuevas funcionalidades y a saber cómo podemos acompañarte mejor."
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-question1"
|
msgid "onboarding.questions.step1.question1"
|
||||||
msgstr "¿Para qué utilizarás Penpot?"
|
msgstr "¿Para qué utilizarás Penpot?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.use-work"
|
msgid "onboarding.questions.use.work"
|
||||||
msgstr "Trabajo"
|
msgstr "Trabajo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.use-education"
|
msgid "onboarding.questions.use.education"
|
||||||
msgstr "Educación"
|
msgstr "Educación"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.use-personal"
|
msgid "onboarding.questions.use.personal"
|
||||||
msgstr "Personal"
|
msgstr "Personal"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step1-question2"
|
msgid "onboarding.questions.step1.question2"
|
||||||
msgstr "¿Qué te ha traído a Penpot?"
|
msgstr "¿Qué te ha traído a Penpot?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.exploring"
|
msgid "onboarding.questions.reasons.exploring"
|
||||||
msgstr "Estoy echando un vistazo"
|
msgstr "Estoy echando un vistazo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.fit"
|
msgid "onboarding.questions.reasons.fit"
|
||||||
msgstr "Averiguar si Penpot es una buena opción para mi equipo"
|
msgstr "Averiguar si Penpot es una buena opción para mi equipo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.alternative"
|
msgid "onboarding.questions.reasons.alternative"
|
||||||
msgstr "Buscar una alternativa a Figma, XD, etc."
|
msgstr "Buscar una alternativa a Figma, XD, etc."
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.reasons.testing"
|
msgid "onboarding.questions.reasons.testing"
|
||||||
msgstr "Probar antes de self-hosting"
|
msgstr "Probar antes de self-hosting"
|
||||||
|
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "question.design-tool-more-used"
|
msgid "onboarding.questions.step2.title"
|
||||||
msgstr "¿Cuál de estas herramientas utilizas más?"
|
msgstr "¿Cuál de estas herramientas utilizas más?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.adobe-xd"
|
msgid "labels.adobe-xd"
|
||||||
msgstr "Adobe XD"
|
msgstr "Adobe XD"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.canva"
|
msgid "onboarding.questions.canva"
|
||||||
msgstr "Canva"
|
msgstr "Canva"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.figma"
|
msgid "labels.figma"
|
||||||
msgstr "Figma"
|
msgstr "Figma"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.invision"
|
msgid "labels.invision"
|
||||||
msgstr "InVision"
|
msgstr "InVision"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.sketch"
|
msgid "labels.sketch"
|
||||||
msgstr "Sketch"
|
msgstr "Sketch"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step3-title"
|
msgid "onboarding.questions.step3.title"
|
||||||
msgstr "Háblanos de tu trabajo"
|
msgstr "Háblanos de tu trabajo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step3.question1"
|
msgid "onboarding.questions.step3.question1"
|
||||||
msgstr "¿Qué tipo de trabajo haces?"
|
msgstr "¿Qué tipo de trabajo haces?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.ux"
|
msgid "labels.product-design"
|
||||||
msgstr "Diseño de Producto o UX"
|
msgstr "Diseño de Producto o UX"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.dev"
|
msgid "labels.developer"
|
||||||
msgstr "Desarrollo"
|
msgstr "Desarrollo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.student"
|
msgid "labels.graphic-design"
|
||||||
msgstr "Estudiante"
|
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
|
||||||
msgid "questions.work-type.graphic"
|
|
||||||
msgstr "Diseño gráfico"
|
msgstr "Diseño gráfico"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.marketing"
|
msgid "labels.marketing"
|
||||||
msgstr "Marketing"
|
msgstr "Marketing"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.work-type.product"
|
msgid "labels.product-management"
|
||||||
msgstr "Product Managment"
|
msgstr "Product Managment"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step3.question2"
|
msgid "onboarding.questions.step3.question2"
|
||||||
msgstr "¿Cuál es tu puesto?"
|
msgstr "¿Cuál es tu puesto?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.team-leader"
|
msgid "labels.team-leader"
|
||||||
msgstr "Líder de equipo"
|
msgstr "Líder de equipo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.team-member"
|
msgid "labels.team-member"
|
||||||
msgstr "Miembro de equipo"
|
msgstr "Miembro de equipo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.freelancer"
|
msgid "labels.freelancer"
|
||||||
msgstr "Autónomo"
|
msgstr "Autónomo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.founder"
|
msgid "labels.founder"
|
||||||
msgstr "CEO o Fundador"
|
msgstr "CEO o Fundador"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.role.director"
|
msgid "labels.director"
|
||||||
msgstr "Director"
|
msgstr "Director"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.company-size"
|
msgid "onboarding.questions.step3.question3"
|
||||||
msgstr "¿Cuál es el tamaño de tu empresa?"
|
msgstr "¿Cuál es el tamaño de tu empresa?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.more-than-50"
|
msgid "onboarding.questions.team-size.more-than-50"
|
||||||
msgstr "Más de 50"
|
msgstr "Más de 50"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.31-50"
|
msgid "onboarding.questions.team-size.31-50"
|
||||||
msgstr "31-50"
|
msgstr "31-50"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.11-30"
|
msgid "onboarding.questions.team-size.11-30"
|
||||||
msgstr "11-30"
|
msgstr "11-30"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.2-10"
|
msgid "onboarding.questions.2-10"
|
||||||
msgstr "2-10"
|
msgstr "2-10"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.freelancer"
|
msgid "onboarding.questions.freelancer"
|
||||||
msgstr "Soy autónomo"
|
msgstr "Soy autónomo"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.personal-project"
|
msgid "onboarding.questions.team-size.personal-project"
|
||||||
msgstr "Estoy trabajando en un proyecto personal"
|
msgstr "Estoy trabajando en un proyecto personal"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step4-title"
|
msgid "onboarding.questions.step4.title"
|
||||||
msgstr "¿Por dónde te apetecería empezar?"
|
msgstr "¿Por dónde te apetecería empezar?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-ui"
|
msgid "onboarding.questions.start-with.ui"
|
||||||
msgstr "Diseñando el UX/UI de una aplicación"
|
msgstr "Diseñando el UX/UI de una aplicación"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-wireframing"
|
msgid "onboarding.questions.start-with.wireframing"
|
||||||
msgstr "Wireframing"
|
msgstr "Wireframing"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-prototyping"
|
msgid "onboarding.questions.start-with.prototyping"
|
||||||
msgstr "Prototipado"
|
msgstr "Prototipado"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-ds"
|
msgid "onboarding.questions.start-with.ds"
|
||||||
msgstr "Creando sistemas de diseño"
|
msgstr "Creando sistemas de diseño"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.starting-code"
|
msgid "onboarding.questions.start-with.code"
|
||||||
msgstr "Generando código a partir de diseños"
|
msgstr "Generando código a partir de diseños"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.step5-title"
|
msgid "onboarding.questions.step5.title"
|
||||||
msgstr "¿Cómo nos has descubierto?"
|
msgstr "¿Cómo nos has descubierto?"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.youtube"
|
msgid "onboarding.questions.referer.youtube"
|
||||||
msgstr "YouTube"
|
msgstr "YouTube"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.event"
|
msgid "onboarding.questions.referer.event"
|
||||||
msgstr "Evento"
|
msgstr "Evento"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.search"
|
msgid "onboarding.questions.referer.search"
|
||||||
msgstr "Buscador (Google, Yahoo, Bing)"
|
msgstr "Buscador (Google, Yahoo, Bing)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.social"
|
msgid "onboarding.questions.referer.social"
|
||||||
msgstr "Redes sociales (X, LinkedIn, FB, ect)"
|
msgstr "Redes sociales (X, LinkedIn, FB, ect)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.referer.article"
|
msgid "onboarding.questions.referer.article"
|
||||||
msgstr "Artículo (Blog, Post, Newsletter)"
|
msgstr "Artículo (Blog, Post, Newsletter)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.lets-get-started"
|
msgid "onboarding.questions.lets-get-started"
|
||||||
msgstr "¡Empecemos!"
|
msgstr "¡Empecemos!"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.next"
|
msgid "labels.next"
|
||||||
msgstr "Siguiente"
|
msgstr "Siguiente"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.other"
|
msgid "onboarding.questions.other"
|
||||||
msgstr "Otra (especifica)"
|
msgstr "Otra (especifica)"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.other-short"
|
msgid "labels.other"
|
||||||
msgstr "Otra"
|
msgstr "Otra"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.previous"
|
msgid "labels.previous"
|
||||||
msgstr "Anterior"
|
msgstr "Anterior"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.select-option"
|
msgid "labels.select-option"
|
||||||
msgstr "Selecciona una opción"
|
msgstr "Selecciona una opción"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.start"
|
msgid "labels.start"
|
||||||
msgstr "Comenzar"
|
msgstr "Comenzar"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/onboarding/questions.cljs
|
||||||
msgid "questions.student-teacher"
|
msgid "labels.student-teacher"
|
||||||
msgstr "Estudiante o profesorado"
|
msgstr "Estudiante o profesorado"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs,
|
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs,
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
import { defineConfig, devices } from '@playwright/test';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read environment variables from file.
|
|
||||||
* https://github.com/motdotla/dotenv
|
|
||||||
*/
|
|
||||||
// require('dotenv').config();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* See https://playwright.dev/docs/test-configuration.
|
|
||||||
*/
|
|
||||||
export default defineConfig({
|
|
||||||
testDir: './tests',
|
|
||||||
/* Run tests in files in parallel */
|
|
||||||
fullyParallel: true,
|
|
||||||
/* Fail the build on CI if you accidentally left test.only in the source code. */
|
|
||||||
forbidOnly: !!process.env.CI,
|
|
||||||
/* Retry on CI only */
|
|
||||||
retries: process.env.CI ? 2 : 0,
|
|
||||||
/* Opt out of parallel tests on CI. */
|
|
||||||
workers: process.env.CI ? 1 : undefined,
|
|
||||||
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
|
|
||||||
reporter: 'html',
|
|
||||||
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
|
|
||||||
use: {
|
|
||||||
/* Base URL to use in actions like `await page.goto('/')`. */
|
|
||||||
// baseURL: 'http://127.0.0.1:3000',
|
|
||||||
|
|
||||||
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
|
|
||||||
trace: 'on-first-retry',
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Configure projects for major browsers */
|
|
||||||
projects: [
|
|
||||||
{
|
|
||||||
name: 'chromium',
|
|
||||||
use: { ...devices['Desktop Chrome'] },
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
name: 'firefox',
|
|
||||||
use: { ...devices['Desktop Firefox'] },
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
name: 'webkit',
|
|
||||||
use: { ...devices['Desktop Safari'] },
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Test against mobile viewports. */
|
|
||||||
// {
|
|
||||||
// name: 'Mobile Chrome',
|
|
||||||
// use: { ...devices['Pixel 5'] },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: 'Mobile Safari',
|
|
||||||
// use: { ...devices['iPhone 12'] },
|
|
||||||
// },
|
|
||||||
|
|
||||||
/* Test against branded browsers. */
|
|
||||||
// {
|
|
||||||
// name: 'Microsoft Edge',
|
|
||||||
// use: { ...devices['Desktop Edge'], channel: 'msedge' },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: 'Google Chrome',
|
|
||||||
// use: { ...devices['Desktop Chrome'], channel: 'chrome' },
|
|
||||||
// },
|
|
||||||
],
|
|
||||||
|
|
||||||
/* Run your local dev server before starting the tests */
|
|
||||||
// webServer: {
|
|
||||||
// command: 'npm run start',
|
|
||||||
// url: 'http://127.0.0.1:3000',
|
|
||||||
// reuseExistingServer: !process.env.CI,
|
|
||||||
// },
|
|
||||||
});
|
|
Loading…
Add table
Reference in a new issue