1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[932],{24654:function(){},28200:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return M}});var n=i(57437),a=i(75294),o=i(74819),l=i(7347),s=i(44367),r=i(71033),c=i(61485);let d=(0,c.fe)({name:"post",title:"Post",type:"document",fields:[(0,c.Z2)({name:"title",title:"Title",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"slug",title:"Slug",type:"slug",options:{source:"title",maxLength:96},validation:e=>e.required()}),(0,c.Z2)({name:"excerpt",title:"Excerpt",type:"text",rows:3,description:"Short summary for cards, SEO, and social."}),(0,c.Z2)({name:"coverImage",title:"Cover image",type:"image",options:{hotspot:!0}}),(0,c.Z2)({name:"categories",title:"Categories",type:"array",of:[{type:"reference",to:[{type:"category"}]}]}),(0,c.Z2)({name:"author",title:"Author",type:"reference",to:[{type:"author"}]}),(0,c.Z2)({name:"publishedAt",title:"Published at",type:"datetime",initialValue:()=>new Date().toISOString()}),(0,c.Z2)({name:"body",title:"Body",type:"blockContent"}),(0,c.Z2)({name:"announceOnSocial",title:"Announce on social",type:"boolean",initialValue:!1,description:"When enabled, publishing this post triggers a cross-post to connected social channels via Zapier."}),(0,c.Z2)({name:"seo",title:"SEO",type:"object",options:{collapsible:!0,collapsed:!0},fields:[{name:"title",type:"string",title:"Meta title"},{name:"description",type:"text",rows:2,title:"Meta description"}]})],orderings:[{title:"Published, newest",name:"publishedDesc",by:[{field:"publishedAt",direction:"desc"}]}],preview:{select:{title:"title",subtitle:"author.name",media:"coverImage"}}}),u=(0,c.fe)({name:"author",title:"Author",type:"document",fields:[(0,c.Z2)({name:"name",title:"Name",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"role",title:"Role / title",type:"string",description:"e.g. Founder, Engineering Manager"}),(0,c.Z2)({name:"image",title:"Photo",type:"image",options:{hotspot:!0}}),(0,c.Z2)({name:"bio",title:"Bio",type:"text",rows:3})],preview:{select:{title:"name",subtitle:"role",media:"image"}}}),p=(0,c.fe)({name:"category",title:"Category",type:"document",fields:[(0,c.Z2)({name:"title",title:"Title",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"slug",title:"Slug",type:"slug",options:{source:"title",maxLength:64},validation:e=>e.required()})],preview:{select:{title:"title"}}}),m=(0,c.fe)({name:"blockContent",title:"Body",type:"array",of:[(0,c.qu)({type:"block",styles:[{title:"Normal",value:"normal"},{title:"Heading 2",value:"h2"},{title:"Heading 3",value:"h3"},{title:"Quote",value:"blockquote"}],lists:[{title:"Bullet",value:"bullet"},{title:"Numbered",value:"number"}],marks:{decorators:[{title:"Bold",value:"strong"},{title:"Italic",value:"em"},{title:"Code",value:"code"}],annotations:[{name:"link",type:"object",title:"Link",fields:[{name:"href",type:"url",title:"URL"}]}]}}),(0,c.qu)({type:"image",options:{hotspot:!0},fields:[{name:"alt",type:"string",title:"Alt text"}]})]}),h=(0,c.fe)({name:"integration",title:"Integration",type:"document",fields:[(0,c.Z2)({name:"name",title:"Name",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"slug",title:"Slug",type:"slug",options:{source:"name",maxLength:96},validation:e=>e.required()}),(0,c.Z2)({name:"category",title:"Category",type:"string",options:{list:["Suppliers","Measurements","Accounting","E-signature","Calendar","Advertising","Communications","AI","Automations"]},validation:e=>e.required()}),(0,c.Z2)({name:"logo",title:"Logo",type:"image",options:{hotspot:!1}}),(0,c.Z2)({name:"marquee",title:"Show in home marquee",type:"boolean",initialValue:!0}),(0,c.Z2)({name:"tagline",title:"Tagline",type:"string",description:"One-liner for cards + hero."}),(0,c.Z2)({name:"description",title:"Description",type:"text",rows:3,description:"Intro paragraph on the detail page."}),(0,c.Z2)({name:"bullets",title:"What you can do",type:"array",of:[{type:"string"}]}),(0,c.Z2)({name:"order",title:"Sort order",type:"number",initialValue:0}),(0,c.Z2)({name:"helpArticle",title:"Help article",type:"blockContent",description:"Optional setup/how-to-connect guide shown on the integration detail page."})],orderings:[{title:"Sort order",name:"orderAsc",by:[{field:"order",direction:"asc"}]}],preview:{select:{title:"name",subtitle:"category",media:"logo"}}}),g=(0,c.fe)({name:"caseStudy",title:"Case study",type:"document",fields:[(0,c.Z2)({name:"title",title:"Title",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"slug",title:"Slug",type:"slug",options:{source:"title",maxLength:96},validation:e=>e.required()}),(0,c.Z2)({name:"customer",title:"Customer name",type:"string"}),(0,c.Z2)({name:"logo",title:"Customer logo",type:"image"}
1),(0,c.Z2)({name:"industry",title:"Industry / segment",type:"string"}),(0,c.Z2)({name:"summary",title:"Summary",type:"text",rows:3,description:"Card + SEO blurb."}),(0,c.Z2)({name:"coverImage",title:"Cover image",type:"image",options:{hotspot:!0}}),(0,c.Z2)({name:"metrics",title:"Headline metrics",type:"array",of:[{type:"object",fields:[{name:"value",type:"string",title:"Value (e.g. 38%)"},{name:"label",type:"string",title:"Label (e.g. faster collections)"}],preview:{select:{title:"value",subtitle:"label"}}}]}),(0,c.Z2)({name:"quote",title:"Pull quote",type:"text",rows:2}),(0,c.Z2)({name:"quoteAuthor",title:"Quote author",type:"string"}),(0,c.Z2)({name:"body",title:"Body",type:"blockContent"}),(0,c.Z2)({name:"publishedAt",title:"Published at",type:"datetime",initialValue:()=>new Date().toISOString()})],orderings:[{title:"Published, newest",name:"publishedDesc",by:[{field:"publishedAt",direction:"desc"}]}],preview:{select:{title:"title",subtitle:"customer",media:"logo"}}}),y=(0,c.fe)({name:"legalDocument",title:"Legal document",type:"document",fields:[(0,c.Z2)({name:"title",title:"Title",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"slug",title:"Slug",type:"slug",options:{source:"title",maxLength:96},description:'Use "privacy-policy" or "terms" to override those pages.',validation:e=>e.required()}),(0,c.Z2)({name:"lastUpdated",title:"Last updated",type:"date"}),(0,c.Z2)({name:"body",title:"Body",type:"blockContent",validation:e=>e.required()})],preview:{select:{title:"title",subtitle:"slug.current"}}}),f={type:"array",of:[{type:"object",fields:[{name:"day",title:"Day",type:"string",options:{list:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]}},{name:"start",title:"Start (HH:MM, 24h)",type:"string",initialValue:"09:00"},{name:"end",title:"End (HH:MM, 24h)",type:"string",initialValue:"17:00"}],preview:{select:{day:"day",start:"start",end:"end"},prepare:e=>({title:"".concat(e.day||"?"," ").concat(e.start||"","-").concat(e.end||"")})}}]},b=(0,c.fe)({name:"siteSettings",title:"Site Settings",type:"document",fields:[(0,c.Z2)({name:"announcement",title:"Announcement bar",type:"object",options:{collapsible:!0,collapsed:!1},fields:[{name:"enabled",title:"Show announcement bar",type:"boolean",initialValue:!1},{name:"text",title:"Text",type:"string"},{name:"linkLabel",title:"Link label",type:"string"},{name:"link",title:"Link URL",type:"url",validation:e=>e.uri({allowRelative:!0,scheme:["http","https"]})}]}),(0,c.Z2)({name:"social",title:"Social links",type:"object",options:{collapsible:!0,collapsed:!1},fields:[{name:"facebook",title:"Facebook",type:"url"},{name:"instagram",title:"Instagram",type:"url"},{name:"linkedin",title:"LinkedIn",type:"url"},{name:"maps",title:"Google Business Profile",type:"url",description:"The Google Business Profile / Maps listing. Also feeds the Organization sameAs in structured data."},{name:"youtube",title:"YouTube",type:"url",description:"Use a Trussi-branded channel where possible - sameAs should identify the company rather than an individual."}]}),(0,c.Z2)({name:"booking",title:"Demo booking rules",type:"object",options:{collapsible:!0,collapsed:!1},description:"Controls the native demo booker on /contact: buffer, notice, limits, and the days/hours offered.",fields:[{name:"enabled",title:"Enable native booker",type:"boolean",initialValue:!0},{name:"timezone",title:"Default timezone (IANA)",type:"string",initialValue:"America/New_York",description:"e.g. America/New_York, America/Chicago, America/Los_Angeles. Used for any host without their own timezone below, and as the timezone the visitor-facing picker groups and labels days in."},{name:"hosts",title:"Demo hosts",type:"array",description:"Team members whose calendars the booker checks and books into. A visitor is offered a slot if any enabled host is free for it, and gets assigned to whichever one still is at booking time. Leave empty to fall back to the single host configured in the app (GOOGLE_CALENDAR_ID).",of:[{type:"object",fields:[{name:"name",title:"Name",type:"string"},{name:"email",title:"Calendar email",type:"string",description:"Must be a Workspace mailbox the booking service account is allowed to impersonate.",validation:e=>e.required().email()},{name:"enabled",title:"Enabled",type:"boolean",initialValue:!0},{name:"timezone",title:"This host's timezone (IANA)",type:"string",description:"Only needed if this host works from a different timezone than the default above, e.g. a host in Arizona vs. one in Kansas. Leave blank to use the default timezone."},{...f,name:"windows",title:"This host's working hours",description:"Only needed if this host's hours differ from the default windows below. Leave empty to use the default windows."}],preview:{select:{name:"name",email:"email",enabled:"enabled"},prepare:e=>
1({title:e.name||e.email||"Untitled host",subtitle:!1===e.enabled?"".concat(e.email||""," (disabled)"):e.email})}}]},{name:"durationMinutes",title:"Meeting length (minutes)",type:"number",initialValue:30},{name:"intervalMinutes",title:"Slot interval (minutes)",type:"number",initialValue:30},{name:"bufferBeforeMinutes",title:"Buffer before (minutes)",type:"number",initialValue:0},{name:"bufferAfterMinutes",title:"Buffer after (minutes)",type:"number",initialValue:15},{name:"minNoticeHours",title:"Minimum notice (hours)",type:"number",initialValue:4},{name:"maxAdvanceDays",title:"Book up to (days ahead)",type:"number",initialValue:14},{name:"maxPerDay",title:"Max demos per day",type:"number",initialValue:6,description:"Applies per host - each enabled host can take up to this many demos on the same day."},{name:"reminderTiers",title:"Email reminders (minutes before)",type:"array",of:[{type:"number"}],initialValue:[1440,60,10],description:"One reminder email per entry, each this many minutes before the demo (1440 = 1 day, 60 = 1 hour, 10 = 10 min). Add or remove rows to change how many reminders go out. Leave empty to disable reminders entirely."},{...f,name:"windows",title:"Default available windows",description:"Days + hours customers can book, in the default timezone above. One row per day; add multiple rows for the same day to allow breaks. Used for any host without their own working hours above."}]})],preview:{prepare:()=>({title:"Site Settings"})}}),v=(0,c.fe)({name:"changelogEntry",title:"Changelog entry",type:"document",fields:[(0,c.Z2)({name:"title",title:"Title",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"slug",title:"Slug",type:"slug",options:{source:"title",maxLength:96},validation:e=>e.required()}),(0,c.Z2)({name:"date",title:"Date",type:"date",initialValue:()=>new Date().toISOString().slice(0,10)}),(0,c.Z2)({name:"tags",title:"Tags",type:"array",of:[{type:"string"}],options:{list:["New","Improved","Fixed"]}}),(0,c.Z2)({name:"body",title:"Body",type:"blockContent"})],orderings:[{title:"Date, newest",name:"dateDesc",by:[{field:"date",direction:"desc"}]}],preview:{select:{title:"title",subtitle:"date"}}}),w=(0,c.fe)({name:"faq",title:"FAQ",type:"document",fields:[(0,c.Z2)({name:"question",title:"Question",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"answer",title:"Answer",type:"text",rows:4,validation:e=>e.required()}),(0,c.Z2)({name:"order",title:"Sort order",type:"number",initialValue:0})],orderings:[{title:"Sort order",name:"orderAsc",by:[{field:"order",direction:"asc"}]}],preview:{select:{title:"question"}}}),k=(0,c.fe)({name:"teamMember",title:"Team member",type:"document",fields:[(0,c.Z2)({name:"name",title:"Name",type:"string",validation:e=>e.required()}),(0,c.Z2)({name:"role",title:"Role / title",type:"string"}),(0,c.Z2)({name:"photo",title:"Photo",type:"image",options:{hotspot:!0}}),(0,c.Z2)({name:"bio",title:"Bio",type:"text",rows:4}),(0,c.Z2)({name:"quote",title:"Pull quote",type:"text",rows:3,description:"Optional - used for the featured founder."}),(0,c.Z2)({name:"featured",title:"Featured (founder)",type:"boolean",initialValue:!1}),(0,c.Z2)({name:"order",title:"Sort order",type:"number",initialValue:0})],orderings:[{title:"Sort order",name:"orderAsc",by:[{field:"order",direction:"asc"}]}],preview:{select:{title:"name",subtitle:"role",media:"photo"}}});var x=i(44900);let q=(0,c.fe)({name:"helpArticle",title:"Help article",type:"document",groups:[{name:"content",title:"Content",default:!0},{name:"placement",title:"Placement"},{name:"app",title:"In-app"},{name:"seo",title:"SEO"}],fields:[(0,c.Z2)({name:"title",title:"Title",type:"string",group:"content",validation:e=>e.required().max(90)}),(0,c.Z2)({name:"slug",title:"Slug",type:"slug",group:"content",options:{source:"title",maxLength:96},validation:e=>e.required()}),(0,c.Z2)({name:"summary",title:"Summary",type:"text",rows:2,group:"content",description:"One or two sentences. Cards, search results and the meta description all use it.",validation:e=>e.required().max(240)}),(0,c.Z2)({name:"kind",title:"Kind",type:"string",group:"content",options:{list:[...x._x],layout:"radio"},initialValue:"how-to",validation:e=>e.required()}),(0,c.Z2)({name:"body",title:"Body",type:"helpBody",group:"content"}
1),(0,c.Z2)({name:"faqs",title:"Questions and answers",type:"array",group:"content",description:"Rendered under the article and emitted as FAQPage markup.",of:[{type:"object",name:"faq",fields:[{name:"question",type:"string",title:"Question",validation:e=>e.required()},{name:"answer",type:"text",rows:3,title:"Answer",validation:e=>e.required()}],preview:{select:{title:"question"}}}]}),(0,c.Z2)({name:"related",title:"Related articles",type:"array",group:"content",of:[{type:"reference",to:[{type:"helpArticle"}]}],validation:e=>e.max(4)}),(0,c.Z2)({name:"category",title:"Category",type:"string",group:"placement",options:{list:x.z2.map(e=>({title:e.title,value:e.slug}))},validation:e=>e.required()}),(0,c.Z2)({name:"section",title:"Section",type:"string",group:"placement",description:"Heading the category page groups this article under. Match an existing one where you can."}),(0,c.Z2)({name:"order",title:"Sort order",type:"number",group:"placement",initialValue:100,description:"Lower first within a section."}),(0,c.Z2)({name:"visibility",title:"Visibility",type:"string",group:"placement",options:{list:[{title:"Public (trussi.ai/help, search engines)",value:"public"},{title:"In-app only (signed-in users)",value:"app"}],layout:"radio"},initialValue:"public",validation:e=>e.required()}),(0,c.Z2)({name:"keywords",title:"Search keywords",type:"array",group:"placement",of:[{type:"string"}],options:{layout:"tags"},description:'What a person types, not what the feature is called: "bounced payment", not "ACH return".'}),(0,c.Z2)({name:"lastReviewed",title:"Last reviewed",type:"date",group:"placement",description:'The date a person last confirmed this matches the product. Shown as "Updated".'}),(0,c.Z2)({name:"crmRoutes",title:"CRM screens",type:"array",group:"app",of:[{type:"string"}],description:"Route patterns this article is help for, e.g. /project/{}/dimensions or /production/*. Drives the in-app help button."}),(0,c.Z2)({name:"requiresCapabilities",title:"Requires capabilities",type:"array",group:"app",of:[{type:"string"}],options:{layout:"tags"},description:"Capability names from the CRM, e.g. create_project. The article stays visible; the reader is told who holds them."}),(0,c.Z2)({name:"requiresAddOns",title:"Requires add-ons",type:"array",group:"app",of:[{type:"string"}],options:{layout:"tags"},description:"Add-on keys from the CRM, e.g. quickbooks, training-hub. The article is hidden in-app for accounts without them."}),(0,c.Z2)({name:"videoId",title:"Companion video (Stream id)",type:"string",group:"app"}),(0,c.Z2)({name:"seo",title:"SEO",type:"object",group:"seo",options:{collapsible:!0,collapsed:!0},fields:[{name:"title",type:"string",title:"Meta title"},{name:"description",type:"text",rows:2,title:"Meta description"}]})],orderings:[{title:"Category, then order",name:"placement",by:[{field:"category",direction:"asc"},{field:"order",direction:"asc"}]},{title:"Recently updated",name:"updated",by:[{field:"_updatedAt",direction:"desc"}]}],preview:{select:{title:"title",category:"category",visibility:"visibility"},prepare:e=>{let{title:t,category:i,visibility:n}=e;return{title:t,subtitle:"".concat(null!=i?i:"uncategorised").concat("app"===n?" \xb7 in-app only":"")}}}}),Z=(0,c.fe)({name:"helpBody",title:"Article body",type:"array",of:[(0,c.qu)({type:"block",styles:[{title:"Normal",value:"normal"},{title:"Heading 2",value:"h2"},{title:"Heading 3",value:"h3"},{title:"Quote",value:"blockquote"}],lists:[{title:"Bullet",value:"bullet"},{title:"Numbered",value:"number"}],marks:{decorators:[{title:"Bold",value:"strong"},{title:"Italic",value:"em"},{title:"Code",value:"code"}],annotations:[{name:"link",type:"object",title:"Link",fields:[{name:"href",type:"url",title:"URL",validation:e=>e.uri({allowRelative:!0})}]}]}}),(0,c.qu)({type:"image",options:{hotspot:!0},fields:[{name:"alt",type:"string",title:"Alt text (doubles as the caption)"}]}),(0,c.qu)({name:"localVideo",type:"object",title:"Walkthrough clip",fields:[(0,c.Z2)({name:"file",type:"file",title:"Clip (MP4)",description:"A short recording of the product doing the thing this step describes.",options:{accept:"video/mp4"},validation:e=>e.required()}),(0,c.Z2)({name:"poster",type:"image",title:"Poster frame",description:"Shown before the clip plays, so the step does not open on an empty box."}),(0,c.Z2)({name:"alt",type:"string",title:"Caption (doubles as the accessible name)",validation:e=>e.required()})],preview:{select:{title:"alt"},prepare:e=>{let{title:t}=e;return{title:t?"Clip: ".concat(t):"Clip"}}}}),(0,c.qu)({name:"callout",type:"object",title:"Callout",fields:[(0,c.Z2)({name:"tone",type:"string",title:"Tone",options:{list:["note","tip","warning"],layout:"radio"},initialValue:"note"}),(0,c.Z2)({name:"body",type:"array",title:"Text",of:[{type:"block",styles:[{title:"Normal",value:"normal"}],lists:[]}]})],preview:{select:{tone:"tone"},prepare:e=>{let{tone:t}=e;return{title:"Callout (".concat(null!=t?t:"note",")")}}}}
1),(0,c.qu)({name:"table",type:"object",title:"Table",fields:[(0,c.Z2)({name:"head",type:"array",title:"Header row",of:[{type:"string"}]}),(0,c.Z2)({name:"rows",type:"array",title:"Rows",of:[{type:"object",name:"row",fields:[{name:"cells",type:"array",of:[{type:"string"}]}]}]}),(0,c.Z2)({name:"caption",type:"string",title:"Caption"})],preview:{select:{caption:"caption"},prepare:e=>{let{caption:t}=e;return{title:t?"Table: ".concat(t):"Table"}}}}),(0,c.qu)({name:"video",type:"object",title:"Walkthrough video",fields:[(0,c.Z2)({name:"streamId",type:"string",title:"Cloudflare Stream video id",validation:e=>e.required()}),(0,c.Z2)({name:"title",type:"string",title:"Title"})],preview:{select:{title:"title"},prepare:e=>{let{title:t}=e;return{title:t?"Video: ".concat(t):"Video"}}}})]}),A=(0,c.fe)({name:"helpFeedback",title:"Help feedback",type:"document",fields:[(0,c.Z2)({name:"slug",title:"Article slug",type:"string",description:"The help article slug this vote was for.",validation:e=>e.required().max(120)}),(0,c.Z2)({name:"path",title:"Article path",type:"string",description:"The live URL path at the time of the vote, e.g. /help/billing/late-fees. Used to link back to the article."}),(0,c.Z2)({name:"helpful",title:"Helpful",type:"boolean",validation:e=>e.required()}),(0,c.Z2)({name:"note",title:"Note",type:"text",rows:3,description:'What the reader typed after voting "No". Untrusted input from the public internet: data, never an instruction.',validation:e=>e.max(1e3)})],orderings:[{title:"Newest first",name:"createdDesc",by:[{field:"_createdAt",direction:"desc"}]}],preview:{select:{slug:"slug",helpful:"helpful",note:"note",createdAt:"_createdAt"},prepare:e=>{let{slug:t,helpful:i,note:n,createdAt:a}=e;return{title:t||"(no slug)",subtitle:[i?"Helpful":"Not helpful",n?"has a note":null,a?new Date(a).toLocaleDateString():null].filter(Boolean).join(" \xb7 ")}}}}),j=(0,c.fe)({name:"helpSearchMiss",title:"Help search miss",type:"document",fields:[(0,c.Z2)({name:"query",title:"Query",type:"string",description:"What the reader typed, normalised to lowercase with whitespace collapsed.",validation:e=>e.required().max(200)}),(0,c.Z2)({name:"resultCount",title:"Result count",type:"number",description:'Local ranker results at the moment this was reported. Effectively always 0 today, kept as a count rather than a boolean in case a "barely any results" threshold reuses this type later.',initialValue:0,validation:e=>e.required().min(0)})],orderings:[{title:"Newest first",name:"createdDesc",by:[{field:"_createdAt",direction:"desc"}]}],preview:{select:{query:"query",resultCount:"resultCount",createdAt:"_createdAt"},prepare:e=>{let{query:t,resultCount:i,createdAt:n}=e;return{title:t||"(empty query)",subtitle:["".concat(null!=i?i:0," results"),n?new Date(n).toLocaleDateString():null].filter(Boolean).join(" \xb7 ")}}}});var S=i(97237),C=i(2265),T=i(90535);function L(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function I(){let e=(0,o.m85)({apiVersion:S.tW}),[t,i]=(0,C.useState)(null),[a,l]=(0,C.useState)(null),[s,r]=(0,C.useState)(null),[c,d]=(0,C.useState)(!1),u=(0,C.useCallback)(async()=>{d(!0),r(null);try{let[t,n]=await Promise.all([e.fetch('*[_type == "helpFeedback"]{ slug, path, helpful, note, _createdAt }'),e.fetch('*[_type == "helpSearchMiss"]{ query, resultCount, _createdAt }')]);i(t),l(n)}catch(e){r(e instanceof Error?e.message:"Could not load help feedback.")}finally{d(!1)}},[e]);(0,C.useEffect)(()=>{u()},[u]);let p=(0,C.useMemo)(()=>t?function(e){let t=new Map;for(let n of e){var i;let e=null!==(i=t.get(n.slug))&&void 0!==i?i:{slug:n.slug,path:n.path,unhelpful:0,helpful:0,notes:[],lastVoteAt:n._createdAt};n.helpful?e.helpful+=1:e.unhelpful+=1,n.note&&e.notes.push({note:n.note,createdAt:n._createdAt}),!e.path&&n.path&&(e.path=n.path),n._createdAt>e.lastVoteAt&&(e.lastVoteAt=n._createdAt),t.set(n.slug,e)}return[...t.values()].filter(e=>e.unhelpful>0||e.helpful>0).sort((e,t)=>t.unhelpful-e.unhelpful||t.helpful-e.helpful||(e.slug<t.slug?-1:1)).slice(0,20)}(t):[],[t]),m=(0,C.useMemo)(()=>a?function(e){let t=new Map;for(let n of e){var i;
1let e=null!==(i=t.get(n.query))&&void 0!==i?i:{query:n.query,count:0,lastSeenAt:n._createdAt};e.count+=1,n._createdAt>e.lastSeenAt&&(e.lastSeenAt=n._createdAt),t.set(n.query,e)}return[...t.values()].sort((e,t)=>t.count-e.count||t.lastSeenAt.localeCompare(e.lastSeenAt)).slice(0,20)}(a):[],[a]);return(0,n.jsx)(T.xu,{padding:4,children:(0,n.jsxs)(T.W2,{width:2,children:[(0,n.jsxs)(T.kC,{align:"flex-start",justify:"space-between",marginBottom:5,gap:3,children:[(0,n.jsxs)(T.Kq,{space:2,children:[(0,n.jsx)(T.X6,{size:2,children:"Help feedback"}),(0,n.jsx)(T.xv,{size:1,muted:!0,children:"What readers said about an article, and what they searched for and never found."})]}),(0,n.jsx)(T.zx,{text:c?"Refreshingâ¦":"Refresh",tone:"primary",mode:"ghost",disabled:c,onClick:()=>void u()})]}),s?(0,n.jsx)(T.Zb,{padding:4,radius:3,tone:"critical",marginBottom:4,children:(0,n.jsx)(T.xv,{size:1,children:s})}):null,(0,n.jsx)(T.Zb,{padding:4,radius:3,shadow:1,marginBottom:4,children:(0,n.jsxs)(T.Kq,{space:4,children:[(0,n.jsxs)(T.Kq,{space:2,children:[(0,n.jsx)(T.X6,{size:1,children:"Articles readers voted on"}),(0,n.jsx)(T.xv,{size:1,muted:!0,children:"Every article with a vote, the ones marked unhelpful first. An article that never appears here has never been voted on either way."})]}),null===t?(0,n.jsx)(T.xv,{size:1,muted:!0,children:"Loadingâ¦"}):0===p.length?(0,n.jsx)(T.xv,{size:1,muted:!0,children:"No votes yet."}):(0,n.jsx)(T.Kq,{space:3,children:p.map(e=>(0,n.jsx)(T.Zb,{padding:3,radius:2,tone:"caution",border:!0,children:(0,n.jsxs)(T.kC,{align:"flex-start",justify:"space-between",gap:3,children:[(0,n.jsxs)(T.Kq,{space:2,children:[(0,n.jsxs)(T.kC,{align:"center",gap:2,wrap:"wrap",children:[e.path?(0,n.jsx)("a",{href:"https://trussi.ai".concat(e.path),target:"_blank",rel:"noreferrer",children:(0,n.jsx)(T.xv,{size:1,weight:"semibold",children:e.slug})}):(0,n.jsx)(T.xv,{size:1,weight:"semibold",children:e.slug}),(0,n.jsxs)(T.Ct,{tone:"critical",children:[e.unhelpful," unhelpful"]}),e.helpful>0?(0,n.jsxs)(T.Ct,{tone:"positive",children:[e.helpful," helpful"]}):null]}),e.notes.length>0?(0,n.jsxs)(T.Kq,{space:1,children:[e.notes.slice(0,3).map((e,t)=>(0,n.jsxs)(T.xv,{size:1,muted:!0,children:["â",e.note,"â (",L(e.createdAt),")"]},t)),e.notes.length>3?(0,n.jsxs)(T.xv,{size:1,muted:!0,children:["+",e.notes.length-3," more note",e.notes.length-3==1?"":"s"]}):null]}):null]}),(0,n.jsx)(T.xv,{size:1,muted:!0,children:L(e.lastVoteAt)})]})},e.slug))})]})}),(0,n.jsx)(T.Zb,{padding:4,radius:3,shadow:1,children:(0,n.jsxs)(T.Kq,{space:4,children:[(0,n.jsxs)(T.Kq,{space:2,children:[(0,n.jsx)(T.X6,{size:1,children:"Searches that found nothing"}),(0,n.jsx)(T.xv,{size:1,muted:!0,children:"Ranked by how often the same question was typed. The single best signal for a missing article."})]}),null===a?(0,n.jsx)(T.xv,{size:1,muted:!0,children:"Loadingâ¦"}):0===m.length?(0,n.jsx)(T.xv,{size:1,muted:!0,children:"No reported misses yet."}):(0,n.jsx)(T.Kq,{space:2,children:m.map(e=>(0,n.jsx)(T.Zb,{padding:3,radius:2,border:!0,children:(0,n.jsxs)(T.kC,{align:"center",justify:"space-between",gap:3,children:[(0,n.jsx)(T.xv,{size:1,children:e.query}),(0,n.jsxs)(T.kC,{align:"center",gap:3,children:[(0,n.jsxs)(T.Ct,{tone:"default",children:[e.count,"\xd7"]}),(0,n.jsx)(T.xv,{size:1,muted:!0,children:L(e.lastSeenAt)})]})]})},e.query))})]})})]})})}var V=(0,o.ZDM)({name:"trussi",title:"Trussi.AI",basePath:"/studio",projectId:S.Sx||"placeholder",dataset:S.gx,schema:{types:[d,u,p,g,h,v,w,k,q,y,b,m,Z,A,j]},plugins:[(0,l.structureTool)({structure:e=>e.list().title("Content").items([e.listItem().title("Site Settings").id("siteSettings").child(e.document().schemaType("siteSettings").documentId("siteSettings")),e.divider(),e.listItem().title("Help feedback").id("help-feedback-dashboard").icon(r.AkR).child(e.component(I).title("Help feedback").id("help-feedback-dashboard-pane")),e.divider(),...e.documentTypeListItems().filter(e=>"siteSettings"!==e.getId())])}),(0,s.T)({defaultApiVersion:S.tW})]});function M(){return(0,n.jsx)(a.nD,{config:V})}},44900:function(e,t,i){"use strict";i.d(t,{_x:function(){return a},z2:function(){return n}});let n=[{slug:"getting-started",title:"Getting started",description:"Signing in, finding your way around, the home dashboard, notifications, and the mobile app.",icon:"rocket",sections:["First week","Signing in","Navigation","Home dashboard","Notifications","Search","Mobile app","Getting help"],crmRoutes:["/","/notification/*","/search/*","/knowledge-base/*"],keywords:["login","sign in","sidebar","menu","dashboard","notifications","mobile","app","supp
1ort"]},{slug:"projects-and-pipeline",title:"Projects & pipeline",description:"Creating projects, leads versus projects, pipeline stages, the project tabs, customers, and appointments.",icon:"folder",sections:["Creating projects","Pipeline and stages","The project screen","Customers","Appointments and calendar","Photos and documents","Hail analysis"],crmRoutes:["/project/*","/customer/*","/calendar/*","/hail-analysis/*"],keywords:["project","lead","job","pipeline","stage","customer","appointment","calendar","hail","photos"]},{slug:"estimating-and-quotes",title:"Estimating & quotes",description:"Measurements, dimensions, worksheets, quotes, quote templates, and the catalog of items quotes are built from.",icon:"file-text",sections:["Measurements","Worksheets","Quotes and proposals","Quote templates","Items and pricing","Supplements"],crmRoutes:["/project/{}/quote-flow/*","/project/{}/dimensions","/project/{}/eagleview","/project/{}/hover","/project/{}/gaf","/project/{}/roofscope","/project/{}/proposal/*","/project/{}/ai-estimate","/production/quote-template/*","/item/*","/supplement-status/*"],keywords:["estimate","quote","worksheet","measurement","eagleview","hover","roofscope","squares","pitch","overhead","margin","proposal","supplement"]},{slug:"production-and-scheduling",title:"Production & scheduling",description:"The production hub, scheduling crews and trades, material orders, subcontractors, and in-house inventory.",icon:"factory",sections:["Production hub","Scheduling","Orders","Subcontractors and crews","Inventory","Suppliers"],crmRoutes:["/production/*","/supplier/*","/project/{}/labor"],keywords:["production","schedule","scheduler","crew","subcontractor","order","material","inventory","supplier","delivery"]},{slug:"finance-and-payments",title:"Finance & payments",description:"Invoices, collecting payments, returned payments, and sending spend and payments to QuickBooks.",icon:"currency",sections:["Invoices","Payments","Returns and chargebacks","QuickBooks","Payment methods","Insurance companies","Commissions"],crmRoutes:["/finance/*","/project/{}/payments/*","/project/{}/quote-flow/invoice/*","/payment-method/*","/payment-status/*","/insurance/*","/account/{}/invoices/*","/account/{}/commissions","/account/{}/credits/*","/account/{}/payment-provider"],keywords:["invoice","payment","ach","card","chargeback","refund","quickbooks","export","collections","insurance","commission"]},{slug:"marketing-and-customer-care",title:"Marketing & customer care",description:"Lead channels and spend, customer care follow-ups, the call center, the voice agent, and the homeowner portal.",icon:"megaphone",sections:["Lead sources and channels","Customer care","Call center","Voice agent","Homeowner portal","Texting and email","Message translation"],crmRoutes:["/marketing/*","/call-center/*","/account/{}/portal","/account/{}/communications","/account/{}/email","/request-type/*","/request-priority/*"],keywords:["marketing","lead source","channel","spend","customer care","review","call center","five9","voice","portal","homeowner","text","sms","email","translation","spanish","language"]},{slug:"reports-and-dashboards",title:"Reports & dashboards",description:"Sales by market, cash flow, collections, team performance, and the report screens.",icon:"chart",sections:["Executive dashboards","Reports","Custom reports","Leaderboards"],crmRoutes:["/executive/*","/report/*"],keywords:["report","dashboard","executive","sales","cash flow","collections","team","leaderboard","kpi","export csv"]},{slug:"integrations",title:"Integrations",description:"Connecting QuickBooks, measurement providers, suppliers, DocuSign, texting, calling, and Google.",icon:"plugs",sections:["Accounting","Measurements","Suppliers","E-signature","Communications","Google","Photos","Advertising"],crmRoutes:["/account/{}/integrations/*","/account/{}/quickbooks","/account/{}/docusign","/account/{}/companycam","/account/{}/homedepot","/account/{}/google","/account/{}/google-ads","/account/{}/meta-ads","/account/{}/ga4","/account/{}/search-console","/account/{}/self-supplier","/account/{}/supplier/*","/account/{}/service/*"],keywords:["integration","connect","quickbooks","eagleview","hover","gaf","roofscope","abc","srs","beacon","docusign","twilio","five9","google","companycam","home depot"]},{slug:"ai-and-automations",title:"AI & automations",description:"Trussi AI, AI estimates, photo captions, automation rules, segments, and follow-up sequences.",icon:"sparkle",sections:["Trussi AI","AI estimate","Automations","Follow-ups","Usage"],crmRoutes:["/home-ai/*","/account/{}/automations/*","/account/{}/follow-ups","/account/{}/voice-ai","/account/{}/ai-usage"],keywords:["ai","assistant","chat","automation","rule","segment","follow up","sequence","caption","estimate"]},{slug:"account-and-team",title:"Account & team settings",description:"Users and roles, permissions, locations and branches, option lists, pipelines, custom fields, billing, and add-ons.",icon:"gear",sections:["Users and roles","Permissions","Locations and branches","Pipelines","Option lists","Documents","Custom fields","Billing and add-ons","Company training"],crmRoutes:["/account/*","/user/*","/location/*","/branch/*","/department/*","/trade/*","/unit-of-measure/*","/job-type/*","/job-category/*","/job-subtype/*","/job-priority/*","/dead-lead-reason/*","/delivery-method/*","/file-category/*","/company-document-category/*","/labor-category/*","/sales-category/*","/warranty-length/*","/worksheet-section-type/*","/appointment-purpose/*","/system/*"],keywords:["user","role","permission","invite","location","branch","settings","pipeline","custom field","billing","add-on","trade","unit","reason","training"]}];n.map(e=>e.slug);let a=["how-to","concept","reference","troubleshooting"]},97237:function(e,t,i){"use strict";i.d(t,{Sx:function(){return n},gx:function(){return a},tW:function(){return o}});let n="zq04ww1c",a="production",o="2024-10-01"}}]);
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.