import type { TourStepProps } from 'antd';
import type { TourStepContext } from '../types';
import { domTarget } from '../types';

export function settingsSteps(_ctx: TourStepContext): TourStepProps[] {
  return [
    {
      title: 'Settings Overview',
      description:
        'Settings is where you configure everything about your platform. The tabs across the top organize settings by category.',
      target: null,
    },
    {
      title: 'Organization',
      description:
        'Click this tab to set your organization\'s name, logo, and footer text. The name appears in the sidebar, browser title, and all public pages.',
      target: domTarget('[data-node-key="organization"]'),
      placement: 'bottom',
    },
    {
      title: 'Theme & Colors',
      description:
        'Click this tab to customize colors for both the admin panel and public-facing pages. Pick your brand color and changes apply instantly.',
      target: domTarget('[data-node-key="theme"]'),
      placement: 'bottom',
    },
    {
      title: 'Email Configuration',
      description:
        'Click this tab to configure SMTP settings for sending advocacy emails and notifications. Test your connection before going live.',
      target: domTarget('[data-node-key="email"]'),
      placement: 'bottom',
    },
    {
      title: 'Feature Toggles',
      description:
        'Click this tab to enable or disable entire modules. Disabled features hide their menu items and routes. Tailor the platform to your needs.',
      target: domTarget('[data-node-key="features"]'),
      placement: 'bottom',
    },
    {
      title: 'Notifications',
      description:
        'Click this tab to control which events trigger admin notifications and configure alert preferences.',
      target: domTarget('[data-node-key="notifications"]'),
      placement: 'bottom',
    },
    {
      title: 'What to Do Next',
      description:
        'Start by setting your organization name and enabling the features you need. You can always come back to adjust these later.',
      target: null,
    },
  ];
}
