ngx-xtroedge-cms 1.3.4 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.global.js +2 -2
- package/dist/index.js +12 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.global.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var XtroedgeCMSLib=(()=>{var x=Object.defineProperty;var
|
|
1
|
+
"use strict";var XtroedgeCMSLib=(()=>{var x=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var k=(g,t)=>{for(var e in t)x(g,e,{get:t[e],enumerable:!0})},I=(g,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of M(t))!C.call(g,s)&&s!==e&&x(g,s,{get:()=>t[s],enumerable:!(i=L(t,s))||i.enumerable});return g};var P=g=>I(x({},"__esModule",{value:!0}),g);var O={};k(O,{XtroedgeCMS:()=>v});var w=`
|
|
2
2
|
/* ===== XTROEDGE CMS ===== */
|
|
3
3
|
|
|
4
4
|
/* LOADER */
|
|
@@ -320,4 +320,4 @@
|
|
|
320
320
|
<button class="lcms-login-btn" id="lcms-login-btn">Sign In</button>
|
|
321
321
|
<div class="lcms-login-error" id="lcms-login-error"></div>
|
|
322
322
|
</div>
|
|
323
|
-
`,document.body.appendChild(t),this.loginModalEl=t;let e=t.querySelector("#lcms-login-btn"),i=t.querySelector("#lcms-login-email"),s=t.querySelector("#lcms-login-password"),n=()=>this.attemptLogin(i.value.trim(),s.value);e.addEventListener("click",n),s.addEventListener("keydown",a=>{a.key==="Enter"&&n()}),setTimeout(()=>i.focus(),50)}hideLoginModal(){this.loginModalEl?.remove(),this.loginModalEl=null}async attemptLogin(t,e){let i=document.getElementById("lcms-login-btn"),s=document.getElementById("lcms-login-error");if(!t||!e){s.textContent="Please enter your username and password.",s.classList.add("visible");return}i.disabled=!0,i.textContent="Signing in...",s.classList.remove("visible");try{let n=this.config.loginUrl||`${this.config.apiBase}/auth/login`,a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t,password:e})});if(!a.ok)throw new Error(
|
|
323
|
+
`,document.body.appendChild(t),this.loginModalEl=t;let e=t.querySelector("#lcms-login-btn"),i=t.querySelector("#lcms-login-email"),s=t.querySelector("#lcms-login-password"),n=()=>this.attemptLogin(i.value.trim(),s.value);e.addEventListener("click",n),s.addEventListener("keydown",a=>{a.key==="Enter"&&n()}),setTimeout(()=>i.focus(),50)}hideLoginModal(){this.loginModalEl?.remove(),this.loginModalEl=null}async attemptLogin(t,e){let i=document.getElementById("lcms-login-btn"),s=document.getElementById("lcms-login-error");if(!t||!e){s.textContent="Please enter your username and password.",s.classList.add("visible");return}i.disabled=!0,i.textContent="Signing in...",s.classList.remove("visible");try{let n=this.config.loginUrl||`${this.config.apiBase}/auth/login`,a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t,password:e})}),o=null;try{o=await a.json()}catch{}if(!a.ok){let d=o?.message||o?.error||null;throw new Error(d||`HTTP ${a.status}`)}let r=o?.token||o?.authToken||o?.auth_token||o?.data?.token;if(!r)throw new Error("Login successful but no token returned.");localStorage.setItem("builder_token",r),this.hideLoginModal(),this.editMode=!0,this.pendingEditMode=!1,sessionStorage.setItem("builder_edit_mode","true"),this.applyEditMode(!0),this.updateUI(),this.loadPageContent("draft")}catch(n){i.disabled=!1,i.textContent="Sign In",s.textContent=n?.message||"Login failed. Please try again.",s.classList.add("visible")}}resolveSiteIdentifier(){let t=window.location.hostname;if(t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.startsWith("192.168."))return t;let e=localStorage.getItem("xtroedge_site_id");return e||(e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,i=>{let s=Math.random()*16|0;return(i==="x"?s:s&3|8).toString(16)}),localStorage.setItem("xtroedge_site_id",e)),e}hexToRgb(t){let e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?`${parseInt(e[1],16)},${parseInt(e[2],16)},${parseInt(e[3],16)}`:"0,200,83"}getDarkerColor(t){let e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(!e)return"#2E7D32";let i=Math.max(0,Math.floor(parseInt(e[1],16)*.6)),s=Math.max(0,Math.floor(parseInt(e[2],16)*.6)),n=Math.max(0,Math.floor(parseInt(e[3],16)*.6));return`#${i.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}${n.toString(16).padStart(2,"0")}`}applyThemeColor(t){if(this.highlightColor=t,document.documentElement.style.setProperty("--lcms-primary",t),document.documentElement.style.setProperty("--lcms-primary-rgb",this.hexToRgb(t)),document.documentElement.style.setProperty("--lcms-primary-dark",this.getDarkerColor(t)),this.editMode){for(let[i]of this.managedElements)i.style.borderBottom=`2px dashed ${t}`;for(let[i]of this.managedImages)i.style.outline=`2px dashed ${t}`}this.panelEl?.querySelectorAll(".lcms-theme-swatch")?.forEach(i=>{i.classList.toggle("active",i.dataset.color===t)}),localStorage.setItem("xtroedge_theme_color",t)}static create(t){let e=new g(t);return e.init(),e}static autoInit(){if(window.__xtroedge_cms_instance__)return;let t=window.__XTROEDGE_CMS_CONFIG__||{},e=g.create(t);window.__xtroedge_cms_instance__=e}};function T(){v.autoInit()}typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",T):T());return P(O);})();
|
package/dist/index.js
CHANGED
|
@@ -1847,10 +1847,17 @@ var XtroedgeCMS = class _XtroedgeCMS {
|
|
|
1847
1847
|
headers: { "Content-Type": "application/json" },
|
|
1848
1848
|
body: JSON.stringify({ username: email, password })
|
|
1849
1849
|
});
|
|
1850
|
-
|
|
1851
|
-
|
|
1850
|
+
let data = null;
|
|
1851
|
+
try {
|
|
1852
|
+
data = await res.json();
|
|
1853
|
+
} catch {
|
|
1854
|
+
}
|
|
1855
|
+
if (!res.ok) {
|
|
1856
|
+
const apiMsg = data?.message || data?.error || null;
|
|
1857
|
+
throw new Error(apiMsg || `HTTP ${res.status}`);
|
|
1858
|
+
}
|
|
1852
1859
|
const token = data?.token || data?.authToken || data?.auth_token || data?.data?.token;
|
|
1853
|
-
if (!token) throw new Error("
|
|
1860
|
+
if (!token) throw new Error("Login successful but no token returned.");
|
|
1854
1861
|
localStorage.setItem("builder_token", token);
|
|
1855
1862
|
this.hideLoginModal();
|
|
1856
1863
|
this.editMode = true;
|
|
@@ -1859,10 +1866,10 @@ var XtroedgeCMS = class _XtroedgeCMS {
|
|
|
1859
1866
|
this.applyEditMode(true);
|
|
1860
1867
|
this.updateUI();
|
|
1861
1868
|
this.loadPageContent("draft");
|
|
1862
|
-
} catch {
|
|
1869
|
+
} catch (err) {
|
|
1863
1870
|
btn.disabled = false;
|
|
1864
1871
|
btn.textContent = "Sign In";
|
|
1865
|
-
errorEl.textContent = "
|
|
1872
|
+
errorEl.textContent = err?.message || "Login failed. Please try again.";
|
|
1866
1873
|
errorEl.classList.add("visible");
|
|
1867
1874
|
}
|
|
1868
1875
|
}
|