/**
 * @fileoverview Utility module for tourSteps.js
 * 
 * @module games.cripto.config.tourSteps
 */

import {
  createWelcomeStep,
  createGameAreaStep,
  createToolboxStep,
  createWorkspaceStep,
  createRunButtonStep,
  createResetInfoStep,
  createPhaseSelectorStep,
  createPhaseInfoStep,
  createHelpButtonStep,
  gameIcons,
  defaultGameTourOptions,
} from "../../../../utils/tourHelpers";

export const criptoTourSteps = [
  createWelcomeStep({
    gameName: "Jogo Cripto",
    description:
      "Bem-vindo ao mundo da criptografia! Aqui você vai aprender os fundamentos de segurança digital e como transformar informações.",
    challenge:
      "Use programação em blocos para converter letras em números e implementar algoritmos de criptografia!",
    iconSvg: gameIcons.lock,
  }),

  createGameAreaStep({
    title: "Monitor Criptográfico",
    description:
      "Nesta tela você verá três áreas: valores de ENTRADA e SAÍDA. Seus blocos transformarão a entrada em saída criptografada.",
  }),

  createToolboxStep({
    description:
      "Use os blocos disponíveis: definir entrada/saída, obter valores, concatenar texto, contador, loops e condicionais. Arraste-os para criar seu algoritmo.",
  }),

  createWorkspaceStep({
    description:
      "Monte sua sequência lógica aqui. Encaixe os blocos na ordem correta para processar a entrada e gerar a saída esperada.",
  }),

  createRunButtonStep({
    description:
      "Execute seu código! Você verá as animações acontecendo passo a passo: cursor piscando na entrada e caracteres embaralhando na saída.",
  }),

  createResetInfoStep({
    description:
      "Se algo não funcionar como esperado, use o reset para limpar e tentar uma nova solução.",
  }),

  createPhaseSelectorStep({
    description:
      "O jogo tem várias fases com diferentes desafios de criptografia, desde conversão básica até algoritmos mais complexos.",
  }),

  createPhaseInfoStep({
    description:
      "Acompanhe seu progresso e veja informações sobre a fase atual aqui.",
  }),

  createHelpButtonStep({
    description:
      "Acesse este tour novamente clicando no botão de ajuda sempre que precisar de orientação.",
  }),
];

export const criptoTourOptions = defaultGameTourOptions;
