From f02ec5f81c1273742c8b8857324df7a794d3d82e Mon Sep 17 00:00:00 2001 From: Alessandro Jean Date: Wed, 16 Mar 2022 22:29:21 -0300 Subject: [PATCH] Release v0.2.48. Fix refresh token logic. Fix inverted percentage indicator color. Always show standard button in the sign in page. Bump the version to release. --- package.json | 13 +-- src/components/GroupedStatistics.vue | 11 +- src/components/SignInWithGoogleButton.vue | 15 ++- src/data/Query.js | 12 ++- src/mutations/useBulkDeleteBookMutation.js | 7 +- src/mutations/useBulkEditBookMutation.js | 7 +- src/mutations/useCreateBookMutation.js | 7 +- src/mutations/useDeleteBookMutation.js | 7 +- src/mutations/useEditBookMutation.js | 7 +- src/queries/useBookCollectionQuery.js | 16 +-- src/queries/useBookExistsQuery.js | 16 +-- src/queries/useBookQuery.js | 16 +-- src/queries/useBookSearchQuery.js | 19 +--- src/queries/useBooksQuery.js | 18 +--- src/queries/useGroupsQuery.js | 16 +-- src/queries/useLastAddedQuery.js | 18 +--- src/queries/useLatestReadingsQuery.js | 16 +-- src/queries/useNextReadsQuery.js | 16 +-- src/queries/usePublishersQuery.js | 16 +-- src/queries/useStatisticsQuery.js | 16 +-- src/queries/useStoresQuery.js | 16 +-- src/queries/useTimeZoneQuery.js | 12 +-- src/services/sheet/bulkDeleteBooks.js | 6 +- src/services/sheet/bulkUpdateBooks.js | 6 +- src/services/sheet/deleteBook.js | 6 +- src/services/sheet/findSheetId.js | 5 +- src/services/sheet/getSheetData.js | 84 ++------------- src/services/sheet/getStatistics.js | 32 +++--- src/services/sheet/getTimeZone.js | 8 +- src/services/sheet/insertBook.js | 6 +- src/services/sheet/updateBook.js | 6 +- src/stores/auth.js | 87 +++++++++------- src/util/gapi.js | 81 +++++++++++++++ src/views/SignIn.vue | 5 +- yarn.lock | 114 +++++++++++++-------- 35 files changed, 368 insertions(+), 375 deletions(-) create mode 100644 src/util/gapi.js diff --git a/package.json b/package.json index 9c374f32..c72b3a26 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "toshokan", - "version": "0.2.47", + "version": "0.2.48", "private": true, "scripts": { "build": "vite build", @@ -20,7 +20,7 @@ "@tailwindcss/typography": "^0.5.2", "@vuelidate/core": "^2.0.0-alpha.35", "@vuelidate/validators": "^2.0.0-alpha.27", - "@vueuse/core": "^8.0.1", + "@vueuse/core": "^8.1.1", "apexcharts": "^3.33.2", "axios": "^0.26.1", "core-js": "^3.21.1", @@ -43,7 +43,7 @@ "slugify": "^1.6.5", "vue": "^3.2.31", "vue-i18n": "^9.1.9", - "vue-query": "^1.19.2", + "vue-query": "^1.19.3", "vue-router": "^4.0.14", "vue3-apexcharts": "^1.4.1", "vuedraggable": "^4.1.0", @@ -54,6 +54,7 @@ "@babel/eslint-parser": "^7.17.0", "@babel/preset-env": "^7.16.11", "@types/dedent": "^0.7.0", + "@types/gapi.client": "^1.0.5", "@types/gapi.client.drive": "^3.0.13", "@types/gapi.client.sheets": "^4.0.20201029", "@types/google.visualization": "^0.0.68", @@ -61,7 +62,7 @@ "@types/tailwindcss": "^3.0.9", "@vitejs/plugin-vue": "^2.2.4", "@vue/compiler-sfc": "^3.2.31", - "autoprefixer": "^10.4.2", + "autoprefixer": "^10.4.4", "babel-jest": "^27.5.1", "eslint": "^8.11.0", "eslint-config-prettier": "^8.5.0", @@ -75,9 +76,9 @@ "git-describe": "^4.1.0", "husky": "^7.0.4", "jest": "^27.5.1", - "postcss": "^8.4.8", + "postcss": "^8.4.12", "postcss-loader": "^6.2.1", - "prettier": "^2.5.1", + "prettier": "^2.6.0", "source-map": "^0.7.3", "tailwindcss": "^3.0.23", "vite": "^2.8.6", diff --git a/src/components/GroupedStatistics.vue b/src/components/GroupedStatistics.vue index 2166f944..6c16bc07 100644 --- a/src/components/GroupedStatistics.vue +++ b/src/components/GroupedStatistics.vue @@ -52,7 +52,8 @@ const groups = computed(() => [ monthlyReversed.value?.[0]?.totalSpent, monthlyReversed.value?.[1]?.totalSpent ), - currency: true + currency: true, + inverted: true }, { label: t('dashboard.stats.bought'), @@ -94,7 +95,7 @@ const groups = computed(() => [

{{ n( @@ -115,9 +116,9 @@ const groups = computed(() => [ v-if="(group.percentage?.percentage || 0) !== 0" :class="[ 'flex items-center text-xxs lg:text-xs font-semibold tracking-wide uppercase px-2 py-0.5 lg:py-1 rounded-full shrink-0', - group.percentage?.increased - ? 'bg-red-100 dark:bg-red-700/40 text-red-800 dark:text-red-200' - : 'bg-green-100 dark:bg-green-600/40 text-green-800 dark:text-green-200' + group.percentage?.increased !== !!group.inverted + ? 'bg-green-100 dark:bg-green-600/40 text-green-800 dark:text-green-200' + : 'bg-red-100 dark:bg-red-700/40 text-red-800 dark:text-red-200' ]" >

- +

diff --git a/yarn.lock b/yarn.lock index b16cfb24..b8d27552 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1597,7 +1597,7 @@ dependencies: "@maxim_mazurok/gapi.client.sheets" latest -"@types/gapi.client@*": +"@types/gapi.client@*", "@types/gapi.client@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/gapi.client/-/gapi.client-1.0.5.tgz#a6eb97e664fe51656c5b52258bd0afef28c76308" integrity sha512-OTpbBMuzfC4lkvaomxqskI/iWRGW3zOZbDXZLNSyiuswTiSSGgILRLkg0POuZ4EgzEdaYaTlXpnXiCp07ri/Yw== @@ -1875,24 +1875,24 @@ dependencies: vue-demi "^0.12.0" -"@vueuse/core@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-8.0.1.tgz#113e3704ce1e11ea204cc3586edb255753260f0c" - integrity sha512-LQ5pyxALWMZikNWzW2CTs/RfTyT0O3oYDl7jJhfckY0q/dLe2SCy5vX4+f6c2LFjG9M+sXRugne+W4t1I/wXUA== +"@vueuse/core@^8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-8.1.1.tgz#09dd6def4d5efad81a1a665155fb1959e03d7246" + integrity sha512-NmpizOcQXW0OHV0qa6YwFtw5hQBe0RxMuxQoIIbCa6jRT16MTweFPecIM6VgA1e5vZJtAO7p//TgLSpzi3joZQ== dependencies: - "@vueuse/metadata" "8.0.1" - "@vueuse/shared" "8.0.1" + "@vueuse/metadata" "8.1.1" + "@vueuse/shared" "8.1.1" vue-demi "*" -"@vueuse/metadata@8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-8.0.1.tgz#672b987619d6dc161501b06cada0798c90b827a1" - integrity sha512-+Y2TSsgliQMzqcRMcuX28XHrxojrZYGiBKzW05/mkPmlYGlUSOauF9pvyyslH0V4HfzCsg3CDKJhCnBLWKqN0w== +"@vueuse/metadata@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-8.1.1.tgz#6e6ba14cb3225ce4c252e5140da1fe572b1ef2e9" + integrity sha512-TSmA3UaSmBcV8pJ7fnHAL7NjSE1RQZlpJklg6YysFxwxDb0MZlo+Q8j9U1hLBZT1fnAjwZMaoxilanHN8ZwugQ== -"@vueuse/shared@8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-8.0.1.tgz#1ca157241b4e702dac63e0786ce459a865658ed8" - integrity sha512-PZf84+DHWUnIKNhvIxL335uWjjfIeEhYjRFilDqEWB/t4yHfNbZxDpT+4OgiLtgdCcGG1JKryNI7nkY9TyEu6w== +"@vueuse/shared@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-8.1.1.tgz#beb84b4fd7cc09577d9d30dbedfdabf47740e9d0" + integrity sha512-lWRcK8W9+q1t1XMxW9JIljXFQLIViInTOEF7wUHcISQNAYwHtHgr0z+U5SRM8tA4eJd/dVs/2BV1/z2DG7aKEg== dependencies: vue-demi "*" @@ -2078,14 +2078,14 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.2: - version "10.4.2" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" - integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== +autoprefixer@^10.4.4: + version "10.4.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e" + integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA== dependencies: - browserslist "^4.19.1" - caniuse-lite "^1.0.30001297" - fraction.js "^4.1.2" + browserslist "^4.20.2" + caniuse-lite "^1.0.30001317" + fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" postcss-value-parser "^4.2.0" @@ -2249,6 +2249,17 @@ browserslist@^4.17.5, browserslist@^4.19.1: node-releases "^2.0.1" picocolors "^1.0.0" +browserslist@^4.20.2: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== + dependencies: + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" + escalade "^3.1.1" + node-releases "^2.0.2" + picocolors "^1.0.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -2294,11 +2305,16 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: +caniuse-lite@^1.0.30001286: version "1.0.30001300" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz#11ab6c57d3eb6f964cba950401fd00a146786468" integrity sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA== +caniuse-lite@^1.0.30001317: + version "1.0.30001317" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz#0548fb28fd5bc259a70b8c1ffdbe598037666a1b" + integrity sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ== + chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2641,6 +2657,11 @@ electron-to-chromium@^1.4.17: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.48.tgz#1948b5227aa0ca1ed690945eae1adbe9e7904575" integrity sha512-RT3SEmpv7XUA+tKXrZGudAWLDpa7f8qmhjcLaM6OD/ERxjQ/zAojT8/Vvo0BSzbArkElFZ1WyZ9FuwAYbkdBNA== +electron-to-chromium@^1.4.84: + version "1.4.86" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.86.tgz#90fe4a9787f48d6522957213408e08a8126b2ebc" + integrity sha512-EVTZ+igi8x63pK4bPuA95PXIs2b2Cowi3WQwI9f9qManLiZJOD1Lash1J3W4TvvcUCcIR4o/rgi9o8UicXSO+w== + emittery@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" @@ -3254,10 +3275,10 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -fraction.js@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" - integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== fs-extra@^9.0.1: version "9.1.0" @@ -4633,6 +4654,11 @@ node-releases@^2.0.1: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -4924,6 +4950,15 @@ postcss@^8.1.10: nanoid "^3.1.23" source-map-js "^0.6.2" +postcss@^8.4.12: + version "8.4.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" + integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + postcss@^8.4.6: version "8.4.6" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" @@ -4933,15 +4968,6 @@ postcss@^8.4.6: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.4.8: - version "8.4.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" - integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== - dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -4959,10 +4985,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" - integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== +prettier@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" + integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== pretty-bytes@^5.3.0, pretty-bytes@^5.6.0: version "5.6.0" @@ -5884,10 +5910,10 @@ vue-i18n@^9.1.9: "@intlify/vue-devtools" "9.1.9" "@vue/devtools-api" "^6.0.0-beta.7" -vue-query@^1.19.2: - version "1.19.2" - resolved "https://registry.yarnpkg.com/vue-query/-/vue-query-1.19.2.tgz#fe169399e1668208981ce5232e13dd53a7e0b970" - integrity sha512-aEi1ICUISAeyMPPdJIABVat+RkaL9yK1QRMBC47p7wYhvx1xl5QVVsyP7KgJje0JTId2ak1XnrerHtLCAZvT1Q== +vue-query@^1.19.3: + version "1.19.3" + resolved "https://registry.yarnpkg.com/vue-query/-/vue-query-1.19.3.tgz#ce0d0ec8a86c129ecb60cd2eaa213650ab335e9a" + integrity sha512-aQnVU+shMC5LlK2NWrx+zq/w1kOvmHix/zo4Ok5xmJgxOagm/TPSfrMVqDqcIZfQx+dthimXQaHCuu6p8zkXag== dependencies: match-sorter "^6.3.1" react-query "^3.34.9"