{"id":4335,"date":"2026-02-28T17:28:21","date_gmt":"2026-02-28T09:28:21","guid":{"rendered":"https:\/\/phi-cycling.cc\/ativacao-e-garantia\/"},"modified":"2026-04-08T09:42:18","modified_gmt":"2026-04-08T01:42:18","slug":"ativacao-e-garantia","status":"publish","type":"page","link":"https:\/\/phi-cycling.cc\/pt-pt\/ativacao-e-garantia\/","title":{"rendered":"Ativa\u00e7\u00e3o e garantia"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4335\" class=\"elementor elementor-4335 elementor-2761\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8365112 e-flex e-con-boxed e-con e-parent\" data-id=\"8365112\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-85efb9d elementor-widget elementor-widget-shortcode\" data-id=\"85efb9d\" 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=\"wc-hub-container\">\r\n            <style>\r\n                \/* \u5bb9\u5668\u6837\u5f0f *\/\r\n                .wc-hub-container {\r\n                    max-width: 1000px;\r\n                    margin: 40px auto;\r\n                    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\r\n                    color: #333;\r\n                }\r\n                .wc-hub-header {\r\n                    text-align: center;\r\n                    margin-bottom: 40px;\r\n                }\r\n                .wc-hub-header h2 {\r\n                    font-size: 28px;\r\n                    color: #2c3e50;\r\n                    margin-bottom: 10px;\r\n                }\r\n                .wc-hub-header p {\r\n                    color: #7f8c8d;\r\n                    font-size: 16px;\r\n                }\r\n\r\n                \/* \u7f51\u683c\u5e03\u5c40\uff1a\u684c\u9762\u7aef\u53cc\u680f *\/\r\n                .wc-hub-grid {\r\n                    display: grid;\r\n                    grid-template-columns: 1fr 1fr;\r\n                    gap: 30px;\r\n                }\r\n                \r\n                \/* \u5361\u7247\u901a\u7528\u6837\u5f0f *\/\r\n                .wc-card {\r\n                    background: #ffffff;\r\n                    border: 1px solid #e5e5e5;\r\n                    border-radius: 8px;\r\n                    padding: 30px;\r\n                    box-shadow: 0 4px 12px rgba(0,0,0,0.05);\r\n                    transition: transform 0.2s, box-shadow 0.2s;\r\n                }\r\n                .wc-card:hover {\r\n                    transform: translateY(-2px);\r\n                    box-shadow: 0 6px 16px rgba(0,0,0,0.08);\r\n                }\r\n                .wc-card h3 {\r\n                    margin-top: 0;\r\n                    color: #2c3e50;\r\n                    border-bottom: 2px solid #f0f0f0;\r\n                    padding-bottom: 15px;\r\n                    margin-bottom: 20px;\r\n                    font-size: 20px;\r\n                }\r\n                .wc-card p.desc {\r\n                    font-size: 14px;\r\n                    color: #666;\r\n                    margin-bottom: 25px;\r\n                    line-height: 1.5;\r\n                }\r\n\r\n                \/* \u8868\u5355\u5143\u7d20 *\/\r\n                .wc-form-group { margin-bottom: 20px; }\r\n                .wc-form-group label {\r\n                    display: block;\r\n                    margin-bottom: 8px;\r\n                    font-weight: 600;\r\n                    color: #34495e;\r\n                    font-size: 15px;\r\n                }\r\n                .wc-form-group input {\r\n                    width: 100%;\r\n                    padding: 12px;\r\n                    border: 1px solid #bdc3c7;\r\n                    border-radius: 4px;\r\n                    font-size: 16px;\r\n                    box-sizing: border-box;\r\n                    transition: border-color 0.3s;\r\n                }\r\n                .wc-form-group input:focus {\r\n                    border-color: #3498db;\r\n                    outline: none;\r\n                }\r\n\r\n                \/* \u6309\u94ae\u6837\u5f0f - \u4e25\u683c\u5339\u914d\u4e0a\u4e00\u7248\u672c\u98ce\u683c *\/\r\n                .wc-btn {\r\n                    width: 100%;\r\n                    padding: 14px;\r\n                    border: none;\r\n                    border-radius: 4px;\r\n                    font-size: 16px;\r\n                    font-weight: bold;\r\n                    cursor: pointer;\r\n                    transition: background 0.3s;\r\n                    text-align: center;\r\n                    color: #fff;\r\n                }\r\n                \/* \u6fc0\u6d3b\u6309\u94ae\uff1a\u6df1\u7070\u8272 (#2c3e50) *\/\r\n                .btn-activate {\r\n                    background: #2c3e50;\r\n                }\r\n                .btn-activate:hover {\r\n                    background: #34495e;\r\n                }\r\n                \/* \u67e5\u8be2\u6309\u94ae\uff1a\u84dd\u8272 (#3498db) *\/\r\n                .btn-check {\r\n                    background: #3498db;\r\n                }\r\n                .btn-check:hover {\r\n                    background: #2980b9;\r\n                }\r\n                \r\n                .wc-btn:disabled {\r\n                    background: #95a5a6 !important;\r\n                    cursor: not-allowed;\r\n                    opacity: 0.7;\r\n                }\r\n\r\n                \/* \u7ed3\u679c\u5c55\u793a\u533a *\/\r\n                .wc-result {\r\n                    margin-top: 25px;\r\n                    padding: 20px;\r\n                    border-radius: 4px;\r\n                    font-size: 15px;\r\n                    line-height: 1.5;\r\n                    display: none; \/* \u9ed8\u8ba4\u9690\u85cf *\/\r\n                    border: 1px solid transparent;\r\n                }\r\n                \/* \u6210\u529f\/\u6709\u6548 *\/\r\n                .res-success, .res-valid {\r\n                    background: #d4edda;\r\n                    color: #155724;\r\n                    border-color: #c3e6cb;\r\n                }\r\n                \/* \u9519\u8bef\/\u8fc7\u671f *\/\r\n                .res-error, .res-expired {\r\n                    background: #f8d7da;\r\n                    color: #721c24;\r\n                    border-color: #f5c6cb;\r\n                }\r\n                \/* \u63d0\u793a\u4fe1\u606f (\u672a\u6fc0\u6d3b) *\/\r\n                .res-info {\r\n                    background: #fff3cd;\r\n                    color: #856404;\r\n                    border-color: #ffeeba;\r\n                }\r\n\r\n                \/* \u54cd\u5e94\u5f0f\uff1a\u624b\u673a\u7aef\u53d8\u4e3a\u5355\u680f *\/\r\n                @media (max-width: 768px) {\r\n                    .wc-hub-grid {\r\n                        grid-template-columns: 1fr;\r\n                        gap: 20px;\r\n                    }\r\n                    .wc-hub-container {\r\n                        padding: 0 15px;\r\n                        margin: 20px auto;\r\n                    }\r\n                    .wc-card {\r\n                        padding: 20px;\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <div class=\"wc-hub-header\">\r\n                <h2>Wheel Warranty Center<\/h2>\r\n                <p>Activate your new wheelset or check the status of an existing registration.<\/p>\r\n            <\/div>\r\n\r\n            <div class=\"wc-hub-grid\">\r\n                <!-- \u5de6\u4fa7\uff1a\u6fc0\u6d3b\u8868\u5355 -->\r\n                <div class=\"wc-card\">\r\n                    <h3>Activate Warranty<\/h3>\r\n                    <p class=\"desc\">Register your carbon wheelset to activate your official 5-year warranty. Please ensure the barcode matches the sticker on your rim.<\/p>\r\n                    \r\n                    <form id=\"hub-activate-form\">\r\n                        <input type=\"hidden\" id=\"security\" name=\"security\" value=\"40de79669c\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/pt-pt\/wp-json\/wp\/v2\/pages\/4335\" \/>                        \r\n                        <div class=\"wc-form-group\">\r\n                            <label for=\"ha-barcode\">Barcode \/ Serial Number<\/label>\r\n                            <input type=\"text\" id=\"ha-barcode\" name=\"barcode\" required placeholder=\"e.g. CW-2023-X99\">\r\n                        <\/div>\r\n\r\n                        <div class=\"wc-form-group\">\r\n                            <label for=\"ha-name\">First Owner<\/label>\r\n                            <input type=\"text\" id=\"ha-name\" name=\"customer_name\" required placeholder=\"John Doe\">\r\n                        <\/div>\r\n\r\n                        <div class=\"wc-form-group\">\r\n                            <label for=\"ha-email\">Email Address<\/label>\r\n                            <input type=\"email\" id=\"ha-email\" name=\"customer_email\" required placeholder=\"john@example.com\">\r\n                        <\/div>\r\n\r\n                        <button type=\"submit\" id=\"btn-act-submit\" class=\"wc-btn btn-activate\">Activate Warranty<\/button>\r\n                    <\/form>\r\n\r\n                    <div id=\"hub-act-result\" class=\"wc-result\"><\/div>\r\n                <\/div>\r\n\r\n                <!-- \u53f3\u4fa7\uff1a\u67e5\u8be2\u8868\u5355 -->\r\n                <div class=\"wc-card\">\r\n                    <h3>Check Status<\/h3>\r\n                    <p class=\"desc\">Enter your wheel barcode to verify activation status, owner details, and warranty coverage period.<\/p>\r\n                    \r\n                    <form id=\"hub-check-form\">\r\n                        <input type=\"hidden\" id=\"security\" name=\"security\" value=\"40de79669c\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/pt-pt\/wp-json\/wp\/v2\/pages\/4335\" \/>                        \r\n                        <div class=\"wc-form-group\">\r\n                            <label for=\"hc-barcode\">Barcode \/ Serial Number<\/label>\r\n                            <input type=\"text\" id=\"hc-barcode\" name=\"barcode\" required placeholder=\"Enter barcode here...\">\r\n                        <\/div>\r\n\r\n                        <button type=\"submit\" id=\"btn-chk-submit\" class=\"wc-btn btn-check\">Check Status<\/button>\r\n                    <\/form>\r\n\r\n                    <div id=\"hub-chk-result\" class=\"wc-result\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <script>\r\n            jQuery(document).ready(function($) {\r\n                \r\n                \/\/ --- \u6fc0\u6d3b\u903b\u8f91 ---\r\n                $('#hub-activate-form').on('submit', function(e) {\r\n                    e.preventDefault();\r\n                    var $form = $(this);\r\n                    var $btn = $('#btn-act-submit');\r\n                    var $res = $('#hub-act-result');\r\n                    var formData = $form.serialize();\r\n\r\n                    $btn.prop('disabled', true).text('Verifying & Activating...');\r\n                    $res.hide().removeClass('res-success res-error res-info');\r\n\r\n                    $.ajax({\r\n                        url: 'https:\/\/phi-cycling.cc\/wp-admin\/admin-ajax.php',\r\n                        type: 'POST',\r\n                        data: formData + '&action=wc_activate_wheel',\r\n                        success: function(res) {\r\n                            $btn.prop('disabled', false).text('Activate Warranty');\r\n                            $res.show();\r\n                            \r\n                            if (res.success) {\r\n                                $res.addClass('res-success').html(\r\n                                    '<strong>\u2705 Activation Successful!<\/strong><br>' +\r\n                                    res.data.message + '<br>' +\r\n                                    '<div style=\"margin-top:10px; font-size:14px;\">' +\r\n                                    '<strong>Start:<\/strong> ' + res.data.start_date + ' | ' +\r\n                                    '<strong>Expires:<\/strong> ' + res.data.end_date +\r\n                                    '<\/div>'\r\n                                );\r\n                                $form[0].reset();\r\n                            } else {\r\n                                $res.addClass('res-error').html('<strong>\u26a0\ufe0f Activation Failed:<\/strong><br>' + res.data.message);\r\n                            }\r\n                        },\r\n                        error: function() {\r\n                            $btn.prop('disabled', false).text('Activate Warranty');\r\n                            $res.addClass('res-error').html('<strong>\u26a0\ufe0f Error:<\/strong> Network connection failed. Please try again.').show();\r\n                        }\r\n                    });\r\n                });\r\n\r\n                \/\/ --- \u67e5\u8be2\u903b\u8f91 ---\r\n                $('#hub-check-form').on('submit', function(e) {\r\n                    e.preventDefault();\r\n                    var $form = $(this);\r\n                    var $btn = $('#btn-chk-submit');\r\n                    var $res = $('#hub-chk-result');\r\n                    var formData = $form.serialize();\r\n\r\n                    $btn.prop('disabled', true).text('Checking...');\r\n                    $res.hide().removeClass('res-valid res-expired res-info res-error');\r\n\r\n                    $.ajax({\r\n                        url: 'https:\/\/phi-cycling.cc\/wp-admin\/admin-ajax.php',\r\n                        type: 'POST',\r\n                        data: formData + '&action=wc_check_warranty',\r\n                        success: function(res) {\r\n                            $btn.prop('disabled', false).text('Check Status');\r\n                            $res.show();\r\n\r\n                            if (res.success) {\r\n                                if (!res.data.active) {\r\n                                    $res.addClass('res-info').html(\r\n                                        '<strong>\u2139\ufe0f Not Activated<\/strong><br>' + \r\n                                        res.data.message + '<br>' +\r\n                                        '<small style=\"display:block; margin-top:8px;\">Please use the \"Activate Warranty\" form to register.<\/small>'\r\n                                    );\r\n                                } else {\r\n                                    var statusClass = res.data.is_expired ? 'res-expired' : 'res-valid';\r\n                                    $res.addClass(statusClass);\r\n                                    \r\n                                    var html = '<strong style=\"font-size:16px; display:block; margin-bottom:8px;\">' + res.data.status_label + '<\/strong>';\r\n                                    html += '<div style=\"font-size:14px; line-height:1.6;\">';\r\n                                    html += '<strong>Owner:<\/strong> ' + res.data.owner + '<br>';\r\n                                    html += '<strong>Activated:<\/strong> ' + res.data.activated_date + '<br>';\r\n                                    html += '<strong>Expires:<\/strong> ' + res.data.expiry_date + '<br>';\r\n                                    html += '<\/div>';\r\n                                    html += '<hr style=\"border:0; border-top:1px solid rgba(0,0,0,0.1); margin:10px 0;\">';\r\n                                    html += '<div style=\"font-weight:bold;\">' + res.data.message + '<\/div>';\r\n                                    \r\n                                    $res.html(html);\r\n                                }\r\n                            } else {\r\n                                $res.addClass('res-error').html('<strong>\u26a0\ufe0f Lookup Failed:<\/strong><br>' + res.data.message);\r\n                            }\r\n                        },\r\n                        error: function() {\r\n                            $btn.prop('disabled', false).text('Check Status');\r\n                            $res.addClass('res-error').html('<strong>\u26a0\ufe0f Error:<\/strong> Network connection failed. Please try again.').show();\r\n                        }\r\n                    });\r\n                });\r\n            });\r\n            <\/script>\r\n        <\/div>\r\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4335","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/pages\/4335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/comments?post=4335"}],"version-history":[{"count":1,"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/pages\/4335\/revisions"}],"predecessor-version":[{"id":4337,"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/pages\/4335\/revisions\/4337"}],"wp:attachment":[{"href":"https:\/\/phi-cycling.cc\/pt-pt\/wp-json\/wp\/v2\/media?parent=4335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}