{"id":891,"date":"2025-10-13T18:22:06","date_gmt":"2025-10-13T10:22:06","guid":{"rendered":"https:\/\/lansonplace.cn\/winsland\/?page_id=891"},"modified":"2025-10-13T18:22:06","modified_gmt":"2025-10-13T10:22:06","slug":"member-login","status":"publish","type":"page","link":"https:\/\/lansonplace.cn\/winsland\/member-login\/","title":{"rendered":"Login"},"content":{"rendered":"        <div class=\"gha-member-portal gha-login-component\">\n            <div class=\"gha-container\">\n                <div class=\"login-form-wrapper\">\n                    <div class=\"login-header\">\n                        <h2>Lanson Place DISCOVERY Sign in<\/h2>\n                        <p>Please sign in to access your member benefits and exclusive offers.<\/p>\n                    <\/div>\n                    \n                    <form id=\"member-login-form\" class=\"member-login-form\">\n                        <div class=\"form-group\">\n                            <label for=\"login_email\">Email Address<span class=\"required\">*<\/span><\/label>\n                            <input type=\"email\" name=\"email\" id=\"login_email\" class=\"form-control\" required>\n                        <\/div>\n                        \n                        <div class=\"form-group\">\n                            <label for=\"login_password\">Password<span class=\"required\">*<\/span><\/label>\n                            <input type=\"password\" name=\"password\" id=\"login_password\" class=\"form-control\" required>\n                        <\/div>\n                        \n                        <div class=\"form-group form-check\">\n                            <input type=\"checkbox\" name=\"remember\" id=\"remember_me\" class=\"form-check-input\">\n                            <label for=\"remember_me\" class=\"form-check-label\">Remember me<\/label>\n                        <\/div>\n                        \n                                                \n                        <div class=\"form-actions\">\n                            <button type=\"submit\" class=\"button-text\" id=\"login-submit-btn\">\n                                Sign In                            <\/button>\n                            \n                            <div class=\"loading-indicator\" style=\"display: none;\">\n                                <div class=\"spinner\"><\/div>\n                                <span>Signing in...<\/span>\n                            <\/div>\n                        <\/div>\n                        \n                        <div class=\"form-links\">\n                            <a href=\"https:\/\/lansonplace.cn\/winsland\/forgot-password\/\" class=\"forgot-password-link\">\n                                Forgot your password?                            <\/a>\n                            \n                                                            <p class=\"register-link\">\n                                    Don&#039;t have an account?                                    <a href=\"https:\/\/lansonplace.cn\/winsland\/loyalty\/member-registration\/\">\n                                        Register here                                    <\/a>\n                                <\/p>\n                                                    <\/div>\n                    <\/form>\n                    \n                    <div id=\"login-message\" class=\"form-message\" style=\"display: none;\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <style>\n        .gha-login-component {\n            max-width: 500px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n        \n        .login-form-wrapper {\n            background: #fff;\n            border: 1px solid #ddd;\n            border-radius: 8px;\n            padding: 40px;\n            box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n        }\n        \n        .login-header {\n            text-align: center;\n            margin-bottom: 30px;\n        }\n        \n        .login-header h2 {\n            color: #004742;\n            margin-bottom: 10px;\n            font-size: 28px;\n        }\n        \n        .login-header p {\n            color: #666;\n            margin: 0;\n        }\n        \n        .form-group {\n            margin-bottom: 20px;\n        }\n        \n        .form-group label {\n            display: block;\n            margin-bottom: 5px;\n            font-weight: bold;\n            color: #333;\n        }\n        \n        .required {\n            color: #dc3545;\n        }\n        \n        .form-control {\n            width: 100%;\n            padding: 12px;\n            border: 1px solid #ddd;\n            border-radius: 4px;\n            font-size: 16px;\n            transition: border-color 0.3s ease;\n            box-sizing: border-box;\n        }\n        \n        .form-control:focus {\n            outline: none;\n            border-color: #004742;\n            box-shadow: 0 0 0 2px rgba(0,71,66,0.1);\n        }\n        \n        .form-check {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n        \n        .form-check-input {\n            width: auto;\n            margin: 0;\n        }\n        \n        .form-check-label {\n            margin: 0;\n            font-weight: normal;\n            cursor: pointer;\n        }\n        \n        .form-actions {\n            text-align: center;\n            margin: 30px 0 20px 0;\n        }\n        \n        \n        .loading-indicator {\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 10px;\n            margin-top: 15px;\n        }\n        \n        .spinner {\n            width: 20px;\n            height: 20px;\n            border: 2px solid #f3f3f3;\n            border-top: 2px solid #004742;\n            border-radius: 50%;\n            animation: spin 1s linear infinite;\n        }\n        \n        @keyframes spin {\n            0% { transform: rotate(0deg); }\n            100% { transform: rotate(360deg); }\n        }\n        \n        .form-links {\n            text-align: center;\n            border-top: 1px solid #eee;\n            padding-top: 20px;\n            text-decoration: none;\n        }\n        \n        .forgot-password-link {\n            border-bottom: 0px;\n            color: #004742;\n            text-decoration: none;\n            font-size: 14px;\n        }\n\n        .forgot-password-link {\n            color: #004742;\n            text-decoration: none;\n            font-size: 14px;\n        }\n        \n        .forgot-password-link:hover {\n            text-decoration: underline;\n        }\n        \n        .register-link {\n            margin-top: 15px;\n            font-size: 14px;\n            color: #666;\n        }\n        \n        .register-link a {\n            border-bottom: 0px;\n            color: #004742;\n            text-decoration: none;\n            font-weight: bold;\n        }\n        \n        .register-link a:hover {\n            text-decoration: underline;\n        }\n        \n        .form-message {\n            margin-top: 20px;\n            padding: 15px;\n            border-radius: 4px;\n            text-align: center;\n        }\n        \n        .form-message.success {\n            background-color: #d4edda;\n            color: #155724;\n            border: 1px solid #c3e6cb;\n        }\n        \n        .form-message.error {\n            background-color: #f8d7da;\n            color: #721c24;\n            border: 1px solid #f5c6cb;\n        }\n        \n        .already-logged-in {\n            text-align: center;\n            padding: 40px;\n            background: #f8f9fa;\n            border-radius: 8px;\n            border: 1px solid #dee2e6;\n        }\n        \n        .already-logged-in h3 {\n            color: #004742;\n            margin-bottom: 15px;\n        }\n        \n        .dashboard-button {\n            background: #004742;\n            color: white;\n            padding: 10px 20px;\n            text-decoration: none;\n            border-radius: 4px;\n            display: inline-block;\n            margin-top: 15px;\n            transition: background-color 0.3s ease;\n        }\n        \n        .dashboard-button:hover {\n            background: #003632;\n            color: white;\n            text-decoration: none;\n        }\n        \n        @media (max-width: 768px) {\n            .gha-login-component {\n                padding: 10px;\n            }\n            \n            .login-form-wrapper {\n                padding: 20px;\n            }\n        }\n        <\/style>\n\n        <script>\n        jQuery(document).ready(function($) {\n            $('#member-login-form').on('submit', function(e) {\n                e.preventDefault();\n                \n                var $form = $(this);\n                var $submitBtn = $('#login-submit-btn');\n                var $loadingIndicator = $('.loading-indicator');\n                var $message = $('#login-message');\n                \n                \/\/ Clear previous messages\n                $message.hide().removeClass('success error');\n                \n                \/\/ Show loading state\n                $submitBtn.prop('disabled', true);\n                $loadingIndicator.show();\n                \n                \/\/ Prepare form data - serialize the form data as expected by your existing system\n                var formData = $form.serialize();\n                \n                \/\/ Submit via AJAX using your existing action\n                $.ajax({\n                    type: 'POST',\n                    url: 'https:\/\/lansonplace.cn\/winsland\/wp-admin\/admin-ajax.php',\n                    data: {\n                        action: 'gha_login_member',\n                        gha_nonce: '796b8b1b28',\n                        formData: formData\n                    },\n                    success: function(response) {\n                        $submitBtn.prop('disabled', false);\n                        $loadingIndicator.hide();\n                        \n                        if (response.success) {\n                            $form.hide();\n                            $message.addClass('success').text('Login successful! Redirecting to your account...').show();\n                            \n                            \/\/ Redirect after successful login\n                            setTimeout(function() {\n                                if (response.data.redirect_url) {\n                                    window.location.href = response.data.redirect_url;\n                                } else {\n                                    \/\/ Default redirect to member profile or dashboard\n                                                                        window.location.href = 'https:\/\/lansonplace.cn\/winsland\/member-profile\/';\n                                }\n                            }, 1500);\n                        } else {\n                            $message.addClass('error').text(response.data.message).show();\n                        }\n                    },\n                    error: function(xhr, status, error) {\n                        $submitBtn.prop('disabled', false);\n                        $loadingIndicator.hide();\n                        $message.addClass('error').text('Connection error. Please check your internet connection and try again.').show();\n                        \n                        console.error('Login AJAX Error:', {\n                            status: status,\n                            error: error,\n                            response: xhr.responseText\n                        });\n                    }\n                });\n            });\n        });\n        <\/script>\n        \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":8,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-891","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Login - Lanson Place Winsland<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lansonplace.cn\/winsland\/?page_id=891\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Login - Lanson Place Winsland\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lansonplace.cn\/winsland\/?page_id=891\" \/>\n<meta property=\"og:site_name\" content=\"Lanson Place Winsland\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lansonplace.cn\/winsland\/?page_id=891\",\"url\":\"https:\/\/lansonplace.cn\/winsland\/?page_id=891\",\"name\":\"Login - Lanson Place Winsland\",\"isPartOf\":{\"@id\":\"https:\/\/lansonplace.cn\/winsland\/#website\"},\"datePublished\":\"2025-10-13T10:22:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lansonplace.cn\/winsland\/?page_id=891#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lansonplace.cn\/winsland\/?page_id=891\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lansonplace.cn\/winsland\/?page_id=891#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lansonplace.cn\/winsland\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Login\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lansonplace.cn\/winsland\/#website\",\"url\":\"https:\/\/lansonplace.cn\/winsland\/\",\"name\":\"Lanson Place Winsland\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lansonplace.cn\/winsland\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/lansonplace.cn\/winsland\/?page_id=891#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Lanson Place Winsland\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Login - Lanson Place Winsland","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lansonplace.cn\/winsland\/?page_id=891","og_locale":"en_GB","og_type":"article","og_title":"Login - Lanson Place Winsland","og_url":"https:\/\/lansonplace.cn\/winsland\/?page_id=891","og_site_name":"Lanson Place Winsland","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/lansonplace.cn\/winsland\/?page_id=891","url":"https:\/\/lansonplace.cn\/winsland\/?page_id=891","name":"Login - Lanson Place Winsland","isPartOf":{"@id":"https:\/\/lansonplace.cn\/winsland\/#website"},"datePublished":"2025-10-13T10:22:06+00:00","breadcrumb":{"@id":"https:\/\/lansonplace.cn\/winsland\/?page_id=891#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lansonplace.cn\/winsland\/?page_id=891"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/lansonplace.cn\/winsland\/?page_id=891#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lansonplace.cn\/winsland\/"},{"@type":"ListItem","position":2,"name":"Login"}]},{"@type":"WebSite","@id":"https:\/\/lansonplace.cn\/winsland\/#website","url":"https:\/\/lansonplace.cn\/winsland\/","name":"Lanson Place Winsland","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lansonplace.cn\/winsland\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/lansonplace.cn\/winsland\/?page_id=891#local-main-organization-logo","url":"","contentUrl":"","caption":"Lanson Place Winsland"}]}},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/pages\/891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/comments?post=891"}],"version-history":[{"count":1,"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/pages\/891\/revisions"}],"predecessor-version":[{"id":892,"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/pages\/891\/revisions\/892"}],"wp:attachment":[{"href":"https:\/\/lansonplace.cn\/winsland\/wp-json\/wp\/v2\/media?parent=891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}