@chrryai/chrry 1.7.16 → 1.7.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -539,7 +539,7 @@ function getEnv2() {
539
539
  return result || {};
540
540
  }
541
541
  function detectSiteModeDomain(hostname2, mode) {
542
- const defaultMode = getEnv2().VITE_SITE_MODE || mode || "vex";
542
+ const defaultMode = getEnv2().VITE_SITE_MODE || mode || "search";
543
543
  const rawHost = hostname2 || (typeof window !== "undefined" ? window?.location?.hostname : "") || "";
544
544
  let host = rawHost?.trim().toLowerCase();
545
545
  if (host?.includes("://")) {
@@ -556,6 +556,9 @@ function detectSiteModeDomain(hostname2, mode) {
556
556
  if (matchesDomain(host, "books.chrry.ai")) {
557
557
  return "zarathustra";
558
558
  }
559
+ if (matchesDomain(host, "search.chrry.ai")) {
560
+ return "search";
561
+ }
559
562
  if (matchesDomain(host, "atlas.chrry.ai")) {
560
563
  return "atlas";
561
564
  }
@@ -607,7 +610,8 @@ function detectSiteMode(hostname2) {
607
610
  "tokyo",
608
611
  "newYork",
609
612
  "popcorn",
610
- "zarathustra"
613
+ "zarathustra",
614
+ "search"
611
615
  ];
612
616
  if (hostname2 && validModes.includes(hostname2)) {
613
617
  return hostname2;
@@ -615,9 +619,6 @@ function detectSiteMode(hostname2) {
615
619
  return detectSiteModeDomain(hostname2);
616
620
  }
617
621
  function getSiteConfig(hostnameOrMode) {
618
- if (isE2E) {
619
- return e2eVex;
620
- }
621
622
  let hostname2 = hostnameOrMode || getClientHostname();
622
623
  if (hostnameOrMode && hostnameOrMode.includes("://")) {
623
624
  try {
@@ -626,10 +627,16 @@ function getSiteConfig(hostnameOrMode) {
626
627
  hostname2 = hostnameOrMode;
627
628
  }
628
629
  }
630
+ const mode = detectSiteMode(hostname2);
631
+ if (mode === "search") {
632
+ return search;
633
+ }
634
+ if (isE2E) {
635
+ return e2eVex;
636
+ }
629
637
  if (hostname2 && matchesDomain(hostname2, "e2e.chrry.ai")) {
630
638
  return e2eVex;
631
639
  }
632
- const mode = detectSiteMode(hostname2);
633
640
  if (mode === "chrryDev") {
634
641
  return chrryDev;
635
642
  }
@@ -662,7 +669,7 @@ function getSiteConfig(hostnameOrMode) {
662
669
  }
663
670
  return vex;
664
671
  }
665
- var import_meta2, isE2E, chrryDev, chrryAI, focus, atlas, istanbul, amsterdam, tokyo, newYork, popcorn, zarathustra, vex, e2eVex, matchesDomain, getClientHostname, whiteLabels;
672
+ var import_meta2, isE2E, chrryDev, chrryAI, focus, atlas, istanbul, amsterdam, tokyo, newYork, popcorn, zarathustra, search, vex, e2eVex, matchesDomain, getClientHostname, whiteLabels;
666
673
  var init_siteConfig = __esm({
667
674
  "utils/siteConfig.ts"() {
668
675
  "use strict";
@@ -1320,6 +1327,84 @@ var init_siteConfig = __esm({
1320
1327
  }
1321
1328
  ]
1322
1329
  };
1330
+ search = {
1331
+ favicon: "search",
1332
+ mode: "search",
1333
+ slug: "search",
1334
+ storeSlug: "perplexityStore",
1335
+ name: "Search",
1336
+ domain: "search.chrry.ai",
1337
+ url: "https://search.chrry.ai",
1338
+ isStoreApp: false,
1339
+ store: "https://search.chrry.ai",
1340
+ email: "iliyan@chrry.ai",
1341
+ description: "AI-powered real-time web search with cited sources. Get instant, accurate answers with verifiable references worldwide.",
1342
+ logo: "\u{1F50D}",
1343
+ primaryColor: "#3B82F6",
1344
+ // Blue
1345
+ links: {
1346
+ github: "https://github.com/chrryai/vex",
1347
+ docs: "https://search.chrry.ai/docs"
1348
+ },
1349
+ features: [
1350
+ {
1351
+ title: "Real-Time Search",
1352
+ description: "Live web search with instant results",
1353
+ icon: "\u26A1",
1354
+ link: "/search",
1355
+ isOpenSource: false
1356
+ },
1357
+ {
1358
+ title: "Source Citations",
1359
+ description: "Verifiable sources for every answer",
1360
+ icon: "\u{1F4DA}",
1361
+ link: "/sources",
1362
+ isOpenSource: false
1363
+ },
1364
+ {
1365
+ title: "Multi-Source Aggregation",
1366
+ description: "Combine information from multiple sources",
1367
+ icon: "\u{1F310}",
1368
+ link: "/aggregation",
1369
+ isOpenSource: false
1370
+ },
1371
+ {
1372
+ title: "Fact-Checking",
1373
+ description: "Cross-reference for accuracy",
1374
+ icon: "\u2713",
1375
+ link: "/fact-check",
1376
+ isOpenSource: false
1377
+ },
1378
+ {
1379
+ title: "Follow-Up Questions",
1380
+ description: "Suggested questions to explore deeper",
1381
+ icon: "\u{1F4A1}",
1382
+ link: "/explore",
1383
+ isOpenSource: false
1384
+ },
1385
+ {
1386
+ title: "Visual Results",
1387
+ description: "Rich media including images and videos",
1388
+ icon: "\u{1F5BC}\uFE0F",
1389
+ link: "/visual",
1390
+ isOpenSource: false
1391
+ },
1392
+ {
1393
+ title: "Context Awareness",
1394
+ description: "Understands search intent and context",
1395
+ icon: "\u{1F9E0}",
1396
+ link: "/context",
1397
+ isOpenSource: false
1398
+ },
1399
+ {
1400
+ title: "Global Knowledge",
1401
+ description: "Access information worldwide",
1402
+ icon: "\u{1F30D}",
1403
+ link: "/global",
1404
+ isOpenSource: false
1405
+ }
1406
+ ]
1407
+ };
1323
1408
  vex = {
1324
1409
  url: "https://vex.chrry.ai",
1325
1410
  mode: "vex",
@@ -1396,6 +1481,7 @@ var init_siteConfig = __esm({
1396
1481
  newYork,
1397
1482
  popcorn,
1398
1483
  zarathustra,
1484
+ search,
1399
1485
  vex
1400
1486
  ];
1401
1487
  }
@@ -1756,6 +1842,7 @@ var init_lib = __esm({
1756
1842
  "sushi",
1757
1843
  "focus",
1758
1844
  "grape",
1845
+ "search",
1759
1846
  "zarathustra"
1760
1847
  ].includes(app.slug) ? `${BASE_URL}/images/apps/${app.slug}.png` : getImageBySize(size) || app?.image || (slug ? `${BASE_URL}/icons/${slug}-128.png` : canEditApp ? image || iconSrc : void 0);
1761
1848
  const finalSrc = src || logoSrc || !app && iconSrc || appImageSrc || void 0;
@@ -1769,7 +1856,7 @@ var init_lib = __esm({
1769
1856
  getThreads = async ({
1770
1857
  pageSize,
1771
1858
  token,
1772
- search,
1859
+ search: search2,
1773
1860
  sort,
1774
1861
  threadId,
1775
1862
  userName,
@@ -1784,7 +1871,7 @@ var init_lib = __esm({
1784
1871
  url.searchParams.set("pageSize", pageSize?.toString() || "10");
1785
1872
  collaborationStatus === null ? url.searchParams.set("collaborationStatus", "null") : collaborationStatus && url.searchParams.set("collaborationStatus", collaborationStatus);
1786
1873
  appId && url.searchParams.set("appId", appId);
1787
- if (search) url.searchParams.set("search", search);
1874
+ if (search2) url.searchParams.set("search", search2);
1788
1875
  if (sort) url.searchParams.set("sort", sort);
1789
1876
  if (threadId) url.searchParams.set("threadId", threadId);
1790
1877
  if (userName) url.searchParams.set("userName", userName);
@@ -1846,14 +1933,14 @@ var init_lib = __esm({
1846
1933
  };
1847
1934
  getUsers = async ({
1848
1935
  pageSize,
1849
- search,
1936
+ search: search2,
1850
1937
  token,
1851
1938
  find,
1852
1939
  similarTo,
1853
1940
  API_URL: API_URL2 = API_URL
1854
1941
  }) => {
1855
1942
  const response = await fetch(
1856
- `${API_URL2}/users?pageSize=${pageSize}${search ? `&search=${search}` : ""}${find ? `&find=${find}` : ""}${similarTo ? `&similarTo=${similarTo}` : ""}`,
1943
+ `${API_URL2}/users?pageSize=${pageSize}${search2 ? `&search=${search2}` : ""}${find ? `&find=${find}` : ""}${similarTo ? `&similarTo=${similarTo}` : ""}`,
1857
1944
  {
1858
1945
  method: "GET",
1859
1946
  headers: {
@@ -3175,7 +3262,7 @@ var init_utils = __esm({
3175
3262
  };
3176
3263
  isFirefox = typeof navigator !== "undefined" && navigator?.userAgent?.includes("Firefox");
3177
3264
  config = getSiteConfig(getClientHostname2());
3178
- VERSION = config.version || "1.7.16";
3265
+ VERSION = config.version || "1.7.18";
3179
3266
  getSlugFromPathname = (path) => {
3180
3267
  return getAppAndStoreSlugs(path, {
3181
3268
  defaultAppSlug: config.slug,
@@ -24737,7 +24824,7 @@ function DataProvider({ children, ...rest }) {
24737
24824
  const [instructions, setInstructions] = (0, import_react21.useState)([]);
24738
24825
  const [affiliateStats, setAffiliateStats] = (0, import_react21.useState)(null);
24739
24826
  const [loadingAffiliateStats, setLoadingAffiliateStats] = (0, import_react21.useState)(false);
24740
- const VERSION4 = "1.7.16";
24827
+ const VERSION4 = "1.7.18";
24741
24828
  const [weather, setWeather] = useLocalStorage2("weather", user?.weather || guest?.weather || void 0);
24742
24829
  const {
24743
24830
  API_URL: API_URL2,
@@ -29840,7 +29927,7 @@ function ImageComponent(props) {
29840
29927
  BASE_URL,
29841
29928
  PROD_FRONTEND_URL
29842
29929
  });
29843
- const isAgent = app?.onlyAgent && app?.defaultModel && ["deepSeek", "chatGPT", "claude", "gemini", "flux", "perplexity"].includes(
29930
+ const isAgent = app?.onlyAgent && app?.defaultModel && app.slug !== "search" && ["deepSeek", "chatGPT", "claude", "gemini", "flux", "perplexity"].includes(
29844
29931
  app?.defaultModel
29845
29932
  );
29846
29933
  const isEmoji = !src && app?.slug && (app?.store?.slug === "movies" || app?.store?.slug === "books" || app?.store?.slug === "compass");
@@ -37456,7 +37543,6 @@ function Chat({
37456
37543
  } = useAuth();
37457
37544
  const threadId = auth.threadId || auth.threadIdRef.current;
37458
37545
  const [isSelectingMood, setIsSelectingMood] = (0, import_react55.useState)(false);
37459
- const isChrry = chrry?.id === app?.id;
37460
37546
  const {
37461
37547
  aiAgents,
37462
37548
  selectedAgent,
@@ -39977,7 +40063,7 @@ function Chat({
39977
40063
  /* @__PURE__ */ React.createElement(
39978
40064
  Button,
39979
40065
  {
39980
- disabled: isChrry || !!app?.onlyAgent,
40066
+ disabled: !!app?.onlyAgent,
39981
40067
  "data-testid": !debateAgent ? "add-debate-agent-button" : "agent-select-button",
39982
40068
  "data-agent-name": selectedAgent.name,
39983
40069
  title: t5("Add debate agent"),
@@ -39995,11 +40081,11 @@ function Chat({
39995
40081
  style: {
39996
40082
  ...utilities.link.style,
39997
40083
  ...styles4.debateAgentButton.style,
39998
- ...isChrry || !!app?.onlyAgent ? styles4.debateAgentButtonDisabled : {}
40084
+ ...!!app?.onlyAgent ? styles4.debateAgentButtonDisabled : {}
39999
40085
  }
40000
40086
  },
40001
40087
  selectedAgent.name === "deepSeek" ? /* @__PURE__ */ React.createElement(icons_exports.DeepSeek, { color: "var(--accent-6)", size: 24 }) : selectedAgent.name === "chatGPT" ? /* @__PURE__ */ React.createElement(icons_exports.OpenAI, { color: "var(--accent-6)", size: 22 }) : selectedAgent.name === "claude" ? /* @__PURE__ */ React.createElement(icons_exports.Claude, { color: "var(--accent-6)", size: 22 }) : selectedAgent.name === "gemini" ? /* @__PURE__ */ React.createElement(icons_exports.Gemini, { color: "var(--accent-6)", size: 22 }) : selectedAgent.name === "flux" ? /* @__PURE__ */ React.createElement(icons_exports.Flux, { color: "var(--accent-6)", size: 22 }) : selectedAgent.name === "perplexity" ? /* @__PURE__ */ React.createElement(icons_exports.Perplexity, { color: "var(--accent-6)", size: 22 }) : selectedAgent.name === "sushi" ? /* @__PURE__ */ React.createElement(ImageComponent, { icon: "sushi", size: 22 }) : null,
40002
- isChrry || app?.onlyAgent || selectedAgent?.name === "flux" || debateAgent ? null : /* @__PURE__ */ React.createElement(
40088
+ app?.onlyAgent || selectedAgent?.name === "flux" || debateAgent ? null : /* @__PURE__ */ React.createElement(
40003
40089
  icons_exports.Plus,
40004
40090
  {
40005
40091
  strokeWidth: 3,
@@ -40028,7 +40114,7 @@ function Chat({
40028
40114
  style: {
40029
40115
  ...utilities.link.style,
40030
40116
  ...styles4.debateAgentButton.style,
40031
- ...isChrry || !!app?.onlyAgent ? styles4.debateAgentButtonDisabled : {}
40117
+ ...!!app?.onlyAgent ? styles4.debateAgentButtonDisabled : {}
40032
40118
  }
40033
40119
  },
40034
40120
  /* @__PURE__ */ React.createElement(
@@ -40042,7 +40128,7 @@ function Chat({
40042
40128
  ) : /* @__PURE__ */ React.createElement(
40043
40129
  Button,
40044
40130
  {
40045
- disabled: isChrry || !!app?.onlyAgent,
40131
+ disabled: !!app?.onlyAgent,
40046
40132
  "data-agent-name": selectedAgent.name,
40047
40133
  "data-testid": "agent-select-button",
40048
40134
  onClick: () => {
@@ -40059,7 +40145,7 @@ function Chat({
40059
40145
  style: {
40060
40146
  ...utilities.link.style,
40061
40147
  ...styles4.agentButton.style,
40062
- color: isChrry || app?.onlyAgent ? "var(--shade-6)" : void 0
40148
+ color: app?.onlyAgent ? "var(--shade-6)" : void 0
40063
40149
  },
40064
40150
  type: "submit"
40065
40151
  },
@@ -40076,7 +40162,7 @@ function Chat({
40076
40162
  !app?.onlyAgent && /* @__PURE__ */ React.createElement(icons_exports.ChevronDown, { color: "var(--accent-6)", size: 20 })
40077
40163
  )
40078
40164
  ),
40079
- !appStatus?.part && !isChrry && !app?.onlyAgent && /* @__PURE__ */ React.createElement(
40165
+ !appStatus?.part && !app?.onlyAgent && /* @__PURE__ */ React.createElement(
40080
40166
  Button,
40081
40167
  {
40082
40168
  "data-testid": debateAgent ? "debate-agent-delete-button" : "agent-delete-button",
@@ -43759,7 +43845,7 @@ function Subscribe({
43759
43845
  params.set("extension", isExtensionRedirect ? "true" : "false");
43760
43846
  user?.id && params.set("userId", user.id);
43761
43847
  userToGift && params.set("email", userToGift.email);
43762
- isInviting && params.set("email", search);
43848
+ isInviting && params.set("email", search2);
43763
43849
  guest?.id && params.set("guestId", guest.id);
43764
43850
  const checkoutSuccessUrl = (() => {
43765
43851
  params.set("checkout", "success");
@@ -43896,7 +43982,7 @@ function Subscribe({
43896
43982
  }
43897
43983
  };
43898
43984
  const [isDeletingSubscription, setIsDeletingSubscription] = (0, import_react65.useState)(false);
43899
- const [search, setSearch] = (0, import_react65.useState)("");
43985
+ const [search2, setSearch] = (0, import_react65.useState)("");
43900
43986
  const [isAdding, setIsAdding] = (0, import_react65.useState)(false);
43901
43987
  const [isInviting, setIsInviting] = (0, import_react65.useState)(false);
43902
43988
  const [userToGift, setUserToGift] = (0, import_react65.useState)(null);
@@ -43905,14 +43991,14 @@ function Subscribe({
43905
43991
  return emailRegex.test(email);
43906
43992
  };
43907
43993
  const handleSearch = async () => {
43908
- if (!isValidEmail(search)) {
43994
+ if (!isValidEmail(search2)) {
43909
43995
  import_react_hot_toast13.default.error(t5("Please enter a valid email address"));
43910
43996
  return;
43911
43997
  }
43912
43998
  try {
43913
43999
  setIsAdding(true);
43914
44000
  const result = await apiFetch(
43915
- `${API_URL2}/users?search=${encodeURIComponent(search)}`,
44001
+ `${API_URL2}/users?search=${encodeURIComponent(search2)}`,
43916
44002
  {
43917
44003
  headers: {
43918
44004
  Authorization: `Bearer ${token}`
@@ -44161,7 +44247,7 @@ function Subscribe({
44161
44247
  delay: reduceMotion ? 0 : ((selectedPlan === "plus" ? plusFeatures : selectedPlan === "member" ? memberFeatures : selectedPlan === "pro" ? proFeatures : selectedPlan === "credits" ? creditsFeatures : []).length + 1) * 25
44162
44248
  }
44163
44249
  },
44164
- /* @__PURE__ */ import_react65.default.createElement(Div, { className: (0, import_clsx7.default)(styles4.feature, "feature") }, /* @__PURE__ */ import_react65.default.createElement(Anchor, { openInNewTab: true, href: "https://chrry.dev", className: "link" }, /* @__PURE__ */ import_react65.default.createElement(ImageComponent, { logo: "chrry", width: 16, height: 16 }), t5("Open Source")))
44250
+ /* @__PURE__ */ import_react65.default.createElement(Div, { className: (0, import_clsx7.default)(styles4.feature, "feature") }, /* @__PURE__ */ import_react65.default.createElement(Anchor, { openInNewTab: true, href: "https://chrry.dev", className: "link" }, /* @__PURE__ */ import_react65.default.createElement(ImageComponent, { logo: "chrry", width: 16, height: 16 }), t5("0 trackers"), ". ", t5("Open Source")))
44165
44251
  ), /* @__PURE__ */ import_react65.default.createElement(
44166
44252
  MotiView,
44167
44253
  {
@@ -44238,7 +44324,7 @@ function Subscribe({
44238
44324
  {
44239
44325
  "data-testid": "subscribe-gift-input",
44240
44326
  style: { ...styles4.inviteInput.style },
44241
- value: search,
44327
+ value: search2,
44242
44328
  onChange: (e) => {
44243
44329
  setSearch(e.target.value);
44244
44330
  setIsInviting(false);
@@ -47801,7 +47887,7 @@ function Share3({
47801
47887
  const [isCollaborating, setIsCollaborating] = (0, import_react78.useState)(
47802
47888
  thread2?.collaborations && thread2?.collaborations?.length > 0 || collaborationStep === 3
47803
47889
  );
47804
- const [search, setSearch] = (0, import_react78.useState)("");
47890
+ const [search2, setSearch] = (0, import_react78.useState)("");
47805
47891
  const [isAdding, setIsAdding] = (0, import_react78.useState)(false);
47806
47892
  const [isDeleting, setIsDeleting] = (0, import_react78.useState)(false);
47807
47893
  const [isRevoking, setIsRevoking] = (0, import_react78.useState)(false);
@@ -47823,7 +47909,7 @@ function Share3({
47823
47909
  },
47824
47910
  body: JSON.stringify({
47825
47911
  threadId: thread2.id,
47826
- email: search
47912
+ email: search2
47827
47913
  })
47828
47914
  });
47829
47915
  if (!result.ok) {
@@ -47846,10 +47932,10 @@ function Share3({
47846
47932
  }
47847
47933
  };
47848
47934
  const handleSearch = async () => {
47849
- if (!search) return;
47935
+ if (!search2) return;
47850
47936
  try {
47851
47937
  setIsAdding(true);
47852
- const result = await apiFetch(`${API_URL2}/users?search=${search}`, {
47938
+ const result = await apiFetch(`${API_URL2}/users?search=${search2}`, {
47853
47939
  headers: {
47854
47940
  Authorization: `Bearer ${token}`
47855
47941
  }
@@ -47857,7 +47943,7 @@ function Share3({
47857
47943
  if (!result.ok) {
47858
47944
  setIsAdding(false);
47859
47945
  if (result.status === 404) {
47860
- if (search.includes("@")) {
47946
+ if (search2.includes("@")) {
47861
47947
  import_react_hot_toast18.default.error(t5("User not found"));
47862
47948
  setIsInviting(true);
47863
47949
  return;
@@ -48042,7 +48128,7 @@ function Share3({
48042
48128
  {
48043
48129
  type: "email",
48044
48130
  "data-testid": `${dataTestId}collaborate-input`,
48045
- value: search,
48131
+ value: search2,
48046
48132
  onChange: (e) => setSearch(e.target.value),
48047
48133
  style: styles4.collaborateInput.style,
48048
48134
  placeholder: t5("Find by username or email")
@@ -48054,7 +48140,7 @@ function Share3({
48054
48140
  onClick: () => handleInvite()
48055
48141
  },
48056
48142
  isAdding || isInvitingSending ? /* @__PURE__ */ import_react78.default.createElement(Loading, { width: 22, color: "white", height: 22 }) : t5("Invite")
48057
- ) : search && /* @__PURE__ */ import_react78.default.createElement(
48143
+ ) : search2 && /* @__PURE__ */ import_react78.default.createElement(
48058
48144
  Button,
48059
48145
  {
48060
48146
  "data-testid": `${dataTestId}collaborate-add-button`,
@@ -64300,10 +64386,10 @@ function Search3({
64300
64386
  import_nprogress2.default.done();
64301
64387
  !searchParams?.get(paramName)?.toString() && setTerm("");
64302
64388
  }, [pathname, searchParams, isFocus]);
64303
- const handleSearch = (0, import_use_debounce.useDebouncedCallback)((search) => {
64389
+ const handleSearch = (0, import_use_debounce.useDebouncedCallback)((search2) => {
64304
64390
  import_nprogress2.default.start();
64305
- onChange?.(search || "");
64306
- addParams({ [paramName]: search || "" });
64391
+ onChange?.(search2 || "");
64392
+ addParams({ [paramName]: search2 || "" });
64307
64393
  import_nprogress2.default.done();
64308
64394
  }, 600);
64309
64395
  return /* @__PURE__ */ import_react96.default.createElement(Div, { style: { ...styles4.searchBoxWrapper.style, ...style } }, /* @__PURE__ */ import_react96.default.createElement(icons_exports.SearchIcon, { style: { ...styles4.searchIcon.style } }), /* @__PURE__ */ import_react96.default.createElement(
@@ -64529,7 +64615,7 @@ var init_Threads = __esm({
64529
64615
  }
64530
64616
  }, [sortedThreads, lastStarredId]);
64531
64617
  const [until, setUntil] = (0, import_react97.useState)(1);
64532
- const [search, setSearch] = (0, import_react97.useState)("");
64618
+ const [search2, setSearch] = (0, import_react97.useState)("");
64533
64619
  const [isLoading, setIsLoading] = (0, import_react97.useState)(true);
64534
64620
  const { actions } = useData();
64535
64621
  const {
@@ -64538,13 +64624,13 @@ var init_Threads = __esm({
64538
64624
  isLoading: isLoadingThreads,
64539
64625
  error
64540
64626
  } = (0, import_swr8.default)(
64541
- ["threads", until, search, sortByDate, app?.id],
64627
+ ["threads", until, search2, sortByDate, app?.id],
64542
64628
  () => {
64543
64629
  if (!token) return;
64544
64630
  return actions.getThreads({
64545
64631
  pageSize: pageSizes.threads * until,
64546
64632
  appId: app?.id,
64547
- search,
64633
+ search: search2,
64548
64634
  sort: sortByDate ? "date" : "bookmark",
64549
64635
  // userName,
64550
64636
  collaborationStatus: collaborationStatus ?? void 0
@@ -64618,7 +64704,7 @@ var init_Threads = __esm({
64618
64704
  dataTestId: "threads-search",
64619
64705
  placeholder: t5("Search threads..."),
64620
64706
  scroll: false,
64621
- onChange: (search2) => setSearch(search2)
64707
+ onChange: (search3) => setSearch(search3)
64622
64708
  }
64623
64709
  ), !isVisitor && /* @__PURE__ */ import_react97.default.createElement(import_react97.default.Fragment, null, /* @__PURE__ */ import_react97.default.createElement(
64624
64710
  Button,
@@ -64675,7 +64761,7 @@ var init_Threads = __esm({
64675
64761
  size: 20
64676
64762
  }
64677
64763
  )
64678
- )))), isLoading && !isLoadingMore && !search ? /* @__PURE__ */ import_react97.default.createElement(Div, { style: { ...styles4.loadingContainer.style } }, /* @__PURE__ */ import_react97.default.createElement(Loading, null)) : /* @__PURE__ */ import_react97.default.createElement(import_react97.default.Fragment, null, /* @__PURE__ */ import_react97.default.createElement(
64764
+ )))), isLoading && !isLoadingMore && !search2 ? /* @__PURE__ */ import_react97.default.createElement(Div, { style: { ...styles4.loadingContainer.style } }, /* @__PURE__ */ import_react97.default.createElement(Loading, null)) : /* @__PURE__ */ import_react97.default.createElement(import_react97.default.Fragment, null, /* @__PURE__ */ import_react97.default.createElement(
64679
64765
  Div,
64680
64766
  {
64681
64767
  "data-testid": "threads-container",
@@ -65124,11 +65210,11 @@ var init_Users = __esm({
65124
65210
  className: (0, import_clsx12.default)(styles4.searchInput),
65125
65211
  placeholder: t5("Search users..."),
65126
65212
  scroll: false,
65127
- onChange: (search) => {
65128
- setFind(search);
65213
+ onChange: (search2) => {
65214
+ setFind(search2);
65129
65215
  const url = new URL(window.location.href);
65130
- if (search) {
65131
- url.searchParams.set("find", search);
65216
+ if (search2) {
65217
+ url.searchParams.set("find", search2);
65132
65218
  } else {
65133
65219
  url.searchParams.delete("find");
65134
65220
  }