{"id":55,"date":"2026-05-04T09:30:07","date_gmt":"2026-05-04T09:30:07","guid":{"rendered":"https:\/\/yourhomemall.shop\/my-account\/"},"modified":"2026-05-09T17:18:40","modified_gmt":"2026-05-09T17:18:40","slug":"my-account","status":"publish","type":"page","link":"https:\/\/yourhomemall.shop\/pl\/my-account\/","title":{"rendered":"Moje konto"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"55\" class=\"elementor elementor-55\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2bb80c58 e-flex e-con-boxed e-con e-parent\" data-id=\"2bb80c58\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4f50ea7 elementor-widget elementor-widget-html\" data-id=\"4f50ea7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!doctype html>\r\n<html lang=\"en\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <title>My account \u00b7 SparkNest<\/title>\r\n  <link rel=\"stylesheet\" href=\"\/pages\/page.css\">\r\n<\/head>\r\n<!--\r\n  WordPress:\r\n  - Asset paths are root-relative (\/pages\/...) so CSS\/JS load from \/my-account\/ and from \/pages\/account.html.\r\n  - \/my-account\/ auto-enables same-origin REST (inline script below). Optional: data-wp-nonce.\r\n  - If the theme already shows header\/footer + page title, add class wc-account-embed on <body> to hide duplicates.\r\n-->\r\n<body class=\"wf-body\">\r\n  <main class=\"wf-main wf-main--wide\">\r\n    <div class=\"wf-page-heading wf-page-heading--tight\">\r\n      <h1>My account<\/h1>\r\n    <\/div>\r\n\r\n    <!-- Login \/ register go to real WooCommerce & WordPress URLs (forms are server-side). Hidden after REST confirms you are signed in. -->\r\n    <p class=\"wc-account-live-hint\" id=\"wc-account-live-hint\" hidden><\/p>\r\n\r\n    <div class=\"wc-account-shell\">\r\n      <nav class=\"wc-account-nav\" aria-label=\"Account menu\">\r\n        <ul class=\"wc-account-nav__list\">\r\n          <li>\r\n            <a class=\"wc-account-nav__link is-active\" href=\"#dashboard\" data-wc-path=\"\/my-account\/\" data-demo-hash=\"#dashboard\">Dashboard<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a class=\"wc-account-nav__link\" href=\"#orders\" data-wc-path=\"\/my-account\/orders\/\" data-demo-hash=\"#orders\">Orders<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a class=\"wc-account-nav__link\" href=\"#downloads\" data-wc-path=\"\/my-account\/downloads\/\" data-demo-hash=\"#downloads\">Downloads<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a class=\"wc-account-nav__link\" href=\"#edit-address\" data-wc-path=\"\/my-account\/edit-address\/\" data-demo-hash=\"#edit-address\">Addresses<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a class=\"wc-account-nav__link\" href=\"#edit-account\" data-wc-path=\"\/my-account\/edit-account\/\" data-demo-hash=\"#edit-account\">Account details<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a class=\"wc-account-nav__link wc-account-nav__link--logout\" href=\"\/home\" data-wc-path=\"\/my-account\/customer-logout\/\">Log out<\/a>\r\n          <\/li>\r\n        <\/ul>\r\n      <\/nav>\r\n\r\n      <div class=\"wc-account-content\">\r\n        <div class=\"wc-account-panel\">\r\n          <div id=\"wc-panel-dashboard\" class=\"wc-account-panel-section\">\r\n            <p class=\"wc-account-hello\">\r\n              Hello <span class=\"wc-account-hello__name\">there<\/span>\r\n              <span class=\"wc-account-hello__hint\">(sign in on the live store to see your name)<\/span>\r\n            <\/p>\r\n            <section class=\"wc-account-dashboard-preview\" aria-labelledby=\"dash-preview-heading\">\r\n              <h2 id=\"dash-preview-heading\" class=\"wc-account-subheading\">Recent orders<\/h2>\r\n              <div id=\"wc-order-list-mount\">\r\n                <div class=\"wc-account-empty\">\r\n                  <p>No orders yet.<\/p>\r\n                  <div class=\"page-actions\">\r\n                    <a href=\"\/my-account\">Browse products<\/a>\r\n                    <a class=\"secondary\" href=\"\/cart\">View cart<\/a>\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/section>\r\n          <\/div>\r\n\r\n          <div id=\"wc-panel-orders\" class=\"wc-account-panel-section\" hidden>\r\n            <h2 class=\"wc-account-subheading\">Orders<\/h2>\r\n            <p class=\"wc-account-intro\">Track shipments and view past purchases.<\/p>\r\n            <div class=\"wc-account-empty\">\r\n              <p>You have not placed any orders yet.<\/p>\r\n              <div class=\"page-actions\">\r\n                <a href=\"\/pages\/departments.html\">Start shopping<\/a>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div id=\"wc-panel-downloads\" class=\"wc-account-panel-section\" hidden>\r\n            <h2 class=\"wc-account-subheading\">Downloads<\/h2>\r\n            <p class=\"wc-account-intro\">Digital files from your orders appear here when your store sells downloadable products.<\/p>\r\n            <div class=\"wc-account-empty\">\r\n              <p>No downloads available.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div id=\"wc-panel-addresses\" class=\"wc-account-panel-section\" hidden>\r\n            <h2 class=\"wc-account-subheading\">Addresses<\/h2>\r\n            <p class=\"wc-account-intro\">Billing and shipping addresses are saved on the live WooCommerce checkout.<\/p>\r\n            <div class=\"wc-account-empty\">\r\n              <p>No addresses saved in this static preview.<\/p>\r\n              <div class=\"page-actions\">\r\n                <a href=\"\/pages\/checkout.html\">Open checkout wireframe<\/a>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div id=\"wc-panel-account\" class=\"wc-account-panel-section\" hidden>\r\n            <h2 class=\"wc-account-subheading\">Account details<\/h2>\r\n            <p class=\"wc-account-intro\">Update your display name, email address, and password on the live site.<\/p>\r\n            <div class=\"wc-account-empty\">\r\n              <p>This demo page does not collect account data.<\/p>\r\n              <div class=\"page-actions\">\r\n                <a href=\"\/pages\/contact.html\">Contact support<\/a>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/main>\r\n  <script>\r\n(() => {\r\n  const HASH_TO_PANEL = {\r\n    \"#dashboard\": \"wc-panel-dashboard\",\r\n    \"#orders\": \"wc-panel-orders\",\r\n    \"#downloads\": \"wc-panel-downloads\",\r\n    \"#edit-address\": \"wc-panel-addresses\",\r\n    \"#edit-account\": \"wc-panel-account\",\r\n  };\r\n\r\n  function getStoreBase() {\r\n    const body = document.body;\r\n    if (body?.hasAttribute(\"data-store-api-root\")) {\r\n      const raw = body.getAttribute(\"data-store-api-root\")?.trim() ?? \"\";\r\n      if (raw) return raw.replace(\/\\\/$\/, \"\");\r\n      return window.location.origin.replace(\/\\\/$\/, \"\");\r\n    }\r\n    const path = window.location.pathname || \"\";\r\n    if (\/^\\\/my-account(\\\/|$)\/i.test(path)) {\r\n      return window.location.origin.replace(\/\\\/$\/, \"\");\r\n    }\r\n    return \"\";\r\n  }\r\n\r\n  const storeBase = getStoreBase();\r\n\r\n  const navLinks = document.querySelectorAll(\".wc-account-nav__link[data-wc-path]\");\r\n  const hintEl = document.getElementById(\"wc-account-live-hint\");\r\n  const authEl = document.getElementById(\"wc-account-auth\");\r\n  const loginLink = document.getElementById(\"wc-account-link-login\");\r\n  const registerLink = document.getElementById(\"wc-account-link-register\");\r\n  const registerFallback = document.getElementById(\"wc-account-link-register-fallback\");\r\n\r\n  function setAuthLinks() {\r\n    if (!loginLink || !registerLink) return;\r\n    if (storeBase) {\r\n      loginLink.href = storeBase + \"\/my-account\/\";\r\n      registerLink.href = storeBase + \"\/my-account\/\";\r\n      if (registerFallback) registerFallback.href = storeBase + \"\/wp-login.php?action=register\";\r\n    }\r\n  }\r\n  setAuthLinks();\r\n\r\n  if (!storeBase && authEl) {\r\n    authEl.hidden = false;\r\n  }\r\n\r\n  navLinks.forEach((a) => {\r\n    const path = a.getAttribute(\"data-wc-path\");\r\n    const isLogout = a.classList.contains(\"wc-account-nav__link--logout\");\r\n    if (storeBase) {\r\n      a.href = storeBase + path;\r\n      return;\r\n    }\r\n    if (isLogout) {\r\n      a.href = \"..\/main\/index.html\";\r\n      return;\r\n    }\r\n    const hash = a.getAttribute(\"data-demo-hash\") || \"#dashboard\";\r\n    a.href = hash;\r\n  });\r\n\r\n  if (storeBase && hintEl) {\r\n    hintEl.hidden = false;\r\n    hintEl.textContent = \"Menu links open WooCommerce at: \" + storeBase + \". Loading account data\u2026\";\r\n  }\r\n\r\n  function applyDemoHash(hash) {\r\n    const panelId = HASH_TO_PANEL[hash];\r\n    document.querySelectorAll(\".wc-account-panel-section\").forEach((el) => {\r\n      el.hidden = el.id !== panelId;\r\n    });\r\n    document.querySelectorAll(\".wc-account-nav__link[data-demo-hash]\").forEach((link) => {\r\n      const h = link.getAttribute(\"data-demo-hash\");\r\n      link.classList.toggle(\"is-active\", h === hash);\r\n    });\r\n  }\r\n\r\n  function syncDemoNav() {\r\n    if (storeBase) return;\r\n    let hash = window.location.hash;\r\n    if (!HASH_TO_PANEL[hash]) {\r\n      hash = \"#dashboard\";\r\n      const url = window.location.pathname + window.location.search + hash;\r\n      if (history.replaceState) history.replaceState(null, \"\", url);\r\n    }\r\n    applyDemoHash(hash);\r\n  }\r\n\r\n  if (!storeBase) {\r\n    window.addEventListener(\"hashchange\", syncDemoNav);\r\n    syncDemoNav();\r\n  } else {\r\n    document.querySelectorAll(\".wc-account-panel-section\").forEach((el) => {\r\n      el.hidden = el.id !== \"wc-panel-dashboard\";\r\n    });\r\n  }\r\n\r\n  function escapeHtml(s) {\r\n    const d = document.createElement(\"div\");\r\n    d.textContent = s == null ? \"\" : String(s);\r\n    return d.innerHTML;\r\n  }\r\n\r\n  function formatDate(iso) {\r\n    if (!iso) return \"\";\r\n    try {\r\n      return new Date(iso).toLocaleDateString(undefined, {\r\n        year: \"numeric\",\r\n        month: \"short\",\r\n        day: \"numeric\",\r\n      });\r\n    } catch (e) {\r\n      return String(iso);\r\n    }\r\n  }\r\n\r\n  function orderTotal(o) {\r\n    const sym = o.currency_symbol || \"\";\r\n    return sym + (o.total != null ? o.total : \"\");\r\n  }\r\n\r\n  function renderOrders(orders, origin) {\r\n    const mount = document.getElementById(\"wc-order-list-mount\");\r\n    if (!mount) return;\r\n    if (!Array.isArray(orders) || !orders.length) return;\r\n\r\n    const rows = orders\r\n      .map((o) => {\r\n        const id = escapeHtml(String(o.id));\r\n        const st = escapeHtml(o.status || \"\");\r\n        const tot = escapeHtml(orderTotal(o));\r\n        const dt = escapeHtml(formatDate(o.date_created));\r\n        return (\r\n          \"<tr><td><a href=\\\"\" +\r\n          escapeHtml(origin) +\r\n          \"\/my-account\/view-order\/\" +\r\n          id +\r\n          '\/\">#' +\r\n          id +\r\n          \"<\/a><\/td><td>\" +\r\n          st +\r\n          \"<\/td><td>\" +\r\n          tot +\r\n          \"<\/td><td>\" +\r\n          dt +\r\n          \"<\/td><\/tr>\"\r\n        );\r\n      })\r\n      .join(\"\");\r\n\r\n    mount.innerHTML =\r\n      '<div class=\"wc-account-order-wrap\">' +\r\n      '<table class=\"wc-account-order-table\" aria-label=\"Recent orders\">' +\r\n      \"<thead><tr><th>Order<\/th><th>Status<\/th><th>Total<\/th><th>Date<\/th><\/tr><\/thead>\" +\r\n      \"<tbody>\" +\r\n      rows +\r\n      \"<\/tbody><\/table><\/div>\";\r\n  }\r\n\r\n  function showHint(html) {\r\n    const el = document.getElementById(\"wc-account-live-hint\");\r\n    if (!el) return;\r\n    el.hidden = false;\r\n    el.innerHTML = html;\r\n  }\r\n\r\n  async function loadLiveAccount() {\r\n    if (!storeBase) return;\r\n    const origin = storeBase;\r\n    const nonce = document.body?.getAttribute(\"data-wp-nonce\")?.trim();\r\n    const restHeaders = nonce ? { \"X-WP-Nonce\": nonce } : {};\r\n\r\n    let me;\r\n    try {\r\n      const r = await fetch(origin + \"\/wp-json\/wp\/v2\/users\/me\", {\r\n        credentials: \"include\",\r\n        mode: \"cors\",\r\n        headers: Object.assign({}, restHeaders),\r\n      });\r\n      if (r.status === 401 || r.status === 403) {\r\n        if (authEl) authEl.hidden = false;\r\n        showHint(\r\n          \"You are not signed in, so your name and orders cannot be loaded. Use <strong>Log in<\/strong> or <strong>Create account<\/strong> above, or sign in on the \" +\r\n            '<a href=\"' +\r\n            escapeHtml(origin) +\r\n            '\/my-account\/\">My account<\/a> page.'\r\n        );\r\n        return;\r\n      }\r\n      if (!r.ok) throw new Error(\"users\/me HTTP \" + r.status);\r\n      me = await r.json();\r\n    } catch (e) {\r\n      if (authEl) authEl.hidden = false;\r\n      showHint(\r\n        \"Could not reach WordPress REST (<code>\/wp-json\/wp\/v2\/users\/me<\/code>). \" +\r\n          \"Host this page on the <strong>same site<\/strong> as WordPress over HTTPS. \" +\r\n          escapeHtml(e.message || e)\r\n      );\r\n      return;\r\n    }\r\n\r\n    const nameEl = document.querySelector(\".wc-account-hello__name\");\r\n    if (nameEl) nameEl.textContent = me.name || me.slug || \"Member\";\r\n    const subEl = document.querySelector(\".wc-account-hello__hint\");\r\n    if (subEl) subEl.textContent = \"(signed in via WordPress REST)\";\r\n\r\n    if (authEl) authEl.hidden = true;\r\n\r\n    if (hintEl) {\r\n      hintEl.hidden = false;\r\n      hintEl.textContent = \"Connected to \" + origin + \". Menu items go to your live WooCommerce URLs.\";\r\n    }\r\n\r\n    try {\r\n      const or = await fetch(\r\n        origin +\r\n          \"\/wp-json\/wc\/v3\/orders?customer=\" +\r\n          encodeURIComponent(String(me.id)) +\r\n          \"&per_page=5&orderby=date&order=desc\",\r\n        { credentials: \"include\", mode: \"cors\", headers: Object.assign({}, restHeaders) }\r\n      );\r\n      if (or.ok) {\r\n        const orders = await or.json();\r\n        renderOrders(orders, origin);\r\n        return;\r\n      }\r\n      if (or.status === 401 || or.status === 403) {\r\n        const mount = document.getElementById(\"wc-order-list-mount\");\r\n        if (mount) {\r\n          mount.innerHTML =\r\n            '<div class=\"wc-account-empty\">' +\r\n            \"<p>Your user cannot list orders via REST (roles \/ permissions). Open orders on the store.<\/p>\" +\r\n            '<div class=\"page-actions\">' +\r\n            '<a href=\"' +\r\n            escapeHtml(origin) +\r\n            '\/my-account\/orders\/\">View orders on WooCommerce<\/a><\/div><\/div>';\r\n        }\r\n        return;\r\n      }\r\n    } catch (ignoreErr) {}\r\n\r\n    const mount = document.getElementById(\"wc-order-list-mount\");\r\n    if (mount && !mount.querySelector(\".wc-account-order-wrap\")) {\r\n      mount.innerHTML =\r\n        '<div class=\"wc-account-empty\"><p>Could not load order list via API. Use the store dashboard instead.<\/p>' +\r\n        '<div class=\"page-actions\"><a href=\"' +\r\n        escapeHtml(origin) +\r\n        '\/my-account\/orders\/\">Orders on WooCommerce<\/a><\/div><\/div>';\r\n    }\r\n  }\r\n\r\n  if (storeBase) {\r\n    if (document.readyState === \"loading\") {\r\n      document.addEventListener(\"DOMContentLoaded\", loadLiveAccount);\r\n    } else {\r\n      loadLiveAccount();\r\n    }\r\n  }\r\n})();\r\n  <\/script>\r\n<\/body>\r\n<\/html>\r\n\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":"<p>My account \u00b7 SparkNest My account Dashboard Orders Downloads Addresses Account details Log out Hello there (sign in on the live store to see your name) Recent orders No orders yet. Browse products View cart Orders Track shipments and view past purchases. You have not placed any orders yet. Start shopping Downloads Digital files from [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-55","page","type-page","status-publish","hentry"],"acf":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/pages\/55","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":51,"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/pages\/55\/revisions"}],"predecessor-version":[{"id":1478,"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/pages\/55\/revisions\/1478"}],"wp:attachment":[{"href":"https:\/\/yourhomemall.shop\/pl\/wp-json\/wp\/v2\/media?parent=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}