From 020ea355bfdba72cf3e8c10a01d7746cc77fa3de Mon Sep 17 00:00:00 2001 From: Dan Popescu Date: Sun, 26 Nov 2023 11:39:52 +0200 Subject: [PATCH 1/4] feat: resize editor area when focused on ios --- src/App.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/App.vue b/src/App.vue index 8429856..98fad14 100644 --- a/src/App.vue +++ b/src/App.vue @@ -167,7 +167,10 @@ body color: var(--play-fg-color-base) !important .play-container - height: 100dvh + height: 100svh + + body.platform-ios &:has(.editor-container:focus-within) + height: 66svh .vue-repl, .file-selector, From aa0759895e1ab6987a033ddfdbbdbcd40dd59238 Mon Sep 17 00:00:00 2001 From: Dan Popescu Date: Sun, 26 Nov 2023 12:50:48 +0200 Subject: [PATCH 2/4] feat: more tweaks for height on mobiles with kbd --- index.html | 2 +- src/App.vue | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 918a524..aaece2a 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ Quasar Play - + diff --git a/src/App.vue b/src/App.vue index 98fad14..fdd5fdb 100644 --- a/src/App.vue +++ b/src/App.vue @@ -167,10 +167,17 @@ body color: var(--play-fg-color-base) !important .play-container - height: 100svh + --play-kbd-height: 0px + height: calc(100svh - env(keyboard-inset-height, var(--play-kbd-height))) - body.platform-ios &:has(.editor-container:focus-within) - height: 66svh + body.platform-ios & + transition: height .29999s .00001s + + &:has(.editor-container:focus-within) + --play-kbd-height: 34svh + + body.platform-android &:has(.editor-container:focus-within) + --play-kbd-height: 38svh .vue-repl, .file-selector, From 3523e4b8e629f2457ec9908be5015c56fd8dc3c3 Mon Sep 17 00:00:00 2001 From: Dan Popescu Date: Sun, 26 Nov 2023 14:01:01 +0200 Subject: [PATCH 3/4] feat(share): add QRCode gen --- package.json | 7 +++--- pnpm-lock.yaml | 30 +++++++++++++++++++--- src/components/ShareDialog.vue | 46 ++++++++++++++++++++++++++-------- src/components/TopBar.vue | 2 +- src/utils/locale.ts | 17 +++++++------ 5 files changed, 75 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index e2ae144..f41ef1f 100644 --- a/package.json +++ b/package.json @@ -32,9 +32,9 @@ "homepage": "https://pdanpdan.github.io/quasar-play", "type": "module", "scripts": { - "dev": "vite dev", + "dev": "vite dev --host", "build": "vite build", - "preview": "vite preview", + "preview": "vite preview --host", "lint": "eslint --ext .js,.vue,.cjs,.ts .", "typecheck": "vue-tsc --noEmit", "generate-pwa-assets": "pwa-assets-generator" @@ -63,8 +63,9 @@ "vite": "^5.0.2", "vite-plugin-compression2": "^0.11.0", "vite-plugin-mkcert": "^1.17.1", - "vite-plugin-pwa": "^0.17.0", + "vite-plugin-pwa": "^0.17.2", "vue": "^3.3.9", + "vue-qrious": "^3.1.0", "vue-tsc": "^1.8.22", "workbox-window": "^7.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86ee117..ae4b12a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -80,11 +80,14 @@ devDependencies: specifier: ^1.17.1 version: 1.17.1(vite@5.0.2) vite-plugin-pwa: - specifier: ^0.17.0 - version: 0.17.0(vite@5.0.2)(workbox-build@7.0.0)(workbox-window@7.0.0) + specifier: ^0.17.2 + version: 0.17.2(vite@5.0.2)(workbox-build@7.0.0)(workbox-window@7.0.0) vue: specifier: ^3.3.9 version: 3.3.9(typescript@5.3.2) + vue-qrious: + specifier: ^3.1.0 + version: 3.1.0(qrious@4.0.2)(vue@3.3.9) vue-tsc: specifier: ^1.8.22 version: 1.8.22(typescript@5.3.2) @@ -3999,6 +4002,10 @@ packages: engines: {node: '>=6'} dev: true + /qrious@4.0.2: + resolution: {integrity: sha512-xWPJIrK1zu5Ypn898fBp8RHkT/9ibquV2Kv24S/JY9VYEhMBMKur1gHVsOiNUh7PHP9uCgejjpZUHUIXXKoU/g==} + dev: true + /quasar@2.14.0: resolution: {integrity: sha512-hxaQ/yd/qNGgpUrww4fQRSpklKnZN90HXhmhmPE5h+yFCcXreU+JgM3m/Mf6Qv7lMNQZQkYipgZ5Ja41DYkVUQ==} engines: {node: '>= 10.18.1', npm: '>= 6.13.4', yarn: '>= 1.21.1'} @@ -4561,6 +4568,10 @@ packages: typescript: 5.3.2 dev: true + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + /tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: @@ -4742,8 +4753,8 @@ packages: - supports-color dev: true - /vite-plugin-pwa@0.17.0(vite@5.0.2)(workbox-build@7.0.0)(workbox-window@7.0.0): - resolution: {integrity: sha512-cOyEG8EEc7JHmyMapTnjK2j0g2BIC3ErlmOHyGzVu8hqjyF9Jt6yWMmVNFtpA6v/NNyzP28ARf3vwzIAzR1kaw==} + /vite-plugin-pwa@0.17.2(vite@5.0.2)(workbox-build@7.0.0)(workbox-window@7.0.0): + resolution: {integrity: sha512-aVH9sxcTDumiWYiNcLrFqu+FdL79I2cT5EhlVe5V6nGcC64yQNGT1jamMytwi+OdfXl4VYic0LtoJ6JHMkM3ZQ==} engines: {node: '>=16.0.0'} peerDependencies: vite: ^3.1.0 || ^4.0.0 || ^5.0.0 @@ -4815,6 +4826,17 @@ packages: - supports-color dev: true + /vue-qrious@3.1.0(qrious@4.0.2)(vue@3.3.9): + resolution: {integrity: sha512-qC5jw94b/VbUHFxYfumwqhSXKBJNEmaimhpwEmudqOiORMd5yPCFn/mPInnP5nWobvhvcV+S+U3Ger6w2dLyfQ==} + peerDependencies: + qrious: ^4.0.0 + vue: ^2.7.0 || ^3.0.0 + dependencies: + qrious: 4.0.2 + tslib: 2.6.2 + vue: 3.3.9(typescript@5.3.2) + dev: true + /vue-template-compiler@2.7.15: resolution: {integrity: sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==} dependencies: diff --git a/src/components/ShareDialog.vue b/src/components/ShareDialog.vue index 53215b8..77fe7c1 100644 --- a/src/components/ShareDialog.vue +++ b/src/components/ShareDialog.vue @@ -1,47 +1,68 @@ + + + +