{"id":9604,"date":"2026-01-19T20:08:38","date_gmt":"2026-01-19T20:08:38","guid":{"rendered":"https:\/\/proqcchina.com\/?page_id=9604"},"modified":"2026-01-19T20:08:38","modified_gmt":"2026-01-19T20:08:38","slug":"reset-password","status":"publish","type":"page","link":"https:\/\/proqcchina.com\/ar\/reset-password\/","title":{"rendered":"reset-password"},"content":{"rendered":"<style>\n  * { box-sizing: border-box; }\n  body { margin: 0; }\n\n  .reset-page {\n    min-height: 100vh;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: #f6f8fc;\n    padding: 20px;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n      Roboto, Inter, Arial, sans-serif;\n  }\n\n  .reset-card {\n    width: 100%;\n    max-width: 520px;\n    background: #ffffff;\n    padding: 44px 36px;\n    border-radius: 18px;\n    text-align: center;\n    box-shadow: 0 25px 60px rgba(0,0,0,0.08);\n  }\n\n  .reset-logo {\n    display: flex;\n    justify-content: center;\n    margin-bottom: 22px;\n  }\n\n  .reset-logo img {\n    height: 52px;\n  }\n\n  .reset-title {\n    font-size: 26px;\n    font-weight: 700;\n    margin-bottom: 12px;\n    color: #0b1f33;\n  }\n\n  .reset-message {\n    font-size: 16px;\n    color: #555;\n    margin-bottom: 22px;\n  }\n\n  .reset-input {\n    width: 100%;\n    padding: 14px;\n    border-radius: 10px;\n    border: 1px solid #ddd;\n    font-size: 15px;\n    margin-bottom: 14px;\n  }\n\n  .reset-btn {\n    width: 100%;\n    padding: 14px;\n    background: #4f5df7;\n    color: #fff;\n    border-radius: 12px;\n    border: none;\n    font-weight: 600;\n    cursor: pointer;\n  }\n\n  .reset-btn:hover {\n    opacity: 0.95;\n  }\n\n  @media (max-width: 480px) {\n    .reset-card {\n      padding: 34px 22px;\n    }\n    .reset-title { font-size: 22px; }\n  }\n<\/style>\n\n<div class=\"reset-page\">\n  <div class=\"reset-card\">\n    <div class=\"reset-logo\">\n      <img decoding=\"async\"\n        src=\"http:\/\/proqcchina.com\/wp-content\/uploads\/2025\/11\/Logo-transparent-123-e1765404472305.png\"\n        alt=\"ProQCChina\"\n      \/>\n    <\/div>\n\n    <h1 class=\"reset-title\" id=\"resetTitle\">\n      Reset your password\n    <\/h1>\n\n    <p class=\"reset-message\" id=\"resetMsg\">\n      Enter your new password below.\n    <\/p>\n\n    <input\n      type=\"password\"\n      id=\"newPassword\"\n      class=\"reset-input\"\n      placeholder=\"New password\"\n    \/>\n\n    <button class=\"reset-btn\" id=\"resetBtn\">\n      Set new password\n    <\/button>\n  <\/div>\n<\/div>\n\n<script type=\"module\">\n  import { initializeApp } from \"https:\/\/www.gstatic.com\/firebasejs\/10.7.1\/firebase-app.js\";\n  import {\n    getAuth,\n    verifyPasswordResetCode,\n    confirmPasswordReset\n  } from \"https:\/\/www.gstatic.com\/firebasejs\/10.7.1\/firebase-auth.js\";\n\n  const firebaseConfig = {\n    apiKey: \"AIzaSyB-X_lVUZEkrcz21TrFUqyHuqjyS7jGGwQ\",\n    authDomain: \"proqcchina.firebaseapp.com\",\n    projectId: \"proqcchina\",\n    appId: \"1:342470542449:web:0586ff4faa2cd6a470c7d0\"\n  };\n\n  const app = initializeApp(firebaseConfig);\n  const auth = getAuth(app);\n\n  const params = new URLSearchParams(window.location.search);\n  const oobCode = params.get(\"oobCode\");\n\n  const title = document.getElementById(\"resetTitle\");\n  const msg = document.getElementById(\"resetMsg\");\n  const btn = document.getElementById(\"resetBtn\");\n  const input = document.getElementById(\"newPassword\");\n\n  if (!oobCode) {\n    title.innerText = \"Invalid reset link\";\n    msg.innerText = \"Please request a new password reset.\";\n    btn.style.display = \"none\";\n  } else {\n    verifyPasswordResetCode(auth, oobCode)\n      .catch(() => {\n        title.innerText = \"Invalid or expired link\";\n        msg.innerText = \"Please request a new password reset.\";\n        btn.style.display = \"none\";\n      });\n  }\n\n  btn.addEventListener(\"click\", async () => {\n    const password = input.value.trim();\n    if (password.length < 6) {\n      msg.innerText = \"Password must be at least 6 characters.\";\n      return;\n    }\n\n    try {\n      await confirmPasswordReset(auth, oobCode, password);\n      title.innerText = \"Password updated \ud83c\udf89\";\n      msg.innerText = \"Redirecting you to login\u2026\";\n      btn.style.display = \"none\";\n      setTimeout(() => window.location.href = \"\/login\", 2500);\n    } catch {\n      msg.innerText = \"Failed to reset password. Try again.\";\n    }\n  });\n<\/script>","protected":false},"excerpt":{"rendered":"<p>Reset your password Enter your new password below. Set new password<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"_joinchat":[],"footnotes":""},"class_list":["post-9604","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/pages\/9604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/comments?post=9604"}],"version-history":[{"count":1,"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/pages\/9604\/revisions"}],"predecessor-version":[{"id":9605,"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/pages\/9604\/revisions\/9605"}],"wp:attachment":[{"href":"https:\/\/proqcchina.com\/ar\/wp-json\/wp\/v2\/media?parent=9604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}