import { Meta, StoryObj } from "@storybook/nextjs-vite";
import { SoulmatePortraitTemplate } from "./SoulmatePortraitTemplate";
import { fn } from "storybook/test";
import type { SoulmatePortraitScreenDefinition } from "@/lib/funnel/types";

const defaultScreen: SoulmatePortraitScreenDefinition = {
  id: "soulmate-story",
  template: "soulmate",
  header: { show: false, showBackButton: false },
  title: { text: "Soulmate Portrait" },
  subtitle: { text: "Готов увидеть, кто твоя настоящая Родственная душа?" },
  description: {
    text: "Готов увидеть, кто твоя настоящая Родственная душа?",
    align: "center",
  },
  soulmatePortraitsDelivered: {
    image: "/soulmate-portrait-delivered-male.jpg",
    text: {
      text: "soulmate portraits delivered today",
      font: "inter",
      weight: "medium",
      size: "sm",
      color: "primary",
    },
    avatars: [
      { src: "/avatars/male-1.jpg", alt: "Male 1" },
      { src: "/avatars/male-2.jpg", alt: "Male 2" },
      { src: "/avatars/male-3.jpg", alt: "Male 3" },
      { src: "", fallbackText: "900+" },
    ],
  },
  textList: {
    items: [
      {
        text: "Всего 2 минуты — и Портрет откроет того, кто связан с тобой судьбой.",
      },
      { text: "Поразительная точность 99%." },
      { text: "Тебя ждёт неожиданное открытие." },
      { text: "Осталось лишь осмелиться взглянуть." },
    ],
  },
  bottomActionButton: { text: "Continue", showPrivacyTermsConsent: true },
};

const meta: Meta<typeof SoulmatePortraitTemplate> = {
  title: "Funnel Templates/SoulmatePortraitTemplate",
  component: SoulmatePortraitTemplate,
  tags: ["autodocs"],
  parameters: { layout: "fullscreen" },
  args: {
    screen: defaultScreen,
    onContinue: fn(),
    canGoBack: true,
    onBack: fn(),
    screenProgress: undefined,
    defaultTexts: { nextButton: "Next" },
  },
  argTypes: {},
};

export default meta;
type Story = StoryObj<typeof meta>;

export const Default: Story = {};
