import{r as _,j as e}from"./jsx-runtime-IdAWuXfe.js";import{a as y}from"./index-UFdAK_I0.js";import{l as N}from"./search-BKA4xkdl.js";import{C as L}from"./Colors-BEnlnHit.js";import{S as w}from"./SectionTitle-D9awHvGe.js";import{u as $}from"./index-Bk8VWCTX.js";import{L as g}from"./components-Ds_ELhUJ.js";const C="_container_1jaxs_1",k="_search-bar_1jaxs_9",E="_search-logo_1jaxs_18",I="_search-input_1jaxs_24",B="_search-results_1jaxs_31",T="_results-list_1jaxs_42",G="_result-item_1jaxs_46",D="_result-title_1jaxs_65",O="_result-subtitle_1jaxs_70",c={container:C,"search-bar":"_search-bar_1jaxs_9",searchBar:k,"search-logo":"_search-logo_1jaxs_18",searchLogo:E,"search-input":"_search-input_1jaxs_24",searchInput:I,"search-results":"_search-results_1jaxs_31",searchResults:B,"results-list":"_results-list_1jaxs_42",resultsList:T,"result-item":"_result-item_1jaxs_46",resultItem:G,"result-title":"_result-title_1jaxs_65",resultTitle:D,"result-subtitle":"_result-subtitle_1jaxs_70",resultSubtitle:O},j={moatcards:"/moatcards",users:"",companies:"/companies"},V=(l,t)=>{let r,i,s,u=null;if(t==="moatcards"){const{_id:o,title:n,user:m={},company:d={}}=l,{username:f}=m;r=n,i=`by ${f}`,s=j.moatcards+`/${o}`}if(t==="companies"){const{company_name:o,symbol:n}=l;r=o,i=n,s=j.companies+`/${n}`}if(t==="users"){const{first_name:o,last_name:n,username:m}=l;r=`${o} ${n}`,i=`@${m}`,s=j.users+`/${m}`}return{title:r,subtitle:i,image:u,url:s}};function F({title:l,subtitle:t,image:r,url:i,onClick:s=()=>{}}){return e.jsxs(g,{onClick:s,to:i,className:c["result-item"],children:[e.jsx("p",{className:c["result-title"],children:l}),e.jsx("p",{className:c["result-subtitle"],children:t})]})}function P({listItems:l,type:t,onClickResult:r=()=>{},showTitle:i=!0}){return e.jsxs("div",{className:c["results-list"],children:[i&&e.jsx(w,{title:t,withLine:!1,containerStyle:{paddingLeft:20}}),l.map((s,u)=>{const{title:o,subtitle:n,image:m,url:d}=V(s,t);return e.jsx(F,{title:o,subtitle:n,image:m,url:d,onClick:r},u)})]})}function M({onClickSearch:l}){const[t,r]=_.useState(null),[i,s]=_.useState(!1),[u,o]=_.useState(""),n=_.useRef(null),m=$();_.useEffect(()=>{const a=async h=>{n.current.contains(h.target)?u&&(await f(u),s(!0)):s(!1)};return window.addEventListener("click",a),()=>{window.removeEventListener("click",a)}},[]);async function d(a){o(a.target.value),a.target.value.length>0?await f(a.target.value):(r(null),s(!1))}async function f(a){const h=await y.search.getResults(a),x=Object.values(h.data.resource||{}).every(p=>p&&p.length===0);r(x?null:h.data.resource),s(!0)}function b(){o(""),s(!1),r(null)}function R(a){a.preventDefault(),s(!1),l&&l(),m(`/search/${u}`)}function S(){const a=`Search for "${u}"`;return e.jsx(g,{onClick:l,to:`/search/${u}`,className:c["result-item"],children:e.jsx("p",{className:c["result-title"],children:a})})}function v(){const a={borderWidth:1,borderColor:L.lightGrey,borderStyle:"solid",padding:"8px 0"};return e.jsx("div",{className:c["search-results"],style:a,children:t?Object.keys(t).map((h,x)=>{if(t[h]&&t[h].length)return e.jsx(P,{listItems:t[h],type:h,onClickResult:b},x)}):e.jsx(S,{})})}return e.jsxs("form",{className:c.container,onSubmit:R,children:[e.jsxs("div",{ref:n,className:c["search-bar"],children:[e.jsx("img",{className:c["search-logo"],src:N,alt:"search-logo"}),e.jsx("input",{placeholder:"Type to search...",value:u,onChange:d,className:c["search-input"],type:"text"})]}),i&&v()]})}export{M as G,P as R};
