PageSourceSearch

https://smartedu.ai/build/assets/Index-C2xb9wB5.js

js smartedu.ai collected 2026-10-05 15:07:06 UTC 5,779 bytes, 1 lines download raw bytes

1import{i as S,t as C}from"./react-C6JdJxIB.js";import{a as I,n as x}from"./index.esm-DxXUb9DD.js";import{t as F}from"./jsx-runtime-CGXBp6bb.js";import{t as o}from"./trans-PZ_OsZUf.js";import{t as $}from"./CentralLayout-B7lm4y_K.js";import{t as q}from"./FormSelectInput-BdHVu58Z.js";import{t as L}from"./TranslatableInput-DRuwEN4B.js";import{t as D}from"./FormTextInput-BRi0o3xr.js";import{t as E}from"./FormQuillInput-C4tmTq4T.js";import{t as J}from"./FormFileInput-CMeWUWxw.js";var u=S(C(),1),e=F();function h(t){if(t==null||t==="")return{};if(typeof t=="object")return t;try{const a=JSON.parse(t);return a&&typeof a=="object"?a:{}}catch{return{}}}function O({field:t,value:a,preview:c,onChange:i,error:n}){return t.type==="image"||t.type==="file"?(0,e.jsx)(J,{name:t.key,id:`setting-${t.key}`,label:t.label,type:t.type,preview:c,error:n,onChange:i}):t.type==="json"?(0,e.jsx)("div",{children:(0,e.jsx)(L,{name:t.key,label:t.label,value:h(a),onChange:i,type:t.translatableType??"input",required:t.required,error:n,rows:t.rows??5})}):t.type==="textarea"?(0,e.jsx)(E,{id:`setting-${t.key}-quill`,name:t.key,label:t.label,value:a??"",onChange:i,rows:t.rows??5,error:n,labelClassName:"text-xs font-semibold uppercase tracking-wider text-slate-500",editorClassName:"mt-2 rounded-2xl border border-slate-200 bg-white shadow-sm",errorClassName:"mt-2 text-xs text-rose-600"}):t.type==="select"?(0,e.jsx)(q,{id:`setting-${t.key}`,name:t.key,label:t.label,value:a??"",onChange:i,options:t.options??[],error:n,placeholder:"Choose an option",selectClassName:"select mt-2 w-full rounded-2xl border border-slate-200 bg-white px-4 py-3 text-sm text-slate-800 shadow-sm focus:border-slate-400 focus:outline-none focus:ring-2 focus:ring-slate-300",labelClassName:"text-xs font-semibold uppercase tracking-wider text-slate-500",errorClassName:"mt-2 text-xs text-rose-600",eventNamespace:"select2-site"}):(0,e.jsx)(D,{id:`setting-${t.key}`,name:t.key,type:t.type,label:t.label,value:a??"",onChange:i,error:n,inputClassName:"mt-2 w-full rounded-2xl border border-slate-200 bg-white px-4 py-3 text-sm text-slate-800 shadow-sm focus:border-slate-400 focus:outline-none focus:ring-2 focus:ring-slate-300",labelClassName:"text-xs font-semibold uppercase tracking-wider text-slate-500",errorClassName:"mt-2 text-xs text-rose-600"})}function G({flags:t,activeFlag:a,pageTitle:c,pageDescription:i,fields:n,values:p,previews:y,saveUrl:d}){const{data:j,setData:N,post:k,processing:b,errors:v,transform:g}=I((0,u.useMemo)(()=>{const s={};return n.forEach(r=>{if(r.type==="image"){s[r.key]=null;return}if(r.type==="file"){s[r.key]=null;return}if(r.type==="json"){s[r.key]=h(p[r.key]);return}s[r.key]=p[r.key]??""}),s},[n,p])),[w,f]=(0,u.useState)(y),_=s=>{s.preventDefault(),g(r=>{const l={...r};return l._method="put",n.forEach(m=>{m.type==="json"&&(l[m.key]=l[m.key]&&typeof l[m.key]=="object"?JSON.stringify(l[m.key]):"")}),l}),k(d,{forceFormData:!0,preserveScroll:!0})};return(0,e.jsx)($,{section:"admin",title:c,children:(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"d-flex align-items-center justify-content-between gap-2 mb-4 flex-wrap",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h4",{className:"mb-1",children:o(c)}),(0,e.jsx)("p",{className:"mb-0 text-muted",children:o(i)})]}),(0,e.jsxs)("div",{className:"gap-2 d-flex align-items-center flex-wrap",children:[(0,e.jsx)("a",{href:"javascript:void(0);",className:"btn btn-icon btn-outline-light shadow","aria-label":"Refresh",children:(0,e.jsx)("i",{className:"ti ti-refresh"})}),(0,e.jsx)("a",{href:"javascript:void(0);",className:"btn btn-icon btn-outline-light shadow","aria-label":"Collapse",id:"collapse-header",children:(0,e.jsx)("i",{className:"ti ti-transition-top"})})]})]}),(0,e.jsx)("div",{className:"card border-0 mb-4",children:(0,e.jsx)("div",{className:"card-body pb-0 pt-0 px-2",children:(0,e.jsx)("ul",{className:"nav nav-tabs nav-bordered nav-bordered-primary",children:t.map(s=>(0,e.jsx)("li",{className:"nav-item me-3",children:(0,e.jsxs)(x,{href:s.href,className:`nav-link p-2 ${s.key===a?"active":""}`,children:[(0,e.jsx)("i",{className:"ti ti-adjustments-cog me-2"}),o(s.label)]})},s.key))})})}),(0,e.jsxs)("div",{className:"row",children:[(0,e.jsx)("div",{className:"col-xl-3 
1col-lg-12 mb-3 mb-xl-0",children:(0,e.jsx)("div",{className:"card mb-0",children:(0,e.jsx)("div",{className:"card-body",children:(0,e.jsxs)("div",{className:"settings-sidebar",children:[(0,e.jsx)("h5",{className:"mb-3 fs-17",children:o("flags")}),(0,e.jsx)("div",{className:"list-group list-group-flush settings-sidebar",children:t.map(s=>(0,e.jsx)(x,{href:s.href,className:`d-block p-2 fw-medium ${s.key===a?"active":""}`,children:o(s.label)},s.key))})]})})})}),(0,e.jsx)("div",{className:"col-xl-9 col-lg-12",children:(0,e.jsx)("div",{className:"card mb-0",children:(0,e.jsxs)("div",{className:"card-body",children:[(0,e.jsxs)("div",{className:"border-bottom mb-3 pb-3",children:[(0,e.jsx)("h5",{className:"mb-1 fs-17",children:o(c)}),(0,e.jsx)("p",{className:"mb-0 text-muted",children:o("update_the_values_for_the_selected_flag")})]}),(0,e.jsxs)("form",{onSubmit:_,children:[(0,e.jsx)("div",{className:"d-flex flex-column gap-4 border-bottom mb-3 pb-3",children:n.map(s=>(0,e.jsx)(O,{field:s,value:j[s.key],preview:w[s.key],error:v[s.key],onChange:r=>{N(s.key,r),s.type==="image"&&r instanceof File&&f(l=>({...l,[s.key]:URL.createObjectURL(r)}))}},s.key))}),(0,e.jsxs)("div",{className:"d-flex align-items-center justify-content-end flex-wrap gap-2",children:[(0,e.jsx)(x,{href:t.find(s=>s.key===a)?.href??d,className:"btn btn-sm btn-light",children:o("cancel")}),(0,e.jsx)("button",{type:"submit",disabled:b,className:"btn btn-sm btn-primary",children:b?o("saving"):o("save_changes")})]})]})]})})})]})]})})}export{G 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.