{"id":16,"date":"2026-05-24T13:10:32","date_gmt":"2026-05-24T11:10:32","guid":{"rendered":"https:\/\/www.italiaolistica.it\/io-market\/?page_id=16"},"modified":"2026-05-25T14:15:53","modified_gmt":"2026-05-25T12:15:53","slug":"login","status":"publish","type":"page","link":"https:\/\/www.italiaolistica.it\/io-market\/login\/","title":{"rendered":"Login"},"content":{"rendered":"\n<style>\n.io-login-wrap { font-family: 'DM Sans', sans-serif; background: #ebf4f3; min-height: 60vh; display: flex; align-items: center; justify-content: center; padding: 40px 20px; }\n.io-login-card { background: #fff; border-radius: 12px; box-shadow: 0 8px 40px rgba(50,72,100,0.12); padding: 40px; width: 100%; max-width: 460px; }\n.io-login-logo { text-align: center; margin-bottom: 28px; }\n.io-login-logo-mark { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 800; color: #324864; display: block; }\n.io-login-logo-mark span { color: #C4835A; }\n.io-login-logo-sub { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #8A9E8C; }\n\n.io-login-tabs { display: flex; border-bottom: 2px solid #DDD8D0; margin-bottom: 24px; }\n.io-login-tab { flex: 1; background: none; border: none; padding: 12px; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600; color: #6B6B6B; cursor: pointer; transition: color 0.2s; border-bottom: 2px solid transparent; margin-bottom: -2px; }\n.io-login-tab.active { color: #324864; border-bottom-color: #324864; }\n\n.io-tab-panel { display: none; }\n.io-tab-panel.active { display: block; }\n\n.io-login-info { background: #ebf4f3; border-radius: 6px; padding: 12px 16px; font-size: 13px; color: #324864; margin-bottom: 20px; line-height: 1.7; }\n\n.io-login-field { margin-bottom: 16px; }\n.io-login-field label { display: block; font-size: 13px; font-weight: 500; color: #2C2C2C; margin-bottom: 6px; }\n.io-login-field input, .io-login-field textarea { width: 100%; padding: 10px 14px; border: 1.5px solid #DDD8D0; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-size: 14px; color: #2C2C2C; transition: border-color 0.2s; }\n.io-login-field input:focus, .io-login-field textarea:focus { outline: none; border-color: #324864; }\n.io-login-field textarea { resize: vertical; min-height: 80px; }\n\n.io-login-submit { width: 100%; background: #324864; color: #fff; border: none; padding: 14px; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background 0.2s; margin-top: 8px; }\n.io-login-submit:hover { background: #2a3f5a; }\n.io-login-submit:disabled { opacity: 0.6; cursor: not-allowed; }\n\n.io-login-links { text-align: center; font-size: 13px; color: #6B6B6B; margin-top: 18px; }\n.io-login-links a { color: #324864; text-decoration: none; font-weight: 500; }\n.io-login-links a:hover { color: #C4835A; }\n\n.io-forgot-link { text-align: right; margin-top: 6px; }\n.io-forgot-link a { font-size: 12px; color: #6B6B6B; text-decoration: none; }\n.io-forgot-link a:hover { color: #C4835A; }\n\n.io-success-msg { background: #E8F5E9; border: 1px solid #A5D6A7; border-radius: 6px; padding: 12px 16px; font-size: 13px; color: #2E7D32; margin-top: 14px; }\n.io-error-msg { background: #FFEBEE; border: 1px solid #FFCDD2; border-radius: 6px; padding: 12px 16px; font-size: 13px; color: #C62828; margin-top: 14px; }\n<\/style>\n\n<div class=\"io-login-wrap\">\n  <div class=\"io-login-card\">\n\n    <div class=\"io-login-logo\">\n      <a href=\"\/io-market\/\" style=\"text-decoration:none;\">\n        <span class=\"io-login-logo-mark\">IO <span>Market<\/span><\/span>\n        <span class=\"io-login-logo-sub\">Area Riservata Espositori<\/span>\n      <\/a>\n    <\/div>\n\n    <div class=\"io-login-tabs\">\n      <button class=\"io-login-tab active\" data-tab=\"accedi\">Accedi<\/button>\n      <button class=\"io-login-tab\" data-tab=\"registrati\">Registrati<\/button>\n    <\/div>\n\n    <!-- TAB ACCEDI -->\n    <div class=\"io-tab-panel active\" id=\"io-tab-accedi\">\n      <div class=\"io-login-info\">\n        Accedi con le credenziali ricevute via email. <strong>Non hai ancora uno spazio?<\/strong> Clicca su &#8220;Registrati&#8221;.\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Email<\/label>\n        <input type=\"email\" id=\"io-login-email\" placeholder=\"la-tua@email.it\">\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Password<\/label>\n        <input type=\"password\" id=\"io-login-password\" placeholder=\"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\">\n        <div class=\"io-forgot-link\">\n          <a href=\"#\" onclick=\"ioSwitchTab('recupera'); return false;\">Password dimenticata?<\/a>\n        <\/div>\n      <\/div>\n      <button class=\"io-login-submit\" onclick=\"ioHandleLogin()\">Accedi alla Dashboard<\/button>\n      <div id=\"io-login-msg\"><\/div>\n      <div class=\"io-login-links\">\n        Non hai ancora uno spazio? <a href=\"\/io-market\/info-espositori\/\">Scopri come acquistarlo<\/a>\n      <\/div>\n    <\/div>\n\n    <!-- TAB REGISTRATI -->\n    <div class=\"io-tab-panel\" id=\"io-tab-registrati\">\n      <div class=\"io-login-info\">\n        Compila il modulo per richiedere il tuo spazio espositore. Ti contatteremo entro 1-2 giorni lavorativi.\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Nome e Cognome *<\/label>\n        <input type=\"text\" id=\"io-reg-name\" placeholder=\"Mario Rossi\">\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Ragione sociale \/ Nome stand *<\/label>\n        <input type=\"text\" id=\"io-reg-company\" placeholder=\"La tua azienda\">\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Email *<\/label>\n        <input type=\"email\" id=\"io-reg-email\" placeholder=\"la-tua@email.it\">\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Sito web <span style=\"color:#8A9E8C; font-weight:400;\">(opzionale)<\/span><\/label>\n        <input type=\"url\" id=\"io-reg-website\" placeholder=\"https:\/\/...\">\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Instagram <span style=\"color:#8A9E8C; font-weight:400;\">(opzionale)<\/span><\/label>\n        <input type=\"url\" id=\"io-reg-instagram\" placeholder=\"https:\/\/instagram.com\/...\">\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Facebook <span style=\"color:#8A9E8C; font-weight:400;\">(opzionale)<\/span><\/label>\n        <input type=\"url\" id=\"io-reg-facebook\" placeholder=\"https:\/\/facebook.com\/...\">\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Messaggio <span style=\"color:#8A9E8C; font-weight:400;\">(opzionale)<\/span><\/label>\n        <textarea id=\"io-reg-message\" placeholder=\"Raccontaci brevemente cosa fai\u2026\"><\/textarea>\n      <\/div>\n      <button class=\"io-login-submit\" id=\"io-register-btn\" onclick=\"ioHandleRegister()\">Invia Richiesta<\/button>\n      <div id=\"io-register-msg\"><\/div>\n      <div class=\"io-login-links\">\n        Hai gi\u00e0 le credenziali? <a href=\"#\" onclick=\"ioSwitchTab('accedi'); return false;\">Accedi qui<\/a>\n      <\/div>\n    <\/div>\n\n    <!-- TAB RECUPERA -->\n    <div class=\"io-tab-panel\" id=\"io-tab-recupera\">\n      <div class=\"io-login-info\">\n        Inserisci la tua email. Ti invieremo le istruzioni per reimpostare la password.\n      <\/div>\n      <div class=\"io-login-field\">\n        <label>Email<\/label>\n        <input type=\"email\" id=\"io-recover-email\" placeholder=\"la-tua@email.it\">\n      <\/div>\n      <button class=\"io-login-submit\" onclick=\"ioHandleRecover()\">Invia Istruzioni<\/button>\n      <div id=\"io-recover-msg\"><\/div>\n      <div class=\"io-login-links\" style=\"margin-top:16px;\">\n        <a href=\"#\" onclick=\"ioSwitchTab('accedi'); return false;\">\u2190 Torna al login<\/a>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<script>\nfunction ioSwitchTab(tabId) {\n  document.querySelectorAll('.io-tab-panel').forEach(p => p.classList.remove('active'));\n  document.querySelectorAll('.io-login-tab').forEach(t => t.classList.remove('active'));\n  const panel = document.getElementById('io-tab-' + tabId);\n  if (panel) panel.classList.add('active');\n  const btn = document.querySelector('[data-tab=\"' + tabId + '\"]');\n  if (btn) btn.classList.add('active');\n}\n\ndocument.querySelectorAll('.io-login-tab').forEach(btn => {\n  btn.addEventListener('click', function() { ioSwitchTab(this.dataset.tab); });\n});\n\nwindow.addEventListener('DOMContentLoaded', function() {\n  const hash = window.location.hash.replace('#', '');\n  if (hash === 'registrati' || hash === 'recupera') ioSwitchTab(hash);\n});\n\nfunction ioHandleLogin() {\n  const email = document.getElementById('io-login-email').value.trim();\n  const password = document.getElementById('io-login-password').value;\n  const msg = document.getElementById('io-login-msg');\n  if (!email || !password) {\n    msg.innerHTML = '<div class=\"io-error-msg\">Inserisci email e password.<\/div>';\n    return;\n  }\n  msg.innerHTML = '<div class=\"io-login-info\">Accesso in corso\u2026 (funzione non ancora attiva in fase Alfa)<\/div>';\n}\n\nasync function ioHandleRegister() {\n  const name      = document.getElementById('io-reg-name').value.trim();\n  const company   = document.getElementById('io-reg-company').value.trim();\n  const email     = document.getElementById('io-reg-email').value.trim();\n  const website   = document.getElementById('io-reg-website').value.trim();\n  const instagram = document.getElementById('io-reg-instagram').value.trim();\n  const facebook  = document.getElementById('io-reg-facebook').value.trim();\n  const message   = document.getElementById('io-reg-message').value.trim();\n  const btn       = document.getElementById('io-register-btn');\n  const msg       = document.getElementById('io-register-msg');\n\n  if (!name || !company || !email) {\n    msg.innerHTML = '<div class=\"io-error-msg\">Compila tutti i campi obbligatori.<\/div>';\n    return;\n  }\n\n  btn.disabled = true;\n  btn.textContent = 'Invio in corso\u2026';\n  msg.innerHTML = '';\n\n  try {\n    const res = await fetch('\/io-market\/wp-json\/io-market\/v1\/register-request', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application\/json' },\n      body: JSON.stringify({ name, company, email, website, instagram, facebook, message })\n    });\n    const data = await res.json();\n    if (data.success) {\n      \/\/ Redirect alla pagina di conferma\n      window.location.href = '\/io-market\/registrazione-ricevuta\/';\n    } else {\n      msg.innerHTML = '<div class=\"io-error-msg\">' + (data.message || data.code || 'Errore sconosciuto.') + '<\/div>';\n      btn.disabled = false;\n      btn.textContent = 'Invia Richiesta';\n    }\n  } catch(e) {\n    msg.innerHTML = '<div class=\"io-error-msg\">Errore di connessione. Scrivi a iomarket@italiaolistica.it.<\/div>';\n    btn.disabled = false;\n    btn.textContent = 'Invia Richiesta';\n  }\n}\n\nfunction ioHandleRecover() {\n  const email = document.getElementById('io-recover-email').value.trim();\n  const msg = document.getElementById('io-recover-msg');\n  if (!email) {\n    msg.innerHTML = '<div class=\"io-error-msg\">Inserisci la tua email.<\/div>';\n    return;\n  }\n  msg.innerHTML = '<div class=\"io-success-msg\">Se l\\'indirizzo \u00e8 associato a un account, riceverai le istruzioni entro pochi minuti.<\/div>';\n  document.getElementById('io-recover-email').value = '';\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>IO Market Area Riservata Espositori Accedi Registrati Accedi con le credenziali ricevute via email. Non hai ancora uno spazio? Clicca su &#8220;Registrati&#8221;. Email Password Password dimenticata? Accedi alla Dashboard Non hai ancora uno spazio? Scopri come acquistarlo Compila il modulo per richiedere il tuo spazio espositore. Ti contatteremo entro 1-2 giorni lavorativi. Nome e Cognome&hellip;&nbsp;<\/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,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"class_list":["post-16","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/pages\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":5,"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/pages\/16\/revisions"}],"predecessor-version":[{"id":115,"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/pages\/16\/revisions\/115"}],"wp:attachment":[{"href":"https:\/\/www.italiaolistica.it\/io-market\/wp-json\/wp\/v2\/media?parent=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}