import { Sections, Settings } from '#/types';

const snakeSectionParser = (_: Record<string, unknown>, settings: Settings) => {
  const { github } = settings.user;

  return `<img data-importer="${Sections.SNAKE}" src="https://raw.githubusercontent.com/${github}/${github}/snake-output/snake.svg" alt="Snake animation"/>`;
};

const snakeWorkflowParser = () => {
  const content = `
name: Generate snake animation

on:
  schedule: # execute every 12 hours
    - cron: "* */12 * * *"

  workflow_dispatch:

  push:
    branches:
    - main

jobs:
  generate:
    permissions:
      contents: write
    runs-on: ubuntu-latest
    timeout-minutes: 5

    steps:
      - name: generate snake.svg
        uses: Platane/snk/svg-only@v3
        with:
          github_user_name: ${'${{ github.repository_owner }}'}
          outputs: dist/snake.svg?palette=github-dark


      - name: push snake.svg to the output branch
        uses: crazy-max/ghaction-github-pages@v3.1.0
        with:
          target_branch: snake-output
          build_dir: dist
        env:
          GITHUB_TOKEN: ${'${{ secrets.GITHUB_TOKEN }}'}
`.trim();

  return {
    file: 'snake.yml',
    content,
  };
};

export { snakeSectionParser, snakeWorkflowParser };
