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

export function mediaLibrarySteps(ctx: TourStepContext): TourStepProps[] {
  if (!ctx.settings.enableMediaFeatures) {
    return [];
  }

  return [
    {
      title: 'Media Library',
      description:
        'The Media Library manages all your organization\'s videos and photos. Content can be published to the public gallery or kept private for internal use.',
      target: null,
    },
    {
      title: 'Media Tabs',
      description:
        'Switch between Videos, Photos, and Albums. Each type has its own upload and management workflow.',
      target: domTarget('[data-tour-media-tabs]'),
      placement: 'bottom',
    },
    {
      title: 'Upload Content',
      description:
        'Click Upload to add new videos or photos. Videos are analyzed automatically for duration, resolution, and quality metadata.',
      target: domTarget('[data-tour-media-upload]'),
      placement: 'bottom',
    },
    {
      title: 'Search & Filter',
      description:
        'Search by title, filter by category or publication status. Use bulk select to manage multiple items at once.',
      target: domTarget('[data-tour-media-filters]'),
      placement: 'bottom',
    },
    {
      title: 'Publishing',
      description:
        'Media starts as a draft. Publish it to make it visible in the public gallery. You can also schedule a future publication date.',
      target: null,
    },
    {
      title: 'Analytics',
      description:
        'Track views, engagement, and audience data from the Analytics dashboard. All tracking is GDPR-compliant and privacy-respecting.',
      target: null,
    },
  ];
}
