diff --git a/packages/frontend/.storybook/generate.tsx b/packages/frontend/.storybook/generate.tsx index f442422109..cc720ce715 100644 --- a/packages/frontend/.storybook/generate.tsx +++ b/packages/frontend/.storybook/generate.tsx @@ -403,6 +403,7 @@ Promise.all([ glob('src/components/MkUserSetupDialog.vue'), glob('src/components/MkUserSetupDialog.*.vue'), glob('src/pages/user/home.vue'), + glob('src/widgets/server-metric/cpu-mem.vue'), ]) .then((globs) => globs.flat()) .then((components) => Promise.all(components.map((component) => { diff --git a/packages/frontend/src/widgets/server-metric/cpu-mem.stories.impl.ts b/packages/frontend/src/widgets/server-metric/cpu-mem.stories.impl.ts new file mode 100644 index 0000000000..7340fa29fa --- /dev/null +++ b/packages/frontend/src/widgets/server-metric/cpu-mem.stories.impl.ts @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ +import { action } from '@storybook/addon-actions'; +import { StoryObj } from '@storybook/vue3'; +import cpu_mem from './cpu-mem.vue'; +export const Default = { + render(args) { + return { + components: { + cpu_mem, + }, + setup() { + return { + args, + }; + }, + computed: { + props() { + return { + ...this.args, + }; + }, + }, + template: '', + }; + }, + args: { + stats: Array.from({ length: 50 }, (_, i) => ({ + cpu: (i % 11) / 10, + mem: { + active: (i % 11) / 10, + }, + })), + meta: { + mem: { + total: 1, + }, + }, + connection: { + on: action('on'), + send: action('send'), + }, + }, + parameters: { + layout: 'centered', + }, +} satisfies StoryObj; diff --git a/packages/frontend/src/widgets/server-metric/cpu-mem.vue b/packages/frontend/src/widgets/server-metric/cpu-mem.vue index 80a8e427e1..71e7b1805a 100644 --- a/packages/frontend/src/widgets/server-metric/cpu-mem.vue +++ b/packages/frontend/src/widgets/server-metric/cpu-mem.vue @@ -1,10 +1,19 @@