1import{e as D,aV as oe,r as u,j as e,aa as le,b1 as ce,y as C,aO as f}from"./index-CzMEFmtw.js";import{P as de,a as he,C as _}from"./ui-BklIU2Vp.js";import{J as ue}from"./JsonEditor-BjmWdFkX.js";import{M as z}from"./MediaPicker-D2IJuFJa.js";import{d as ge,m as me,a as pe,b as xe,p as fe,f as be}from"./serviceData-Bzv-OOOd.js";import{b as ve,a as ye,c as we,p as ke,d as je,i as Ne,f as Se}from"./courseData-42s9Mp91.js";import{h as Ce,a as _e,b as Ae}from"./hero-video-3.mp4.asset-BmBy6Fx5.js";import{P as $e}from"./plus-DZqQktxt.js";import{S as Ee}from"./save-Bu384Y2v.js";import{T as Te}from"./trash-2-gzkfqCHP.js";import{I as De}from"./image-DUijihr1.js";import{V as Ie}from"./video-CKMpWI1a.js";import"./file-video-DCRmgGhD.js";import"./upload-C1EWCH4L.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Le=D("Braces",[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]]);/** 7 * @license lucide-react v0.462.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const He=D("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/** 12 * @license lucide-react v0.462.0 - ISC 13 * 14 * This source code is licensed under the ISC license. 15 * See the LICENSE file in the root directory of this source tree. 16 */const X=D("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]),K=[],Y=new Set;function r(t,a,o){if(o==null)return;const l=`${t}::${a}`;Y.has(l)||(Y.add(l),K.push({page_key:t,section_key:a,data:{value:String(o)}}))}const Pe=[{key:"new-license",title:"New Professional License",short:"Apply for your first professional license."},{key:"renewal",title:"License Renewal",short:"Renew your professional license before expiry with complete documentation support."},{key:"transfer",title:"License Transfer",short:"Transfer your existing healthcare license between facilities with expert guidance."},{key:"upgrade",title:"Upgrade Professional Title",short:"Upgrade from GP to Specialist, Specialist to Consultant or update your professional designation."},{key:"additional-qualification",title:"Additional Qualification Registration",short:"Register newly obtained qualifications or certifications."},{key:"cbt-oral",title:"Schedule CBT / Oral Examination",short:"Book your licensing CBT or Oral Assessment with complete preparation guidance."},{key:"good-standing",title:"Good Standing Certificate",short:"Assistance in obtaining and processing Good Standing Certificates."},{key:"re-registration",title:"Re-registration",short:"Support for expired licenses and re-registration process."}];function ee(t){Pe.forEach(a=>{r(t,`als.${a.key}.title`,a.title),r(t,`als.${a.key}.short`,a.short)})}function k(t,a){r(t,"hero.badge",a.badge),r(t,"hero.title",a.title),r(t,"hero.subtitle",a.subtitle),r(t,"hero.cta",a.ctaText),r(t,"whatIs.title",a.whatIs.title),r(t,"whatIs.description",a.whatIs.description),r(t,"whatIs.didYouKnow",a.whatIs.didYouKnow),a.whatIs.points.forEach((o,l)=>r(t,`whatIs.point.${l}`,o.text)),r(t,"whoNeeds.heading","Who Needs This Service?"),a.whoNeeds.forEach((o,l)=>r(t,`whoNeeds.${l}`,o)),r(t,"process.headingPrefix","Step-by-Step"),r(t,"process.headingAccent","Process"),a.steps.forEach((o,l)=>{r(t,`steps.${l}.title`,o.title),r(t,`steps.${l}.desc`,o.desc)}),r(t,"documents.heading","Documents Required"),a.documents.forEach((o,l)=>r(t,`documents.${l}`,o)),r(t,"timeline.value",a.timeline),a.feeIncludes.forEach((o,l)=>r(t,`feeIncludes.${l}`,o)),r(t,"testimonials.heading","Success Stories"),a.testimonials.forEach((o,l)=>{r(t,`testimonials.${l}.quote`,o.quote),r(t,`testimonials.${l}.name`,o.name),r(t,`testimonials.${l}.role`,o.role)}
16),r(t,"faq.heading","Frequently Asked Questions"),a.faqs.forEach((o,l)=>{r(t,`faq.${l}.q`,o.q),r(t,`faq.${l}.a`,o.a)}),r(t,"finalCta.heading","Ready to Get Started?"),r(t,"finalCta.subheading","Join 2,847+ professionals who trusted Healthserve. Assessment. No hidden fees."),r(t,"finalCta.button",a.ctaText),ee(t)}function v(t,a){r(t,"hero.title",a.title),r(t,"hero.subtitle",a.subtitle),r(t,"hero.duration",a.duration),r(t,"hero.groupSize",a.groupSize),r(t,"hero.location",a.location),r(t,"hero.cta","Enroll in Next Batch"),r(t,"overview.heading","What You'll Learn"),a.learningPoints.forEach((o,l)=>r(t,`overview.point.${l}`,o)),a.whoIsItFor.forEach((o,l)=>r(t,`whoIsItFor.${l}`,o)),a.faqs.forEach((o,l)=>{r(t,`faq.${l}.q`,o.q),r(t,`faq.${l}.a`,o.a)}),r(t,"finalCta.heading","Secure Your Spot"),r(t,"finalCta.subheading","Limited seats per batch. Enroll now to guarantee your place."),r(t,"finalCta.button","Enroll Now")}r("home","hero.video",oe.url);r("about","hero.badge","DUBAI, UAE â SERVING THE GCC");r("about","hero.title","Built by Health Professionals â For Health Professionals.");r("about","hero.subtitle","Healthserve Health Consultancy is a leading healthcare consultancy based in Dubai, guiding medical professionals through UAE licensing, exam preparation, training and international placement.");r("contact","hero.title","Let's Talk About Your Healthcare Goals.");r("contact","hero.subtitle","Whether you're a nurse in the Philippines, a doctor in India, or a clinic investor in Dubai â we have a solution for you.");r("careers","hero.title","Build UAE healthcare with us.");r("careers","hero.subtitle","We're hiring licensed nurses and commercial talent to grow Healthserve's homecare, occupational health and marketplace businesses. Pick a role, tell us about yourself, upload your CV â we reply within 3 working days.");k("services.dha-licensing",ge);k("services.moh-licensing",me);k("services.doh-haad-licensing",pe);k("services.dataflow-assistance",xe);k("services.prometric-assistance",fe);k("services.facility-licensing",be);ee("services.gcc-licensing");v("training.bls-aha",ve);v("training.bls-ashi",ye);v("training.acls",we);v("training.pals",ke);v("training.cna",je);v("training.infection-control",Ne);v("training.first-aid",Se);const Be=K,Q={home:"Home page",about:"About page",contact:"Contact page",careers:"Careers page","services.dha-licensing":"Service · DHA Licensing","services.moh-licensing":"Service · MOH Licensing","services.doh-haad-licensing":"Service · DOH / HAAD Licensing","services.dataflow-assistance":"Service · Dataflow Assistance","services.prometric-assistance":"Service · Prometric Assistance","services.facility-licensing":"Service · Facility Licensing","services.gcc-licensing":"Service · GCC Licensing","training.bls-aha":"Training · BLS (AHA)","training.bls-ashi":"Training · BLS (ASHI)","training.acls":"Training · ACLS","training.pals":"Training · PALS","training.cna":"Training · CNA","training.infection-control":"Training · Infection Control","training.first-aid":"Training · First Aid"};function A(t){return Q[t]?Q[t]:t.split(".").map(a=>a.replace(/[-_]/g," ").replace(/\b\w/g,o=>o.toUpperCase())).join(" · ")}const Fe=[{match:/^hero\./,group:"Hero"},{match:/^whatIs\./,group:"What is this service"},{match:/^whoNeeds\./,group:"Who needs this"},{match:/^whoIsItFor\./,group:"Who is it for"},{match:/^process\./,group:"Process"},{match:/^steps\./,group:"Process steps"},{match:/^documents\./,group:"Documents required"},{match:/^timeline\./,group:"Timeline"},{match:/^feeIncludes\./,group:"Fee includes"},{match:/^testimonials\./,group:"Testimonials"},{match:/^faq\./,group:"FAQ"},{match:/^finalCta\./,group:"Final call-to-action"},{match:/^overview\./,group:"Course overview"},{match:/^als\./,group:"Additional licensing services"}];function qe(t){for(const a of Fe)if(a.match.test(t))return a.group;return"Other"}const J={"hero.badge":"Hero â Badge","hero.title":"Hero â Title","hero.subtitle":"Hero â Subtitle","hero.video":"Hero â Background video","hero.cta":"Hero â Button label","hero.duration":"Hero â Duration","hero.groupSize":"Hero â Group size","hero.location":"Hero â Location","whatIs.title":"What is this â Title","whatIs.description":"What is this â Description","whatIs.didYouKnow":"What is this â Did you know","process.headingPrefix":"Process â Heading prefix","process.headingAccent":"Process â Heading accent","timeline.value":"Timeline","documents.heading":"Documents â Heading","whoNeeds.heading":"Who needs this â Heading","testimonials.heading":"Testimonials â Heading","faq.heading":"FAQ â Heading","finalCta.heading":"Final CTA â Heading","finalCta.subheading":"Final CTA â Subheading","finalCta.button":"Final CTA â Button label","overview.heading":"Overview â Heading"};function T(t){if(J[t])return J[t];const a=t.match(/^steps\.(\d+)\.(title|desc)$/);if(a)return`Step ${Number(a[1])+1} â ${a[2]==="title"?"Title":"Description"}`;const o=t.match(/^(\w+)\.(\d+)(?:\.(.+))?$/);if(o){const[,p,m,b]=o,N=Number(m)+1,x=p.replace(/([A-Z])/g," $1").replace(/^\w/,y=>y.toUpperCase());return b?`${x} #${N} â ${b.replace(/^\w/,y=>y.toUpperCase())}`:`${x} #${N}`}const l=t.match(/^als\.([\w-]+)\.(title|short)$/);return l?`${l[1].replace(/-/g," ").replace(/\b\w/g,m=>m.toUpperCase())} â ${l[2]==="title"?"Title":"Short description"}`:t.replace(/\./g," â ").replace(/([A-Z])/g," $1").replace(/\b\w/g,p=>p.toUpperCase())}function $(t){if(!t||typeof t!="object")return"text";if("value"in t&&typeof t.value!="object"){const a=String(t.value??"");return/\.(mp4|webm|mov|m4v)(\?.*)?$/i.test(a)?"video":/\.(png|jpe?g|webp|gif|svg|avif)(\?.*)?$/i.test(a)?"image":"text"}return Array.isArray(t)?"list":"structured"}const Re=[{label:"Hospital walkthrough (new)",url:Ce.url},{label:"Hero video 1 (original)",url:_e.url},{label:"Hero video 2",url:Ae.url}];function Z(t){if(!t||typeof t!="object")return!1;const a=Object.keys(t);return a.length===1&&a[0]==="value"&&typeof t.value!="object"}const Ue={text:X,image:De,video:Ie,list:He,structured:Le},Me={text:"Text",image:"Image",video:"Video",list:"List",structured:"Structured"},Oe=[{page_key:"home",section_key:"hero",data:{title:"",subtitle:"",cta_label:"",cta_url:""}},{page_key:"home",section_key:"services",data:{heading:"",items:[]}},{page_key:"home",section_key:"training",data:{heading:"",items:[]}},{page_key:"home",section_key:"testimonials",data:{heading:"",items:[]}},{page_key:"home",section_key:"faq",data:{heading:"",items:[{q:"",a:""}]}}
16,{page_key:"contact",section_key:"hero",data:{title:"",subtitle:""}},{page_key:"about",section_key:"hero",data:{title:"",body:""}}];function it(){var R,U,M,O,G,V,W;const[t,a]=u.useState([]),[o,l]=u.useState(!0),[p,m]=u.useState(null),[b,N]=u.useState(""),[x,y]=u.useState(null),[te,se]=u.useState({}),[ae,E]=u.useState(!1),[I,L]=u.useState(""),[H,P]=u.useState("");async function S(){l(!0);const{data:s,error:i}=await C.from("page_content").select("*").order("page_key").order("section_key");i&&f.error(i.message);const n=(s??[]).map(h=>({...h,isDefault:!1})),d=new Set(n.map(h=>`${h.page_key}::${h.section_key}`)),g=Be.filter(h=>!d.has(`${h.page_key}::${h.section_key}`)).map(h=>({id:`default:${h.page_key}:${h.section_key}`,page_key:h.page_key,section_key:h.section_key,data:h.data,updated_at:null,isDefault:!0}));a([...n,...g].sort((h,j)=>h.page_key.localeCompare(j.page_key)||h.section_key.localeCompare(j.section_key))),l(!1)}u.useEffect(()=>{S()},[]);const w=u.useMemo(()=>{const s=new Map;for(const i of t)s.has(i.page_key)||s.set(i.page_key,[]),s.get(i.page_key).push(i);return Array.from(s.entries()).map(([i,n])=>({page:i,list:n})).sort((i,n)=>A(i.page).localeCompare(A(n.page)))},[t]);u.useEffect(()=>{!x&&w.length&&y(w[0].page)},[w,x]);const B=u.useMemo(()=>{var n;const s=((n=w.find(d=>d.page===x))==null?void 0:n.list)??[];if(!b)return s;const i=b.toLowerCase();return s.filter(d=>{var g;return T(d.section_key).toLowerCase().includes(i)||d.section_key.toLowerCase().includes(i)||String(((g=d.data)==null?void 0:g.value)??"").toLowerCase().includes(i)})},[w,x,b]),F=u.useMemo(()=>{const s=new Map;for(const i of B){const n=qe(i.section_key);s.has(n)||s.set(n,[]),s.get(n).push(i)}return Array.from(s.entries())},[B]),c=t.find(s=>s.id===p)??null;function ie(s){se(i=>({...i,[s]:!(i[s]??!0)}))}async function re(s){const{data:i,error:n}=await C.from("page_content").upsert({page_key:s.page_key,section_key:s.section_key,data:s.data},{onConflict:"page_key,section_key"}).select().single();if(n)return f.error(n.message);i!=null&&i.id&&m(i.id),f.success("Saved"),S()}async function ne(s){if(s.isDefault)return f.error("Save this built-in field before deleting it.");if(!confirm(`Delete ${s.page_key}/${s.section_key}?`))return;const{error:i}=await C.from("page_content").delete().eq("id",s.id);if(i)return f.error(i.message);m(null),S()}async function q(s,i,n={}){if(!s||!i)return f.error("Page and section required");const{data:d,error:g}=await C.from("page_content").insert({page_key:s,section_key:i,data:n}).select().single();if(g)return f.error(g.message);f.success("Section created"),E(!1),L(""),P(""),await S(),m(d.id)}return e.jsxs(de,{children:[e.jsx(he,{title:"Website content",description:"Edit the text and images shown across your site. Pick a page on the left, then click any field to update it.",actions:e.jsxs("button",{onClick:()=>E(!0),className:"inline-flex items-center gap-1.5 h-9 px-3 rounded-lg bg-[#F9A01B] text-white text-sm font-semibold hover:bg-[#e88f0a]",children:[e.jsx($e,{className:"w-4 h-4"})," Advanced: new section"]})}),ae&&e.jsxs(_,{className:"p-4 mb-4",children:[e.jsx("div",{className:"text-sm font-semibold text-gray-900 mb-3",children:"Create section (advanced)"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 mb-3",children:[e.jsx("input",{placeholder:"page_key (e.g. home)",value:I,onChange:s=>L(s.target.value.trim()),className:"h-9 px-3 border border-gray-200 rounded-lg text-sm"}),e.jsx("input",{placeholder:"section_key (e.g. hero)",value:H,onChange:s=>P(s.target.value.trim()),className:"h-9 px-3 border border-gray-200 rounded-lg text-sm"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:()=>q(I,H),className:"h-9 px-3 rounded-lg bg-gray-900 text-white text-sm font-semibold",children:"Create empty"}),e.jsx("button",{onClick:()=>E(!1),className:"h-9 px-3 rounded-lg border text-sm",children:"Cancel"})]}),e.jsxs("div",{className:"mt-4",children:[e.jsx("div",{className:"text-xs font-semibold text-gray-500 uppercase mb-2",children:"Quick presets"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:Oe.map(s=>e.jsxs("button",{onClick:()=>q(s.page_key,s.section_key,s.data),className:"text-xs h-7 px-2.5 rounded-full border border-gray-200 hover:bg-gray-50",children:[s.page_key," / ",s.section_key]},`${s.page_key}:${s.section_key}`))})]})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[240px_360px_1fr] gap-4",children:[e.jsxs(_,{className:"p-2 h-fit",children:[e.jsx("div",{className:"px-2 py-2 text-xs font-semibold text-gray-500 uppercase tracking-wider",children:"Pages"}),e.jsxs("div",{className:"space-y-0.5 max-h-[70vh] overflow-y-auto",children:[o&&e.jsx("div",{className:"text-sm text-gray-500 p-2",children:"Loadingâ¦"}),w.map(({page:s,list:i})=>{const n=s===x;return e.jsxs("button",{onClick:()=>{y(s),m(null)},className:`w-full text-left px-3 py-2 rounded-lg text-sm ${n?"bg-[#F9A01B]/10 text-[#B26800] font-semibold":"hover:bg-gray-50 text-gray-800"}`,children:[e.jsx("div",{className:"truncate",children:A(s)}),e.jsxs("div",{className:"text-[11px] text-gray-500 mt-0.5",children:[i.length," field",i.length===1?"":"s"]})]},s)})]})]}),e.jsxs(_,{className:"p-3",children:[e.jsx("input",{placeholder:"Search f
16ields on this pageâ¦",value:b,onChange:s=>N(s.target.value),className:"w-full h-9 px-3 border border-gray-200 rounded-lg text-sm mb-3"}),e.jsxs("div",{className:"space-y-3 max-h-[65vh] overflow-y-auto pr-1",children:[!o&&F.length===0&&e.jsx("div",{className:"text-sm text-gray-500 p-2",children:"No editable fields on this page."}),F.map(([s,i])=>{const n=te[s]??!0;return e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>ie(s),className:"w-full flex items-center gap-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wider px-1 py-1 hover:text-gray-700",children:[n?e.jsx(le,{className:"w-3.5 h-3.5"}):e.jsx(ce,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:s}),e.jsx("span",{className:"ml-auto text-[10px] font-normal text-gray-400",children:i.length})]}),n&&e.jsx("div",{className:"space-y-1 mt-1",children:i.map(d=>{const g=$(d.data),h=Ue[g]??X,j=Z(d.data)?String(d.data.value):"";return e.jsx("button",{onClick:()=>m(d.id),className:`w-full text-left px-3 py-2 rounded-lg text-sm border ${p===d.id?"bg-[#F9A01B]/10 border-[#F9A01B]/30":"border-transparent hover:bg-gray-50"}`,children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(h,{className:"w-3.5 h-3.5 text-gray-400 mt-0.5 shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"font-semibold text-gray-900 truncate",children:T(d.section_key)}),j&&e.jsx("div",{className:"mt-0.5 line-clamp-2 text-xs leading-snug text-gray-500",children:j})]})]})},d.id)})})]},s)})]})]}),e.jsx(_,{className:"p-4",children:c?e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4 gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-base font-semibold text-gray-900 truncate",children:T(c.section_key)}),e.jsxs("div",{className:"text-xs text-gray-500 mt-0.5",children:[A(c.page_key)," · ",Me[$(c.data)],c.isDefault||!c.updated_at?" · Not yet saved":` · Updated ${new Date(c.updated_at).toLocaleString()}`]})]}),e.jsxs("div",{className:"flex gap-2 shrink-0",children:[e.jsxs("button",{onClick:()=>re(c),className:"inline-flex items-center gap-1.5 h-9 px-3 rounded-lg bg-[#F9A01B] text-white text-sm font-semibold hover:bg-[#e88f0a]",children:[e.jsx(Ee,{className:"w-4 h-4"})," Save"]}),!c.isDefault&&e.jsxs("button",{onClick:()=>ne(c),className:"inline-flex items-center gap-1.5 h-9 px-3 rounded-lg border border-red-200 text-red-600 text-sm hover:bg-red-50",children:[e.jsx(Te,{className:"w-4 h-4"})," Delete"]})]})]}),Z(c.data)?$(c.data)==="video"?e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2 block",children:"Video"}),((R=c.data)==null?void 0:R.value)&&e.jsx("div",{className:"mb-3 rounded-xl border border-gray-200 bg-gray-50 p-3",children:e.jsx("video",{src:String(c.data.value),controls:!0,className:"max-h-56 w-full rounded-lg bg-black"})}),e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-1.5",children:"Built-in hero videos â one click to switch"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:Re.map(s=>{var n;const i=String(((n=c.data)==null?void 0:n.value)??"")===s.url;return e.jsxs("button",{type:"button",onClick:()=>a(d=>d.map(g=>g.id===c.id?{...g,data:{value:s.url}}:g)),className:`h-9 px-3 rounded-lg border text-xs font-semibold transition ${i?"border-[#F9A01B] bg-[#F9A01B]/10 text-[#B26A00]":"border-gray-300 text-gray-700 hover:bg-gray-50"}`,children:[s.label,i?" · in use":""]},s.url)})})]}),e.jsx(z,{value:String(((U=c.data)==null?void 0:U.value)??""),accept:"video",onChange:s=>a(i=>i.map(n=>n.id===c.id?{...n,data:{value:s??""}}:n))}),e.jsxs("div",{className:"mt-3",children:[e.jsx("label",{className:"text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-1 block",children:"Or paste video URL (.mp4, .webm)"}),e.jsx("input",{type:"text",value:String(((M=c.data)==null?void 0:M.value)??""),onChange:s=>a(i=>i.map(n=>n.id===c.id?{...n,data:{value:s.target.value}}:n)),placeholder:"https://â¦",className:"w-full text-sm text-gray-900 bg-white border border-gray-200 rounded-lg px-3 h-10 focus:outline-none focus:ring-2 focus:ring-[#F9A01B]/40"})]}),e.jsxs("div",{className:"text-xs text-gray-500 mt-3",children:["Upload a new video, choose one from the media library, or paste a direct URL â then press ",e.jsx("b",{children:"Save"}),"."]})]}):$(c.data)==="image"?e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2 block",children:"Image"}),((O=c.data)==null?void 0:O.value)&&e.jsx("div",{className:"mb-3 rounded-xl border border-gray-200 bg-gray-50 p-3 flex items-center justify-center",children:e.jsx("img",{src:String(c.data.value),alt:"",className:"max-h-56 rounded-lg object-contain"})}),e.jsx(z,{value:String(((G=c.data)==null?void 0:G.value)??""),accept:"image",onCh
16ange:s=>a(i=>i.map(n=>n.id===c.id?{...n,data:{value:s??""}}:n))}),e.jsxs("div",{className:"mt-3",children:[e.jsx("label",{className:"text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-1 block",children:"Or paste image URL"}),e.jsx("input",{type:"text",value:String(((V=c.data)==null?void 0:V.value)??""),onChange:s=>a(i=>i.map(n=>n.id===c.id?{...n,data:{value:s.target.value}}:n)),placeholder:"https://â¦",className:"w-full text-sm text-gray-900 bg-white border border-gray-200 rounded-lg px-3 h-10 focus:outline-none focus:ring-2 focus:ring-[#F9A01B]/40"})]}),e.jsxs("div",{className:"text-xs text-gray-500 mt-3",children:["Choose from the media library, upload a new file, or paste a URL â then press ",e.jsx("b",{children:"Save"}),"."]})]}):e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wider mb-1 block",children:"Content"}),e.jsx("textarea",{value:String(((W=c.data)==null?void 0:W.value)??""),onChange:s=>a(i=>i.map(n=>n.id===c.id?{...n,data:{value:s.target.value}}:n)),rows:6,className:"w-full text-sm text-gray-900 bg-white border border-gray-200 rounded-lg p-3 focus:outline-none focus:ring-2 focus:ring-[#F9A01B]/40"}),e.jsxs("div",{className:"text-xs text-gray-500 mt-2",children:["Type your changes above and press ",e.jsx("b",{children:"Save"}),". Your update goes live on the website right away."]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"text-xs text-gray-500 mb-2",children:"This is a structured section. Edit the JSON below, then save."}),e.jsx(ue,{value:c.data,onChange:s=>a(i=>i.map(n=>n.id===c.id?{...n,data:s}:n)),rows:22})]}),e.jsxs("details",{className:"mt-4 text-xs text-gray-400",children:[e.jsx("summary",{className:"cursor-pointer select-none",children:"Technical details"}),e.jsxs("div",{className:"mt-1 font-mono",children:[c.page_key," / ",c.section_key]})]})]}):e.jsx("div",{className:"text-sm text-gray-500 text-center py-16",children:"Pick a field from the list to start editing."})})]})]})}export{it as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.