{"id":11755,"date":"2025-09-25T05:14:43","date_gmt":"2025-09-25T05:14:43","guid":{"rendered":"https:\/\/droneth.or.th\/?page_id=11755"},"modified":"2025-09-26T11:08:31","modified_gmt":"2025-09-26T11:08:31","slug":"nfc-verify","status":"publish","type":"page","link":"https:\/\/droneth.or.th\/ko\/nfc-verify\/","title":{"rendered":"NFC Verify"},"content":{"rendered":"<div class=\"nfc-verify-container\">\n            <div class=\"nfc-verify-header\">\n                <div class=\"nfc-logo\">\n                    <i class=\"dashicons dashicons-id-alt\"><\/i>\n                <\/div>\n                <h2>NFC Drone Membership Verification<\/h2>\n                <p>\u0e01\u0e23\u0e38\u0e13\u0e32\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e15\u0e31\u0e27\u0e15\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01<\/p>\n            <\/div>\n            \n            <div class=\"nfc-verify-content\" id=\"nfc-verify-content\">\n                                    <div class=\"error-message\">\n                        <i class=\"dashicons dashicons-warning\"><\/i>\n                        <h3>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07<\/h3>\n                        <p>\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e32\u0e23\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e15\u0e31\u0e27\u0e15\u0e19 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49<\/p>\n                    <\/div>\n                            <\/div>\n            \n            <div class=\"nfc-profile-display\" id=\"nfc-profile-display\" style=\"display: none;\">\n                            <\/div>\n            \n            <div class=\"nfc-verify-footer\">\n                <div class=\"security-info\">\n                    <i class=\"dashicons dashicons-lock\"><\/i>\n                    <span>\u0e01\u0e32\u0e23\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e15\u0e31\u0e27\u0e15\u0e19\u0e19\u0e35\u0e49\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e41\u0e25\u0e30\u0e40\u0e02\u0e49\u0e32\u0e23\u0e2b\u0e31\u0e2a<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <style>\n        .nfc-verify-container {\n            max-width: 500px;\n            margin: 40px auto;\n            padding: 30px;\n            background: #fff;\n            border-radius: 15px;\n            box-shadow: 0 8px 25px rgba(0,0,0,0.1);\n            text-align: center;\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n        }\n        \n        .nfc-verify-header {\n            margin-bottom: 30px;\n        }\n        \n        .nfc-logo {\n            width: 80px;\n            height: 80px;\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            border-radius: 50%;\n            margin: 0 auto 20px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n        \n        .nfc-logo i {\n            font-size: 40px;\n            color: white;\n        }\n        \n        .nfc-verify-header h2 {\n            color: #333;\n            margin-bottom: 10px;\n            font-size: 24px;\n            font-weight: 600;\n        }\n        \n        .nfc-verify-header p {\n            color: #666;\n            font-size: 16px;\n        }\n        \n        .verify-step {\n            padding: 30px 0;\n        }\n        \n        .nfc-verify-button {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            color: white;\n            border: none;\n            padding: 15px 40px;\n            border-radius: 50px;\n            font-size: 18px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            display: inline-flex;\n            align-items: center;\n            gap: 10px;\n        }\n        \n        .nfc-verify-button:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);\n        }\n        \n        .nfc-verify-button:active {\n            transform: translateY(0);\n        }\n        \n        .nfc-verify-button i {\n            font-size: 20px;\n        }\n        \n        .verify-description {\n            margin-top: 15px;\n            color: #666;\n            font-size: 14px;\n        }\n        \n        .error-message {\n            padding: 30px;\n            background: #fef2f2;\n            border-radius: 10px;\n            color: #dc2626;\n        }\n        \n        .error-message i {\n            font-size: 40px;\n            margin-bottom: 15px;\n        }\n        \n        .error-message h3 {\n            margin-bottom: 10px;\n            font-size: 20px;\n        }\n        \n        .already-verified {\n            padding: 30px;\n            text-align: center;\n        }\n        \n        .success-icon {\n            width: 80px;\n            height: 80px;\n            background: linear-gradient(135deg, #10b981 0%, #059669 100%);\n            border-radius: 50%;\n            margin: 0 auto 20px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n        \n        .success-icon i {\n            font-size: 40px;\n            color: white;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            width: 100%;\n            height: 100%;\n        }\n        \n        .already-verified h3 {\n            color: #10b981;\n            margin-bottom: 10px;\n            font-size: 20px;\n        }\n        \n        .already-verified p {\n            color: #666;\n            margin-bottom: 30px;\n        }\n        \n        .action-buttons {\n            display: flex;\n            gap: 15px;\n            justify-content: center;\n            flex-wrap: wrap;\n        }\n        \n        .login-btn, .profile-btn {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            color: white;\n            text-decoration: none;\n            border: none;\n            padding: 12px 25px;\n            border-radius: 25px;\n            font-size: 16px;\n            font-weight: 500;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n        }\n        \n        .profile-btn {\n            background: linear-gradient(135deg, #10b981 0%, #059669 100%);\n        }\n        \n        .login-btn:hover, .profile-btn:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);\n            color: white;\n            text-decoration: none;\n        }\n        \n        .verified-profile-header {\n            padding: 20px;\n            text-align: center;\n            background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);\n            border-radius: 12px;\n            margin-bottom: 20px;\n        }\n        \n        .verified-profile-header .success-icon {\n            width: 60px;\n            height: 60px;\n            margin: 0 auto 15px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n        \n        .verified-profile-header .success-icon i {\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            width: 100%;\n            height: 100%;\n        }\n        \n        .verified-profile-header h3 {\n            color: #10b981;\n            margin-bottom: 5px;\n            font-size: 18px;\n        }\n        \n        .verified-profile-header p {\n            color: #666;\n            margin-bottom: 15px;\n        }\n        \n        .login-action {\n            text-align: center;\n            text-decoration: none;\n        }\n        \n        .login-btn-small {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            color: white;\n            text-decoration: none;\n            border: none;\n            padding: 8px 20px;\n            border-radius: 20px;\n            font-size: 14px;\n            font-weight: 500;\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            transition: all 0.3s ease;\n            text-decoration: none !important;\n        }\n        \n        .login-btn-small:hover {\n            transform: translateY(-1px);\n            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);\n            color: white;\n            text-decoration: none !important;\n        }\n        \n        .verification-success {\n            padding: 40px 30px;\n            text-align: center;\n        }\n        \n        .verification-success .success-icon {\n            width: 100px;\n            height: 100px;\n            margin: 0 auto 25px;\n            animation: pulse 2s infinite;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n        \n        .verification-success .success-icon i {\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            width: 100%;\n            height: 100%;\n        }\n        \n        .verification-success h3 {\n            color: #10b981;\n            font-size: 24px;\n            margin-bottom: 15px;\n        }\n        \n        .verification-success p {\n            color: #666;\n            font-size: 16px;\n        }\n        \n        @keyframes pulse {\n            0% { transform: scale(1); }\n            50% { transform: scale(1.1); }\n            100% { transform: scale(1); }\n        }\n        \n        .nfc-profile-display {\n            background: #f8fafc;\n            border-radius: 10px;\n            padding: 25px;\n            margin-top: 20px;\n        }\n        \n        .profile-header {\n            display: flex;\n            align-items: center;\n            gap: 20px;\n            margin-bottom: 25px;\n            text-align: left;\n        }\n        \n        .profile-avatar {\n            width: 80px;\n            height: 80px;\n            border-radius: 50%;\n            object-fit: cover;\n            border: 3px solid #667eea;\n        }\n        \n        .profile-avatar.default {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: white;\n            font-size: 30px;\n        }\n        \n        .profile-basic h3 {\n            margin: 0 0 5px 0;\n            color: #f5ebebff;\n            font-size: 22px;\n        }\n        \n        .profile-basic .member-status {\n            display: inline-block;\n            padding: 4px 12px;\n            border-radius: 20px;\n            font-size: 12px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }\n        \n        .member-status.active {\n            background: #10b981;\n            color: white;\n        }\n        \n        .member-status.expired {\n            background: #ef4444;\n            color: white;\n        }\n        \n        .profile-details {\n            display: grid;\n            grid-template-columns: 1fr 1fr;\n            gap: 15px;\n            text-align: left;\n        }\n\n        \n        \n        .profile-field {\n            background: white;\n            padding: 15px;\n            border-radius: 8px;\n            border-left: 4px solid #667eea;\n        }\n        \n        .profile-field label {\n            display: block;\n            color: #666;\n            font-size: 12px;\n            text-transform: uppercase;\n            font-weight: 600;\n            margin-bottom: 5px;\n        }\n        \n        .profile-field .value {\n            color: #333;\n            font-size: 16px;\n            font-weight: 500;\n        }\n        \n        .nfc-verify-footer {\n            margin-top: 30px;\n            padding-top: 20px;\n            border-top: 1px solid #e5e7eb;\n        }\n        \n        .security-info {\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 8px;\n            color: #666;\n            font-size: 14px;\n        }\n        \n        .security-info i {\n            color: #10b981;\n        }\n        \n        .loading {\n            opacity: 0.6;\n            pointer-events: none;\n        }\n        \n        .loading::after {\n            content: \"\";\n            display: inline-block;\n            width: 20px;\n            height: 20px;\n            border: 2px solid #ffffff;\n            border-radius: 50%;\n            border-top-color: transparent;\n            animation: spin 1s ease-in-out infinite;\n            margin-left: 10px;\n        }\n        \n        @keyframes spin {\n            to { transform: rotate(360deg); }\n        }\n        \n        @media (max-width: 768px) {\n            .nfc-verify-container {\n                margin: 20px;\n                padding: 20px;\n            }\n            \n            .profile-details {\n                grid-template-columns: 1fr;\n            }\n            \n            .profile-header {\n                flex-direction: column;\n                text-align: center;\n            }\n        }\n        <\/style>\n        \n        <script>\n        jQuery(document).ready(function($) {\n            $('#nfc-verify-btn').on('click', function() {\n                var btn = $(this);\n                var token = btn.data('token');\n                var memberId = btn.data('member-id');\n                \n                \/\/ Show loading state\n                btn.addClass('loading').prop('disabled', true);\n                btn.find('span').text('Verifying...');\n                \n                \/\/ AJAX request to verify NFC\n                $.ajax({\n                    url: 'https:\/\/droneth.or.th\/wp-admin\/admin-ajax.php',\n                    type: 'POST',\n                    data: {\n                        action: 'dam_verify_nfc',\n                        token: token,\n                        member_id: memberId,\n                        nonce: '3871d1ef11'\n                    },\n                    success: function(response) {\n                        if (response.success) {\n                            \/\/ Show success message and redirect to login\n                            $('#nfc-verify-content').html(\n                                '<div class=\"verification-success\">' +\n                                '<div class=\"success-icon\"><i class=\"dashicons dashicons-yes-alt\"><\/i><\/div>' +\n                                '<h3>\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e15\u0e31\u0e27\u0e15\u0e19\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08!<\/h3>' +\n                                '<p>\u0e01\u0e33\u0e25\u0e31\u0e07\u0e19\u0e33\u0e17\u0e48\u0e32\u0e19\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e31\u0e49\u0e07\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19...<\/p>' +\n                                '<\/div>'\n                            );\n                            \n                            \/\/ Redirect to login page after 2 seconds\n                            setTimeout(function() {\n                                var loginUrl = 'https:\/\/droneth.or.th\/ko\/member-login\/';\n                                \/\/ Add parameter to indicate NFC verification completed\n                                loginUrl += (loginUrl.indexOf('?') > -1 ? '&' : '?') + 'nfc_verified=1';\n                                window.location.href = loginUrl;\n                            }, 2000);\n                        } else {\n                            alert('\u0e01\u0e32\u0e23\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e44\u0e21\u0e48\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08: ' + response.data.message);\n                            btn.removeClass('loading').prop('disabled', false);\n                            btn.find('span').text('Verify Identity');\n                        }\n                    },\n                    error: function() {\n                        alert('\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07');\n                        btn.removeClass('loading').prop('disabled', false);\n                        btn.find('span').text('Verify Identity');\n                    }\n                });\n            });\n        });\n        <\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-11755","page","type-page","status-publish","hentry"],"acf":[],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"Teerachai Lertpanikul","author_link":"https:\/\/droneth.or.th\/ko\/author\/adminnu\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":null,"_links":{"self":[{"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/pages\/11755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/comments?post=11755"}],"version-history":[{"count":2,"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/pages\/11755\/revisions"}],"predecessor-version":[{"id":11790,"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/pages\/11755\/revisions\/11790"}],"wp:attachment":[{"href":"https:\/\/droneth.or.th\/ko\/wp-json\/wp\/v2\/media?parent=11755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}