* Extract reusable league wizard components; wire settings page (#103) Extracts 9 domain components from new.tsx and $leagueId.settings.tsx into app/components/league/ (each with a Storybook story), consolidates wizard form-building into wizard-state.ts, and updates the settings page to use the shared components instead of hand-rolled duplicates. new.tsx shrinks from ~2000 → ~1280 lines. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix sports-season test: add participants to mock data findDraftableSportsSeasons now returns participantCount, which requires participants in the mock db response. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix sports-season test: loosen makeMockDb type to Record<string, unknown>[] typeof mockSeasons became too strict after adding participants to the mock data, breaking inline arrays in other tests that don't include participants. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
import { ScoringPresetPicker, OMNIFANTASY_SCORING } from "./ScoringPresetPicker";
|
|
import { DEFAULT_SCORING_RULES } from "~/lib/scoring-types";
|
|
|
|
const meta: Meta<typeof ScoringPresetPicker> = {
|
|
title: "League/ScoringPresetPicker",
|
|
component: ScoringPresetPicker,
|
|
parameters: { layout: "padded" },
|
|
args: { onPresetChange: () => {}, onRulesChange: () => {} },
|
|
};
|
|
|
|
export default meta;
|
|
type Story = StoryObj<typeof ScoringPresetPicker>;
|
|
|
|
export const BracktDefault: Story = {
|
|
args: { preset: "brackt", rules: { ...DEFAULT_SCORING_RULES } },
|
|
};
|
|
|
|
export const OmnifantasyDefault: Story = {
|
|
args: { preset: "omnifantasy", rules: { ...OMNIFANTASY_SCORING } },
|
|
};
|
|
|
|
export const Custom: Story = {
|
|
args: {
|
|
preset: "custom",
|
|
rules: { pointsFor1st: 120, pointsFor2nd: 60, pointsFor3rd: 40, pointsFor4th: 30, pointsFor5th: 20, pointsFor6th: 15, pointsFor7th: 10, pointsFor8th: 5 },
|
|
},
|
|
};
|
|
|
|
export const Disabled: Story = {
|
|
args: { preset: "brackt", rules: { ...DEFAULT_SCORING_RULES }, disabled: true },
|
|
};
|