fix: Campo maior para digitação de endereço de localização
All checks were successful
BCards Deployment Pipeline / Run Tests (push) Successful in 2s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 15m49s
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Successful in 1m51s
BCards Deployment Pipeline / Deploy to Staging (x86 - Local) (push) Has been skipped
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 0s
All checks were successful
BCards Deployment Pipeline / Run Tests (push) Successful in 2s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 15m49s
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Successful in 1m51s
BCards Deployment Pipeline / Deploy to Staging (x86 - Local) (push) Has been skipped
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 0s
This commit is contained in:
parent
378bcf54b6
commit
7b0bc89f06
@ -1776,6 +1776,7 @@
|
|||||||
},
|
},
|
||||||
'fas fa-map-marker-alt': {
|
'fas fa-map-marker-alt': {
|
||||||
prefix: 'https://maps.google.com/?q=',
|
prefix: 'https://maps.google.com/?q=',
|
||||||
|
visualPrefix: '📍 Maps:',
|
||||||
placeholder: 'Rua das Flores, 123 - São Paulo, SP',
|
placeholder: 'Rua das Flores, 123 - São Paulo, SP',
|
||||||
instructions: 'Digite o endereço completo (acentos e espaços serão codificados automaticamente)',
|
instructions: 'Digite o endereço completo (acentos e espaços serão codificados automaticamente)',
|
||||||
color: 'bg-warning'
|
color: 'bg-warning'
|
||||||
@ -1820,7 +1821,9 @@
|
|||||||
|
|
||||||
if (iconValue && linkTypes[iconValue]) {
|
if (iconValue && linkTypes[iconValue]) {
|
||||||
const config = linkTypes[iconValue];
|
const config = linkTypes[iconValue];
|
||||||
$prefix.text(config.prefix)
|
// Usar visualPrefix se existir, senão usar prefix normal
|
||||||
|
const displayPrefix = config.visualPrefix || config.prefix;
|
||||||
|
$prefix.text(displayPrefix)
|
||||||
.removeClass('bg-primary bg-success bg-danger bg-warning bg-info bg-secondary bg-dark')
|
.removeClass('bg-primary bg-success bg-danger bg-warning bg-info bg-secondary bg-dark')
|
||||||
.addClass(config.color);
|
.addClass(config.color);
|
||||||
$input.attr('placeholder', config.placeholder);
|
$input.attr('placeholder', config.placeholder);
|
||||||
@ -1877,13 +1880,29 @@
|
|||||||
// Eventos para tratar entrada do usuário
|
// Eventos para tratar entrada do usuário
|
||||||
$input.on('input paste keyup', function() {
|
$input.on('input paste keyup', function() {
|
||||||
let value = $(this).val();
|
let value = $(this).val();
|
||||||
const currentPrefix = $('#urlPrefix').text() || 'https://';
|
|
||||||
|
// Obter o prefixo real baseado no ícone selecionado
|
||||||
|
const selectedIcon = $('#linkIcon').val();
|
||||||
|
let realPrefix = 'https://';
|
||||||
|
|
||||||
|
const linkTypes = {
|
||||||
|
'fas fa-envelope': { prefix: 'mailto:' },
|
||||||
|
'fas fa-phone': { prefix: 'tel:' },
|
||||||
|
'fas fa-map-marker-alt': { prefix: 'https://maps.google.com/?q=' },
|
||||||
|
'fab fa-youtube': { prefix: 'https://youtube.com/' },
|
||||||
|
'fab fa-linkedin': { prefix: 'https://linkedin.com/in/' },
|
||||||
|
'fab fa-github': { prefix: 'https://github.com/' }
|
||||||
|
};
|
||||||
|
|
||||||
|
if (selectedIcon && linkTypes[selectedIcon]) {
|
||||||
|
realPrefix = linkTypes[selectedIcon].prefix;
|
||||||
|
}
|
||||||
|
|
||||||
// Apenas processar/limpar a URL para tipos que não sejam de mapa
|
// Apenas processar/limpar a URL para tipos que não sejam de mapa
|
||||||
if (currentPrefix !== 'https://maps.google.com/?q=') {
|
if (realPrefix !== 'https://maps.google.com/?q=') {
|
||||||
let processedValue = value.trim();
|
let processedValue = value.trim();
|
||||||
processedValue = cleanAnyUrlPrefix(processedValue);
|
processedValue = cleanAnyUrlPrefix(processedValue);
|
||||||
|
|
||||||
// Apenas atualiza o DOM se o valor foi alterado para não atrapalhar o cursor
|
// Apenas atualiza o DOM se o valor foi alterado para não atrapalhar o cursor
|
||||||
if (processedValue !== value) {
|
if (processedValue !== value) {
|
||||||
$(this).val(processedValue);
|
$(this).val(processedValue);
|
||||||
@ -1894,18 +1913,18 @@
|
|||||||
// Atualizar campo hidden com URL completa
|
// Atualizar campo hidden com URL completa
|
||||||
if (value) {
|
if (value) {
|
||||||
// Tratar casos especiais
|
// Tratar casos especiais
|
||||||
if (currentPrefix === 'https://maps.google.com/?q=') {
|
if (realPrefix === 'https://maps.google.com/?q=') {
|
||||||
// Para mapas, o usuário digita normalmente. O encoding é feito apenas na URL final.
|
// Para mapas, o usuário digita normalmente, encoding só na URL final
|
||||||
const encodedValue = encodeURIComponent(value);
|
const encodedValue = encodeURIComponent(value);
|
||||||
$hidden.val(currentPrefix + encodedValue);
|
$hidden.val(realPrefix + encodedValue);
|
||||||
} else if (currentPrefix === 'tel:') {
|
} else if (realPrefix === 'tel:') {
|
||||||
// Para telefone, apenas números
|
// Para telefone, apenas números
|
||||||
const telValue = value.replace(/\D/g, '');
|
const telValue = value.replace(/\D/g, '');
|
||||||
$(this).val(telValue);
|
$(this).val(telValue);
|
||||||
$hidden.val(currentPrefix + telValue);
|
$hidden.val(realPrefix + telValue);
|
||||||
} else {
|
} else {
|
||||||
// Para outros tipos, a URL é concatenada diretamente
|
// Para outros tipos, a URL é concatenada diretamente
|
||||||
$hidden.val(currentPrefix + value);
|
$hidden.val(realPrefix + value);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$hidden.val('');
|
$hidden.val('');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user