diff --git a/lerna.json b/lerna.json index f50b005bd3..b6a0685b32 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index ee6f23051f..a8320c0a08 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 9870e81bd2..abffe4e5be 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/assets/bb-space-man.svg b/packages/builder/assets/bb-space-man.svg new file mode 100644 index 0000000000..bb6eda2bf4 --- /dev/null +++ b/packages/builder/assets/bb-space-man.svg @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index ca758e46d0..2a5a7eb130 100644 --- a/packages/builder/cypress/support/commands.js +++ b/packages/builder/cypress/support/commands.js @@ -188,8 +188,16 @@ Cypress.Commands.add("navigateToFrontend", () => { Cypress.Commands.add("createScreen", (screenName, route) => { cy.get("[aria-label=AddCircle]").click() cy.get(".spectrum-Modal").within(() => { - cy.get("input").first().type(screenName) - cy.get("input").eq(1).type(route) + cy.get(".item").first().click() + cy.get(".spectrum-Button--cta").click() + }) + cy.get(".spectrum-Modal").within(() => { + cy.get("input").first().clear().type(screenName) + cy.get("input").eq(1).clear().type(route) + cy.get(".spectrum-Button--cta").click() + }) + cy.get(".spectrum-Modal").within(() => { + cy.get(`[data-cy="left-nav"]`).click() cy.get(".spectrum-Button--cta").click() }) }) diff --git a/packages/builder/package.json b/packages/builder/package.json index 43e1e30c05..478a9910a5 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.185-alpha.10", - "@budibase/client": "^0.9.185-alpha.10", + "@budibase/bbui": "^0.9.185-alpha.11", + "@budibase/client": "^0.9.185-alpha.11", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.185-alpha.10", + "@budibase/string-templates": "^0.9.185-alpha.11", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/builder/src/builderStore/store/screenTemplates/createFromScratchScreen.js b/packages/builder/src/builderStore/store/screenTemplates/createFromScratchScreen.js index 817dfeceea..d4b78740d0 100644 --- a/packages/builder/src/builderStore/store/screenTemplates/createFromScratchScreen.js +++ b/packages/builder/src/builderStore/store/screenTemplates/createFromScratchScreen.js @@ -2,6 +2,7 @@ import { Screen } from "./utils/Screen" export default { name: `Create from scratch`, + id: `createFromScratch`, create: () => createScreen(), } diff --git a/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte b/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte index de5400d0ba..51dd44026e 100644 --- a/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte +++ b/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte @@ -10,10 +10,11 @@ import { roles } from "stores/backend" import ComponentNavigationTree from "components/design/NavigationPanel/ComponentNavigationTree/index.svelte" import Layout from "components/design/NavigationPanel/Layout.svelte" - import NewScreenModal from "components/design/NavigationPanel/NewScreenModal.svelte" import NewLayoutModal from "components/design/NavigationPanel/NewLayoutModal.svelte" import { Icon, Modal, Select, Search, Tabs, Tab } from "@budibase/bbui" + export let showModal + const tabs = [ { title: "Screens", @@ -85,9 +86,6 @@ - - - @@ -102,7 +100,7 @@
- +
diff --git a/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte b/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte new file mode 100644 index 0000000000..8035281193 --- /dev/null +++ b/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte @@ -0,0 +1,179 @@ + + + (blankSelected ? chooseModal(1) : chooseModal(0))} + size="M" + onConfirm={() => { + save(createdScreens) + }} + disabled={!selectedNav} +> + Please select your preferred layout for the new application: + +
+
(selectedNav = "Left")} + class:unselected={selectedNav && selectedNav !== "Left"} + > +
+
+
+
Side Nav
+
+
(selectedNav = "Top")} + class:unselected={selectedNav && selectedNav !== "Top"} + > +
+
+
+
Top Nav
+
+
(selectedNav = "None")} + class:unselected={selectedNav && selectedNav !== "None"} + > +
+
No Nav
+
+
+ + + diff --git a/packages/builder/src/components/design/NavigationPanel/NewScreenModal.svelte b/packages/builder/src/components/design/NavigationPanel/NewScreenModal.svelte index 0671dce589..cfbcd444c2 100644 --- a/packages/builder/src/components/design/NavigationPanel/NewScreenModal.svelte +++ b/packages/builder/src/components/design/NavigationPanel/NewScreenModal.svelte @@ -1,117 +1,115 @@ - - - - + + diff --git a/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte b/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte new file mode 100644 index 0000000000..33d3cbb4aa --- /dev/null +++ b/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte @@ -0,0 +1,48 @@ + + + + + + + + + + + + diff --git a/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte index d3e5d5d2d0..7844357288 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte @@ -5,6 +5,8 @@ selectedComponent, allScreens, } from "builderStore" + import { Detail, Layout, Button, Icon } from "@budibase/bbui" + import CurrentItemPreview from "components/design/AppPreview" import PropertiesPanel from "components/design/PropertiesPanel/PropertiesPanel.svelte" import ComponentSelectionList from "components/design/AppPreview/ComponentSelectionList.svelte" @@ -16,6 +18,8 @@ import AppThemeSelect from "components/design/AppPreview/AppThemeSelect.svelte" import ThemeEditor from "components/design/AppPreview/ThemeEditor.svelte" import DevicePreviewSelect from "components/design/AppPreview/DevicePreviewSelect.svelte" + import Logo from "assets/bb-space-man.svg" + import ScreenWizard from "components/design/NavigationPanel/ScreenWizard.svelte" // Cache previous values so we don't update the URL more than necessary let previousType @@ -23,6 +27,9 @@ let previousComponentId let hydrationComplete = false + // Manage the layout modal flow from here + let showModal + // Hydrate state from URL params $: hydrateStateFromURL($params, $leftover) @@ -145,7 +152,7 @@
- +
@@ -166,6 +173,25 @@ {/key}
+ {:else} +
+
+ + logo +
+ Let's add some life to this screen +
+ +
+
+
{/if}
@@ -178,6 +204,8 @@ + + diff --git a/packages/cli/package.json b/packages/cli/package.json index a84cbc33d5..941db94f69 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 369c14af82..9d59376a99 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.185-alpha.10", + "@budibase/bbui": "^0.9.185-alpha.11", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.185-alpha.10", + "@budibase/string-templates": "^0.9.185-alpha.11", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 4481bd6ed9..16b1acaf7d 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.185-alpha.10", - "@budibase/client": "^0.9.185-alpha.10", - "@budibase/string-templates": "^0.9.185-alpha.10", + "@budibase/auth": "^0.9.185-alpha.11", + "@budibase/client": "^0.9.185-alpha.11", + "@budibase/string-templates": "^0.9.185-alpha.11", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 9cfd5e9634..693f5a7def 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 9c9e24c8b7..4036f3e99e 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.185-alpha.10", + "version": "0.9.185-alpha.11", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.185-alpha.10", - "@budibase/string-templates": "^0.9.185-alpha.10", + "@budibase/auth": "^0.9.185-alpha.11", + "@budibase/string-templates": "^0.9.185-alpha.11", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0",