import preview from "#.storybook/preview"; import { createSignal, onCleanup } from "solid-js"; import { User } from "../../src/ts/components/common/User"; const meta = preview.meta({ title: "Common/User", component: User, parameters: { layout: "centered", }, tags: ["autodocs"], argTypes: { showAvatar: { control: "boolean" }, iconsOnly: { control: "boolean" }, isFriend: { control: "boolean" }, }, }); // oxlint-disable-next-line no-unused-vars function SpinnerCycleUser(props: { data: Record; }): ReturnType { const [showSpinner, setShowSpinner] = createSignal(false); const interval = setInterval(() => { setShowSpinner((prev) => !prev); }, 2000); onCleanup(() => clearInterval(interval)); //@ts-expect-error - just for testing, ignore type issues return ; } export const Default = meta.story({ // args: { // user: { // uid: "user123", // name: "monkeytyper", // discordId: undefined, // discordAvatar: undefined, // }, // }, render: () => { const data = { uid: "user123", name: "monkeytyper", discordId: "102819690287489024", discordAvatar: "a_af6c0b8ad26fdd6bcb86ed7bb40ee6e5", isPremium: true, banned: true, }; return (
With avatar:
No avatar:
Avatar fallback:
Avatar fallback with color:
Flag color:
Hide name on small screen:
Level:
Level no flags:
Show spinner (cycling):
Show notification bubble:
); }, }); export const WithBadge = meta.story({ args: { user: { uid: "user123", name: "monkeytyper", discordId: undefined, discordAvatar: undefined, badgeId: 1, }, }, }); export const Premium = meta.story({ args: { user: { uid: "user123", name: "monkeytyper", discordId: undefined, discordAvatar: undefined, badgeId: 6, isPremium: true, }, }, }); export const Friend = meta.story({ args: { user: { uid: "user123", name: "monkeytyper", discordId: undefined, discordAvatar: undefined, }, isFriend: true, }, }); export const Banned = meta.story({ args: { user: { uid: "user123", name: "monkeytyper", discordId: undefined, discordAvatar: undefined, banned: true, }, }, }); export const NoAvatar = meta.story({ args: { user: { uid: "user123", name: "monkeytyper", discordId: undefined, discordAvatar: undefined, badgeId: 13, isPremium: true, }, showAvatar: false, }, }); export const FullyLoaded = meta.story({ args: { user: { uid: "user123", name: "monkeytyper", discordId: undefined, discordAvatar: undefined, badgeId: 1, isPremium: true, }, isFriend: true, }, });