1import{j as a,B as f}from"./Button-BI8AC3-1.js";import{r as c}from"./index-CtRuatdC.js";import"./_commonjsHelpers-gnU0ypJ3.js";import"./index-c740jkqS.js";const p=({postId:i,endpointUrl:m})=>{const[s,d]=c.useState(()=>{const e=localStorage.getItem("sb_visitor");return e?JSON.parse(e):{likes:[],dislikes:[]}}),[k,o]=c.useState({post_id:i,add_like:!1,add_dislike:!1,remove_like:!1,remove_dislike:!1}),[h,r]=c.useState(""),u=c.useRef(!0);if(!i)return null;const b=()=>{const e={...s},t=e.likes.includes(i),n=e.dislikes.includes(i);r(""),t?(e.likes=e.likes.filter(l=>l!==i),r(i18n.feedbackRemoved)):(e.likes.push(i),r(i18n.feedbackYes)),n&&(e.dislikes=e.dislikes.filter(l=>l!==i)),d(e),o({post_id:i,add_like:!t,add_dislike:!1,remove_like:t,remove_dislike:n})},_=()=>{const e={...s},t=e.likes.includes(i),n=e.dislikes.includes(i);r(""),n?(e.dislikes=e.dislikes.filter(l=>l!==i),r(i18n.feedbackRemoved)):(e.dislikes.push(i),r(i18n.feedbackNo)),t&&(e.likes=e.likes.filter(l=>l!==i)),d(e),o({post_id:i,add_like:!1,add_dislike:!n,remove_like:t,remove_dislike:n})},v=async()=>{try{const e=await fetch(m,{method:"POST",body:JSON.stringify(k)});if(!e.ok)throw new Error("Error posting to URL");await e.json(),localStorage.setItem("sb_visitor",JSON.stringify(s))}catch(e){throw console.error(e),e}};return c.useEffect(()=>{u.current?u.current=!1:v()},[s,k]),a.jsxs("div",{children:[a.jsxs("ul",{className:"flex gap-2 mt-8 md:gap-4",children:[a.jsx("li",{children:a.jsx(f,{"aria-label":i18n.feedbackLikeLabel,text:i18n.feedbackLike,variant:"primary",onClick:b,iconRight:s.likes.includes(i)?"thumbs-up-filled":"thumbs-up",className:s.likes.includes(i)?"icon:animate-pulse-once-up":"","aria-pressed":s.likes.includes(i)?"true":"false"})}),a.jsx("li",{children:a.jsx(f,{"aria-label":i18n.feedbackDislikeLabel,text:i18n.feedbackDislike,variant:"primary",onClick:_,iconRight:s.dislikes.includes(i)?"thumbs-down-filled":"thumbs-down",className:s.dislikes.includes(i)?"icon:animate-pulse-once-down":"","aria-pressed":s.likes.includes(i)?"true":"false"})})]}),a.jsx("div",{className:"sr-only","aria-live":"polite",children:h})]})};export{p 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.