diff --git a/package-lock.json b/package-lock.json index c34874549..b397c1fcf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@aw-labs/ui": "0.0.0-69", "@popperjs/core": "^2.11.6", "echarts": "^5.4.0", + "pretty-bytes": "^6.0.0", "prismjs": "^1.29.0", "tippy.js": "^6.3.7", "web-vitals": "^3.0.3" @@ -5942,6 +5943,17 @@ "svelte": "^3.2.0" } }, + "node_modules/pretty-bytes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz", + "integrity": "sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==", + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -11977,6 +11989,11 @@ "dev": true, "requires": {} }, + "pretty-bytes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz", + "integrity": "sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==" + }, "pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", diff --git a/package.json b/package.json index c332b80f2..853131868 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@aw-labs/ui": "0.0.0-69", "@popperjs/core": "^2.11.6", "echarts": "^5.4.0", + "pretty-bytes": "^6.0.0", "prismjs": "^1.29.0", "tippy.js": "^6.3.7", "web-vitals": "^3.0.3" diff --git a/src/lib/charts/base.json b/src/lib/charts/base.json index 29d166045..0cbfc0897 100644 --- a/src/lib/charts/base.json +++ b/src/lib/charts/base.json @@ -6,7 +6,7 @@ "borderWidth": 1 }, "lineStyle": { - "width": 2 + "width": 1 }, "symbolSize": 4, "symbol": "emptyCircle", diff --git a/src/lib/charts/base.svelte b/src/lib/charts/base.svelte index 6fc6f057f..09f5b5ee2 100644 --- a/src/lib/charts/base.svelte +++ b/src/lib/charts/base.svelte @@ -42,7 +42,7 @@ (await import('echarts/components')).TransformComponent, (await import('echarts/components')).LegendComponent, (await import('echarts/features')).LabelLayout, - (await import('echarts/renderers')).CanvasRenderer + (await import('echarts/renderers')).SVGRenderer ]); makeChart(); }); diff --git a/src/lib/charts/config.ts b/src/lib/charts/config.ts index 00645a151..c43f04c63 100644 --- a/src/lib/charts/config.ts +++ b/src/lib/charts/config.ts @@ -27,6 +27,11 @@ export const defaultConfig: EChartsOption = { yAxis: { type: 'value', splitNumber: 3, - minInterval: 1 + minInterval: 1, + splitLine: { + lineStyle: { + width: 1 + } + } } }; diff --git a/src/lib/charts/dark.json b/src/lib/charts/dark.json index 0bc23c3cf..94a660131 100644 --- a/src/lib/charts/dark.json +++ b/src/lib/charts/dark.json @@ -45,11 +45,11 @@ } }, "axisLabel": { - "color": "#666666" + "color": "#868EA3" }, "splitLine": { "lineStyle": { - "color": ["#333333"] + "color": ["#4F5769"] } }, "splitArea": { diff --git a/src/lib/charts/line.svelte b/src/lib/charts/line.svelte index 05cbf248e..3879c07dc 100644 --- a/src/lib/charts/line.svelte +++ b/src/lib/charts/line.svelte @@ -1,8 +1,8 @@ + @@ -71,98 +61,14 @@ {#if $project} {#if $usage} - {@const bandwith = humanFileSize(total($usage.network))} {@const storage = humanFileSize(last($usage.storage).value)}
-
-
-
- {bandwith.value} - {bandwith.unit} -
-
Bandwidth
-
- - - - changePeriod('24h')}> - 24h - - changePeriod('30d')}> - 30d - - changePeriod('90d')}> - 90d - - - -
- {#if network.length} -
- [e.date, e.value])] - } - ]} /> -
- {/if} + changePeriod(e.detail)} />
-
-
-
- {format(total($usage.requests))} -
-
Requests
-
- - - - changePeriod('24h')}> - 24h - - changePeriod('30d')}> - 30d - - changePeriod('90d')}> - 90d - - - -
- {#if network.length} -
- [e.date, e.value])] - } - ]} /> -
- {/if} + changePeriod(e.detail)} />
-
XX
-
Databases
+
+ {format(last($usage.documents).value)} +
+
Documents
-
Documents: {last($usage.documents).value}
+
Databases: XX
@@ -261,23 +169,7 @@
- {#if $stats.get(projectId)} -
- {format($stats.get(projectId)[11][1])} -
-
Realtime Connections
-
- -
- {:else} -
waiting for realtime connections
- {/if} +
diff --git a/src/routes/console/project-[project]/overview/bandwith.svelte b/src/routes/console/project-[project]/overview/bandwith.svelte new file mode 100644 index 000000000..1733dbd93 --- /dev/null +++ b/src/routes/console/project-[project]/overview/bandwith.svelte @@ -0,0 +1,77 @@ + + +
+
+
+ {bandwith.value} + {bandwith.unit} +
+
Bandwidth
+
+ + + + dispatch('change', '24h')}>24h + dispatch('change', '30d')}>30d + dispatch('change', '90d')}>90d + + +
+{#if bandwith.value !== '0'} +
+ + value + ? `${humanFileSize(+value).value} ${humanFileSize(+value).unit}` + : '0' + } + } + }} + series={[ + { + name: 'Bandwidth', + data: [...network.map((e) => [e.date, e.value])], + tooltip: { + valueFormatter: (value) => + `${humanFileSize(+value).value} ${humanFileSize(+value).unit}` + } + } + ]} /> +
+{:else} + +
+
+
+{/if} diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/+page.ts b/src/routes/console/project-[project]/overview/platforms/[platform]/+page.ts index 41ce2475f..2779bbeb7 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/+page.ts +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/+page.ts @@ -9,7 +9,7 @@ export const load: PageLoad = async ({ params, depends }) => { return { header: Header, - breadcrumb: Breadcrumbs, + breadcrumbs: Breadcrumbs, platform: await sdkForConsole.projects.getPlatform(params.project, params.platform) }; }; diff --git a/src/routes/console/project-[project]/overview/realtime.svelte b/src/routes/console/project-[project]/overview/realtime.svelte new file mode 100644 index 000000000..ae75be126 --- /dev/null +++ b/src/routes/console/project-[project]/overview/realtime.svelte @@ -0,0 +1,45 @@ + + +
+ {format(current)} +
+
Realtime Connections
+{#if total} +
+ +
+{:else} + +
+
+
+{/if} diff --git a/src/routes/console/project-[project]/overview/requests.svelte b/src/routes/console/project-[project]/overview/requests.svelte new file mode 100644 index 000000000..3431b737e --- /dev/null +++ b/src/routes/console/project-[project]/overview/requests.svelte @@ -0,0 +1,67 @@ + + +
+
+
+ {format(total($usage.requests))} +
+
Requests
+
+ + + + dispatch('change', '24h')}>24h + dispatch('change', '30d')}>30d + dispatch('change', '90d')}>90d + + +
+{#if total($usage.requests) !== 0} +
+ [e.date, e.value])] + } + ]} /> +
+{:else} + +
+
+
+{/if}