/* eslint-disable no-undef */
/* eslint-disable @typescript-eslint/no-require-imports */
const router = require('express').Router();

const STUBS = { masters: 'success', orders: 'success', orderCreate: 'success', orderView: 'success-pending', orderCarImg: 'success' };

router.get('/set/:name/:value', (req, res) => {
  const { name, value } = req.params;

  STUBS[name] = value;

  res.send('ok');
});

router.get('/', (req, res) => {
  res.send(`<div>
    <fieldset>
      <legend>Мастера</legend>
      ${generateRadioInput('masters', 'success')}
      ${generateRadioInput('masters', 'error')}
      ${generateRadioInput('masters', 'empty')}
    </fieldset>
    <fieldset>
      <legend>Заказы</legend>
      ${generateRadioInput('orders', 'success')}
      ${generateRadioInput('orders', 'error')}  
      ${generateRadioInput('orders', 'empty')}
    </fieldset>
    <fieldset>
      <legend>Лендинг - Сделать заказ</legend>
      ${generateRadioInput('orderCreate', 'success')}
      ${generateRadioInput('orderCreate', 'error')}
    </fieldset>
    <fieldset>
      <legend>Лендинг - Детали заказа</legend>
      ${generateRadioInput('orderView', 'success-pending')}
      ${generateRadioInput('orderView', 'success-working')}
      ${generateRadioInput('orderView', 'error')}
    </fieldset>
    <fieldset>
      <legend>Лендинг - Детали заказа, фото машины</legend>
      ${generateRadioInput('orderCarImg', 'success')}
      ${generateRadioInput('orderCarImg', 'error-file-type')}
      ${generateRadioInput('orderCarImg', 'error-file-size')}
    </fieldset>
</div>`);
});

module.exports = router;
module.exports.STUBS = STUBS;

function generateRadioInput(name, type) {
  return `<label> 
      <input  ${STUBS[name] === type ? 'checked' : ''}  onclick="fetch('/api/admin/set/${name}/${type}')" type="radio" name="${name}"> 
      ${type}
    </label>`;
}