New analytics (#1483)

* [WIP] Transfer analytics to own branch

* code style changes

* Refactor country name conversion

* Clean up api and ssr for settings page

* refactor analytics into reusables

* Refactor chart tooltip and reset functionality

* Update dayjs import and formatTimestamp function

* Fix bug in login functionality

* Abstract data fetching

* Refactor analytics data formatting

* Refactor useFetchAllAnalytics function signature

* Refactor analytics processing functions

* Fix chart data in ChartDisplay.vue

* Refactor analytics pages

* Refactor delete labrinth.ts test types

* Fix import statement for dayjs and update usage of
unix function

* Fix dropdown select in ChartDisplay.vue and add
Analytics link in creations.vue

* Update chart colors in ChartDisplay.vue and
analytics.js

* Update defaultRanges in ChartDisplay.vue

* Add colors to chart

* Update legend position in ChartDisplay.vue

* Refactor color conversion functions in
analytics.js

* Bug fixes

* Use softer colors

* Import dayjs unix module for analytics.js

* Refactor chart tooltip generation

* Fix calculation of total value in generateTooltip
function

* Fix button-base styling in ChartDisplay.vue

* Adopt intl standard rather than iso-3166-1

* Add support for potential flags

* Analytics rebased

* fix cf pages

* now?

* try now

* now?

* Fix this time

* address rev

* Finish analytics

* fix api url

---------

Co-authored-by: Carter <safe@fea.st>
This commit is contained in:
Geometrically
2023-12-26 14:46:32 -05:00
committed by GitHub
parent 5f075e4936
commit e319d19a54
11 changed files with 1697 additions and 95 deletions

84
pnpm-lock.yaml generated
View File

@@ -49,6 +49,9 @@ dependencies:
vue-multiselect:
specifier: ^3.0.0-alpha.2
version: 3.0.0-alpha.2
vue3-apexcharts:
specifier: ^1.4.4
version: 1.4.4(apexcharts@3.44.0)(vue@3.3.4)
xss:
specifier: ^1.0.14
version: 1.0.14
@@ -58,7 +61,7 @@ devDependencies:
specifier: ^6.1.2
version: 6.1.2
'@nuxt/devtools':
specifier: ^0.7.0
specifier: '=0.7.0'
version: 0.7.0(nuxt@3.5.3)(vite@4.3.9)
'@nuxtjs/eslint-config-typescript':
specifier: ^12.0.0
@@ -1442,14 +1445,14 @@ packages:
dependencies:
'@nuxt/devtools-kit': 0.7.0(nuxt@3.5.3)(vite@4.3.9)
'@nuxt/devtools-wizard': 0.7.0
'@nuxt/kit': 3.6.5
'@nuxt/kit': 3.8.0
birpc: 0.2.12
boxen: 7.1.1
consola: 3.2.3
error-stack-parser-es: 0.1.0
execa: 7.1.1
fast-folder-size: 2.1.0
fast-glob: 3.3.0
fast-glob: 3.3.1
get-port-please: 3.0.1
global-dirs: 3.0.1
h3: 1.7.1
@@ -1469,7 +1472,7 @@ packages:
rc9: 2.1.1
semver: 7.5.4
sirv: 2.0.3
unimport: 3.1.0
unimport: 3.4.0(rollup@3.26.0)
vite: 4.3.9(@types/node@20.1.0)(sass@1.58.0)
vite-plugin-inspect: 0.7.33(vite@4.3.9)
vite-plugin-vue-inspector: 3.4.2(vite@4.3.9)
@@ -1537,32 +1540,6 @@ packages:
- supports-color
dev: true
/@nuxt/kit@3.6.5:
resolution: {integrity: sha512-uBI5I2Zx6sk+vRHU+nBmifwxg/nyXCGZ1g5hUKrUfgv1ZfiKB8JkN5T9iRoduDOaqbwM6XSnEl1ja73iloDcrw==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
'@nuxt/schema': 3.6.5
c12: 1.5.1
consola: 3.2.3
defu: 6.1.2
globby: 13.2.2
hash-sum: 2.0.0
ignore: 5.2.4
jiti: 1.20.0
knitwork: 1.0.0
mlly: 1.4.2
pathe: 1.1.1
pkg-types: 1.0.3
scule: 1.0.0
semver: 7.5.4
unctx: 2.3.1
unimport: 3.4.0(rollup@3.26.0)
untyped: 1.4.0
transitivePeerDependencies:
- rollup
- supports-color
dev: true
/@nuxt/kit@3.8.0:
resolution: {integrity: sha512-oIthQxeMIVs4ESVP5FqLYn8tj0S1sLd+eYreh+dNYgnJ2pTi7+THR12ONBNHjk668jqEe7ErUJ8UlGwqBzgezg==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -1626,24 +1603,6 @@ packages:
- supports-color
dev: true
/@nuxt/schema@3.6.5:
resolution: {integrity: sha512-UPUnMB0W5TZ/Pi1fiF71EqIsPlj8LGZqzhSf8wOeh538KHwxbA9r7cuvEUU92eXRksOZaylbea3fJxZWhOITVw==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
defu: 6.1.2
hookable: 5.5.3
pathe: 1.1.1
pkg-types: 1.0.3
postcss-import-resolver: 2.0.0
std-env: 3.4.3
ufo: 1.3.1
unimport: 3.4.0(rollup@3.26.0)
untyped: 1.4.0
transitivePeerDependencies:
- rollup
- supports-color
dev: true
/@nuxt/schema@3.8.0:
resolution: {integrity: sha512-VEDVeCjdVowhoY5vIBSz94+SSwmM204jN6TNe/ShBJ2d/vZiy9EtLbhOwqaPNFHwnN1fl/XFHThwJiexdB9D1w==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -4493,17 +4452,6 @@ packages:
- supports-color
dev: true
/fast-glob@3.3.0:
resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.5
dev: true
/fast-glob@3.3.1:
resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
engines: {node: '>=8.6.0'}
@@ -8540,24 +8488,6 @@ packages:
- rollup
dev: true
/unimport@3.1.0:
resolution: {integrity: sha512-ybK3NVWh30MdiqSyqakrrQOeiXyu5507tDA0tUf7VJHrsq4DM6S43gR7oAsZaFojM32hzX982Lqw02D3yf2aiA==}
dependencies:
'@rollup/pluginutils': 5.0.5(rollup@3.26.0)
escape-string-regexp: 5.0.0
fast-glob: 3.3.1
local-pkg: 0.4.3
magic-string: 0.30.5
mlly: 1.4.2
pathe: 1.1.1
pkg-types: 1.0.3
scule: 1.0.0
strip-literal: 1.3.0
unplugin: 1.5.0
transitivePeerDependencies:
- rollup
dev: true
/unimport@3.4.0(rollup@3.26.0):
resolution: {integrity: sha512-M/lfFEgufIT156QAr/jWHLUn55kEmxBBiQsMxvRSIbquwmeJEyQYgshHDEvQDWlSJrVOOTAgnJ3FvlsrpGkanA==}
dependencies: