<?php
require '../conexao/conexao.php';
//require '../sessao.php';
require '../conexao/acesso.php';
require '../configuacoes.php';
require '../configuracao/get_config.php';
require '../configuracao/consulta_banco_dados.php';
require '../configuracao/filtros.php';
require '../logs/gera-log.php';

gerarLog(
    1, // tipo de log (acesso)
    $basePath, // módulo
    $_SESSION['CodUsuario'],
    $_SESSION['NomeUsuario']
);

//Declarando null pro resultado do record, caso o usuário clique em pesquisar, ela será preenchida.
$resultmeta = null;
$configuracoes = new Configuracoes();
$meu_periodo = $configuracoes->getPeriodo();
$consulta_bb = new ConsultaBancoDeDados();
$filtros = new Filtros();


$filiais = $consulta_bb->get_filiais();

// Mapeamentos rápidos de filial: por ID e por CODIGO_FC
$filiais_map_by_id = [];
$filiais_map_by_fc = [];
foreach ($filiais as $fmap) {
    $idF = isset($fmap['ID']) ? intval($fmap['ID']) : null;
    $fcF = isset($fmap['CODIGO_FC']) ? intval($fmap['CODIGO_FC']) : null;
    $nomeF = isset($fmap['NOME']) ? $fmap['NOME'] : null;
    if ($idF) $filiais_map_by_id[$idF] = $nomeF;
    if ($fcF) $filiais_map_by_fc[$fcF] = $nomeF;
}
$cidades = $consulta_bb->get_cidades(); // Obtém todas as cidades


// Obtendo os parâmetros
$cidade = $_GET['cidade'] ?? null;
$ano = $_GET['ano'] ?? null;
$mes = $_GET['mes'] ?? null;
$periodo = $_GET['periodo'] ?? null;
$semana = $_GET['semana'] ?? null;
// Obter os IDs das filiais do array $filiais
$ids = isset($filiais) && is_array($filiais) ? array_column($filiais, 'ID') : [];

// Adiciona 'x' no início do array para correspondência com a URL recebida
if (!empty($ids)) {
    array_unshift($ids, 'x');
}

$ids = array_column($filiais, 'ID');
$ids_filial = implode(',', $ids);
$filial = !empty($_GET['filial']) ? $_GET['filial'] : $ids_filial;


$periodo = $_GET['periodo'] ?? 'mes';

$quinzena = $_GET['periodo'] ?? '';

$query_string = http_build_query([
    'cidade' => $cidade,
    'ano' => $ano,
    'mes' => $mes,
    'filial' => $filial,
    'periodo' => $periodo,
    'semana' => $semana,
    'form_submitted' => '1'
]);

// //recuperando cidade combo filial
// $query_cidade_filial = " select
// DISTINCT
// EP.codigo_cidadeestado ,
// CE.NOMECIDADE as MUNIC
// from EMPRESA EP
// INNER JOIN CADASTRO_ENDERECO CA ON CA.codigo_cadastro = EP.codigo
// inner join CIDADEESTADO CE on CA.codigo_cidadeestado = CE.CODIGO
// where CA.tipo_cadastro = 5
// order by EP.CODIGO";
// $result_cidade_filial = ibase_query($connection, $query_cidade_filial);

// if (!$result_cidade_filial) {
//     die('Erro na consulta: ' . ibase_errmsg());
// }

// $cidadefiliais = [];
// while ($row = ibase_fetch_assoc($result_cidade_filial)) {
//     $cidadefiliais[] = $row;
// }

// //VERIFICANDO SE O USUÁRIO CLICOU NO BOTÃO PESQUISAR
// if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') {


//     // Iniciando a construção do SQL BASE

//     $sql_base = "SELECT 
//     mt.codigo_filial,
//     mt.ano,
//     mt.mes,
//      SUM(mt.valor_manipulado) AS valor_manipulado,
//         SUM(mt.valor_revenda) AS valor_revenda,
//         SUM(mt.valor_marcapropria) AS valor_marcapropria,
//     GROUP_CONCAT(DISTINCT mt.id_metas ORDER BY mt.id_metas ASC SEPARATOR ',') AS ID_METAS
// FROM 
//     metas mt
// WHERE 1=1 ";

//     if ($filial !== 'Todos') {
//         $sql_base .= " AND mt.codigo_filial IN ($filial)";
//     }
//     if (isset($ano) && trim($ano) !== "Selecione") {
//         $sql_base .= " AND mt.ano = $ano";
//     }
//     if (isset($mes) && trim($mes) !== "Selecione") {
//         $sql_base .= " AND mt.mes = $mes";
//     }
//     if (isset($periodo) && $periodo !== 'mes') {
//         $sql_base .= " AND mt.periodo = $periodo";
//     }
//     $sql_base .= "
// GROUP BY 
//     mt.codigo_filial,
//     mt.ano,
//     mt.mes;";

//     $resultmeta = $connectionmysql->query($sql_base);


//     //echo $total_records;


// }


require '../querys/query-configuracao-metas.php';

$ConfiguracaoMetas = new ConfiguracaoMetas($connectionmysql);

$ConsultaPermissoes = $ConfiguracaoMetas->consultaPermissoes();

// Definir um array de totais dinâmicos
$totais = [];

require '../querys/query-metas-agrupadas.php';

$MetasAgrupadas = new MetasAgrupadas($connectionmysql);

//echo $filial;

if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') {

    gerarLog(
        5, // tipo de log (acesso)
        $basePath, // módulo
        $_SESSION['CodUsuario'],
        $_SESSION['NomeUsuario']
    );

    $MetasDefinidas = $MetasAgrupadas->MetasLojas($filial, $ano, $mes, $quinzena, $semana);
}

//print_r($MetasDefinidas);

?>

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <link rel="stylesheet" href="modalexcluir.css">
</head>
<?php
$pageTitle = "Consultar Metas Lojas"; // Definir o título da página aqui
include('../geral/header.php');
?>

<body>

    <!-- Navigation Bar-->
    <?php
    include('../geral/menu.php');
    ?>
    <!-- End Navigation Bar-->

    <!-- ============================================================== -->
    <!-- Start Page Content here -->
    <!-- ============================================================== -->

    <div class="wrapper candidato">
        <div class="container-fluid">

            <div class="card-box mt-3">
                <div class="row">

                    <div class="col-6 text-left">
                        <h4 class="page-title">Metas das Lojas</h4>
                    </div>




                    <div class="col-12">
                        <hr>
                    </div>

                    <div class="col-12">
                        <form method="get" action="" id="indexForm" onsubmit="return validarFormulario()">
                            <div class="form-row mb-3">
                                <?php echo $filtros->filtroCidade($cidade, $cidades, false, '', true, false);
                                echo $filtros->filtroCheckBox('filial', $filiais, null);

                                ?>
                                <!-- <div class="col-6 col-md-4 col-lg-2">
                                    <label for="cidade" class="col-form-label">Cidade:</label>
                                    <select id="cidade" name="cidade" class="form-control">
                                        <option value="Todos" <?= !isset($cidade) || $cidade == "Todos" ? "selected" : ""; ?>>Todos</option>
                                        <?php foreach ($cidadefiliais as $item) : ?>
                                            <option value="<?= $item['MUNIC']; ?>" <?= isset($cidade) && trim($cidade) == trim($item['MUNIC']) ? "selected" : ""; ?>>
                                                <?= $item['MUNIC']; ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div> -->

                                <!-- 
                                <div class="col-6 col-md-4 col-lg-2">
                                    <label for="filial" class="col-form-label">Filial:</label>
                                    <input type="checkbox" id="select_todos"> <label for="select_todos" style="font-size: 15px;">Selecionar Todos
                                    </label>

                                    <select multiple id="filial" name="filial[]" class="form-control">
                                    </select>

                                </div> -->

                                <?php

                                // Exibe o filtro de ano
                                echo $filtros->filtroAno($ano);

                                // Exibe o filtro de mes
                                echo $filtros->filtroMes($mes);
                                ?>

                                <?php if ($meu_periodo == 'Quinzena') : ?>
                                    <div class="col-6 col-md-4 col-lg-2">
                                        <label for="periodo" class="col-form-label">Período:</label>
                                        <select name="periodo" id="periodo" class="form-control">
                                            <option value="mes" <?= isset($periodo) && $periodo == "mes" ? "selected" : ""; ?>>Mês</option>
                                            <option value="1" <?= isset($periodo) && $periodo == "1" ? "selected" : ""; ?>>1° Quinzena</option>
                                            <option value="2" <?= isset($periodo) && $periodo == "2" ? "selected" : ""; ?>>2° Quinzena</option>
                                        </select>
                                    </div>
                                <?php elseif ($meu_periodo == 'Semana') : ?>
                                    <div id="drop_semana" class="form-group col-6 col-md-4 col-lg-2 ">
                                        <!-- Aqui vai o select gerado pelo PHP -->
                                    </div>
                                <?php endif ?>
                                <!--CAMPO PARA INDICAR QUE CLICAMOS NO PESQUISAR -->
                                <input type="hidden" name="form_submitted" value="1" />


                                <?php if ($meu_periodo == 'Mês') {  ?>
                                    <div class="col-12 col-md-8 col-lg-4 d-flex mt-2" style="align-items:center;justify-content: end;">
                                    <?php } else {  ?>
                                        <div class="col-6 col-md-4 col-lg-12 d-flex mt-2" style="align-items:center;justify-content: end;"> <?php } ?>
                                        <div>
                                            <a href="index.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                        </div>
                                        <div>
                                            <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Pesquisar</button>
                                        </div>
                                        </div>


                        </form>
                    </div>
                </div>
                <?php
                //VERIFICANDO SE O USUÁRIO CLICOU NO BOTÃO PESQUISAR
                if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') { ?>

                    <div class="col-12">
                        <div style="display: flex; justify-content: space-between; align-items: center;">
                            <h6>Lista de Metas</h6>
                            <!-- <div>
                            
                            <span>Total de registros: <?php echo $total_records; ?></span>
                        </div> -->
                        </div>

                        <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap">
                            <thead>
                                <tr class="text-center">
                                    <th>Filial</th>
                                    <th>Ano</th>
                                    <th>Mês</th>
                                    <?php if ($meu_periodo !== 'Mês') : ?>
                                        <th>Período</th>
                                    <?php endif  ?>
                                    <?php foreach ($ConsultaPermissoes as $meta) : ?>
                                        <th><?php echo htmlspecialchars($meta['nome_meta']); ?></th>
                                    <?php endforeach; ?>
                                    <th>Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                $hasResults = false;
                                $totalGeral = 0;
                                $valorCampo = 0;


                                // Função para somar os valores numéricos de dois arrays, ignorando 'codigo_filial', 'mes' e 'ano'
                                function somarValoresNumericos($array1, $array2)
                                {
                                    $resultado = [];

                                    // Percorre as chaves do primeiro array
                                    foreach ($array1 as $chave => $valor) {
                                        // Se a chave for numérica e não for 'codigo_filial', 'mes' ou 'ano'
                                        if (is_numeric($valor) && !in_array($chave, ['codigo_filial', 'mes', 'ano'])) {
                                            // Verifica se a chave também existe no segundo array
                                            if (isset($array2[$chave]) && is_numeric($array2[$chave])) {
                                                // Soma os valores numéricos
                                                $resultado[$chave] = $valor + $array2[$chave];
                                            } else {
                                                // Caso não exista no segundo array, mantemos o valor original do primeiro
                                                $resultado[$chave] = $valor;
                                            }
                                        }
                                    }

                                    return $resultado;
                                }

                                // Inicializa o array para armazenar o total acumulado
                                if (!empty($MetasDefinidas) && isset($MetasDefinidas[0])) {
                                    $totais = $MetasDefinidas[0];
                                }

                                // Loop para somar os arrays subsequentes
                                foreach ($MetasDefinidas as $index => $array) {
                                    // Pular o primeiro array, pois já está definido como $totais
                                    if ($index === 0) {
                                        continue;
                                    }

                                    // Somar o total atual com o próximo array
                                    $totais = somarValoresNumericos($totais, $array);
                                }

                                foreach ($MetasDefinidas as $row) {

                                    $hasResults = true;  // Indica que encontrou ao menos um resultado
                                ?>
                                    <tr class="text-center">
                                        <td>
                                            <?php
                                            $codigoFilialVal = $row['codigo_filial'];
                                            // $filialNome = null;
                                            // tenta como ID
                                            if (is_numeric($codigoFilialVal) && isset($filiais_map_by_id[(int)$codigoFilialVal])) {
                                                $filiais_map_by_id[(int)$codigoFilialVal];
                                            }
                                            // se não achou, tenta como CODIGO_FC
                                            if (is_numeric($codigoFilialVal) && isset($filiais_map_by_fc[(int)$codigoFilialVal])) {
                                                $filiais_map_by_fc[(int)$codigoFilialVal];
                                            }

                                            echo htmlspecialchars( $codigoFilialVal);
                                            
                                            ?>
                                        </td>
                                        <td><?php echo htmlspecialchars($row['ano']); ?></td>
                                        <td><?php echo htmlspecialchars($row['mes']); ?></td>
                                        <?php if ($meu_periodo !== 'Mês') : ?>
                                            <td><?php echo isset($periodo) && $periodo !== 'mes' ? $periodo . '°' : 'Mês'; ?></td>
                                        <?php endif ?>

                                        <?php

                                        foreach ($ConsultaPermissoes as $meta) : ?>
                                            <td>
                                                <?php
                                                // Garantir que o nome dos valores está correto e ajustado
                                                $nomeCampo = strtolower(trim($meta['nome_valores']));

                                                if (!empty($nomeCampo) && isset($row[$nomeCampo])) {
                                                    echo number_format($configuracoes->removeAcentos($row[$nomeCampo]), 2, ',', '.');
                                                } else {
                                                    echo '-';
                                                }

                                                ?>
                                            </td>
                                        <?php endforeach; ?>

                                        <td>
                                            <a href="../configuracoes/metas/lista_metas_definidas.php?&filial=<?php echo urldecode($row['codigo_filial']); ?>&ano=<?php echo urlencode($ano); ?>&mes=<?php echo urlencode($mes); ?>&tipo_meta=3&meu_periodo=<?php echo $meu_periodo; ?>" class="table-actions link-view" title="Configurar Meta"><i class="mdi mdi mdi-content-save-edit"></i></a>
                                            <?php if (isset($periodo) && $periodo === 'mes') { ?>
                                                <!-- <button data-id-metas="<?php echo $id_metas; ?>" class="table-actions link-view excluir-btn" title="Excluir Metas" onclick="openModal(this)">
                                                    <i class="mdi mdi mdi mdi-delete-forever"></i>
                                                </button> -->
                                            <?php } ?>
                                        </td>
                                    </tr>

                                <?php
                                }
                                // Código para lidar com o caso de não haver resultados
                                if (!$hasResults) {
                                    echo "<tr><td colspan='7' class='text-center'>Sem resultado para a consulta</td></tr>";
                                }
                                ?>
                                <?php if ($hasResults) { ?>
                                    <tr>
                                        <?php if ($meu_periodo == 'Mês') { ?>
                                            <td colspan="3" align="center">Total</td>
                                        <?php } else { ?>
                                            <td colspan="4" align="center">Total</td>
                                        <?php } ?>

                                        <?php
                                        // Loop para exibir valores com permissões verificadas e calcular totais
                                        foreach ($ConsultaPermissoes as $meta) : ?>
                                            <td align="center">
                                                <?php
                                                // Ajustar o nome do campo para remover acentos e caracteres especiais
                                                $nomeCampo = strtolower(trim($configuracoes->removeAcentos($meta['nome_valores']))); // Converter para minúsculo e remover espaços

                                                // Verificar se o campo existe no array $totais, que contém a soma dos valores
                                                if (!empty($nomeCampo) && isset($totais[$nomeCampo])) {
                                                    // Exibir o valor total formatado com 2 casas decimais
                                                    $valorTotal = $totais[$nomeCampo]; // Valor somado no array $totais
                                                    echo number_format($valorTotal, 2, ',', '.'); // Exibe o valor formatado
                                                } else {
                                                    // Exibir um marcador padrão para valores ausentes
                                                    echo '-';
                                                }
                                                ?>
                                            </td>
                                        <?php endforeach; ?>
                                    </tr>
                                <?php } ?>

                            </tbody>
                        </table>
                    </div>
            </div>

        <?php } //fechamento do IF que valida se o usuário clicou no botão pesquisar 
        ?>
        </div>
    </div>

    </div> <!-- end container -->
    </div>

    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->

    <div id="myModalmv" class="modal">
        <div class="modal-content">
            <span class="close" onclick="closeModal()">&times;</span>
            <h2>Deseja realmente excluir a Meta selecionada?</h2>

            <!-- Formulário de confirmação -->
            <form id="formExclusao" method="post" action="excluir_metas.php">
                <input type="hidden" id="id_metas" name="id_metas" value="">
                <input type="hidden" id="url" name="url" value="">

                <label for="confirmacao_sim">
                    <input type="radio" id="confirmacao_sim" name="confirmacao" value="sim"> Sim
                </label>

                <label for="confirmacao_nao">
                    <input type="radio" id="confirmacao_nao" name="confirmacao" value="nao"> Não
                </label>

                <br>

                <!-- Adicione a classe confirmar-btn ao botão de Confirmar -->
                <button type="button" class="confirmar-btn" onclick="confirmarExclusao()">Confirmar</button>
            </form>
        </div>
    </div>


    <!-- Footer Start -->
    <?php
    include('../geral/footer.php');
    ?>
    <!-- end Footer -->

    <?php
    include('../geral/mensagens_modais.php');
    ?>

    <!-- Vendor js -->
    <script src="../../assets/js/vendor.min.js"></script>

    <!-- knob plugin -->
    <script src="../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
    <!-- App js-->
    <script src="../../assets/js/app.min.js"></script>

    <script src="../geral/javascript.js"></script>
    <script src="../../assets/js/funcoes.js"></script>
    <script src="../../assets/js/funcoes.js"></script>

    <!-- Vendor js -->
    <script src="../../assets/js/vendor.min.js"></script>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/css/select2.min.css" rel="stylesheet" />

    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/js/select2.min.js"></script>
    <link href="../../assets/css/style.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>

    <style>
        /* Estilo básico para esconder o formulário inicialmente */
        #percentualForm {
            display: none;
            margin-top: 20px;
        }

        #percentualForm div {
            margin-left: 40%;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .show-form-button {
            margin-top: 20px;
        }

        .addmodalvendedor {
            background-color: #35B8E0;
            border-radius: 10px;
            padding: 8px;
            color: white;
            border: none;
            margin-left: 5px;
        }
    </style>

    <script>
        initDropdownFilter('filial');

        function carregarSemanas() {
            const ano = document.getElementById('ano').value;
            const mes = document.getElementById('mes').value;
            const semana = <?php echo isset($semana) ? json_encode($semana) : '""'; ?>;

            if (ano && mes) {
                const xhr = new XMLHttpRequest();
                xhr.open('GET', '../configuracao/filtros.php?ano=' + ano + '&mes=' + mes + '&se=1&semana=' + semana, true);
                xhr.onreadystatechange = function() {
                    if (xhr.readyState === 4 && xhr.status === 200) {
                        document.getElementById('drop_semana').innerHTML = xhr.responseText;
                    }
                };
                xhr.send();
            }
        }
        // Event listeners para atualizar o filtro em tempo real
        document.getElementById('ano').addEventListener('change', carregarSemanas);
        document.getElementById('mes').addEventListener('change', carregarSemanas);
        window.addEventListener('DOMContentLoaded', carregarSemanas);

        $(document).ready(function() {
            // Função para preencher o combo de filiais com Select2
            function carregarFiliais(cidade) {
                $.ajax({
                    url: 'get_filiais.php',
                    type: 'POST',
                    dataType: 'json',
                    data: {
                        cidade: cidade
                    },
                    success: function(data) {
                        $('#filial').empty().select2({
                            placeholder: 'Selecione uma ou mais filiais',
                            data: data.map(function(item) {
                                return {
                                    id: item.CDFIL,
                                    text: item.DESCRFIL
                                };
                            })
                        });

                        // Recuperar filiais selecionadas do localStorage, se existirem
                        var filiaisSelecionadas = JSON.parse(localStorage.getItem('filiaisSelecionadas')) || [];

                        // Selecionar as filiais recuperadas
                        $('#filial').val(filiaisSelecionadas).trigger('change');
                    },
                    error: function(xhr, status, error) {
                        alert('Erro na chamada AJAX: ' + status + ' - ' + error);
                    }
                });
            }

            // Ao carregar a página, chama a função para preencher o combo de filiais com base na cidade inicial
            carregarFiliais($('#cidade').val());

            // Ao alterar a cidade, chama a função para preencher o combo de filiais com base na nova cidade selecionada
            $('#cidade').change(function() {
                const cidade = $(this).val();
                carregarFiliais(cidade);
            });

            // Ao selecionar ou deselecionar uma filial, atualiza o localStorage com as filiais selecionadas
            $('#filial').on('change', function() {
                var filiaisSelecionadas = $(this).val() || [];
                localStorage.setItem('filiaisSelecionadas', JSON.stringify(filiaisSelecionadas));
            });

            // Checkbox para selecionar todas as filiais
            $("#select_todos").click(function() {
                if ($(this).is(':checked')) {
                    $('#filial option').prop('selected', true);
                    $('#filial').trigger('change');
                } else {
                    $('#filial option').prop('selected', false);
                    $('#filial').trigger('change');
                }
            });
        });

        applyFilter('cidade', 'filial', 'data-cidade', '<?php echo isset($filial) ? $filial : ''; ?>');

        function openModal(button) {
            var idMetas = button.getAttribute('data-id-metas');
            var url = button.getAttribute('data-url');

            // Defina os valores nos campos hidden do formulário
            document.getElementById('id_metas').value = idMetas;
            document.getElementById('url').value = url;


            document.getElementById('myModalmv').style.display = 'block';
        }
        // Função para fechar o modal
        function closeModal() {
            document.getElementById('myModalmv').style.display = 'none';
        }

        // Função para confirmar a exclusão e enviar o formulário
        function confirmarExclusao() {
            var confirmacaoSim = document.getElementById('confirmacao_sim').checked;
            if (confirmacaoSim) {
                document.getElementById('formExclusao').submit();
            } else {
                closeModal();
            }
        }

        document.addEventListener("DOMContentLoaded", function() {
            // Remove status and message parameters from URL
            const url = new URL(window.location);
            url.searchParams.delete('status');
            url.searchParams.delete('message');
            window.history.replaceState({}, document.title, url);
        });



        function showModal(modalId, title, message) {
            const modalElement = document.getElementById(modalId);
            const modal = new bootstrap.Modal(modalElement);
            modalElement.querySelector('.modal-title').textContent = title;
            modalElement.querySelector('.modal-body p').textContent = message;
            modal.show();
        }

        function validarCampo(id) {
            const campo = document.getElementById(id);
            const valor = campo.value.trim();
            let campoValido = true;

            if (!valor || valor === 'Todos') {
                campoValido = false;
                campo.classList.add('is-invalido');
            } else {
                campo.classList.remove('is-invalido');
            }
            return campoValido;
        }

        function validarFormulario() {
            // const filial = validarCampo('filial');
            const mes = validarCampo('mes');
            const ano = validarCampo('ano');
            //const cidade = validarCampo('cidade');

            const camposValidos = mes && ano;

            if (!camposValidos) {
                showModal('exampleModal', 'Informação', 'Todos os campos devem ser preenchidos.');
            }

            return camposValidos;
        }

        function verificarErroNaURL() {
            const urlParams = new URLSearchParams(window.location.search);
            const errorMessage = urlParams.get('error');
            if (errorMessage) {
                showModal('exampleModal', 'Erro', errorMessage);
            }
        }

        window.onload = verificarErroNaURL;
    </script>
    <style>
        .is-invalido {
            box-shadow: 0 0 5px red !important;
        }
    </style>
    </script>

</body>

</html>