PageSourceSearch

https://laiglesiafiel.com/assets/DevocionalEditorPage-fffc9500.js

js laiglesiafiel.com collected 2026-10-02 01:36:26 UTC 14,196 bytes, 1 lines download raw bytes

1import{j as e,L as y,s as F,C as te,br as le,bs as re,bi as U,es as ie,bc as de,cw as ne,E as ce,u as E}from"./vendor-ui-fc56ca80.js";import{i as oe,e as xe,r as s}from"./vendor-react-f9ccc48d.js";import{am as me,B as j,R as T,ae as he,ag as be,ah as f,ai as N,I as C,T as S,a1 as pe,a2 as ge,a3 as ue,a4 as ve,a5 as je,a6 as fe,a7 as Ne,a8 as ke}from"./index-90016d22.js";import{u as we}from"./useDevocionalAdmin-1853f811.js";import{f as J,a3 as ye}from"./vendor-utils-323b9898.js";import"./vendor-firebase-a557f106.js";import"./vendor-charts-9af8b7c0.js";const $=[{value:"TEMA_LIBRE",label:"Tema Libre Expositivo"},{value:"LIBRO_BIBLIA",label:"Estudio Expositivo de Libro"},{value:"TEMA_TEOLOGICO",label:"Estudio Teológico"}],Ee={TEMA_LIBRE:"bg-emerald-100 text-emerald-800 dark:bg-emerald-950 dark:text-emerald-300",LIBRO_BIBLIA:"bg-indigo-100 text-indigo-800 dark:bg-indigo-950 dark:text-indigo-300",TEMA_TEOLOGICO:"bg-violet-100 text-violet-800 dark:bg-violet-950 dark:text-violet-300"},De=()=>{var H;const{id:i}=oe(),k=xe(),{devocionales:b,saveDevocional:K,loading:w}=we(),p=!i||i==="new",Q=J(new Date,"yyyy-MM-dd"),[l,I]=s.useState(Q),[L,W]=s.useState(null),[d,O]=s.useState(""),[t,A]=s.useState(""),[r,D]=s.useState(""),[n,B]=s.useState(""),[m,P]=s.useState(""),[h,R]=s.useState("TEMA_LIBRE"),[c,M]=s.useState(""),[o,q]=s.useState(!1),[X,Z]=s.useState("reflexion"),[ee,g]=s.useState(!1),[G,u]=s.useState(null);s.useEffect(()=>{if(!p&&i&&!w){const a=b.find(v=>v.id===i);a&&(I(a.id),W(a.id),O(a.title),A(a.verse??""),D(a.verseText??""),B(a.body??""),P(a.prayer??""),R(a.type??"TEMA_LIBRE"),M(a.topic??""))}},[i,p,b,w]);const ae=()=>{const a=p?void 0:b.find(v=>v.id===i);return{id:l,title:d,verse:t,verseText:r,body:n,prayer:m,type:h,topic:c,...a!=null&&a.seriesId?{seriesId:a.seriesId}:{}}},_=async a=>{q(!0);try{await K(a,L??void 0),k("/app/devocional")}finally{q(!1)}},V=async()=>{if(!l){E.error("La fecha es requerida");return}if(!d.trim()){E.error("El título es requerido");return}if(!n.trim()){E.error("La reflexión es requerida (Pestaña Reflexión)");return}const a=ae();if(b.find(Y=>Y.id===l&&Y.id!==L)){u(a),g(!0);return}await _(a)},se=async()=>{G&&(g(!1),await _(G),u(null))},z=((H=$.find(a=>a.value===h))==null?void 0:H.label)??h;let x=l;try{x=J(ye(l),"EEEE d 'de' MMMM, yyyy",{locale:me}),x=x.charAt(0).toUpperCase()+x.slice(1)}catch{}return!p&&w?e.jsx("div",{className:"flex items-center justify-center min-h-[60vh]",children:e.jsx(y,{className:"h-8 w-8 animate-spin text-primary"})}):e.jsxs("div",{className:"min-h-screen bg-slate-50 dark:bg-slate-950 flex flex-col",children:[e.jsx("header",{className:"sticky top-0 z-30 bg-white/95 dark:bg-slate-900/95 backdrop-blur-sm border-b border-slate-200 dark:border-slate-800 shadow-sm",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-4 py-3 flex items-center gap-3",children:[e.jsx(j,{variant:"ghost",size:"icon",onClick:()=>k("/app/devocional"),className:"shrink-0",children:e.jsx(F,{className:"h-5 w-5"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"relative group",children:[e.jsx("input",{type:"text",value:d,onChange:a=>O(a.target.value),placeholder:"Escribe el título del devocional…",className:["w-full text-xl font-bold bg-transparent outline-none","text-slate-900 dark:text-slate-100","placeholder:text-slate-400 dark:placeholder:text-slate-500","border-b-2 pb-0.5 transition-colors",d?"border-transparent":"border-amber-400 dark:border-amber-500 focus:border-primary dark:focus:border-primary"].join(" ")}),!d&&e.jsx("span",{className:"absolute right-0 top-0 text-[10px] font-bold text-amber-500 dark:text-amber-400 uppercase tracking-wider animate-pulse",children:"requerido"})]}),e.jsxs("div",{className:"flex items-center gap-3 mt-1 flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1 text-xs text-slate-400",children:[e.jsx(te,{className:"h-3 w-3"}),x]}),t&&e.jsxs("span",{className:"flex items-center gap-1 text-xs text-indigo-500 dark:text-indigo-400 font-mono",children:[e.jsx(le,{className:"h-3 w-3"}),t]}),c&&e.jsxs("span",{className:"flex items-center gap-1 text-xs text-slate-400",children:[e.jsx(re,{className:"h-3 w-3"}),c]}),e.jsx(T,{className:`text-[10px] px-2 py-0 border-0 ${Ee[h]??""}`,children:z})]})]}),e.jsxs(j,{onClick:V,disabled:o,className:"gap-2 shrink-0",children:[o?e.jsx(y,{className:"h-4 w-4 animate-spin"}):e.jsx(U,{className:"h-4 w-4"}),o?"Guardando...":"Guardar"]})]})}),e.jsxs("main",{className:"flex-1 max-w-4xl w-full mx-auto px-4 py-8",children:[e.jsxs(he,{value:X,onValueChange:a=>Z(a),className:"w-full",children:[e.jsxs(be,{className:"h-auto p-1 bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-800 rounded-xl shadow-sm mb-6 w-full grid grid-cols-4",children:[e.jsxs(f,{value:"versiculo",className:"rounded-lg flex items-center gap-2 py-2.5 data-[state=active]:bg-slate-900 data-[state=active]:text-white dark:data-[state=active]:bg-slate-100 dar
1k:data-[state=active]:text-slate-900 transition-all text-xs sm:text-sm",children:[e.jsx(ie,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:"Versículo"})]}),e.jsxs(f,{value:"reflexion",className:"rounded-lg flex items-center gap-2 py-2.5 data-[state=active]:bg-slate-900 data-[state=active]:text-white dark:data-[state=active]:bg-slate-100 dark:data-[state=active]:text-slate-900 transition-all text-xs sm:text-sm",children:[e.jsx(de,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:"Reflexión"})]}),e.jsxs(f,{value:"oracion",className:"rounded-lg flex items-center gap-2 py-2.5 data-[state=active]:bg-slate-900 data-[state=active]:text-white dark:data-[state=active]:bg-slate-100 dark:data-[state=active]:text-slate-900 transition-all text-xs sm:text-sm",children:[e.jsx(ne,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:"Oración"})]}),e.jsxs(f,{value:"preview",className:"rounded-lg flex items-center gap-2 py-2.5 data-[state=active]:bg-slate-900 data-[state=active]:text-white dark:data-[state=active]:bg-slate-100 dark:data-[state=active]:text-slate-900 transition-all text-xs sm:text-sm",children:[e.jsx(ce,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:"Vista Previa"})]})]}),e.jsx(N,{value:"versiculo",className:"focus-visible:outline-none",children:e.jsxs("div",{className:"bg-white dark:bg-slate-900 rounded-2xl border border-slate-200 dark:border-slate-800 shadow-sm p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-bold text-slate-500 dark:text-slate-400 uppercase tracking-wider mb-1",children:"Configuración General"}),e.jsx("p",{className:"text-xs text-slate-400 dark:text-slate-500",children:"Datos base del devocional: fecha, tipo y serie."})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Fecha"}),e.jsx(C,{type:"date",value:l,onChange:a=>I(a.target.value),className:"bg-slate-50 dark:bg-slate-800"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Tipo"}),e.jsx("select",{value:h,onChange:a=>R(a.target.value),className:"flex h-10 w-full rounded-md border border-input bg-slate-50 dark:bg-slate-800 px-3 py-2 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:$.map(a=>e.jsx("option",{value:a.value,children:a.label},a.value))})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Tema / Serie"}),e.jsx(C,{value:c,onChange:a=>M(a.target.value),placeholder:"Ej: La Humildad, Romanos, etc.",className:"bg-slate-50 dark:bg-slate-800"})]}),e.jsx("hr",{className:"border-slate-100 dark:border-slate-800"}),e.jsx("div",{children:e.jsx("h2",{className:"text-sm font-bold text-slate-500 dark:text-slate-400 uppercase tracking-wider mb-4",children:"Versículo del Día"})}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Referencia bíblica"}),e.jsx(C,{value:t,onChange:a=>A(a.target.value),placeholder:"Ej: Juan 3:16, 1 Pedro 5:5-7",className:"bg-slate-50 dark:bg-slate-800 font-mono"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Texto del versículo"}),e.jsx(S,{value:r,onChange:a=>D(a.target.value),rows:4,placeholder:"Escribe o pega el texto completo del versículo...",className:"bg-slate-50 dark:bg-slate-800 leading-relaxed resize-none"})]}),r&&e.jsxs("div",{className:"bg-indigo-50 dark:bg-indigo-950/30 border-l-4 border-indigo-400 dark:border-indigo-600 p-4 rounded-r-lg",children:[e.jsxs("p",{className:"text-sm italic text-indigo-900 dark:text-indigo-200 leading-relaxed",children:['"',r,'"']}),t&&e.jsxs("p",{className:"text-xs font-semibold text-indigo-600 dark:text-indigo-400 mt-2",children:["— ",t]})]})]})}),e.jsx(N,{value:"reflexion",className:"focus-visible:outline-none",children:e.jsxs("div",{className:"bg-white dark:bg-slate-900 rounded-2xl border border-slate-200 dark:border-slate-800 shadow-sm p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-bold text-slate-500 dark:text-slate-400 uppercase tracking-wider",children:"Reflexión del día"}),e.jsx("p",{className:"text-xs text-slate-400 dark:text-slate-500 mt-0.5",children:"El cuerpo principal del devocional que verán los miembros."})]}),e.jsxs("span",{className:"text-xs text-slate-400 dark:text-slate-500 font-mono tabular-nums",children:[n.length," caracteres"]})]}),e.jsx(S,{value:n,onChange:a=>B(a.target.value),placeholder:"Escribe la reflexión del día. Desarrolla el pasaje con claridad y aplicación práctica...",className:"min-h-[520px] bg-slate-50 dark:bg-slate-800 text-base leading-8 resize-none font-[Georgia,serif] dark:text-slate-100",required:!0})]})}),e.jsx(N,{value:"oracion",className:"focus-visible:outline-none",children:e.jsxs("div",{className:"bg-white dark:bg-slate-900 rounded-2xl border border-slate-200 dark:border-slate-800 shadow-sm p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-bold text-slate-500 dark:text-slate-400 uppercase tracking-wider",children:"Oración de cierre"}),e.jsx("p",{className:"text-xs text-slate-400 dark:text-slate-500 mt-0.5",children:"Una oración que guíe al lector a responder con fe y acción."})]}),e.jsxs("span",{className:"text-xs text-slate-400 dark:text-slate-500 font-mono tabular-nums",children:[m.length," caracteres"]})]}),e.jsx(S,{value:m,onChange:a=>P(a.target.value),placeholder:"Padre celestial, te pedimos que...",className:"min-h-[360px] bg-slate-50 dark:bg-slate-800 text-base leading-8 resize-none font-[Georgia,serif] dark:text-slate-100"})]})}),e.jsx(N,{value:"preview",className:"focus-visible:outline-none",children:e.jsxs("div",{className:"bg-white dark:bg-slate-900 rounded-2xl border border-slate-200 dark:border-slate-800 shadow-sm overflow-hidden",children:[e.jsxs("div",{className:"bg-gradient-to-r from-slate-800 to-slate-900 dark:from-slate-900 dark:to-black text-white p-6 sm:p-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(T,{className:"bg-white/20 text-white border-white/30 text-[10px] uppercase tracking-wider",children:z}),c&&e.jsx(T,{className:"bg-white/10 text-white/80 border-white/20 text-[10px]",children:c})]}),e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold leading-tight mb-2",children:d||e.jsx("span",{className:"opacity-40 italic",children:"Sin título"})}),e.jsx("p",{className:"text-sm text-slate-300",children:x})]}),(t||r)&&e.jsxs("div",{className:"bg-indigo-50 dark:bg-indigo-950/30 px-6 sm:px-8 py-5 border-b border-indigo-100 dark:border-indigo-900/50",children:[r&&e.jsxs("p",{className:"text-base italic text-indigo-900 dark:text-indigo-200 leading-relaxed mb-2",children:['"',r,'"']}),t&&e.jsx("p",{className:"text-sm font-bold text-indigo-600 dark:text-indigo-400",children:t})]}),e.jsx("div",{className:"px-6 sm:px-8 py-6",children:n?e.jsx("div",{className:"prose prose-slate dark:prose-invert max-w-none text-base leading-8 font-[Georgia,serif] whitespace-pre-line",children:n}):e.jsx("p",{className:"text-slate-300 dark:text-slate-600 italic text-center py-8",children:"La reflexión aparecerá aquí..."})}),m&&e.jsxs("div",{className:"mx-6 sm:mx-8 mb-8 bg-slate-50 dark:bg-slate-800/60 border border-slate-200 dark:border-slate-700 rounded-xl p-5",children:[e.jsx("p",{className:"text-xs font-bold uppercase tracking-wider text-slate-400 mb-3",children:"Oración"}),e.jsx("p",{className:"text-sm leading-7 text-slate-700 dark:text-slate-300 italic whitespace-pre-line font-[Georgia,serif]",children:m})]})]})})]}),e.jsxs("div",{className:"flex items-center justify-between mt-6 pt-4 border-t border-slate-200 dark:border-slate-800",children:[e.jsxs(j,{variant:"ghost",onClick:()=>k("/app/devocional"),className:"text-slate-500",children:[e.jsx(F,{className:"h-4 w-4 mr-2"}),"Volver sin guardar"]}),e.jsxs(j,{onClick:V,disabled:o,className:"gap-2",children:[o?e.jsx(y,{className:"h-4 w-4 animate-spin"}):e.jsx(U,{className:"h-4 w-4"}),o?"Guardando...":"Guardar Devocional"]})]})]}),e.jsx(pe,{open:ee,onOpenChange:a=>{a||(g(!1),u(null))},children:e.jsxs(ge,{children:[e.jsxs(ue,{children:[e.jsx(ve,{children:"¿Sobreescribir devocional existente?"}),e.jsxs(je,{children:["Ya existe un devocional para el día ",e.jsx("strong",{children:l}),". Si continúas, el contenido existente será reemplazado. ¿Deseas cambiar la fecha o confirmar que quieres sobreescribir?"]})]}),e.jsxs(fe,{children:[e.jsx(Ne,{onClick:()=>{g(!1),u(null)},children:"Cambiar fecha"}),e.jsx(ke,{onClick:se,className:"bg-amber-600 hover:bg-amber-700 text-white",children:"Sobreescribir"})]})]})})]})};export{De 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.