diff --git a/src/lib/charts/index.ts b/src/lib/charts/index.ts index c73108a13..488756ecb 100644 --- a/src/lib/charts/index.ts +++ b/src/lib/charts/index.ts @@ -1,2 +1,3 @@ export { default as BarChart } from './bar.svelte'; export { default as LineChart } from './line.svelte'; +export { default as Legend, type LegendData } from './legend.svelte'; diff --git a/src/lib/charts/legend.svelte b/src/lib/charts/legend.svelte new file mode 100644 index 000000000..671f4cce3 --- /dev/null +++ b/src/lib/charts/legend.svelte @@ -0,0 +1,23 @@ + + + + +
+ {#each legendData as { name, value }, index} +
+ + {name} ({value}) +
+ {/each} +
diff --git a/src/lib/layout/index.ts b/src/lib/layout/index.ts index e45069dd1..fa8289f73 100644 --- a/src/lib/layout/index.ts +++ b/src/lib/layout/index.ts @@ -13,6 +13,7 @@ export { default as WizardStep } from './wizardStep.svelte'; export { default as Breadcrumbs } from './breadcrumbs.svelte'; export { default as Unauthenticated } from './unauthenticated.svelte'; export { default as Usage, type UsagePeriods } from './usage.svelte'; +export { default as UsageMultiple } from './usageMultiple.svelte'; export { default as Activity } from './activity.svelte'; export { default as Progress } from './progress.svelte'; export { default as GridHeader } from './gridHeader.svelte'; diff --git a/src/lib/layout/usageMultiple.svelte b/src/lib/layout/usageMultiple.svelte new file mode 100644 index 000000000..6e3d3be43 --- /dev/null +++ b/src/lib/layout/usageMultiple.svelte @@ -0,0 +1,63 @@ + + + +
+ {title} + {#if path} + + + 24h + + + 30d + + + 90d + + + {/if} +
+ + {#if count} +
+
+ ({ + name: legendData[index].name, + data: accumulateFromEndingTotal(c, total[index]) + }))} /> +
+ + {#if legendData} + + {/if} +
+ {/if} +
+
+ +