{"id":1348,"date":"2025-09-16T14:26:50","date_gmt":"2025-09-16T17:26:50","guid":{"rendered":"https:\/\/jrfotografo.com.br\/?page_id=1348"},"modified":"2025-09-18T20:01:47","modified_gmt":"2025-09-18T23:01:47","slug":"geradordelink","status":"publish","type":"page","link":"https:\/\/jrfotografo.com.br\/index.php\/geradordelink\/","title":{"rendered":"SUA GALERIA DE FOTOS CHEGOU!!!"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1348\" class=\"elementor elementor-1348\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1742e44 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1742e44\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3078cdb\" data-id=\"3078cdb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c7a6368 elementor-widget elementor-widget-html\" data-id=\"c7a6368\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!DOCTYPE html>\r\n<html lang=\"pt-br\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>SUA GALERIA DE FOTOS CHEGOU!!!<\/title>\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&display=swap\" rel=\"stylesheet\">\r\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\r\n    <style>\r\n        body {\r\n            font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\r\n        }\r\n        .bg-gradient-radial {\r\n            background-image: radial-gradient(circle, var(--tw-gradient-stops));\r\n        }\r\n        .message-box {\r\n            position: fixed;\r\n            top: 20px;\r\n            left: 50%;\r\n            transform: translateX(-50%);\r\n            padding: 12px 24px;\r\n            background-color: #2D3748; \/* Cor de fundo escura *\/\r\n            color: white;\r\n            border-radius: 8px;\r\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\r\n            z-index: 1000;\r\n            opacity: 0;\r\n            transition: opacity 0.5s ease-in-out;\r\n        }\r\n        .message-box.visible {\r\n            opacity: 1;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body class=\"bg-gradient-radial from-blue-50 to-white flex flex-col items-center justify-center p-6 min-h-screen text-slate-900\">\r\n\r\n    <!-- Se\u00e7\u00e3o de Gera\u00e7\u00e3o de Link -->\r\n    <div id=\"secao-gerador\" class=\"bg-white rounded-3xl shadow-2xl p-8 max-w-2xl w-full\">\r\n        <h1 class=\"text-3xl sm:text-4xl font-bold mb-4 text-center text-blue-600\">Gerador de Links<\/h1>\r\n        <p class=\"text-center mb-6 text-gray-600\">Crie links \u00fanicos e personalizados para seus clientes.<\/p>\r\n        \r\n        <div class=\"space-y-4\">\r\n            <div>\r\n                <label for=\"input-link\" class=\"block text-sm font-semibold text-gray-700\">Link da Galeria (OneDrive):<\/label>\r\n                <input type=\"url\" id=\"input-link\" class=\"mt-1 block w-full rounded-lg border-gray-300 shadow-sm p-3 bg-gray-50 focus:ring-blue-500 focus:border-blue-500\" placeholder=\"Ex: https:\/\/1drv.ms\/f\/...\">\r\n                <p class=\"mt-2 text-xs text-gray-500\">\r\n                    <strong>Importante:<\/strong> O link do OneDrive deve ser configurado como <strong>\"Qualquer pessoa com o link pode exibir\"<\/strong> para que seus clientes n\u00e3o precisem fazer login.\r\n                <\/p>\r\n            <\/div>\r\n            <div>\r\n                <label for=\"input-mensagem\" class=\"block text-sm font-semibold text-gray-700\">Mensagem de Boas-Vindas:<\/label>\r\n                <input type=\"text\" id=\"input-mensagem\" class=\"mt-1 block w-full rounded-lg border-gray-300 shadow-sm p-3 bg-gray-50 focus:ring-blue-500 focus:border-blue-500\" placeholder=\"Ex: Ol\u00e1, Jo\u00e3o! Suas fotos est\u00e3o prontas.\">\r\n            <\/div>\r\n            <div>\r\n                <label for=\"input-foto\" class=\"block text-sm font-semibold text-gray-700\">Link da Foto (opcional):<\/label>\r\n                <input type=\"url\" id=\"input-foto\" class=\"mt-1 block w-full rounded-lg border-gray-300 shadow-sm p-3 bg-gray-50 focus:ring-blue-500 focus:border-blue-500\" placeholder=\"Ex: https:\/\/jrfotografo.com.br\/foto-joao.jpg\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <button id=\"botao-gerar\" class=\"w-full mt-8 py-3 px-4 bg-blue-600 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 transition-colors transform hover:scale-105\">\r\n            Gerar Link\r\n        <\/button>\r\n\r\n        <div id=\"container-resultado\" class=\"mt-8 hidden\">\r\n            <h2 class=\"text-lg font-semibold text-gray-700 mb-2\">Link Gerado:<\/h2>\r\n            <div class=\"relative\">\r\n                <input type=\"text\" id=\"link-gerado\" readonly class=\"w-full p-3 pr-10 border border-gray-300 rounded-lg text-sm bg-gray-50 overflow-auto focus:ring-blue-500 focus:border-blue-500\">\r\n                <button id=\"botao-copiar\" class=\"absolute right-0 top-0 mt-3 mr-3 text-gray-500 hover:text-blue-600 transition-colors\" title=\"Copiar Link\">\r\n                    <!-- SVG para o \u00edcone de copiar -->\r\n                    <svg class=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M7 3a1 1 0 011-1h3a1 1 0 011 1v1h1.5a1.5 1.5 0 011.5 1.5v9.5a1.5 1.5 0 01-1.5 1.5h-7A1.5 1.5 0 013 15.5V5.5A1.5 1.5 0 014.5 4H6V3z\"><\/path><path d=\"M5.5 4A.5.5 0 005 4.5v10a.5.5 0 00.5.5h7a.5.5 0 00.5-.5V5a.5.5 0 00-.5-.5H9V3a1 1 0 00-1-1H7a1 1 0 00-1 1v1H5.5z\"><\/path><\/svg>\r\n                <\/button>\r\n            <\/div>\r\n            <p class=\"text-sm text-center mt-2 text-gray-500\">Copie este link e envie para o seu cliente.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Se\u00e7\u00e3o de Boas-Vindas -->\r\n    <div id=\"secao-boas-vindas\" class=\"hidden flex flex-col items-center justify-center text-center p-8 max-w-2xl w-full bg-white rounded-3xl shadow-2xl\">\r\n        <img decoding=\"async\" id=\"logo-empresa\" src=\"https:\/\/jrfotografo.com.br\/wp-content\/uploads\/2023\/05\/logo_PRETO.png\" alt=\"Logo da Empresa\" class=\"w-64 h-auto mx-auto mb-2\">\r\n        <p class=\"text-base sm:text-lg text-gray-600 mb-6\">Aqui est\u00e3o todas as suas fotos digitais em alta resolu\u00e7\u00e3o.<\/p>\r\n        <img id=\"foto-cliente\" class=\"w-96 h-96 rounded-full object-cover mb-6 shadow-md ring-8 ring-blue-300 transition-transform transform hover:scale-105\">\r\n        <h1 id=\"titulo-boas-vindas\" class=\"text-base sm:text-lg font-bold mb-4 text-blue-600\"><\/h1>\r\n        <a id=\"link-galeria\" href=\"#\" class=\"inline-block py-4 px-8 bg-blue-600 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 transition-colors transform hover:scale-105\">\r\n            Ver a Galeria de Fotos\r\n        <\/a>\r\n        <p class=\"mt-6 text-sm text-gray-500\">A visualiza\u00e7\u00e3o deste conte\u00fado \u00e9 melhor no navegador Chrome.<\/p>\r\n    <\/div>\r\n\r\n    <!-- Message Box -->\r\n    <div id=\"message-box\" class=\"message-box\"><\/div>\r\n\r\n    <script>\r\n        function showMessage(text) {\r\n            const messageBox = document.getElementById('message-box');\r\n            messageBox.textContent = text;\r\n            messageBox.classList.add('visible');\r\n            setTimeout(() => {\r\n                messageBox.classList.remove('visible');\r\n            }, 3000);\r\n        }\r\n\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            const params = new URLSearchParams(window.location.search);\r\n            const linkDestino = params.get('link');\r\n            \r\n            if (linkDestino) {\r\n                \/\/ MODO BOAS-VINDAS\r\n                document.getElementById('secao-gerador').classList.add('hidden');\r\n                document.getElementById('secao-boas-vindas').classList.remove('hidden');\r\n\r\n                const mensagem = decodeURIComponent(params.get('mensagem') || 'Bem-vindo(a)!');\r\n                const fotoUrl = params.get('foto');\r\n                \r\n                document.getElementById('titulo-boas-vindas').textContent = mensagem;\r\n\r\n                const fotoCliente = document.getElementById('foto-cliente');\r\n                if (fotoUrl) {\r\n                    fotoCliente.src = fotoUrl;\r\n                } else {\r\n                    fotoCliente.classList.add('hidden');\r\n                }\r\n\r\n                \/\/ **CORRE\u00c7\u00c3O APLICADA AQUI**\r\n                \/\/ A l\u00f3gica de redirecionamento autom\u00e1tico foi removida.\r\n                \/\/ Agora, a p\u00e1gina de boas-vindas \u00e9 sempre exibida, e o link \u00e9 \r\n                \/\/ atribu\u00eddo diretamente ao bot\u00e3o. A navega\u00e7\u00e3o para o OneDrive\r\n                \/\/ s\u00f3 ocorre ap\u00f3s o clique do usu\u00e1rio, o que \u00e9 mais compat\u00edvel\r\n                \/\/ com todos os navegadores, incluindo o Safari.\r\n                const linkGaleria = document.getElementById('link-galeria');\r\n                linkGaleria.href = linkDestino;\r\n\r\n                \/\/ **NOVA CORRE\u00c7\u00c3O PARA SAFARI**\r\n                \/\/ Adicionamos um 'event listener' que intercepta o clique.\r\n                \/\/ Ele previne o comportamento padr\u00e3o e usa window.open() para\r\n                \/\/ abrir o link em uma nova aba. Isso \u00e9 mais robusto e evita\r\n                \/\/ que o Safari bloqueie o acesso ou pe\u00e7a login.\r\n                linkGaleria.addEventListener('click', (event) => {\r\n                    event.preventDefault(); \/\/ Impede a navega\u00e7\u00e3o padr\u00e3o do link.\r\n                    window.open(linkDestino, '_blank', 'noopener,noreferrer');\r\n                });\r\n\r\n\r\n            } else {\r\n                \/\/ MODO GERADOR\r\n                document.getElementById('secao-gerador').classList.remove('hidden');\r\n                document.getElementById('secao-boas-vindas').classList.add('hidden');\r\n\r\n                const inputLink = document.getElementById('input-link');\r\n                const inputMensagem = document.getElementById('input-mensagem');\r\n                const inputFoto = document.getElementById('input-foto');\r\n                const botaoGerar = document.getElementById('botao-gerar');\r\n                const linkGerado = document.getElementById('link-gerado');\r\n                const containerResultado = document.getElementById('container-resultado');\r\n                const botaoCopiar = document.getElementById('botao-copiar');\r\n                \r\n                botaoGerar.addEventListener('click', () => {\r\n                    if (inputLink.value) {\r\n                        const base_url = window.location.href.split('?')[0];\r\n                        const params = new URLSearchParams();\r\n                        params.set('link', inputLink.value);\r\n                        params.set('mensagem', inputMensagem.value);\r\n                        if (inputFoto.value) {\r\n                            params.set('foto', inputFoto.value);\r\n                        }\r\n                        const url_final = `${base_url}?${params.toString()}`;\r\n                        linkGerado.value = url_final;\r\n                        containerResultado.classList.remove('hidden');\r\n                    } else {\r\n                        showMessage('Por favor, insira o link da galeria.');\r\n                    }\r\n                });\r\n\r\n                botaoCopiar.addEventListener('click', () => {\r\n                    linkGerado.select();\r\n                    document.execCommand('copy');\r\n                    showMessage('Link copiado com sucesso!');\r\n                });\r\n            }\r\n        });\r\n    <\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>SUA GALERIA DE FOTOS CHEGOU!!! Gerador de Links Crie links \u00fanicos e personalizados para seus clientes. Link da Galeria (OneDrive): Importante: O link do OneDrive deve ser configurado como &#8220;Qualquer pessoa com o link pode exibir&#8221; para que seus clientes n\u00e3o precisem fazer login. Mensagem de Boas-Vindas: Link da Foto (opcional): Gerar Link Link Gerado: &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/jrfotografo.com.br\/index.php\/geradordelink\/\" class=\"more-link\">Leia mais<span class=\"screen-reader-text\"> &#8220;SUA GALERIA DE FOTOS CHEGOU!!!&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1441,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_eb_attr":"","inspiro_hide_title":false,"footnotes":""},"class_list":["post-1348","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/pages\/1348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=1348"}],"version-history":[{"count":85,"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/pages\/1348\/revisions"}],"predecessor-version":[{"id":1453,"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/pages\/1348\/revisions\/1453"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/media\/1441"}],"wp:attachment":[{"href":"https:\/\/jrfotografo.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=1348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}