import BuscaApi from '../lib/BuscaApiG.js';
import Mensagem from '../lib/Mensagens.js';
export default class CadSaloes {
    constructor(navigateCallback) {
        this.navigate = navigateCallback;
        this.buscaApi = new BuscaApi(sessionStorage.getItem('token'));
        this.mensagem = new Mensagem();
    }
    async init() {
       
    }
    async cadastrar(salao) {
        try {
            const data = await this.buscaApi.fetchApi('Saloes', 'POST', salao);
            if (data.status) {
                this.displayMessage('Salão registrado com sucesso!');
                const salao = data.idSalao;
                this.navigate('cadendereco', salao );
            } else {
                this.displayMessage(`Erro ao registrar o Salão. ${data.message}`);
            }
        } catch (error) {
            console.error('Erro ao registrar:', error);
            this.displayMessage(`Erro ao registrar o Salão.${data.message}`);
        }
    }
    displayMessage(message) {
        const messageElement = document.getElementById('message');
        messageElement.textContent = message;
    }
    render() {
        const mainDiv = document.createElement('div');
        mainDiv.className = 'main';
        const registrationContainer = document.createElement('div');
        registrationContainer.className = 'registration-container';
        registrationContainer.innerHTML = `
        <div class="w3-container">
      
        <div id="id01" class="w3-modal" style="display:block">
          <div class="w3-modal-content w3-card-4 w3-animate-zoom" style="max-width:600px">
            <form class="w3-container" id="salaoForm">
                <div class="w3-section">
                <label for="titulo">Titulo</label>
                <input class="w3-input w3-border w3-margin-bottom" type="text" name="titulo" id="titulo" placeholder="Insira um Titulo para o negócio" required />
                </div>
                <div class="w3-section">
                <label for="Serviços">Servicos</label>
                <textarea class="w3-input w3-border" style="resize:none" maxlength="300" name="servicos" id="servicos" placeholder="Insira os Serviços separados por vírgula ex.\n  corte de cabelo, luzes, depilação"></textarea>
                <div id="contador">Caracteres restantes: 300</div>
                </div>
                <button id="cancelar" class="w3-button  w3-red w3-section w3-padding">Cancelar</button>
                <button type="submit" class="w3-button  w3-green w3-section w3-padding">Cadastrar</button>
                <p id="message"></p>
            </form>
           
            </div>
            </div>
            </div>
        `;
        registrationContainer.querySelector('#servicos').addEventListener('keyup', async (e) => {
            document.getElementById('contador').textContent = `Caracteres restantes: ${300 - e.target.value.length}`;
        });
        registrationContainer.querySelector('#cancelar').addEventListener('click', async (e) => {
            this.navigate('gerirsaloes');
        });
        registrationContainer.querySelector('#salaoForm').addEventListener('submit', async (e) => {
            e.preventDefault();
            
            let salao = {};
            const elements = registrationContainer.querySelector('#salaoForm').elements;
        
            for (let i = 0; i < elements.length; i++) {
                const element = elements[i];
                if (element.name && element.value) {
                    salao[element.name] = element.value;
                }
            }
            if (salao.titulo=='') {
                this.displayMessage("Insira um titulo e serviços");
                return;
            }
            const isConfirmed = await this.mensagem.confirmAction('create');
                    if (isConfirmed) {
                        await this.cadastrar(salao);
                    }
        });
        
         mainDiv.appendChild(registrationContainer);
        return {
            element: mainDiv,
            init: () => {}
        };
    }
}
// const saloes = new CadSaloes();
// const renderedElement = saloes.render();
// saloes.init();
// document.body.appendChild(renderedElement.element); 
  |