diff --git a/lerna.json b/lerna.json index 3b3a036fea..e366bb5485 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.1.0", + "version": "0.1.1", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/builder/package.json b/packages/builder/package.json index 1c9849730e..bd52e6a2d8 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.1.0", + "version": "0.1.1", "license": "AGPL-3.0", "private": true, "scripts": { @@ -55,8 +55,8 @@ ] }, "dependencies": { - "@budibase/bbui": "^1.15.4", - "@budibase/client": "^0.1.0", + "@budibase/bbui": "^1.15.8", + "@budibase/client": "^0.1.1", "@nx-js/compiler-util": "^2.0.0", "codemirror": "^5.51.0", "date-fns": "^1.29.0", @@ -110,4 +110,4 @@ "svelte-jester": "^1.0.6" }, "gitHead": "115189f72a850bfb52b65ec61d932531bf327072" -} +} \ No newline at end of file diff --git a/packages/builder/src/components/settings/UserRow.svelte b/packages/builder/src/components/settings/UserRow.svelte index 1d7059552b..88477f02a8 100644 --- a/packages/builder/src/components/settings/UserRow.svelte +++ b/packages/builder/src/components/settings/UserRow.svelte @@ -39,4 +39,16 @@ grid-gap: 18px; grid-template-columns: 1fr 1fr 1fr; } + .inputs :global(input) { + padding: 10px 12px; + border-radius: var(--rounded-small); + } + .inputs :global(select) { + padding: 9px 12px; + border-radius: var(--rounded-small); + } + .inputs :global(button) { + border-radius: var(--rounded-small); + height: initial; + } diff --git a/packages/builder/src/components/settings/tabs/DangerZone.svelte b/packages/builder/src/components/settings/tabs/DangerZone.svelte index 524fee3351..352b33c426 100644 --- a/packages/builder/src/components/settings/tabs/DangerZone.svelte +++ b/packages/builder/src/components/settings/tabs/DangerZone.svelte @@ -30,7 +30,7 @@ on:input={e => (value = e.target.value)} thin disabled={loading} - placeholder="Enter your name" + placeholder="" label="Type DELETE into the textbox, then click the following button to delete your web app:" /> @@ -46,7 +46,7 @@ diff --git a/packages/builder/src/components/settings/tabs/Users.svelte b/packages/builder/src/components/settings/tabs/Users.svelte index 7befa25da9..42059964d4 100644 --- a/packages/builder/src/components/settings/tabs/Users.svelte +++ b/packages/builder/src/components/settings/tabs/Users.svelte @@ -87,7 +87,8 @@ {/each} {:catch error} - err0r + Something went wrong when trying to fetch users. Please refresh the page + and try again. {/await} @@ -102,21 +103,22 @@ display: grid; grid-gap: 12px; border-radius: 5px; - background-color: var(--grey-2); + background-color: var(--grey-1); padding: 12px 12px 18px 12px; } .background.create { background-color: var(--blue-light); } - .inputs :global(select) { - padding: 12px 9px; - height: initial; - } .create-button { position: absolute; top: 12px; right: 12px; } + .create-button :global(button) { + font-size: var(--font-size-sm); + min-width: 100px; + border-radius: var(--rounded-small); + } .title { font-size: 14px; font-weight: 500; @@ -126,6 +128,14 @@ grid-gap: 18px; grid-template-columns: 1fr 1fr 1fr; } + .inputs :global(input) { + padding: 10px 12px; + border-radius: var(--rounded-small); + } + .inputs :global(select) { + padding: 9px 12px; + border-radius: var(--rounded-small); + } ul { list-style: none; padding: 0; diff --git a/packages/cli/package.json b/packages/cli/package.json index bd6ac74806..cdfa6ebeba 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "budibase", - "version": "0.1.0", + "version": "0.1.1", "description": "Budibase CLI", "repository": "https://github.com/Budibase/Budibase", "homepage": "https://www.budibase.com", @@ -17,7 +17,7 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/server": "^0.1.0", + "@budibase/server": "^0.1.1", "@inquirer/password": "^0.0.6-alpha.0", "chalk": "^2.4.2", "dotenv": "^8.2.0", diff --git a/packages/client/package.json b/packages/client/package.json index 4df353df25..62d35fc0c7 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.1.0", + "version": "0.1.1", "license": "MPL-2.0", "main": "dist/budibase-client.js", "module": "dist/budibase-client.esm.mjs", diff --git a/packages/materialdesign-components/package.json b/packages/materialdesign-components/package.json index f0bc663ef3..759909b6ba 100644 --- a/packages/materialdesign-components/package.json +++ b/packages/materialdesign-components/package.json @@ -12,8 +12,8 @@ "dev:builder": "rollup -cw" }, "devDependencies": { - "@budibase/client": "^0.1.0", - "@budibase/standard-components": "^0.1.0", + "@budibase/client": "^0.1.1", + "@budibase/standard-components": "^0.1.1", "@material/button": "^4.0.0", "@material/checkbox": "^4.0.0", "@material/data-table": "4.0.0", @@ -50,7 +50,7 @@ "keywords": [ "svelte" ], - "version": "0.1.0", + "version": "0.1.1", "license": "MIT", "gitHead": "e4e053cb6ff9a0ddc7115b44ccaa24b8ec41fb9a", "dependencies": { diff --git a/packages/server/build/icon.icns b/packages/server/build/icon.icns index 397a03bea3..82da3dde6e 100644 Binary files a/packages/server/build/icon.icns and b/packages/server/build/icon.icns differ diff --git a/packages/server/build/icon.png b/packages/server/build/icon.png index dd06244d96..9738989293 100644 Binary files a/packages/server/build/icon.png and b/packages/server/build/icon.png differ diff --git a/packages/server/package.json b/packages/server/package.json index c84ca9dc87..51b9071e63 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/server", - "version": "0.1.0", + "version": "0.1.1", "description": "Budibase Web Server", "main": "src/electron.js", "repository": { @@ -42,7 +42,7 @@ "author": "Michael Shanks", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/client": "^0.1.0", + "@budibase/client": "^0.1.1", "@budibase/core": "^0.0.32", "@koa/router": "^8.0.0", "@sendgrid/mail": "^7.1.1", diff --git a/packages/server/src/api/controllers/application.js b/packages/server/src/api/controllers/application.js index e1b850a31f..eaa5b07be7 100644 --- a/packages/server/src/api/controllers/application.js +++ b/packages/server/src/api/controllers/application.js @@ -147,7 +147,10 @@ const createEmptyAppPackage = async (ctx, app) => { app ) - await buildPage(ctx.config, app._id, "main", { page: mainJson }) + await buildPage(ctx.config, app._id, "main", { + page: mainJson, + screens: await loadScreens(newAppFolder, "main"), + }) const unauthenticatedJson = await updateJsonFile( join(appsFolder, app._id, "pages", "unauthenticated", "page.json"), @@ -156,11 +159,26 @@ const createEmptyAppPackage = async (ctx, app) => { await buildPage(ctx.config, app._id, "unauthenticated", { page: unauthenticatedJson, + screens: await loadScreens(newAppFolder, "unauthenticated"), }) return newAppFolder } +const loadScreens = async (appFolder, page) => { + const screensFolder = join(appFolder, "pages", page, "screens") + + const screenFiles = (await fs.readdir(screensFolder)).filter(s => + s.endsWith(".json") + ) + + let screens = [] + for (let file of screenFiles) { + screens.push(await fs.readJSON(join(screensFolder, file))) + } + return screens +} + const lookupClientId = async appId => { const masterDb = new CouchDB("client_app_lookup") const { clientId } = await masterDb.get(appId) diff --git a/packages/server/src/api/controllers/workflow/actions/SAVE_RECORD.js b/packages/server/src/api/controllers/workflow/actions/SAVE_RECORD.js index 45e0c1ee65..51f215b6bf 100644 --- a/packages/server/src/api/controllers/workflow/actions/SAVE_RECORD.js +++ b/packages/server/src/api/controllers/workflow/actions/SAVE_RECORD.js @@ -11,6 +11,7 @@ module.exports = async function saveRecord({ args, instanceId }) { request: { body: record, }, + user: { instanceId }, } await recordController.save(ctx) diff --git a/packages/server/src/utilities/appDirectoryTemplate/pages/main/page.json b/packages/server/src/utilities/appDirectoryTemplate/pages/main/page.json index 032848e68e..7f301e8e5f 100644 --- a/packages/server/src/utilities/appDirectoryTemplate/pages/main/page.json +++ b/packages/server/src/utilities/appDirectoryTemplate/pages/main/page.json @@ -3,47 +3,84 @@ "favicon": "./_shared/favicon.png", "stylesheets": [], "componentLibraries": ["@budibase/standard-components", "@budibase/materialdesign-components"], - "props" : { - "_id": "private-master-root", + "props": { + "_id": "private-master-root", "_component": "@budibase/standard-components/container", "_children": [ { - "_id": "c32dd256-a61c-4c41-876e-95e91c5e3a43", - "_component": "@budibase/standard-components/container", + "_id": "49e0e519-9e5e-4127-885a-ee6a0a49e2c1", + "_component": "@budibase/standard-components/Navigation", "_styles": { - "normal": { - "background": "#e8e8ef", - "padding": "8px", - "color": "#393C44", - "display": "N/A", - "flex-direction": "column" - }, + "normal": {}, "hover": {}, "active": {}, "selected": {} }, "_code": "", - "className": "", - "onLoad": [], - "type": "div", - "_instanceId": "inst_1808f0d_e1277174d255421784ef2467d470abc8", - "_instanceName": "Container", + "logoUrl": "http://acmelogos.com/images/logo-8.svg", + "title": "", + "backgroundColor": "", + "color": "", + "borderWidth": "", + "borderColor": "", + "borderStyle": "", + "_instanceId": "inst_cf8ace4_69efc0d72e6f443db2d4c902c14d9394", + "_instanceName": "Navigation", "_children": [ { - "_id": "fbd9520f-6b34-4e3e-828d-0197144568a1", - "_component": "@budibase/standard-components/heading", + "_id": "48b35328-4c91-4343-a6a3-1a1fd77b3386", + "_component": "@budibase/standard-components/link", "_styles": { - "normal": {}, + "normal": { + "font-family": "Inter", + "font-weight": "400", + "color": "#000000", + "text-decoration-line": "none", + "font-size": "16px" + }, "hover": {}, "active": {}, "selected": {} }, "_code": "", - "className": "", - "text": "{{ name }}", - "type": "h1", - "_instanceId": "inst_1808f0d_e1277174d255421784ef2467d470abc8", - "_instanceName": "Heading", + "url": "/", + "openInNewTab": false, + "text": "Home", + "color": "", + "hoverColor": "", + "underline": false, + "fontSize": "", + "fontFamily": "initial", + "_instanceId": "inst_cf8ace4_69efc0d72e6f443db2d4c902c14d9394", + "_instanceName": "Home Link", + "_children": [] + }, + { + "_id": "d3325634-0945-4387-8bb3-d9d9be186c1c", + "_component": "@budibase/standard-components/link", + "_styles": { + "normal": { + "font-family": "Inter", + "font-weight": "400", + "color": "#000000", + "text-decoration-line": "none", + "font-size": "16px" + }, + "hover": {}, + "active": {}, + "selected": {} + }, + "_code": "", + "url": "/screen1", + "openInNewTab": false, + "text": "Screen 1", + "color": "", + "hoverColor": "", + "underline": false, + "fontSize": "", + "fontFamily": "initial", + "_instanceId": "inst_cf8ace4_69efc0d72e6f443db2d4c902c14d9394", + "_instanceName": "Screen 1 Link", "_children": [] } ] @@ -53,9 +90,10 @@ "_component": "##builtin/screenslot", "_styles": { "normal": { - "padding": "8px", + "padding": "0px", "align-items": "flex-start", - "height": "100vh" + "height": "100vh", + "background-image": "None" }, "hover": {}, "active": {}, @@ -74,14 +112,17 @@ "flex-direction": "column", "align-items": "stretch", "justify-content": "flex-start", - "height": "100vh" + "height": "", + "max-width": "", + "margin-right": "auto", + "margin-left": "auto" }, "selected": {} }, "_code": "", "className": "", "onLoad": [] - }, + }, "_css": "", "uiFunctions": "" } diff --git a/packages/server/src/utilities/appDirectoryTemplate/pages/main/screens/d834fea2-1b3e-4320-ab34-f9009f5ecc59.json b/packages/server/src/utilities/appDirectoryTemplate/pages/main/screens/d834fea2-1b3e-4320-ab34-f9009f5ecc59.json new file mode 100644 index 0000000000..35c4656a3d --- /dev/null +++ b/packages/server/src/utilities/appDirectoryTemplate/pages/main/screens/d834fea2-1b3e-4320-ab34-f9009f5ecc59.json @@ -0,0 +1,61 @@ +{ + "description": "", + "url": "", + "props": { + "_id": "d834fea2-1b3e-4320-ab34-f9009f5ecc59", + "_component": "@budibase/standard-components/container", + "_styles": { + "normal": {}, + "hover": {}, + "active": {}, + "selected": {} + }, + "_code": "", + "className": "", + "onLoad": [], + "type": "div", + "_children": [ + { + "_id": "ef60083f-4a02-4df3-80f3-a0d3d16847e7", + "_component": "@budibase/standard-components/heading", + "_styles": { + "normal": {}, + "hover": {}, + "active": {}, + "selected": {} + }, + "_code": "", + "className": "", + "text": "Home", + "type": "h1", + "_instanceId": "inst_cf8ace4_69efc0d72e6f443db2d4c902c14d9394", + "_instanceName": "Heading", + "_children": [] + }, + { + "_id": "6c256e06-784c-4ac0-a644-ed2f9b91d459", + "_component": "@budibase/standard-components/image", + "_styles": { + "normal": { + "width": "100%" + }, + "hover": {}, + "active": {}, + "selected": {} + }, + "_code": "", + "url": "https://source.unsplash.com/Vun-71Vy2hc", + "className": "", + "description": "", + "height": "", + "width": "", + "_instanceId": "inst_cf8ace4_69efc0d72e6f443db2d4c902c14d9394", + "_instanceName": "Image", + "_children": [] + } + ], + "_instanceName": "Home" + }, + "route": "/*", + "name": "d834fea2-1b3e-4320-ab34-f9009f5ecc59" +} diff --git a/packages/server/src/utilities/appDirectoryTemplate/pages/main/screens/f684460e-1f79-42b4-8ffd-1f708bca93ed.json b/packages/server/src/utilities/appDirectoryTemplate/pages/main/screens/f684460e-1f79-42b4-8ffd-1f708bca93ed.json new file mode 100644 index 0000000000..ae054f8245 --- /dev/null +++ b/packages/server/src/utilities/appDirectoryTemplate/pages/main/screens/f684460e-1f79-42b4-8ffd-1f708bca93ed.json @@ -0,0 +1,41 @@ +{ + "description": "", + "url": "", + "_css": "", + "props": { + "_id": "f684460e-1f79-42b4-8ffd-1f708bca93ed", + "_component": "@budibase/standard-components/container", + "_styles": { + "normal": {}, + "hover": {}, + "active": {}, + "selected": {} + }, + "_code": "", + "className": "", + "onLoad": [], + "type": "div", + "_children": [ + { + "_id": "7d1d6b43-b444-46a5-a75c-267fd6b5baf6", + "_component": "@budibase/standard-components/heading", + "_styles": { + "normal": {}, + "hover": {}, + "active": {}, + "selected": {} + }, + "_code": "", + "className": "", + "text": "Screen1", + "type": "h1", + "_instanceId": "inst_cf8ace4_69efc0d72e6f443db2d4c902c14d9394", + "_instanceName": "Heading", + "_children": [] + } + ], + "_instanceName": "Screen 1" + }, + "route": "/screen1", + "name": "f684460e-1f79-42b4-8ffd-1f708bca93ed" +} diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index e3d2b433d5..fc35456316 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -745,6 +745,7 @@ arr-union@^3.1.0: array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= array-unique@^0.3.2: version "0.3.2" @@ -803,6 +804,8 @@ atob@^2.1.2: atomic-sleep@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + aws-sdk@^2.706.0: version "2.706.0" @@ -2644,6 +2647,7 @@ is-accessor-descriptor@^1.0.0: is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-binary-path@~2.1.0: version "2.1.0" @@ -2658,6 +2662,7 @@ is-buffer@^1.1.5: is-callable@^1.1.4, is-callable@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== is-ci@^2.0.0: version "2.0.0" @@ -2747,6 +2752,7 @@ is-installed-globally@^0.3.1: is-npm@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" + integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== is-number@^3.0.0: version "3.0.0" @@ -2781,6 +2787,7 @@ is-regex@^1.0.5: is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-symbol@^1.0.2: version "1.0.3" @@ -2799,6 +2806,7 @@ is-type-of@^1.0.0: is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-windows@^1.0.2: version "1.0.2" @@ -2819,6 +2827,7 @@ isarray@0.0.1: isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isbinaryfile@^4.0.6: version "4.0.6" @@ -4070,6 +4079,7 @@ object-copy@^0.1.0: object-inspect@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.0.6, object-keys@^1.1.1: version "1.1.1" @@ -5768,6 +5778,7 @@ whatwg-url@^7.0.0: which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9, which@^1.3.0: version "1.3.1" diff --git a/packages/standard-components/package.json b/packages/standard-components/package.json index d434badff3..14ec2ec86a 100644 --- a/packages/standard-components/package.json +++ b/packages/standard-components/package.json @@ -12,7 +12,7 @@ "dev:builder": "rollup -cw" }, "devDependencies": { - "@budibase/client": "^0.1.0", + "@budibase/client": "^0.1.1", "@nx-js/compiler-util": "^2.0.0", "@rollup/plugin-commonjs": "^11.1.0", "bcryptjs": "2.4.3", @@ -33,7 +33,7 @@ "keywords": [ "svelte" ], - "version": "0.1.0", + "version": "0.1.1", "license": "MIT", "gitHead": "e4e053cb6ff9a0ddc7115b44ccaa24b8ec41fb9a", "dependencies": { diff --git a/packages/standard-components/src/Heading.svelte b/packages/standard-components/src/Heading.svelte index 4760ae05db..963377070b 100644 --- a/packages/standard-components/src/Heading.svelte +++ b/packages/standard-components/src/Heading.svelte @@ -8,7 +8,7 @@ let containerElement - $: containerElement && !text && _bb.attachChildren(containerElement) + $: containerElement && !text && _bb.props.children && _bb.props.children.length && _bb.attachChildren(containerElement) {#if type === 'h1'}