import type { Meta, StoryObj } from '@storybook/react';
import ContactFormComponent from './ContactForm';
import labels from '@/mocks/labels';

const meta: Meta<typeof ContactFormComponent> = {
  title: 'Form/ContactForm',
  component: ContactFormComponent,
  parameters: {
    layout: 'fullscreen'
  },
  tags: ['autodocs']
};

export default meta;

type Story = StoryObj<typeof meta>;

const titleOptions = [
  { label: 'Mr.', value: 'Mr' },
  { label: 'Mrs.', value: 'Mrs' },
  { label: 'Ms.', value: 'Ms' }
];

const budgetOptions = [
  { label: 'From 15-20M', value: 'From 15-20M' },
  { label: 'From 20.1M to 30M', value: 'From 20.1M to 30M' },
  { label: 'From 30.1M to 50M', value: 'From 30.1M to 50M' },
  { label: '50M and above', value: '50M and above' }
];

const unitTypeOptions = [
  { label: 'Office', value: 'Office' },
  { label: 'Retail', value: 'Retail' },
  { label: 'F&B', value: 'F&B' }
];

const unitSizeOptions = [
  { label: 'Less than 100M2', value: 'Less than 100M2' },
  { label: '100M2 - 200M2', value: '100M2 - 200M2' },
  { label: '200M2 - 300M2', value: '200M2 - 300M2' },
  { label: '300M2 and above', value: '300M2 and above' }
];

const purposeOptions = [
  { label: 'Investment', value: 'Investment' },
  { label: 'Personal', value: 'Personal' }
];

export const ContactForm: Story = {
  args: {
    title: 'Register your Interest',
    footerText:
      'Fields that contain * are mandatory fields and must be filled before submitting the form.',
    unitTypeOptions,
    unitSizeOptions,
    purposeOptions,
    titleOptions,
    budgetOptions,
    labels: labels.form
  }
};
