52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
|
|
import { FormProvider, useForm } from "react-hook-form";
|
|
|
|
import type { BankCardValues } from "../../model/form.schema";
|
|
|
|
import { BankCardFields } from "./BankCardForm.view";
|
|
|
|
const meta = {
|
|
args: { archived: false },
|
|
component: BankCardFields,
|
|
decorators: [
|
|
(Story) => {
|
|
const methods = useForm<BankCardValues>({
|
|
defaultValues: {
|
|
bankName: "Вымышленный банк",
|
|
lastFour: "1234",
|
|
name: "Учебная повседневная карта",
|
|
openingBalance: "-92233720368547758.08",
|
|
openingDate: "2026-08-01",
|
|
},
|
|
});
|
|
|
|
return (
|
|
<FormProvider {...methods}>
|
|
<Story />
|
|
</FormProvider>
|
|
);
|
|
},
|
|
],
|
|
parameters: {
|
|
docs: {
|
|
description: {
|
|
component:
|
|
"Поля ручной дебетовой карты на вымышленных данных. Сохранения и обращения к API нет. Архив оставляет описательные сведения доступными, а финансовые поля — только для чтения.",
|
|
},
|
|
},
|
|
},
|
|
tags: ["autodocs"],
|
|
title: "Product/BankCards/CardFields",
|
|
} satisfies Meta<typeof BankCardFields>;
|
|
|
|
export default meta;
|
|
|
|
type Story = StoryObj<typeof meta>;
|
|
|
|
export const Active: Story = { name: "Независимая карта в рублях" };
|
|
export const Archived: Story = {
|
|
args: { archived: true },
|
|
name: "Финансовые поля архивной карты",
|
|
};
|