{"id":93157,"date":"2026-10-20T09:42:11","date_gmt":"2026-10-20T08:42:11","guid":{"rendered":"https:\/\/staging.academiaclinicadragao.com\/?page_id=93157"},"modified":"2026-10-28T14:38:33","modified_gmt":"2026-10-28T14:38:33","slug":"perfil","status":"publish","type":"page","link":"https:\/\/staging.academiaclinicadragao.com\/en\/portal-dos-gestores-operacionais\/perfil\/","title":{"rendered":"Profile"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"93157\" class=\"elementor elementor-93157\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-02f338f elementor-section-boxed elementor-section-height-default elementor-section-height-default wd-section-disabled\" data-id=\"02f338f\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-04e32b8\" data-id=\"04e32b8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6fb9b1f elementor-widget elementor-widget-shortcode\" data-id=\"6fb9b1f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n\n\n\n<style>\n.gestor-i18n-en{display:none!important}\nhtml.gestor-profile-en .gestor-i18n-pt{display:none!important}\nhtml.gestor-profile-en .gestor-i18n-en{display:inline!important}\n<\/style>\n<script>\n(function(){\n  document.documentElement.classList.toggle('gestor-profile-en', \/^\\\/en(?:\\\/|$)\/i.test(window.location.pathname));\n})();\n<\/script>\n\n\n<div class=\"gestor-perfil-card\" id=\"gestor-perfil-card\" data-no-translation translate=\"no\">\n  <div class=\"gestor-perfil-header\">\n    <div class=\"gestor-perfil-heading\">\n      <div class=\"gestor-perfil-title-line\">\n        <svg width=\"27\" height=\"27\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"7\" r=\"4\"\/><path d=\"M4 21v-2a8 8 0 0 1 16 0v2\"\/><\/svg>\n        <h2><span class=\"gestor-i18n-pt\">Dados pessoais<\/span><span class=\"gestor-i18n-en\">Personal details<\/span><\/h2>\n      <\/div>\n      <p><span class=\"gestor-i18n-pt\">Consulte e atualize os seus dados de identifica\u00e7\u00e3o e contacto.<\/span><span class=\"gestor-i18n-en\">View and update your personal and contact details.<\/span><\/p>\n    <\/div>\n  <\/div>\n\n  <div id=\"icds-custom-form-container-6ae8b1cf10764\"><\/div><\/div>\n\n<div id=\"gestor-profile-toast\" role=\"status\" aria-live=\"polite\"><\/div>\n\n<style>\n.gestor-perfil-card{background:#fff!important;border-radius:18px!important;padding:28px 30px!important;box-shadow:0 4px 20px rgba(20,80,150,.07);box-sizing:border-box;width:100%;font-family:inherit}\n.gestor-perfil-card *{box-sizing:border-box}\n.gestor-perfil-header{margin-bottom:26px}\n.gestor-perfil-title-line{display:flex;align-items:center;gap:12px;color:#0954d9}\n.gestor-perfil-title-line h2{font-size:24px!important;color:#0954d9!important;font-weight:700!important;line-height:1.2!important;margin:0!important;text-transform:none!important}\n.gestor-perfil-heading p{margin:8px 0 0!important;font-size:14px;color:#6480ac}\n.gestor-perfil-main{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:start}\n.gestor-perfil-photo-area{min-width:0;display:flex;flex-direction:column;gap:10px}\n.gestor-perfil-label,.gestor-field label{display:block;color:#134bb9!important;font-size:14px;font-weight:700;margin:0 0 9px!important}\n.gestor-field label > span:not([class]),.gestor-required{color:#ef4444}\n.gestor-perfil-photo-preview{width:170px;max-width:100%;aspect-ratio:1\/1;display:flex;align-items:center;justify-content:center;border:1px solid #c6d8fd;border-radius:12px;background:#f8fbff;color:#8297bc;overflow:hidden;text-align:center;font-size:13px}\n.gestor-perfil-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}\n.gestor-perfil-photo-area input[type=file]{width:100%;font-size:12px;color:#164cb7}\n.gestor-perfil-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}\n.gestor-field{min-width:0}\n.gestor-field-wide{grid-column:1\/-1}\n.gestor-field input{display:block!important;width:100%!important;min-width:0!important;min-height:51px!important;padding:13px 15px!important;background:#fbfdff!important;color:#233b63!important;border:1px solid #c7d8fc!important;border-radius:11px!important;font-family:inherit!important;font-size:15px!important;box-shadow:none!important;outline:none!important}\n.gestor-field input::placeholder{color:#9aadd3!important}\n.gestor-field input:focus{border-color:#287efa!important;box-shadow:0 0 0 3px rgba(40,126,250,.1)!important}\n.gestor-field input[readonly]{background:#f1f5fd!important;color:#6880a5!important}\n.gestor-field small,.gestor-perfil-photo-area small{display:block;margin-top:6px;color:#7893c0;font-size:12px;line-height:1.4}\n.gestor-perfil-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e1e9fb;margin-top:26px;padding-top:24px}\n.gestor-perfil-footer p{margin:0!important;color:#7790b7;font-size:12px}\n.gestor-perfil-card .gestor-save-btn,.gestor-perfil-card .gestor-save-btn:hover,.gestor-perfil-card .gestor-save-btn:focus{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px!important;padding:12px 25px!important;background:#1676f4!important;color:#fff!important;border:0!important;border-radius:11px!important;font-size:14px!important;font-weight:700!important;cursor:pointer!important;box-shadow:0 6px 15px rgba(22,118,244,.18)!important;text-decoration:none!important}\n.gestor-perfil-card .gestor-save-btn:disabled{opacity:.65!important;cursor:wait!important}\n\/* DataPress's default spinner and notices are replaced by the custom toast. *\/\nimg[src*=\"\/integration-cds\/front\/custom-form\/img\/spinner\"]{display:none!important}\n#gestor-perfil-card .success-message,#gestor-perfil-card .error-message{display:none!important}\n#gestor-profile-toast{display:none;position:fixed;right:24px;bottom:24px;z-index:999999;pointer-events:none;max-width:min(400px,calc(100vw - 32px));padding:14px 19px;border-radius:9px;background:#1d4ed8;color:#fff;box-shadow:0 5px 18px #0003;font-size:14px}\n#gestor-profile-toast.ativo{display:block}\n#gestor-profile-toast.sucesso{background:#14532d}\n#gestor-profile-toast.erro{background:#991b1b}\n@media(max-width:850px){.gestor-perfil-main{grid-template-columns:1fr}.gestor-perfil-photo-area{max-width:250px}}\n@media(max-width:600px){.gestor-perfil-card{padding:20px 17px!important}.gestor-perfil-fields{grid-template-columns:minmax(0,1fr);gap:17px}.gestor-perfil-footer{flex-direction:column;align-items:stretch}.gestor-perfil-card .gestor-save-btn{width:100%}.gestor-perfil-title-line h2{font-size:21px!important}}\n<\/style>\n\n\n\n<script>\n(function(){\n  function initGestorProfile(){\n    const form=document.getElementById('gestor-perfil-form');\n    const toast=document.getElementById('gestor-profile-toast');\n    if(!form||!toast||form.dataset.ready==='1')return;\n    form.dataset.ready='1';\n    const englishProfile=\/^\\\/en(?:\\\/|$)\/i.test(window.location.pathname);\n    if(englishProfile){\n      form.querySelectorAll('[data-placeholder-en]').forEach(function(input){\n        input.placeholder=input.getAttribute('data-placeholder-en');\n      });\n      const currentPhoto=form.querySelector('#gestor-perfil-img');\n      if(currentPhoto)currentPhoto.alt='Operational manager photograph';\n    }\n\n    \/\/ Localized browser validation for required fields (including the photo upload).\n    \/\/ Keep native constraint validation and existing DataPress submission intact.\n    const requiredMessage=englishProfile?'This field is required.':'\u00c9 necess\u00e1rio preencher este campo.';\n    form.addEventListener('invalid',function(event){\n      const field=event.target;\n      if(field && field.required && typeof field.setCustomValidity==='function'){\n        \/\/ Reset any previous custom message so valueMissing reflects the current value.\n        field.setCustomValidity('');\n        if(field.validity.valueMissing) field.setCustomValidity(requiredMessage);\n      }\n    },true);\n    form.querySelectorAll('[required]').forEach(function(field){\n      if(typeof field.setCustomValidity!=='function')return;\n      const clear=function(){field.setCustomValidity('');};\n      field.addEventListener('input',clear);\n      field.addEventListener('change',clear);\n    });\n\n    const photoInput=document.getElementById('gestor-fotografia-input');\n    const photoPreview=document.getElementById('gestor-photo-preview');\n    if(photoInput&&photoPreview){\n      photoInput.addEventListener('change',function(){\n        const file=photoInput.files&&photoInput.files[0];\n        if(!file||!file.type.startsWith('image\/'))return;\n        const url=URL.createObjectURL(file);\n        const img=document.createElement('img');\n        img.alt=\/^\\\/en(?:\\\/|$)\/i.test(window.location.pathname)?'Photograph preview':'Pr\u00e9-visualiza\u00e7\u00e3o da fotografia';\n        img.onload=function(){URL.revokeObjectURL(url);};\n        img.src=url;\n        photoPreview.replaceChildren(img);\n      });\n    }\n    \/\/ Capture the actual language-specific URL before DataPress processes the form.\n    \/\/ This preserves \/en\/ (or Portuguese), query parameters and any fragment.\n    const profileReturnUrl=window.location.pathname+window.location.search+window.location.hash;\n    const isEnglish=\/^\\\/en(?:\\\/|$)\/i.test(window.location.pathname);\n    const successRaw='Dados atualizados com sucesso!';\n    const errorRaw='N\u00e3o foi poss\u00edvel atualizar os dados.';\n    const successMessage=isEnglish?'Details updated successfully!':successRaw;\n    const errorMessage=isEnglish?'Unable to update your details.':errorRaw;\n    let state='idle',timeout=null,scheduled=false;\n    function show(message,kind){toast.textContent=message;toast.className='ativo '+(kind||'');}\n    function resolve(kind){\n      if(state===kind)return;\n      state=kind;\n      clearTimeout(timeout);\n      show(kind==='success'?successMessage:errorMessage,kind==='success'?'sucesso':'erro');\n      if(kind==='success')setTimeout(function(){window.location.replace(profileReturnUrl);},1500);\n    }\n    function checkResponses(){\n      let found=null;\n      document.querySelectorAll('p,div,span,small,li,strong,.alert,.message,[role=\"alert\"]').forEach(function(el){\n        if(el===toast||el.contains(toast)||el.closest('#gestor-profile-toast')||el.closest('script,style'))return;\n        if(el.children.length>2)return;\n        const text=(el.textContent||'').replace(\/^[\\s\u2713\u2714]+\/,'').trim();\n        if(text!==successRaw&&text!==errorRaw&&text!==successMessage&&text!==errorMessage)return;\n        el.style.setProperty('display','none','important');\n        if(text===successRaw||text===successMessage)found='success';else if(!found)found='error';\n      });\n      if(found)resolve(found);\n    }\n    const marker=document.getElementById('gestor-profile-result');\n    if(marker)resolve(marker.dataset.result==='success'?'success':'error');\n    checkResponses();\n    const observer=new MutationObserver(function(){\n      if(scheduled)return;\n      scheduled=true;\n      requestAnimationFrame(function(){scheduled=false;checkResponses();});\n    });\n    observer.observe(document.body,{childList:true,subtree:true,characterData:true});\n    form.addEventListener('submit',function(event){\n      if(event.defaultPrevented||!form.checkValidity())return;\n      state='processing';\n      show(isEnglish?'Your changes are being saved...':'As suas altera\u00e7\u00f5es est\u00e3o a ser guardadas...','');\n      clearTimeout(timeout);\n      timeout=setTimeout(function(){\n        if(state==='processing'){\n          state='unknown';\n          show(isEnglish?'Unable to confirm the result. Check your details before trying again.':'N\u00e3o foi poss\u00edvel confirmar o resultado. Verifique os dados antes de repetir.','erro');\n        }\n      },20000);\n    });\n  }\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',initGestorProfile,{once:true});\n  else initGestorProfile();\n})();\n<\/script>\n\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":65,"featured_media":0,"parent":93123,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"courseId":0,"footnotes":""},"class_list":["post-93157","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/pages\/93157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/comments?post=93157"}],"version-history":[{"count":5,"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/pages\/93157\/revisions"}],"predecessor-version":[{"id":93811,"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/pages\/93157\/revisions\/93811"}],"up":[{"embeddable":true,"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/pages\/93123"}],"wp:attachment":[{"href":"https:\/\/staging.academiaclinicadragao.com\/en\/wp-json\/wp\/v2\/media?parent=93157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}