1import{o as g,j as e,m as p,t as f,u as C,c as R,H,a as E,N as W,R as h,F as q}from"./index-BzV7FsMc.js";import{B as O}from"./Breadcrumbs-Cq5N9j7H.js";import{a as M}from"./index-9riPZyRy.js";import{r as x}from"./vendor-Dbo3NTwX.js";import{C as T}from"./circle-check-D2nmmrBL.js";import{S as v}from"./shield-check-CtYufOCQ.js";import"./i18n-Cj8ANGxY.js";import"./chevron-right-vsCd-xnb.js";import"./schemas-DpsIbFMw.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 w=g("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** 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 j=g("MailCheck",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]);/** 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 y=g("SendHorizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]),F="";async function I(t){const i=await fetch(`${F}/api/stack/submit`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),o=await i.text();if(!i.ok){let s=o;try{s=JSON.parse(o)?.error?.message??o}catch{}throw new Error(s||`HTTP ${i.status}`)}return JSON.parse(o)}function L({workflows:t,locale:i,className:o}){const[s,n]=x.useState({toolName:"",website:"",workflows:[],description:"",whyReview:"",submitterName:"",submitterEmail:"",company:"",note:""}),[d,c]=x.useState("idle"),[u,b]=x.useState(""),r=i==="es"?{toolName:"Nombre de la herramienta",website:"Sitio web",workflows:"Workflows relacionados",description:"Descripción corta",descriptionHelp:"Máximo 200 caracteres",whyReview:"¿Por qué deberÃamos revisarla?",whyReviewHelp:"Máximo 800 caracteres",submitterName:"Tu nombre",submitterEmail:"Tu email",company:"Empresa",companyHelp:"Opcional",note:"Nota adicional",noteHelp:"Opcional",submit:"Enviar sugerencia",success:"Gracias. Revisamos sugerencias cada semana. Si es un fit, te contactaremos antes de publicarla.",error:"No pudimos enviar la sugerencia."}:{toolName:"Tool name",website:"Website",workflows:"Related workflows",description:"Short description",descriptionHelp:"Max 200 characters",whyReview:"Why should we review it?",whyReviewHelp:"Max 800 characters",submitterName:"Your name",submitterEmail:"Your email",company:"Company",companyHelp:"Optional",note:"Additional note",noteHelp:"Optional",submit:"Submit suggestion",success:"Thanks. We review submissions weekly. If it's a fit, you'll hear from us before it ships.",error:"We couldn't submit your suggestion."};async function k(a){a.preventDefault(),c("submitting"),b(""),f("stack_submission_started");try{await I(s),c("ok"),f("stack_submission_completed")}catch(l){c("error"),b(l.message)}}if(d==="ok")return e.jsxs("div",{className:p("flex items-start gap-4 roun
16ded-2xl border p-6",o),style:{borderColor:"hsl(36 50% 70% / 0.4)",background:"linear-gradient(135deg, hsl(36 60% 94%), hsl(36 50% 96%))"},children:[e.jsx("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full",style:{background:"hsl(36 68% 44%)"},children:e.jsx(T,{className:"h-5 w-5 text-white",strokeWidth:2.5})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-display text-base font-semibold text-foreground",children:i==="es"?"Sugerencia recibida":"Submission received"}),e.jsx("p",{className:"mt-1 text-sm leading-relaxed text-muted-foreground",children:r.success})]})]});function N(a){n(l=>({...l,workflows:l.workflows.includes(a)?l.workflows.filter(S=>S!==a):[...l.workflows,a]}))}return e.jsxs("form",{onSubmit:k,className:p("space-y-6",o),children:[e.jsx(m,{label:r.toolName,required:!0,children:e.jsx("input",{required:!0,className:"form-input",placeholder:i==="es"?"p. ej. Glean":"e.g. Glean",value:s.toolName,onChange:a=>n({...s,toolName:a.target.value})})}),e.jsx(m,{label:r.website,required:!0,children:e.jsx("input",{required:!0,type:"url",className:"form-input",placeholder:"https://",value:s.website,onChange:a=>n({...s,website:a.target.value})})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"form-label",children:r.workflows}),e.jsx("div",{className:"flex flex-wrap gap-2",children:t.map(a=>{const l=s.workflows.includes(a.slug);return e.jsx("button",{type:"button",onClick:()=>N(a.slug),className:p("rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all",l?"border-primary bg-primary/10 text-primary":"border-border bg-background text-muted-foreground hover:border-primary/40 hover:text-foreground"),"aria-pressed":l,children:a.name[i]},a.slug)})})]}),e.jsx(m,{label:r.description,help:r.descriptionHelp,required:!0,children:e.jsx("textarea",{required:!0,maxLength:200,rows:2,className:"form-input",value:s.description,onChange:a=>n({...s,description:a.target.value})})}),e.jsx(m,{label:r.whyReview,help:r.whyReviewHelp,children:e.jsx("textarea",{maxLength:800,rows:4,className:"form-input",value:s.whyReview,onChange:a=>n({...s,whyReview:a.target.value})})}),e.jsxs("div",{className:"grid gap-6 sm:grid-cols-2",children:[e.jsx(m,{label:r.submitterName,required:!0,children:e.jsx("input",{required:!0,className:"form-input",value:s.submitterName,onChange:a=>n({...s,submitterName:a.target.value})})}),e.jsx(m,{label:r.submitterEmail,required:!0,children:e.jsx("input",{required:!0,type:"email",className:"form-input",value:s.submitterEmail,onChange:a=>n({...s,submitterEmail:a.target.value})})})]}),e.jsx(m,{label:r.company,help:r.companyHelp,children:e.jsx("input",{className:"form-input",value:s.company,onChange:a=>n({...s,company:a.target.value})})}),e.jsx(m,{label:r.note,help:r.noteHelp,children:e.jsx("textarea",{rows:2,className:"form-input",value:s.note,onChange:a=>n({...s,note:a.target.value})})}),d==="error"&&e.jsxs("p",{className:"rounded-xl border border-destructive/40 bg-destructive/5 p-3 text-sm text-destructive",children:[r.error," ",u]}),e.jsx("div",{className:"flex items-center gap-3 pt-2",children:e.jsxs("button",{type:"submit",disabled:d==="submitting",className:"btn-pay",children:[e.jsx(y,{className:"h-4 w-4",strokeWidth:2}),d==="submitting"?i==="es"?"Enviandoâ¦":"Submittingâ¦":r.submit]})})]})}function m({label:t,children:i,help:o,required:s}){return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{className:"form-label flex items-center gap-2",children:[e.jsx("span",{children:t}),s&&e.jsx("span",{className:"text-primary",children:"*"}),o&&e.jsx("span",{className:"ml-auto text-[0.68rem] font-medium normal-case tracking-normal text-muted-foreground/70",children:o})]}),i]})}function $(){const{locale:t,localePath:i}=C(),o=R("/stack/submit",t),s=t==="es"?"Sugerir una herramienta â OpSprint Stack":"Suggest a tool â OpSprint Stack",n=t==="es"?"Sugiere una herramienta de IA enterprise para revisión editorial. Revisamos semanalmente.":"Suggest an enterprise AI tool for editorial consideration. We review weekly.",d=t==="es"?[{icon:w,label:"Revisión",value:"Semanal"},{icon:j,label:"Seguimiento",value:"Antes de publicar"},{icon:v,label:"Sin pago",value:"Consideración gratuita"}]:[{icon:w,label:"Review cadence",value:"Weekly"},{icon:j,label:"Follow-up",value:"Before we publish"},{icon:v,label:"Pricing",value:"Free consideration"}];return e.jsxs("div",{className:"page-wrap min-h-screen bg-background text-foreground",children:[e.jsxs(H,{
16children:[e.jsx("title",{children:s}),e.jsx("meta",{name:"description",content:n}),e.jsx("link",{rel:"canonical",href:o}),e.jsx("meta",{property:"og:title",content:s}),e.jsx("meta",{property:"og:description",content:n})]}),e.jsx(E,{canonicalPath:"/stack/submit"}),e.jsx(W,{}),e.jsxs("main",{children:[e.jsxs("section",{className:"section-shell relative px-4 pb-12 pt-28 sm:px-6 sm:pt-32 lg:px-8 lg:pt-36",children:[e.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-0 -z-10 h-[400px]",style:{background:"radial-gradient(ellipse 50% 40% at 50% 0%, hsl(36 60% 75% / 0.14), transparent 70%)"},"aria-hidden":!0}),e.jsxs("div",{className:"mx-auto max-w-7xl",children:[e.jsx(O,{items:[{label:"Stack",href:i("/stack")},{label:t==="es"?"Sugerir una herramienta":"Suggest a tool",href:i("/stack/submit")}]}),e.jsxs(h,{children:[e.jsxs("span",{className:"section-badge mb-6 mt-8",children:[e.jsx(y,{className:"h-3.5 w-3.5",strokeWidth:2}),t==="es"?"Sugerencia":"Submission"]}),e.jsx("h1",{className:"max-w-[18ch] font-display text-[clamp(2.4rem,5vw,4rem)] font-semibold leading-[0.98] tracking-tight text-foreground",children:t==="es"?"Sugiere una herramienta":"Suggest a tool"}),e.jsx("p",{className:"mt-6 max-w-[52ch] text-base leading-relaxed text-muted-foreground",children:t==="es"?"Revisamos sugerencias cada semana. Si es un fit, te contactaremos antes de publicarla. El envÃo no garantiza la inclusión.":"We review submissions weekly. If it's a fit, you'll hear from us before it ships. Submission does not guarantee inclusion."})]})]})]}),e.jsx("section",{className:"section-shell px-4 pb-24 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"mx-auto grid max-w-7xl gap-8 lg:grid-cols-[1.5fr_1fr]",children:[e.jsx(h,{children:e.jsx("div",{className:"rounded-3xl border p-6 sm:p-10",style:{borderColor:"hsl(40 14% 86%)",background:"linear-gradient(180deg, hsl(0 0% 100%), hsl(40 14% 97%))",boxShadow:"0 12px 28px hsl(220 14% 60% / 0.08)"},children:e.jsx(L,{workflows:M,locale:t})})}),e.jsx(h,{children:e.jsxs("aside",{className:"space-y-3",children:[d.map(c=>{const u=c.icon;
16return e.jsxs("div",{className:"flex items-center gap-4 rounded-2xl border p-5",style:{borderColor:"hsl(40 14% 86%)",background:"linear-gradient(180deg, hsl(0 0% 100%), hsl(40 14% 97%))"},children:[e.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border",style:{borderColor:"hsl(36 50% 70% / 0.4)",background:"linear-gradient(135deg, hsl(36 60% 92%), hsl(36 50% 96%))"},children:e.jsx(u,{className:"h-5 w-5 text-primary",strokeWidth:1.75})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[0.68rem] font-bold uppercase tracking-[0.14em] text-muted-foreground",children:c.label}),e.jsx("p",{className:"mt-0.5 font-display text-lg font-semibold text-foreground",children:c.value})]})]},c.label)}),e.jsx("p",{className:"px-2 text-xs leading-relaxed text-muted-foreground",children:t==="es"?"Las relaciones comerciales nunca afectan el OpSprint Score ni las recomendaciones. Revisá nuestra polÃtica editorial antes de enviar si estás representando a un proveedor.":"Commercial relationships never affect OpSprint Score or recommendations. Review our editorial policy before submitting if you're representing a vendor."})]})})]})})]}),e.jsx(q,{})]})}export{$ 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.