Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
Something went wrong. Try again.
2.8 kB · 93 lines
TSX
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293import preview from "../../../.storybook/preview.js";import React from 'react';import { sse } from 'msw';
import { Container } from '@chakra-ui/react';import { CountIndicatorStreamable } from "../../client/components/msComponent/Stats.js";import { sseProviderOptions } from "../../client/App.js";import {Provider} from "../../client/components/Provider.js";import { SSEProvider } from "@flamefrontend/sse-runtime-react";import type {MsSseEvent} from "../../core/Api.js";
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-exportconst meta = preview.meta({ title: 'Component/Details/Stats Count', component: CountIndicatorStreamable, parameters: { // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout layout: 'padded', msw: { handlers: [ sse('/api/events?next=true', async ({ params, client }) => { }), ], }, }, // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs tags: ['autodocs'], // More on argTypes: https://storybook.js.org/docs/api/argtypes // args: { // streamable: false, // }, render: function Render(args) { return (<CountIndicatorStreamable {...args} />) },decorators: [ (Story) => (<Provider><Container maxW="xl"><SSEProvider<MsSseEvent> options={sseProviderOptions}><Story/></SSEProvider></Container></Provider>), ] // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#story-args});
export const StatsCount = meta.story({ args: { data: { countLive: 5, tracksDiscovered: 2, mode: 'source', id: 1 } }});
export const StatsCountLive = meta.story({ args: { data: { countLive: 5, tracksDiscovered: 2, mode: 'source', id: 1 }, }, parameters: { msw: { handlers: [ // <{event: 'scrobble', data: {componentId: number}}> sse('/api/events?next=true', async ({ params, client }) => { setInterval(() => client.send({event: 'scrobble', data: {componentId: 1}}), 2000); }), ], }, }});
export const StatsCountLiveReset = meta.story({ args: { data: { countLive: 5, tracksDiscovered: 2, mode: 'source', id: 1, }, recentTimeout: 2000 }, parameters: { msw: { handlers: [ // <{event: 'scrobble', data: {componentId: number}}> sse('/api/events?next=true', async ({ params, client }) => { setInterval(() => client.send({event: 'scrobble', data: {componentId: 1}}), 3000); }), ], }, }});