new-site/site/public/_astro/hoisted.CPLk6gMU.js
justin f8cd37ac8c Initial commit — Performance West telecom compliance platform
Includes: API (Express/TypeScript), Astro site, Python workers,
document generators, FCC compliance tools, Canada CRTC formation,
Ansible infrastructure, and deployment scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 06:54:22 -05:00

1 line
6.4 KiB
JavaScript

import"./hoisted.yFz1BYXO.js";const i="/api/v1/canada-crtc",e=n=>document.getElementById(n),d=n=>document.getElementById(n),h=new URLSearchParams(window.location.search),m=h.get("order")||"",p=h.get("token")||"";m&&(d("order_number").value=m);p&&sessionStorage.setItem("pw_portal_token",p);const l=p||sessionStorage.getItem("pw_portal_token")||"";function u(){const n={"Content-Type":"application/json"};return l&&(n.Authorization=`Bearer ${l}`),n}m&&v(m);e("btn-load")?.addEventListener("click",()=>{v(d("order_number").value.trim())});async function v(n){if(n){e("load-error")?.classList.add("hidden");try{const r=await fetch(`${i}/orders/${n}`);if(!r.ok){e("load-error").textContent="Order not found.",e("load-error")?.classList.remove("hidden");return}const{order:s}=await r.json();e("svc-company").textContent=s.company_name_final||s.company_type||"—",e("svc-bc-number").textContent=s.incorporation_number||"Pending",e("svc-status").textContent=s.status||"—";const o=s.ca_did_number||"";e("svc-did").textContent=o||"Not yet provisioned",o||(e("did-badge").textContent="Pending");const t=s.ca_domain||"";e("svc-domain").textContent=t||"Not yet registered",t&&(e("svc-domain-emails").textContent=`admin@${t} · regulatory@${t} · info@${t} · support@${t}`),t||(e("domain-badge").textContent="Pending"),t&&b(t),e("services")?.classList.remove("hidden")}catch{e("load-error").textContent="Could not load order.",e("load-error")?.classList.remove("hidden")}}}e("btn-request-port")?.addEventListener("click",async()=>{const n=d("order_number").value.trim(),r=d("port_new_carrier").value.trim(),s=d("port_new_carrier_contact").value.trim(),o=d("port_requested_date").value||null;if(!r){alert("Enter your new carrier's name.");return}const t=e("btn-request-port");t.disabled=!0,t.textContent="Submitting...";try{const a=await fetch(`${i}/port-out/request`,{method:"POST",headers:u(),body:JSON.stringify({order_number:n,new_carrier:r,new_carrier_contact:s,requested_date:o})}),c=await a.json();a.ok?(e("port-request-form")?.classList.add("hidden"),e("port-request-success")?.classList.remove("hidden")):(alert(c.error||"Could not submit request. Please contact support."),t.disabled=!1,t.textContent="Submit Port-Out Request")}catch{alert("Network error. Please try again."),t.disabled=!1,t.textContent="Submit Port-Out Request"}});e("btn-unlock-domain")?.addEventListener("click",async()=>{const n=d("order_number").value.trim(),r=e("btn-unlock-domain");r.disabled=!0,r.textContent="Unlocking...";try{const s=await fetch(`${i}/domain-transfer-out`,{method:"POST",headers:u(),body:JSON.stringify({order_number:n})}),o=await s.json();if(s.ok&&o.success){o.auth_code&&(e("auth-code").textContent=o.auth_code,e("auth-code-section")?.classList.remove("hidden")),r.textContent="Transfer Request Submitted";const t=document.createElement("p");t.className="text-xs text-green-700 mt-2",t.textContent=o.message||"We'll email you the authorization code within 1 business day.",r.parentElement?.appendChild(t)}else alert(o.error||"Could not process request. Please contact support."),r.disabled=!1,r.textContent="Unlock Domain & Get Auth Code"}catch{alert("Network error. Please try again."),r.disabled=!1,r.textContent="Unlock Domain & Get Auth Code"}});e("btn-copy-auth")?.addEventListener("click",()=>{const n=e("auth-code").textContent||"";navigator.clipboard.writeText(n),e("btn-copy-auth").textContent="Copied!",setTimeout(()=>{e("btn-copy-auth").textContent="Copy"},2e3)});const f=["ns0.cp.carrierone.com","ns1.he.net","ns2.he.net","ns3.he.net","ns4.he.net","ns5.he.net"];async function b(n){const r=e("current-ns");if(!(!r||!n))try{const s=await fetch(`${i}/domain-nameservers?domain=${encodeURIComponent(n)}`,{headers:l?{Authorization:`Bearer ${l}`}:{}}),o=await s.json();if(s.ok&&o.nameservers){const t=o.nameservers.some(a=>a.includes("carrierone")||a.includes("he.net"));r.innerHTML=o.nameservers.map(a=>`<p class="text-sm font-mono">${a}</p>`).join("")+`<p class="mt-1 text-xs ${t?"text-green-600":"text-amber-600"}">${t?"✓ Using Performance West nameservers":"⚠ Using custom nameservers"}</p>`}else r.innerHTML='<p class="text-xs text-gray-400">Could not load nameservers</p>'}catch{r.innerHTML='<p class="text-xs text-gray-400">Could not load nameservers</p>'}}e("ns-confirm")?.addEventListener("change",()=>{const n=e("ns-confirm").checked;e("btn-update-ns").disabled=!n});e("btn-update-ns")?.addEventListener("click",async()=>{const n=d("order_number").value.trim(),r=[d("ns1").value.trim(),d("ns2").value.trim(),d("ns3").value.trim(),d("ns4").value.trim()].filter(Boolean);if(r.length<2){alert("At least 2 nameservers are required.");return}const s=e("btn-update-ns");s.disabled=!0,s.textContent="Updating...";try{const o=await fetch(`${i}/domain-nameservers`,{method:"POST",headers:u(),body:JSON.stringify({order_number:n,nameservers:r})}),t=await o.json(),a=e("ns-result");if(o.ok&&t.success){a.className="mt-4 rounded-lg p-4 text-sm bg-green-50 border border-green-200 text-green-800",a.textContent="Nameservers updated. DNS propagation may take up to 48 hours.",a.classList.remove("hidden");const c=e("svc-domain").textContent;c&&c!=="—"&&b(c)}else a.className="mt-4 rounded-lg p-4 text-sm bg-red-50 border border-red-200 text-red-800",a.textContent=t.error||"Failed to update nameservers.",a.classList.remove("hidden")}catch{alert("Network error. Please try again.")}s.disabled=!1,s.textContent="Update Nameservers",e("ns-confirm").checked=!1});e("btn-restore-ns")?.addEventListener("click",async()=>{const n=d("order_number").value.trim();if(!confirm("Restore nameservers to Performance West? Your website and email will resume once DNS propagates (up to 48 hours)."))return;const r=e("btn-restore-ns");r.disabled=!0,r.textContent="Restoring...";try{const s=await fetch(`${i}/domain-nameservers`,{method:"POST",headers:u(),body:JSON.stringify({order_number:n,nameservers:f})}),o=await s.json(),t=e("ns-result");if(s.ok&&o.success){t.className="mt-4 rounded-lg p-4 text-sm bg-green-50 border border-green-200 text-green-800",t.textContent="Nameservers restored to Performance West. DNS propagation may take up to 48 hours.",t.classList.remove("hidden");const a=e("svc-domain").textContent;a&&a!=="—"&&b(a)}else t.className="mt-4 rounded-lg p-4 text-sm bg-red-50 border border-red-200 text-red-800",t.textContent=o.error||"Failed to restore nameservers.",t.classList.remove("hidden")}catch{alert("Network error. Please try again.")}r.disabled=!1,r.textContent="Restore to Our Nameservers"});