{# templates/components/candidate_button_field.html.twig #}

{% set userId = field.customOptions.get('userId') %}
{% set candidates = field.value %}
{% set isCandidate = false %}
{% set opportunityId = "" %}

{% if candidates is not empty %}
    {% for c in candidates %}
        {% set opportunityId = c.getOpportunityId() %}        
        {% if c.getUserId() == userId %}            
            {% set isCandidate = true %}
        {% endif %}
    {% endfor %}
{% endif %}

{% if isCandidate == true %}
    <button class="btn-action uncandidate-btn">Retirar candidatura</button>
{% else %}
    <button class="btn-action candidate-btn">Candidatar-se</button>
{% endif %}

<script>
    document.querySelectorAll('.uncandidate-btn').forEach(button => {
        button.addEventListener('click', function() {
            document.querySelectorAll('.uncandidate-btn').forEach(btn => {
                btn.disabled = true;
            });
            document.querySelectorAll('.candidate-btn').forEach(btn => {
                btn.disabled = true;
            });
            const tdElement = document.querySelector('td[data-column="code"]');
            if (tdElement) {
                const code = tdElement.textContent.trim();
                const action = 'out';   
                candidateAction(action, code);
            }
        });
        
    });

    document.querySelectorAll('.candidate-btn').forEach(button => {
        button.addEventListener('click', function() {
            document.querySelectorAll('.uncandidate-btn').forEach(btn => {
                btn.disabled = true;
            });
            document.querySelectorAll('.candidate-btn').forEach(btn => {
                btn.disabled = true;
            }); 
            const tdElement = document.querySelector('td[data-column="code"]');
            if (tdElement) {
                const code = tdElement.textContent.trim();
                const action = 'in';   
                candidateAction(action, code);
            }
        });

        
    });

    function candidateAction(action, code){
        window.location.href = 'candidate/'+action+'/'+code;
    }
</script>