import type { TourDefinition } from '../stores/tour'

export const TOURS: Record<string, TourDefinition> = {
  clients: {
    id: 'clients',
    route: '/clients',
    steps: [
      {
        target: '[data-tour-id="new-client"]',
        title: 'Add a client',
        content: 'Click here to create your first client. Add their name, email, company, and payment terms.',
        placement: 'bottom',
      },
    ],
  },
  projects: {
    id: 'projects',
    route: '/projects',
    steps: [
      {
        target: '[data-tour-id="new-project"]',
        title: 'Create a project',
        content: 'Projects organize your time entries. Set an hourly rate, pick a color, and assign a client.',
        placement: 'bottom',
      },
    ],
  },
  timer: {
    id: 'timer',
    route: '/timer',
    steps: [
      {
        target: '[data-tour-id="timer-project"]',
        title: 'Pick a project',
        content: 'Select which project you are working on. This links your time to the right place.',
        placement: 'bottom',
      },
      {
        target: '[data-tour-id="timer-start"]',
        title: 'Start tracking',
        content: 'Hit this button to start the clock. Press it again to stop and save your entry.',
        placement: 'top',
      },
      {
        target: '[data-tour-id="timer-description"]',
        title: 'Describe your work',
        content: 'Add a note about what you are working on. This shows up in entries and reports.',
        placement: 'top',
      },
    ],
  },
  entries: {
    id: 'entries',
    route: '/entries',
    steps: [
      {
        target: '[data-tour-id="entries-tabs"]',
        title: 'Browse your entries',
        content: 'Switch between list and timeline views to see your tracked time different ways.',
        placement: 'bottom',
      },
    ],
  },
  invoices: {
    id: 'invoices',
    route: '/invoices',
    steps: [
      {
        target: '[data-tour-id="new-invoice"]',
        title: 'Create an invoice',
        content: 'Generate invoices from your tracked time. Pick a client, date range, and template.',
        placement: 'bottom',
      },
    ],
  },
  reports: {
    id: 'reports',
    route: '/reports',
    steps: [
      {
        target: '[data-tour-id="reports-daterange"]',
        title: 'Set your date range',
        content: 'Pick a start and end date for your report. The default is the current month.',
        placement: 'bottom',
      },
      {
        target: '[data-tour-id="reports-generate"]',
        title: 'Generate the report',
        content: 'Click Generate to see hours, earnings, and project breakdowns for the selected period.',
        placement: 'bottom',
      },
      {
        target: '[data-tour-id="reports-tabs"]',
        title: 'Explore report types',
        content: 'Switch between Hours, Profitability, and Expenses views for different insights.',
        placement: 'bottom',
      },
    ],
  },
}
