{"id":245,"date":"2025-09-20T12:42:12","date_gmt":"2025-09-20T12:42:12","guid":{"rendered":"https:\/\/platforma.korkiai.pl\/?page_id=245"},"modified":"2025-09-23T14:17:18","modified_gmt":"2025-09-23T14:17:18","slug":"testowe-logowanie","status":"publish","type":"page","link":"https:\/\/platforma.korkiai.pl\/index.php\/testowe-logowanie\/","title":{"rendered":"Logowanie do platformy"},"content":{"rendered":"\n<!doctype html>\n<html lang=\"pl\" data-ld-theme=\"theme-default\">\n<head>\n    <meta charset=\"utf-8\"\/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\/>\n    <title>Logowanie &#8211; Korki AI<\/title>\n    <link rel=\"icon\" href=\"\/favicon.png\"\/>\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0\/css\/all.min.css\">\n    <link rel=\"stylesheet\" href=\".\/styles.css\"\/>\n    \n    <style>\n        \/* Import g\u0142\u00f3wnych styl\u00f3w ze strony p\u0142atno\u015bci *\/\n        @import url(\"https:\/\/fonts.googleapis.com\/css2?family=Instrument+Serif:ital@0;1&display=swap\");\n        @import url(\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap\");\n\n        :root[data-ld-theme=\"theme-default\"] {\n          --bs-primary-100: #EEEBF9;\n          --bs-primary-200: #C2B6FA;\n          --bs-primary-300: #A99DE1;\n          --bs-primary-400: #745EE0;\n          --bs-primary-500: #644FCA;\n          --bs-primary-600: #6349E0;\n          --bs-primary-700: #573FC5;\n          --bs-primary-800: #201553;\n          --bs-primary-900: #19123B;\n\n          --bs-secondary-500: #FEE84D;\n          --bs-secondary-700: #F4D501;\n\n          --bs-dark-900: #222222;\n          --bs-text: #5a564d;\n          --bs-muted: #6A6480;\n          --bs-bg: #ffffff;\n          --bs-card: #ffffff;\n          --bs-border: #EBE8E8;\n        }\n\n        * { box-sizing: border-box; }\n        html, body { height: 100%; }\n        body {\n          margin: 0;\n          font-family: \"Plus Jakarta Sans\", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\";\n          color: var(--bs-text);\n          background: var(--bs-bg);\n        }\n\n        h1, h2, h3, h4, h5, h6 {\n          font-family: \"Instrument Serif\", Georgia, serif;\n          letter-spacing: -0.03em;\n          color: var(--bs-dark-900);\n        }\n\n        .container {\n          max-width: 1140px;\n          margin: 0 auto;\n          padding: 24px;\n        }\n\n        .card {\n          background: var(--bs-card);\n          border: 1px solid var(--bs-border);\n          border-radius: 12px;\n          padding: 24px;\n          box-shadow: 0 6px 18px rgba(0,0,0,0.05);\n        }\n\n        .checkout .row { display: grid; grid-template-columns: 1fr; gap: 24px; }\n        .col-lg-6 { width: 100%; }\n        @media (min-width: 992px) {\n          .checkout .row { \n            grid-template-columns: 1fr 1fr; \n            align-items: start;\n          }\n        }\n\n        .checkout-card { display: block; }\n        @media (min-width: 992px) {\n          .checkout-card:first-child {\n            height: 1100px;\n            display: flex;\n            flex-direction: column;\n            justify-content: flex-start;\n          }\n        }\n\n        .brand { display: flex; align-items: center; gap: 12px; }\n        .logo { width: 120px; height: 120px; }\n        .brand-title { margin: 0; font-size: 20px; }\n        .brand-sub { margin: 0; color: var(--bs-muted); font-size: 13px; }\n\n        .field { display: grid; gap: 8px; margin: 12px 0 20px; }\n        .field span { font-weight: 600; }\n        .field input, .field textarea {\n          padding: 12px 14px;\n          border: 1px solid var(--bs-border);\n          border-radius: 10px;\n          outline: none;\n          font-family: inherit;\n        }\n\n        .btn {\n          appearance: none;\n          border: none;\n          border-radius: 12px;\n          padding: 12px 16px;\n          font-weight: 600;\n          cursor: pointer;\n        }\n        .btn-primary { background: var(--bs-primary-700); color: #fff; }\n        .btn-primary:hover { filter: brightness(0.95); }\n        .btn-pay { height: 48px; font-size: 16px; }\n\n        .muted { color: var(--bs-muted); }\n        .hidden { display: none; }\n\n        .checkbox { display: flex; align-items: flex-start; gap: 10px; margin: 10px 0 16px; font-size: 14px; }\n        .checkbox input { margin-top: 3px; }\n        .checkbox a { \n          color: var(--bs-primary-700); \n          text-decoration: underline; \n          font-weight: 500;\n        }\n        .checkbox a:hover { \n          color: var(--bs-primary-800); \n          text-decoration: none;\n        }\n\n        \/* Style specyficzne dla logowania *\/\n        .login-header {\n            text-align: center;\n            margin-bottom: 30px;\n        }\n        \n        .login-header .logo {\n            width: 80px;\n            height: 80px;\n            margin: 0 auto 20px;\n            background: var(--bs-primary-700);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: white;\n            font-size: 2rem;\n        }\n        \n        .login-header h1 {\n            color: var(--bs-dark-900);\n            margin-bottom: 10px;\n            font-size: 2rem;\n        }\n        \n        .login-header p {\n            color: var(--bs-muted);\n            font-size: 1.1rem;\n        }\n        \n        .magic-login-form {\n            margin: 20px 0;\n        }\n        \n        .btn-magic-login {\n            width: 100%;\n            padding: 15px;\n            background: var(--bs-primary-700);\n            color: white;\n            border: none;\n            border-radius: 10px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 10px;\n            height: 48px;\n        }\n        \n        .btn-magic-login:hover {\n            filter: brightness(0.95);\n        }\n        \n        .btn-magic-login:disabled {\n            background: #ccc;\n            cursor: not-allowed;\n        }\n        \n        .message {\n            padding: 15px;\n            border-radius: 10px;\n            margin-bottom: 20px;\n            display: none;\n        }\n        \n        .message.success {\n            background: #d4edda;\n            color: #155724;\n            border: 1px solid #c3e6cb;\n        }\n        \n        .message.error {\n            background: #f8d7da;\n            color: #721c24;\n            border: 1px solid #f5c6cb;\n        }\n        \n        .features {\n            background: var(--bs-primary-100);\n            padding: 30px;\n            border-radius: 12px;\n            margin-top: 20px;\n            border: 1px solid var(--bs-primary-200);\n        }\n        \n        .features h3 {\n            color: var(--bs-dark-900);\n            margin-bottom: 20px;\n            font-size: 1.2rem;\n        }\n        \n        .feature-list {\n            list-style: none;\n            padding: 0;\n            margin: 0;\n        }\n        \n        .feature-list li {\n            padding: 8px 0;\n            color: var(--bs-muted);\n            display: flex;\n            align-items: center;\n            gap: 10px;\n        }\n        \n        .feature-list li i {\n            color: var(--bs-primary-700);\n            width: 20px;\n        }\n        \n        .back-to-home {\n            margin-top: 30px;\n            text-align: center;\n        }\n        \n        .back-to-home a {\n            color: var(--bs-primary-700);\n            text-decoration: none;\n            font-weight: 600;\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n        }\n        \n        .back-to-home a:hover {\n            text-decoration: underline;\n        }\n        \n        .security-info {\n            background: #e7f3ff;\n            border: 1px solid #b3d9ff;\n            padding: 15px;\n            border-radius: 10px;\n            margin-top: 20px;\n            font-size: 14px;\n            color: #0066cc;\n        }\n        \n        .security-info i {\n            margin-right: 8px;\n        }\n\n        .registration-link {\n            text-align: center;\n            margin-top: 20px;\n            padding: 20px;\n            background: var(--bs-primary-100);\n            border-radius: 12px;\n            border: 1px solid var(--bs-primary-200);\n        }\n\n        .registration-link h4 {\n            color: var(--bs-dark-900);\n            margin-bottom: 10px;\n            font-size: 1.1rem;\n        }\n\n        .registration-link p {\n            color: var(--bs-muted);\n            margin-bottom: 15px;\n            font-size: 14px;\n        }\n\n        .btn-register {\n            background: var(--bs-primary-700);\n            color: white;\n            text-decoration: none;\n            padding: 12px 24px;\n            border-radius: 10px;\n            font-weight: 600;\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            transition: all 0.3s ease;\n        }\n\n        .btn-register:hover {\n            filter: brightness(0.95);\n            text-decoration: none;\n            color: white;\n        }\n\n        @media (max-width: 768px) {\n          .container { padding: 16px; }\n          .brand-title { font-size: 18px; }\n          .login-header h1 { font-size: 1.5rem; }\n        }\n    <\/style>\n<\/head>\n<body>\n    <main class=\"container checkout\">\n        <div class=\"row g-4\">\n            <!-- Lewa strona - informacje o platformie -->\n            <div class=\"col-lg-6\">\n                <section class=\"card checkout-card\">\n                    <div class=\"product-head\">\n                        <div class=\"brand\">\n                            <img decoding=\"async\" src=\"https:\/\/platforma.korkiai.pl\/wp-content\/uploads\/2025\/09\/logo.svg\" alt=\"Korki AI\" class=\"logo\"\/>\n                            <div>\n                                <h2 class=\"brand-title m-0\">Logowanie do platformy spo\u0142eczno\u015bciowej<\/h2>\n                                <p class=\"brand-sub\">Bezpieczny dost\u0119p do kursu AI dla m\u0142odzie\u017cy<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"features\">\n                        <h3>Dlaczego magiczny link?<\/h3>\n                        <ul class=\"feature-list\">\n                            <li><i class=\"fa fa-shield-alt\"><\/i> Bezpieczniejsze ni\u017c has\u0142a<\/li>\n                            <li><i class=\"fa fa-clock\"><\/i> Szybsze logowanie<\/li>\n                            <li><i class=\"fa fa-key\"><\/i> Nie musisz pami\u0119ta\u0107 has\u0142a<\/li>\n                            <li><i class=\"fa fa-user-lock\"><\/i> Tylko Ty masz dost\u0119p do swojego konta<\/li>\n                        <\/ul>\n                    <\/div>\n                    \n                    <div class=\"security-info\">\n                        <i class=\"fa fa-info-circle\"><\/i>\n                        <strong>Bezpiecze\u0144stwo:<\/strong> Magiczny link jest wa\u017cny przez 15 minut i mo\u017ce by\u0107 u\u017cyty tylko raz. \n                        Je\u015bli nie otrzyma\u0142e\u015b emaila, sprawd\u017a folder spam.\n                    <\/div>\n                <\/section>\n            <\/div>\n            \n            <!-- Prawa strona - formularz logowania -->\n            <div class=\"col-lg-6\">\n                <section class=\"card checkout-card\">\n                    <div class=\"login-header\">\n                        <div class=\"logo\">\n                            <i class=\"fa fa-graduation-cap\"><\/i>\n                        <\/div>\n                        <h1>Witaj w Korki AI<\/h1>\n                        <p>Wprowad\u017a sw\u00f3j email, aby otrzyma\u0107 magiczny link do logowania<\/p>\n                    <\/div>\n                    \n                    <!-- Formularz magicznego logowania - WordPress shortcode -->\n                    <div class=\"magic-login-form\">\n                                <div id=\"magic-login-container\">\n            <form id=\"magic-login-form\" method=\"post\">\n                <div class=\"field\">\n                    <span>Adres email<\/span>\n                    <input type=\"email\" name=\"email\" id=\"magic-email\" required \n                           placeholder=\"Wprowad\u017a sw\u00f3j adres email\" \/>\n                <\/div>\n                \n                <div class=\"message\" id=\"magic-message\" style=\"display: none;\"><\/div>\n                \n                <button type=\"submit\" class=\"btn-magic-login\" id=\"magic-submit\">\n                    <i class=\"fa fa-paper-plane\"><\/i>\n                    Wy\u015blij magiczny link\n                <\/button>\n            <\/form>\n        <\/div>\n        \n        <script>\n        document.addEventListener('DOMContentLoaded', function() {\n            const form = document.getElementById('magic-login-form');\n            const message = document.getElementById('magic-message');\n            const submitBtn = document.getElementById('magic-submit');\n            \n            if (!form) return; \/\/ Zabezpieczenie przed b\u0142\u0119dami\n            \n            form.addEventListener('submit', async function(e) {\n                e.preventDefault();\n                \n                const email = document.getElementById('magic-email').value;\n                const originalText = submitBtn.innerHTML;\n                \n                \/\/ Poka\u017c loading\n                submitBtn.innerHTML = '<i class=\"fa fa-spinner fa-spin\"><\/i> Wysy\u0142anie...';\n                submitBtn.disabled = true;\n                \n                try {\n                    const response = await fetch('https:\/\/platforma.korkiai.pl\/wp-admin\/admin-ajax.php', {\n                        method: 'POST',\n                        headers: {\n                            'Content-Type': 'application\/x-www-form-urlencoded',\n                        },\n                        body: 'action=magic_login_send&email=' + encodeURIComponent(email)\n                    });\n                    \n                    const data = await response.json();\n                    \n                    if (data.success) {\n                        message.className = 'message success';\n                        message.innerHTML = '<i class=\"fa fa-check-circle\"><\/i> ' + data.data.message;\n                        message.style.display = 'block';\n                        \n                        \/\/ Przekieruj na stron\u0119 potwierdzenia po 2 sekundach\n                        setTimeout(() => {\n                            window.location.href = 'https:\/\/platforma.korkiai.pl\/index.php\/zalogowany\/';\n                        }, 2000);\n                    } else {\n                        message.className = 'message error';\n                        message.innerHTML = '<i class=\"fa fa-exclamation-triangle\"><\/i> ' + data.data.message;\n                        message.style.display = 'block';\n                    }\n                } catch (error) {\n                    console.error('Magic login error:', error);\n                    message.className = 'message error';\n                    message.innerHTML = '<i class=\"fa fa-exclamation-triangle\"><\/i> Wyst\u0105pi\u0142 b\u0142\u0105d. Spr\u00f3buj ponownie.';\n                    message.style.display = 'block';\n                }\n                \n                \/\/ Przywr\u00f3\u0107 przycisk\n                submitBtn.innerHTML = originalText;\n                submitBtn.disabled = false;\n            });\n        });\n        <\/script>\n        \n                    <\/div>\n                    \n                    <!-- Sekcja rejestracji -->\n                    <div class=\"registration-link\">\n                        <h4>Nie masz jeszcze konta?<\/h4>\n                        <p>Zakup kurs i uzyskaj dost\u0119p do platformy spo\u0142eczno\u015bciowej<\/p>\n                        <a href=\"https:\/\/pay.korkiai.pl\/\" class=\"btn-register\">\n                            <i class=\"fa fa-shopping-cart\"><\/i>\n                            Przejd\u017a do zakupu\n                        <\/a>\n                    <\/div>\n                    \n                    <div class=\"back-to-home\">\n                        <a href=\"https:\/\/korkiai.pl\">\n                            <i class=\"fa fa-arrow-left\"><\/i>\n                            Powr\u00f3t do strony g\u0142\u00f3wnej\n                        <\/a>\n                    <\/div>\n                <\/section>\n            <\/div>\n        <\/div>\n    <\/main>\n    \n    <script>\n        \/\/ Sprawd\u017a czy u\u017cytkownik jest ju\u017c zalogowany\n        checkLoginStatus();\n        \n        async function checkLoginStatus() {\n            try {\n                const response = await fetch('https:\/\/platforma.korkiai.pl\/wp-admin\/admin-ajax.php?action=fluent_auth_check_login_status');\n                const data = await response.json();\n                \n                if (data.success && data.data.is_logged_in) {\n                    window.location.href = 'https:\/\/platforma.korkiai.pl\/portal\/';\n                }\n            } catch (error) {\n                console.log('Sprawdzanie statusu logowania:', error.message);\n            }\n        }\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Logowanie &#8211; Korki AI Logowanie do platformy spo\u0142eczno\u015bciowej Bezpieczny dost\u0119p do kursu AI dla m\u0142odzie\u017cy Dlaczego magiczny link? Bezpieczniejsze ni\u017c has\u0142a Szybsze logowanie Nie musisz pami\u0119ta\u0107 has\u0142a Tylko Ty masz dost\u0119p do swojego konta Bezpiecze\u0144stwo: Magiczny link jest wa\u017cny przez 15 minut i mo\u017ce by\u0107 u\u017cyty tylko raz. Je\u015bli nie otrzyma\u0142e\u015b emaila, sprawd\u017a folder spam. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-245","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/pages\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/comments?post=245"}],"version-history":[{"count":13,"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/pages\/245\/revisions"}],"predecessor-version":[{"id":274,"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/pages\/245\/revisions\/274"}],"wp:attachment":[{"href":"https:\/\/platforma.korkiai.pl\/index.php\/wp-json\/wp\/v2\/media?parent=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}