PageSourceSearch

https://eduportal-bvluawlx.manus.space/assets/AdminDesign-0SgnYjDu.js

js eduportal-bvluawlx.manus.space collected 2026-10-03 05:02:00 UTC 58,994 bytes, 1 lines download raw bytes

1import{c as F,r as D,$ as R,a0 as q,t as h,h as p,j as e,a1 as ge,L as me,e as pe,a2 as xe,a3 as he}from"./index-TdxVxAlO.js";import{P as _,L as E,S as P,a as l,A as ue,b as ve}from"./AdminLayout-DGuzapTB.js";import{E as L}from"./eye-VfccOVnF.js";import{C as Q}from"./copy-ckMQYTau.js";import{C as De}from"./code-xml-Dx7FO_97.js";import{C as Y}from"./check-Db4ngzmJ.js";import{S as K}from"./save-dvZqdlZY.js";import{D as be}from"./download-PTnZB9Gp.js";import{U as Ae}from"./upload-ZtSlhdHl.js";const X=F("ArchiveRestore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);const je=F("FileDown",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]);const ye=F("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),S=[{key:"overview",label:"Design Overview",description:"Status, actions and visual areas",icon:R},{key:"global",label:"Global Styles",description:"Colors, typography, spacing and containers",icon:_},{key:"branding",label:"Branding",description:"Logo, favicon and identity treatment",icon:ye},{key:"header",label:"Header & Navigation",description:"Readable two-tier header controls",icon:E},{key:"breaking",label:"Breaking News",description:"Ticker presentation and motion settings",icon:R},{key:"hero",label:"Hero",description:"Homepage visual hierarchy and search",icon:L},{key:"components",label:"Components",description:"Cards, buttons, forms, tables and notices",icon:Q},{key:"layouts",label:"Page Layouts",description:"Archives, single content, search and breadcrumbs",icon:E},{key:"footer",label:"Footer",description:"Footer density and newsletter visibility",icon:E},{key:"responsive",label:"Responsive",description:"Desktop, tablet, mobile and compact navigation",icon:L},{key:"presets",label:"Theme Presets",description:"Preview and apply recoverable presets",icon:R},{key:"advanced",label:"Custom CSS",description:"Scoped declarations and safe variables",icon:De},{key:"preview",label:"Preview",description:"Live draft visual preview",icon:L},{key:"revisions",label:"Revisions",description:"Published history and restore-to-draft",icon:X}],fe=[["primary","Primary"],["secondary","Secondary"],["accent","Accent"],["heading","Heading"],["text","Body text"],["muted","Muted text"],["link","Link"],["linkHover","Link hover"],["background","Background"],["surface","Surface"],["card","Card"],["input","Input"],["border","Border"],["header","Header"],["footer","Footer"],["breaking","Breaking bar"]],ke=["desktop","tablet","mobile"];function c({label:g,value:i,min:x=0,max:v=2e3,onChange:y,suffix:d="px"}){return e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:31",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:31",children:g}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:31",className:"design-number-input",children:[e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:31",type:"number",min:x,max:v,value:i,onChange:b=>y(Number(b.target.value))}),e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:31",children:d})]})]})}function o({label:g,checked:i,onChange:x,description:v}){return e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:35",className:"design-toggle",children:[e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:35",type:"checkbox",checked:i,onChange:y=>x(y.target.checked)}),e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:35",children:[e.jsx("strong",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:35",children:g}),v&&e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:35",children:v})]})]})}function r({label:g,value:i,onChange:x,min:v=0,max:y=2e3}){return e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:39",className:"design-device-field",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:39",children:g}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:39",children:ke.map(d=>e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:39",children:[e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:39",children:d}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:39",type:"number",min:v,max:y,value:i[d],onChange:b=>x({...i,[d]:Number(b.target.value)})})]},d))})]})}function B({config:g,compact:i=!1}){return e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:43",className:`design-preview ${i?"compact":""}`,style:he(g),children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:44",className:"design-preview-breaking",children:[e.jsx("b",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:44",children:"Breaking News"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:44",children:"RPSC Recruitment 2026 Released"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:45",className:"design-preview-header",children:[e.jsx("strong",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:45",children:"RajExams"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:45",children:"Home   Exams   Jobs   Results"}),e.jsx("i",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:45",children:"Search"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",className:"design-preview-hero",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",children:[e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",children:"RAJASTHAN EXAM PORTAL"}),e.jsxs("h2",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",children:["Your One Stop",e.jsx("br",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46"}),"Destination for ",e.jsx("em",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",children:"Competitive Exams"})]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",children:"Verified jobs, results, admit cards and learning resources in one trusted portal."}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",children:"Explore updates"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46",className:"design-preview-art",children:["Study",e.jsx("br",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:46"}),"smart"]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",className:"design-preview-grid",children:[e.jsxs("article",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:[e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"NEW"}),e.jsx("h3",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"Latest verified update"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"Responsive card, spacing and text styles."})]}),e.jsxs("article",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:[e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"GUIDE"}),e.jsx("h3",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"Exam preparation"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"Global components inherit the design tokens."})]}),e.jsxs("article",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:[e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"RESULT"}),e.jsx("h3",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"Clear hierarchy"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:47",children:"Safe changes stay preview-only until published."})]})]})]})}function Ue(){const g=typeof window>"u"?null:new URLSearchParams(window.location.search).get("section"),[i,x]=D.useState(S.some(a=>a.key===g)?g:"overview"),[v,y]=D.useState(""),[d,b]=D.useState(null),[H,f]=D.useState("RajExams design draft"),[s,u]=D.use
1State(()=>q()),[T,k]=D.useState("desktop"),[z,Z]=D.useState(""),A=h.useUtils(),N=h.design.list.useQuery(),W=h.design.presets.useQuery(),C=h.design.public.useQuery(),I=h.design.createDraft.useMutation({onSuccess:a=>{a&&(b(a.id),f(a.name)),A.design.list.invalidate(),p.success("Design draft saved.")}}),V=h.design.updateDraft.useMutation({onSuccess:()=>{A.design.list.invalidate(),p.success("Draft changes saved.")}}),O=h.design.publish.useMutation({onSuccess:()=>{Promise.all([A.design.list.invalidate(),A.design.public.invalidate()]),p.success("Design published to the public site.")}}),ee=h.design.restore.useMutation({onSuccess:a=>{a&&(b(a.id),f(a.name),u(a.config),x("preview")),A.design.list.invalidate(),p.success("A restored design draft is ready to review.")}}),ae=h.design.duplicate.useMutation({onSuccess:a=>{a&&(b(a.id),f(a.name),u(a.config),x("preview")),A.design.list.invalidate(),p.success("A duplicate design draft is ready to customize.")}}),se=h.design.applyPresetToDraft.useMutation({onSuccess:a=>{a&&u(a.config),A.design.list.invalidate(),p.success("Preset applied to your draft.")}}),ne=h.design.createPreset.useMutation({onSuccess:()=>{A.design.presets.invalidate(),p.success("Reusable custom preset created.")}}),ie=h.design.importDraft.useMutation({onSuccess:a=>{a&&(b(a.id),f(a.name),u(a.config)),A.design.list.invalidate(),p.success("Imported design saved as a safe draft.")}});D.useEffect(()=>{g&&S.some(a=>a.key===g)&&x(g)},[g]),D.useEffect(()=>{const a=N.data?.find(t=>t.status==="draft");a&&a.id!==d&&(b(a.id),f(a.name),u(a.config)),!a&&!d&&C.data?.config&&u(C.data.config)},[N.data,C.data,d]);const n=(a,t)=>u(m=>({...m,[a]:t})),te=()=>d?V.mutate({id:d,name:H,config:s}):I.mutate({name:H,config:s,presetKey:s.presetKey}),de=()=>{const a=q();i==="global"?u(t=>({...t,colors:a.colors,typography:a.typography,spacing:a.spacing,layout:a.layout})):i==="branding"?n("branding",a.branding):i==="header"?n("header",a.header):i==="breaking"?n("breakingNews",a.breakingNews):i==="hero"?n("hero",a.hero):i==="components"?n("components",a.components):i==="layouts"?n("layouts",a.layouts):i==="footer"?n("footer",a.footer):i==="responsive"?n("responsive",a.responsive):i==="advanced"?n("advanced",a.advanced):u(a),p.success("Section reset locally. Save the draft to keep it.")},ce=D.useMemo(()=>S.filter(a=>`${a.label} ${a.description}`.toLowerCase().includes(v.toLowerCase())),[v]),M=S.find(a=>a.key===i),G=()=>{if(!d)return p("Save your draft before opening a full-site preview.");window.open(`/?designPreview=${d}`,"_blank","noopener,noreferrer")},$=a=>{const t=a?N.data?.find(re=>re.id===a):void 0,m={schema:"rajexams-design-config/v1",name:t?.name||H,config:t?.config||s},j=new Blob([JSON.stringify(m,null,2)],{type:"application/json"}),w=URL.createObjectURL(j),U=document.createElement("a");U.href=w,U.download=`${(m.name||"rajexams-design").toLowerCase().replace(/[^a-z0-9]+/g,"-")}.json`,U.click(),URL.revokeObjectURL(w)},le=()=>{try{const a=JSON.parse(z);if(!a.config)throw new Error("Missing config");ie.mutate({name:a.name||"Imported RajExams design",config:a.config,source:"JSON import"})}catch{p.error("Paste a valid RajExams design JSON export.")}},J=(a,t)=>{d?se.mutate({id:d,key:a}):(u(t),f(`${a.replace(/-/g," ")} draft`),p.success("Preset loaded locally. Save draft to create a recoverable version."))},oe=i==="overview"?e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",className:"design-overview",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",className:"design-overview-grid",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",label:"Published version",value:C.data?.version?.name||"Default system",delta:C.data?.version?.publishedAt?`Published ${new Date(C.data.version.publishedAt).toLocaleDateString("en-IN")}`:"Safe default active",icon:Y}),e.jsx(P,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",label:"Draft status",value:d?"Draft open":"Unsaved",delta:d?"Changes are not live":"Save to start versioning",tone:"saffron",icon:K}),e.jsx(P,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",label:"Theme preset",value:s.presetKey.replace(/rajexams-/g,"").replace(/-/g," "),delta:"Tokens applied consistently",tone:"mint",icon:_}),e.jsx(P,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",label:"Design health",value:"Structured",delta:"Validated server-side",tone:"lilac",icon:R})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",className:"design-area-grid",children:S.filter(a=>!["overview","preview","revisions"].includes(a.key)).map(a=>{const t=a.icon;return e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",className:"design-area-card",onClick:()=>x(a.key),children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",children:e.jsx(t,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",size:18})}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",children:[e.jsx("strong",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",children:a.label}),e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",children:a.description})]}),e.jsx(ge,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",size:16})]},a.key)})}),e.jsx(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",title:"Current draft preview",description:"This preview reacts immediately to all local edits. O
1nly Publish Changes updates the public website.",children:e.jsx(B,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:91",config:s,compact:!0})})]}):i==="global"?e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",className:"design-section-stack",children:[e.jsx(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",title:"Global colors",description:"Token changes update links, CTA states, active navigation, cards, and shared public components after publication.",children:e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",className:"design-color-grid",children:fe.map(([a,t])=>e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:t}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:[e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",type:"color",value:s.colors[a].startsWith("#")?s.colors[a]:"#1559c7",onChange:m=>n("colors",{...s.colors,[a]:m.target.value})}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:s.colors[a],onChange:m=>n("colors",{...s.colors,[a]:m.target.value})})]})]},a))})}),e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",title:"Typography",description:"Use curated CSS font stacks for performance and Hindi/English-friendly fallbacks.",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:"Body font stack"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:s.typography.bodyFont,onChange:a=>n("typography",{...s.typography,bodyFont:a.target.value})})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:"Heading font stack"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:s.typography.headingFont,onChange:a=>n("typography",{...s.typography,headingFont:a.target.value})})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:"Navigation font stack"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:s.typography.navigationFont,onChange:a=>n("typography",{...s.typography,navigationFont:a.target.value})})]}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Body line height",value:s.typography.bodyLineHeight,min:1,max:3,suffix:"",onChange:a=>n("typography",{...s.typography,bodyLineHeight:a})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Heading line height",value:s.typography.headingLineHeight,min:.8,max:2,suffix:"",onChange:a=>n("typography",{...s.typography,headingLineHeight:a})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Navigation weight",value:s.typography.navigationWeight,min:400,max:900,suffix:"",onChange:a=>n("typography",{...s.typography,navigationWeight:a})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",className:"design-device-grid",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Body font size",value:s.typography.bodySize,onChange:a=>n("typography",{...s.typography,bodySize:a}),min:12,max:24}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"H1 font size",value:s.typography.h1,onChange:a=>n("typography",{...s.typography,h1:a}),min:22,max:100}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"H2 font size",value:s.typography.h2,onChange:a=>n("typography",{...s.typography,h2:a}),min:20,max:72}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"H3 font size",value:s.typography.h3,onChange:a=>n("typography",{...s.typography,h3:a}),min:18,max:56})]})]}),e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",title:"Spacing & layout",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",className:"design-device-grid",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Container padding",value:s.spacing.containerPadding,onChange:a=>n("spacing",{...s.spacing,containerPadding:a})}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Section vertical space",value:s.spacing.sectionY,onCh
1ange:a=>n("spacing",{...s.spacing,sectionY:a})}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Grid gap",value:s.spacing.gridGap,onChange:a=>n("spacing",{...s.spacing,gridGap:a})}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Card padding",value:s.spacing.cardPadding,onChange:a=>n("spacing",{...s.spacing,cardPadding:a})}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Navigation gap",value:s.spacing.navigationGap,onChange:a=>n("spacing",{...s.spacing,navigationGap:a})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",children:"Layout mode"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:s.layout.mode,onChange:a=>n("layout",{...s.layout,mode:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:"boxed",children:"Boxed"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:"wide",children:"Wide"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:"full",children:"Full width"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",value:"fluid",children:"Fluid"})]})]}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Site container",value:s.layout.containerWidth,min:960,max:1920,onChange:a=>n("layout",{...s.layout,containerWidth:a})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Content width",value:s.layout.contentWidth,min:560,max:1440,onChange:a=>n("layout",{...s.layout,contentWidth:a})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:92",label:"Sidebar width",value:s.layout.sidebarWidth,min:200,max:520,onChange:a=>n("layout",{...s.layout,sidebarWidth:a})})]})]})]}):i==="branding"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",title:"Brand identity",description:"Use Media Library URLs for the desktop logo, mobile logo, and favicon. Publishing records a recoverable visual version.",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",children:"Desktop logo URL"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",value:s.branding.logoUrl,placeholder:"Use a Media Library asset URL",onChange:a=>n("branding",{...s.branding,logoUrl:a.target.value})})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",children:"Mobile logo URL"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",value:s.branding.mobileLogoUrl,placeholder:"Optional mobile-specific logo",onChange:a=>n("branding",{...s.branding,mobileLogoUrl:a.target.value})})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",children:"Favicon URL"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",value:s.branding.faviconUrl,placeholder:"Use a Media Library asset URL",onChange:a=>n("branding",{...s.branding,faviconUrl:a.target.value})})]})]}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",label:"Logo width",value:s.branding.logoWidth,onChange:a=>n("branding",{...s.branding,logoWidth:a}),min:72,max:320}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:93",label:"Show tagline",checked:s.branding.taglineVisible,onChange:a=>n("branding",{...s.branding,taglineVisible:a})})]}):i==="header"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",title:"Header builder",description:"The preferred professional two-row exam portal remains the default. The current header never shrinks desktop links merely to fit.",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",children:"Header layout"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:s.header.layout,onChange:a=>n("header",{...s.header,layout:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"professional",children:"Two-row professional exam portal"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"centered",children:"Logo left + centered navigation"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"right",children:"Logo left + navigation right"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"minimal",children:"Minimal header"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",children:"Active menu indicator"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:s.header.n
1avIndicator,onChange:a=>n("header",{...s.header,navIndicator:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"line",children:"Underline"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"pill",children:"Pill"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"none",children:"None"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",children:"Header shadow"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:s.header.shadow,onChange:a=>n("header",{...s.header,shadow:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"none",children:"None"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"sm",children:"Soft"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",value:"md",children:"Medium"})]})]}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",label:"Header border width",value:s.header.borderWidth,max:4,onChange:a=>n("header",{...s.header,borderWidth:a})})]}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",label:"Header height",value:s.header.height,onChange:a=>n("header",{...s.header,height:a}),min:56,max:160}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",className:"design-toggle-grid",children:[e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",label:"Sticky main navigation",checked:s.header.sticky,onChange:a=>n("header",{...s.header,sticky:a})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",label:"Show header search",checked:s.header.showSearch,onChange:a=>n("header",{...s.header,showSearch:a})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",label:"Show language selector",checked:s.header.showLanguage,onChange:a=>n("header",{...s.header,showLanguage:a})})]}),e.jsxs("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",className:"design-inline-note",children:["For label, URL, visibility, badges, and safe new-tab controls, use the linked ",e.jsx(me,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:94",href:"/admin/settings",children:"Header & Navigation settings"}),". This panel governs the visual system; the existing menu editor governs CMS navigation data."]})]}):i==="breaking"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",title:"Breaking News Bar",description:"News records remain managed by the existing CMS Notifications module; these controls change visual presentation only.",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:"Presentation mode"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",value:s.breakingNews.mode,onCh
1ange:a=>n("breakingNews",{...s.breakingNews,mode:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",value:"ticker",children:"Ticker"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",value:"static",children:"Static"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:"Direction"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",value:s.breakingNews.direction,onChange:a=>n("breakingNews",{...s.breakingNews,direction:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",value:"left",children:"Left"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",value:"right",children:"Right"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:"Label background"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",type:"color",value:s.breakingNews.labelBackground,onChange:a=>n("breakingNews",{...s.breakingNews,labelBackground:a.target.value})})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:"Label text"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",type:"color",value:s.breakingNews.labelColor,onChange:a=>n("breakingNews",{...s.breakingNews,labelColor:a.target.value})})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",children:"Ticker text"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",type:"color",value:s.breakingNews.textColor,onChange:a=>n("breakingNews",{...s.breakingNews,textColor:a.target.value})})]})]}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",label:"Bar height",value:s.breakingNews.height,onChange:a=>n("breakingNews",{...s.breakingNews,height:a}),min:28,max:90}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",className:"design-toggle-grid",children:[e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",label:"Show breaking bar",checked:s.breakingNews.enabled,onChange:a=>n("breakingNews",{...s.breakingNews,enabled:a})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",label:"Auto-scroll ticker",checked:s.breakingNews.autoScroll,onChange:a=>n("breakingNews",{...s.breakingNews,autoScroll:a})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:95",label:"Pause on hover",checked:s.breakingNews.pauseOnHover,onChange:a=>n("breakingNews",{...s.breakingNews,pauseOnHover:a})})]})]}):i==="hero"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",title:"Hero section builder",description:"Controls target the existing homepage hero rather than creating a disconnected second hero model.",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",children:"Hero layout"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",value:s.hero.layout,onChange:a=>n("hero",{...s.hero,layout:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",value:"split",children:"Text + image + guides"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",value:"centered",children:"Centered hero"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",value:"search_first",children:"Search-first exam portal"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",value:"minimal",children:"Minimal"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",children:"Hero background"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",type:"color",value:s.hero.background,onChange:a=>n("hero",{...s.hero,background:a.target.value})})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",children:"Hero accent"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",type:"color",value:s.hero.accent,onChange:a=>n("hero",{...s.hero,accent:a.target.value})})]}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",label:"Content width",value:s.hero.contentWidth,min:320,max:1100,onChange:a=>n("hero",{...s.hero,contentWidth:a})})]}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",label:"Hero minimum height",value:s.hero.minHeight,onChange:a=>n("hero",{...s.hero,minHeight:a}),min:0,max:900}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",className:"design-toggle-grid",children:[e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",label:"Show hero",checked:s.hero.enabled,onChange:a=>n("hero",{...s.hero,enabled:a})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",label:"Show search bar",checked:s.hero.showSearch,onChange:a=>n("hero",{...s.hero,showSearch:a})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:96",label:"Show trust indicator",checked:s.hero.showTrust,onChange:a=>n("hero",{...s.hero,showTrust:a})})]})]}):i==="components"?e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",className:"design-section-stack",children:[e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",title:"Cards & surfaces",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",children:"Card preset"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:s.components.cards.style,onChange:a=>
1n("components",{...s.components,cards:{...s.components.cards,style:a.target.value}}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"modern",children:"Modern"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"minimal",children:"Minimal"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"premium",children:"Premium"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"flat",children:"Flat"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"bordered",children:"Bordered"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",children:"Global shadow"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:s.components.shadow,onChange:a=>n("components",{...s.components,shadow:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"none",children:"None"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"sm",children:"Soft"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"md",children:"Medium"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",value:"lg",children:"Large"})]})]}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Card border",value:s.components.cards.borderWidth,max:4,onChange:a=>n("components",{...s.components,cards:{...s.components.cards,borderWidth:a}})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Hover lift",value:s.components.cards.hoverLift,max:20,onChange:a=>n("components",{...s.components,cards:{...s.components.cards,hoverLift:a}})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Card image height",value:s.components.cards.imageHeight,min:80,max:560,onChange:a=>n("components",{...s.components,cards:{...s.components.cards,imageHeight:a}})})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",className:"admin-form-grid",children:["sm","md","lg","xl"].map(a=>e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:`Radius ${a}`,value:s.components.radius[a],max:160,onChange:t=>n("components",{...s.components,radius:{...s.components.radius,[a]:t}})},a))})]}),e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",title:"Buttons & forms",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",className:"admin-form-grid",children:[e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Button radius",value:s.components.buttons.radius,max:80,onChange:a=>n("components",{...s.components,buttons:{...s.components.buttons,radius:a}})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Button height",value:s.components.buttons.height,min:28,max:80,onChange:a=>n("components",{...s.components,buttons:{...s.components.buttons,height:a}})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Button weight",value:s.components.buttons.weight,min:400,max:900,suffix:"",onChange:a=>n("components",{...s.components,buttons:{...s.components.buttons,weight:a}})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Input height",value:s.components.forms.height,min:32,max:90,onChange:a=>n("components",{...s.components,forms:{...s.components.forms,height:a}})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Input radius",value:s.components.forms.radius,max:60,onChange:a=>n("components",{...s.components,forms:{...s.components.forms,radius:a}})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",className:"design-toggle-grid",children:[e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Uppercase buttons",checked:s.components.buttons.uppercase,onChange:a=>n("components",{...s.components,buttons:{...s.components.buttons,uppercase:a}})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Str
1iped tables",checked:s.components.tables.striped,onChange:a=>n("components",{...s.components,tables:{...s.components.tables,striped:a}})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:97",label:"Compact tables",checked:s.components.tables.compact,onChange:a=>n("components",{...s.components,tables:{...s.components.tables,compact:a}})})]})]})]}):i==="layouts"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",title:"Content, archive and search layouts",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",className:"admin-form-grid",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:"Archive design"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:s.layouts.archiveStyle,onChange:a=>n("layouts",{...s.layouts,archiveStyle:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:"grid",children:"Grid"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:"list",children:"List"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:"Blog design"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:s.layouts.blogStyle,onChange:a=>n("layouts",{...s.layouts,blogStyle:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:"grid",children:"Grid"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:"list",children:"List"})]})]}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:"Search results design"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:s.layouts.searchStyle,onChange:a=>n("layouts",{...s.layouts,searchStyle:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:"grid",children:"Grid"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:"list",children:"List"})]})]}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",label:"Single-content width",value:s.layouts.singleContentWidth,min:560,max:1440,onChange:a=>n("layouts",{...s.layouts,singleContentWidth:a})}),e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",children:"Breadcrumb separator"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",value:s.layouts.breadcrumbs.separator,maxLength:8,onChange:a=>n("layouts",{...s.layouts,breadcrumbs:{...s.layouts.breadcrumbs,separator:a.target.value}})})]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",className:"design-device-grid",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",label:"Archive columns",value:s.layout.archiveColumns,onChange:a=>n("layout",{...s.layout,archiveColumns:a}),min:1,max:6}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",label:"Footer columns",value:s.layout.footerColumns,onChange:a=>n("layout",{...s.layout,footerColumns:a}),min:1,max:6})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",className:"design-toggle-grid",children:[e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",label:"Show breadcrumbs",checked:s.layouts.breadcrumbVisible,onChange:a=>n("layouts",{...s.layouts,breadcrumbVisible:a})}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:98",label:"Archive sidebar",checked:s.layouts.showArchiveSidebar,onChange:a=>n("layouts",{...s.layouts,showArchiveSidebar:a})})]})]}):i==="footer"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",title:"Footer builder",description:"Footer content remains in Site Settings; these controls set the shared visual structure.",children:[e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",className:"admin-form-grid",children:e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",children:"Footer preset"}),e.jsxs("select",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",value:s.footer.style,onChange:a=>n("footer",{...s.footer,style:a.target.value}),children:[e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",value:"professional",children:"Professional"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",value:"simple",children:"Simple"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",value:"exam_portal",children:"Exam portal"}),e.jsx("option",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",value:"premium",children:"Premium"})]})]})}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",className:"design-device-grid",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",label:"Footer vertical padding",value:s.footer.paddingY,onChange:a=>n("footer",{...s.footer,paddingY:a})}),e.jsx(r,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",label:"Footer column gap",value:s.footer.columnGap,onChange:a=>n("footer",{...s.footer,columnGap:a})})]}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:99",label:"Show newsletter",checked:s.footer.showNewsletter,onChange:a=>n("footer",{...s.footer,showNewsletter:a})})]}):i==="responsive"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",title:"Responsive system",description:"Every device value in the design system is validated before publication. Preserve readable navigation; the compact menu activates before controls clip.",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",className:"admin-form-grid",children:[e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",label:"Tablet breakpoint",value:s.responsive.tabletBreakp
1oint,min:720,max:1280,onChange:a=>n("responsive",{...s.responsive,tabletBreakpoint:a})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",label:"Mobile breakpoint",value:s.responsive.mobileBreakpoint,min:360,max:800,onChange:a=>n("responsive",{...s.responsive,mobileBreakpoint:a})}),e.jsx(c,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",label:"Compact navigation at",value:s.responsive.compactNavigationAt,min:900,max:1440,onChange:a=>n("responsive",{...s.responsive,compactNavigationAt:a})})]}),e.jsx(o,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",label:"Hide hero image on mobile",checked:s.responsive.hideHeroImageMobile,onChange:a=>n("responsive",{...s.responsive,hideHeroImageMobile:a})}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",className:"design-responsive-links",children:[e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",onClick:()=>k("desktop"),children:"Desktop"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",onClick:()=>k("tablet"),children:"Tablet"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",onClick:()=>k("mobile"),children:"Mobile"})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",className:`design-device-preview ${T}`,children:e.jsx(B,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:100",config:s})})]}):i==="presets"?e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"design-section-stack",children:[e.jsx(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",title:"Ready-made RajExams presets",description:"Applying to a draft is non-destructive. Publish creates a recoverable snapshot of the current public design.",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"design-preset-grid",children:[W.data?.system.map(a=>e.jsxs("article",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:[e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:`preset-swatch ${a.key}`}),e.jsx("strong",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:a.name}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:a.description}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:[e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"admin-ghost-button",onClick:()=>{u(a.config),x("preview")},children:"Preview"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"admin-primary-button",onClick:()=>J(a.key,a.config),children:"Apply to draft"})]})]},a.key)),W.data?.custom.map(a=>e.jsxs("article",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:[e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"preset-swatch custom"}),e.jsx("strong",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:a.name}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:a.description}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",children:e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"admin-primary-button",onClick:()=>J(a.key,a.config),children:"Apply to draft"})})]},a.key))]})}),e.jsx(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",title:"Create reusable preset",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"design-inline-actions",children:[e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",id:"preset-name",placeholder:"Preset name"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",id:"preset-description",placeholder:"Short preset description"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:101",className:"admin-ghost-button",onClick:()=>{const a=document.querySelector("#preset-name"),t=document.querySelector("#preset-description");if(!a?.value||!t?.value)return p.error("Enter a preset name and description.");ne.mutate({name:a.value,description:t.value,config:s})},children:"Save current draft as preset"})]})})]}):i==="advanced"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",title:"Scoped advanced CSS",description:"Only public-shell CSS declarations and safe custom variables are allowed. Selectors, imports, URLs, executable content, and markup are blocked before persistence.",children:[e.jsxs("label",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",className:"design-css-editor",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",children:"Custom CSS declarations"}),e.jsx("textarea",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",value:s.advanced.customCssDeclarations,onChange:a=>n("advanced",{...s.advanced,customCssDeclarations:a.target.value}),placeholder:"letter-spacing: .01em;\\n--example: 12px;"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",className:"design-custom-vars",children:[e.jsx("h3",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",children:"Custom variables"}),s.advanced.customVariables.map((a,t)=>e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",children:[e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",value:a.name,placeholder:"token-name",onChange:m=>n("advanced",{...s.advanced,customVariables:s.advanced.customVariables.map((j,w)=>w===t?{...j,name:m.target.value}:j)})}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",value:a.value,placeholder:"value",onCh
1ange:m=>n("advanced",{...s.advanced,customVariables:s.advanced.customVariables.map((j,w)=>w===t?{...j,value:m.target.value}:j)})}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",className:"admin-icon-button danger",onClick:()=>n("advanced",{...s.advanced,customVariables:s.advanced.customVariables.filter((m,j)=>j!==t)}),children:"×"})]},`${a.name}-${t}`)),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",className:"admin-ghost-button",onClick:()=>n("advanced",{...s.advanced,customVariables:[...s.advanced.customVariables,{name:"",value:""}]}),children:"Add custom variable"})]}),e.jsx(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",title:"Validated JSON import & export",description:"Imports become a safe draft. Exported files include no credentials or content data.",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",className:"design-import-export",children:[e.jsx("textarea",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",value:z,onChange:a=>Z(a.target.value),placeholder:"Paste a RajExams design JSON export"}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",children:[e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",className:"admin-ghost-button",onClick:()=>$(),children:[e.jsx(be,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",size:14})," Export current draft"]}),e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",className:"admin-primary-button",onClick:le,children:[e.jsx(Ae,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:102",size:14})," Import as draft"]})]})]})})]}):i==="preview"?e.jsxs(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",title:"Live draft preview",description:"Changes below are local until you save a draft. Open Full Site Preview renders the selected saved draft only for authenticated design users.",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",className:"design-responsive-links",children:[e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",onClick:()=>k("desktop"),children:"Desktop"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",onClick:()=>k("tablet"),children:"Tablet"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",onClick:()=>k("mobile"),children:"Mobile"}),e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",onClick:G,children:[e.jsx(L,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",size:14})," Open full site preview"]})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",className:`design-device-preview ${T}`,children:e.jsx(B,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:103",config:s})})]}):e.jsx(l,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",title:"Design revision history",description:"Each published version remains recoverable. Restore always creates a new draft; duplicate creates a separate editable branch without changing history.",children:e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-table-wrap",children:e.jsxs("table",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-table",children:[e.jsx("thead",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:e.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:[e.jsx("th",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:"Version"}),e.jsx("th",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:"Status"}),e.jsx("th",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:"Preset"}),e.jsx("th",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:"Modified"}),e.jsx("th",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:"Actions"})]})}),e.jsxs("tbody",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:[N.data?.map(a=>e.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:[e.jsxs("td",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:[e.jsx("strong",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:a.name}),e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-table-sub",children:a.publishNote||"No publish note"})]}),e.jsx("td",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:`score-chip ${a.status==="published"?"green":a.status==="draft"?"blue":"gray"}`,children:a.status})}),e.jsx("td",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:a.presetKey||"Custom"}),e.jsx("td",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:new Date(a.updatedAt).toLocaleStr
1ing("en-IN")}),e.jsxs("td",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-row-actions",children:[e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-ghost-button",onClick:()=>$(a.id),children:[e.jsx(je,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",size:13})," Export"]}),e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-ghost-button",onClick:()=>ae.mutate({id:a.id}),children:[e.jsx(Q,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",size:13})," Duplicate"]}),e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-ghost-button",onClick:()=>ee.mutate({id:a.id}),children:[e.jsx(X,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",size:13})," Restore to draft"]})]})]},a.id)),!N.data?.length&&e.jsx("tr",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",children:e.jsx("td",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",colSpan:5,children:e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:104",className:"admin-empty",children:"No saved design versions yet. Save the current configuration as a draft to begin versioning."})})})]})]})})});return e.jsx(ue,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",title:"Design System",description:"A versioned visual control center for RajExams. Drafts preview safely; only explicit publish actions update the shared public design.",actions:e.jsxs(e.Fragment,{children:[e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"admin-ghost-button",onClick:de,children:[e.jsx(xe,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",size:14})," Reset section"]}),e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"admin-ghost-button",onClick:G,children:[e.jsx(L,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",size:14})," Preview"]}),e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"admin-primary-button",disabled:I.isPending||V.isPending,onClick:te,children:[e.jsx(K,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",size:14})," ",d?"Save draft":"Create draft"]}),e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"admin-primary-button design-publish-button",disabled:!d||O.isPending,onClick:()=>d&&O.mutate({id:d,note:"Published from Design System"}),children:[e.jsx(Y,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",size:14})," Publish changes"]})]}),children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"design-workspace",children:[e.jsxs("aside",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"design-sidebar",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"design-search",children:[e.jsx(pe,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",size:15}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",value:v,onChange:a=>y(a.target.value),placeholder:"Search design settings"})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:ce.map(a=>{const t=a.icon;return e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:i===a.key?"active":"",onClick:()=>x(a.key),children:[e.jsx(t,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",size:15}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:a.label})]},a.key)})}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"design-sidebar-help",children:[e.jsx("strong",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:"Draft safety"}),e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:"Design changes never reach readers until a user with publish permission approves them."})]})]}),e.jsxs("section",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"design-main",children:[e.jsxs("header",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"design-section-head",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:[e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:["Design / ",M.label]}),e.jsx("h2",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:M.label}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:M.description})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",className:"design-draft-meter",children:[e.jsx(ve,{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",score:d?100:72}),e.jsx("small",{"data-loc":"client/src/pages/admin/AdminDesign.tsx:107",children:d?"Draft ready":"Unsaved"})]})]}),oe]})]})})}export{Ue 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.