{"id":942,"date":"2026-09-08T21:42:04","date_gmt":"2026-09-08T19:42:04","guid":{"rendered":"https:\/\/www.edge-skating-academy.pl\/?page_id=942"},"modified":"2026-09-08T21:43:15","modified_gmt":"2026-09-08T19:43:15","slug":"karta-zawodnika","status":"publish","type":"page","link":"https:\/\/www.edge-skating-academy.pl\/index.php\/zajecia\/karta-zawodnika\/","title":{"rendered":"Karta Zawodnika"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"942\" class=\"elementor elementor-942\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0d4e998 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0d4e998\" data-element_type=\"section\" data-e-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-5a17192\" data-id=\"5a17192\" data-element_type=\"column\" data-e-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-546b5a6 elementor-widget elementor-widget-shortcode\" data-id=\"546b5a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div class=\"club-card-request-wrapper\" id=\"clubCardRequestBox\">\n            <div class=\"club-card-request-card\">\n                <div class=\"club-card-request-header\">\n                    <div class=\"club-card-request-badge\">\u26f8\ufe0f \"EDGE\" Skating Academy<\/div>\n                    <h2 class=\"club-card-request-title\">Pobierz Swoj\u0105 Kart\u0119 Zawodnika<\/h2>\n                    <p class=\"club-card-request-desc\">\n                        Wpisz adres e-mail, je\u015bli znajduje si\u0119 w naszej bazie, natychmiast wy\u015blemy kart\u0119 zawodnika prosto na Twoj\u0105 skrzynk\u0119 pocztow\u0105.\n                    <\/p>\n                <\/div>\n\n                <form id=\"clubCardRequestForm\" class=\"club-card-request-form\" novalidate>\n                    <!-- Zabezpieczenie Honeypot (niewidoczne dla ludzi, wy\u0142apuje boty spamuj\u0105ce) -->\n                    <div style=\"position: absolute !important; left: -9999px !important; top: -9999px !important; opacity: 0 !important; height: 0 !important; width: 0 !important; overflow: hidden !important;\" aria-hidden=\"true\">\n                        <label for=\"club_hp_website_check\">Pozostaw to pole puste<\/label>\n                        <input type=\"text\" id=\"club_hp_website_check\" name=\"club_hp_website_check\" tabindex=\"-1\" autocomplete=\"off\" value=\"\">\n                    <\/div>\n\n                    <div class=\"club-input-group\">\n                        <label for=\"clubMemberEmail\" class=\"club-input-label\">Tw\u00f3j Adres E-mail:<\/label>\n                        <div class=\"club-input-wrapper\">\n                            <span class=\"club-input-icon\">\u2709\ufe0f<\/span>\n                            <input type=\"email\" id=\"clubMemberEmail\" name=\"email\" class=\"club-input-field\" placeholder=\"np. rodzic@poczta.pl\" required autocomplete=\"email\">\n                        <\/div>\n                    <\/div>\n\n                    <button type=\"submit\" id=\"clubSubmitCardBtn\" class=\"club-btn-submit\">\n                        <span class=\"club-btn-text\">Wy\u015blij Kart\u0119 na E-mail \ud83d\ude80<\/span>\n                        <span class=\"club-btn-spinner\" style=\"display:none;\" aria-hidden=\"true\">\n                            <svg class=\"club-spinner-svg\" viewBox=\"0 0 24 24\">\n                                <circle class=\"club-spinner-circle\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" fill=\"none\"><\/circle>\n                            <\/svg>\n                            Wysy\u0142anie...\n                        <\/span>\n                    <\/button>\n\n                    <div id=\"clubCardFeedback\" class=\"club-feedback-notice\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div>\n                <\/form>\n\n                <div class=\"club-card-request-footer\">\n                    <span>W razie problem\u00f3w napisz do nas na: edge.skating.academy.pl@gmail.com<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <style>\n            .club-card-request-wrapper {\n                margin: 30px auto;\n                max-width: 520px;\n                font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n                color: #0f172a;\n                box-sizing: border-box;\n            }\n\n            .club-card-request-wrapper * {\n                box-sizing: border-box;\n            }\n\n            .club-card-request-card {\n                background: #ffffff;\n                border: 1px solid #e2e8f0;\n                border-radius: 20px;\n                padding: 36px 32px;\n                box-shadow: 0 20px 45px -12px rgba(15, 23, 42, 0.12), 0 8px 16px -6px rgba(15, 23, 42, 0.04);\n                position: relative;\n                overflow: hidden;\n            }\n\n            .club-card-request-card::before {\n                content: \"\";\n                position: absolute;\n                top: 0;\n                left: 0;\n                right: 0;\n                height: 5px;\n                background: linear-gradient(90deg, #f59e0b, #0ea5e9, #f59e0b);\n            }\n\n            .club-card-request-header {\n                text-align: center;\n                margin-bottom: 26px;\n            }\n\n            .club-card-request-badge {\n                display: inline-block;\n                background: #fef3c7;\n                color: #b45309;\n                font-size: 12px;\n                font-weight: 700;\n                padding: 5px 14px;\n                border-radius: 20px;\n                margin-bottom: 14px;\n                letter-spacing: 0.5px;\n                border: 1px solid #fde68a;\n            }\n\n            .club-card-request-title {\n                margin: 0 0 10px 0;\n                font-size: 24px;\n                font-weight: 800;\n                color: #0f172a;\n                line-height: 1.3;\n            }\n\n            .club-card-request-desc {\n                margin: 0;\n                font-size: 14px;\n                color: #64748b;\n                line-height: 1.6;\n            }\n\n            .club-card-request-form {\n                display: flex;\n                flex-direction: column;\n                gap: 18px;\n            }\n\n            .club-input-group {\n                display: flex;\n                flex-direction: column;\n                gap: 6px;\n                text-align: left;\n            }\n\n            .club-input-label {\n                font-size: 13px;\n                font-weight: 700;\n                color: #334155;\n            }\n\n            .club-input-wrapper {\n                position: relative;\n                display: flex;\n                align-items: center;\n            }\n\n            .club-input-icon {\n                position: absolute;\n                left: 14px;\n                font-size: 16px;\n                pointer-events: none;\n                opacity: 0.7;\n            }\n\n            .club-input-field {\n                width: 100% !important;\n                padding: 13px 14px 13px 44px !important;\n                border: 2px solid #cbd5e1 !important;\n                border-radius: 12px !important;\n                font-size: 15px !important;\n                color: #0f172a !important;\n                background: #f8fafc !important;\n                transition: all 0.2s ease !important;\n                outline: none !important;\n            }\n\n            .club-input-field:focus {\n                border-color: #0284c7 !important;\n                background: #ffffff !important;\n                box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.15) !important;\n            }\n\n            .club-btn-submit {\n                background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;\n                color: #ffffff !important;\n                border: none !important;\n                border-radius: 12px !important;\n                padding: 14px 20px !important;\n                font-size: 15px !important;\n                font-weight: 700 !important;\n                cursor: pointer !important;\n                transition: all 0.2s ease !important;\n                box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;\n                display: flex !important;\n                align-items: center !important;\n                justify-content: center !important;\n                gap: 8px !important;\n                width: 100% !important;\n            }\n\n            .club-btn-submit:hover:not(:disabled) {\n                transform: translateY(-1px) !important;\n                box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45) !important;\n                filter: brightness(1.05) !important;\n            }\n\n            .club-btn-submit:disabled {\n                opacity: 0.7 !important;\n                cursor: not-allowed !important;\n                transform: none !important;\n            }\n\n            .club-spinner-svg {\n                animation: clubSpin 1s linear infinite;\n                width: 18px;\n                height: 18px;\n                display: inline-block;\n                vertical-align: middle;\n                margin-right: 6px;\n            }\n\n            .club-spinner-circle {\n                stroke-dasharray: 50;\n                stroke-dashoffset: 20;\n            }\n\n            @keyframes clubSpin {\n                100% {\n                    transform: rotate(360deg);\n                }\n            }\n\n            .club-feedback-notice {\n                padding: 14px 16px;\n                border-radius: 10px;\n                font-size: 14px;\n                line-height: 1.5;\n                text-align: left;\n                animation: clubFadeIn 0.25s ease-out;\n            }\n\n            .club-feedback-success {\n                background: #f0fdf4;\n                border: 1px solid #bbf7d0;\n                color: #166534;\n            }\n\n            .club-feedback-error {\n                background: #fef2f2;\n                border: 1px solid #fecaca;\n                color: #991b1b;\n            }\n\n            @keyframes clubFadeIn {\n                from {\n                    opacity: 0;\n                    transform: translateY(-4px);\n                }\n\n                to {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n            }\n\n            .club-card-request-footer {\n                margin-top: 22px;\n                padding-top: 16px;\n                border-top: 1px solid #f1f5f9;\n                text-align: center;\n                font-size: 11px;\n                color: #94a3b8;\n            }\n        <\/style>\n\n        <script>\n            (function() {\n                var form = document.getElementById('clubCardRequestForm');\n                if (!form) return;\n\n                var emailInput = document.getElementById('clubMemberEmail');\n                var hpInput = document.getElementById('club_hp_website_check');\n                var submitBtn = document.getElementById('clubSubmitCardBtn');\n                var btnText = submitBtn.querySelector('.club-btn-text');\n                var btnSpinner = submitBtn.querySelector('.club-btn-spinner');\n                var feedback = document.getElementById('clubCardFeedback');\n\n                var restUrl = \"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/club-attendance\/v1\/request-card\";\n                var restNonce = \"0e4cf9b8f80dbcaae2f4\";\n\n                form.addEventListener('submit', function(e) {\n                    e.preventDefault();\n\n                    var emailVal = (emailInput.value || '').trim();\n                    var hpVal = (hpInput.value || '').trim();\n\n                    if (!emailVal || emailVal.indexOf('@') === -1) {\n                        showFeedback('Prosz\u0119 poda\u0107 prawid\u0142owy adres e-mail.', 'error');\n                        emailInput.focus();\n                        return;\n                    }\n\n                    \/\/ Blokada przycisku i stan oczekiwania\n                    submitBtn.disabled = true;\n                    btnText.style.display = 'none';\n                    btnSpinner.style.display = 'inline-flex';\n                    feedback.style.display = 'none';\n\n                    fetch(restUrl, {\n                            method: 'POST',\n                            headers: {\n                                'Content-Type': 'application\/json',\n                                'X-Club-Card-Nonce': restNonce\n                            },\n                            body: JSON.stringify({\n                                email: emailVal,\n                                hp_website_check: hpVal,\n                                nonce: restNonce\n                            })\n                        })\n                        .then(function(res) {\n                            return res.json().then(function(data) {\n                                return {\n                                    ok: res.ok,\n                                    status: res.status,\n                                    data: data\n                                };\n                            });\n                        })\n                        .then(function(result) {\n                            submitBtn.disabled = false;\n                            btnText.style.display = 'inline-block';\n                            btnSpinner.style.display = 'none';\n\n                            if (result.ok && result.data && result.data.success) {\n                                showFeedback(result.data.message || 'Je\u015bli podany adres e-mail znajduje si\u0119 w naszej bazie, wys\u0142ali\u015bmy na niego kart\u0119 zawodnika wraz z za\u0142\u0105cznikiem. Sprawd\u017a swoj\u0105 skrzynk\u0119 odbiorcz\u0105 (oraz folder SPAM).', 'success');\n                                form.reset();\n                            } else {\n                                var errMsg = (result.data && result.data.message) ? result.data.message : 'Wyst\u0105pi\u0142 b\u0142\u0105d podczas wysy\u0142ania. Spr\u00f3buj ponownie za chwil\u0119.';\n                                showFeedback(errMsg, 'error');\n                            }\n                        })\n                        .catch(function(err) {\n                            submitBtn.disabled = false;\n                            btnText.style.display = 'inline-block';\n                            btnSpinner.style.display = 'none';\n                            showFeedback('B\u0142\u0105d po\u0142\u0105czenia z serwerem. Sprawd\u017a po\u0142\u0105czenie internetowe i spr\u00f3buj ponownie.', 'error');\n                        });\n                });\n\n                function showFeedback(msg, type) {\n                    feedback.className = 'club-feedback-notice ' + (type === 'success' ? 'club-feedback-success' : 'club-feedback-error');\n                    feedback.innerHTML = (type === 'success' ? '\u2705 ' : '\u26a0\ufe0f ') + msg;\n                    feedback.style.display = 'block';\n                }\n            })();\n        <\/script>\n    \n<\/div>\n\t\t\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":"","protected":false},"author":2,"featured_media":0,"parent":145,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-942","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/pages\/942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/comments?post=942"}],"version-history":[{"count":7,"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/pages\/942\/revisions"}],"predecessor-version":[{"id":949,"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/pages\/942\/revisions\/949"}],"up":[{"embeddable":true,"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/pages\/145"}],"wp:attachment":[{"href":"https:\/\/www.edge-skating-academy.pl\/index.php\/wp-json\/wp\/v2\/media?parent=942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}