{"version":3,"file":"js/7099-32694f154e59801812bb.chunk.js","mappings":"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","sources":["webpack://halo/./app/client/src/components/Cards/RequestForStartupCardWide.tsx","webpack://halo/./app/client/src/components/library/EmptyState/EmptyState.tsx","webpack://halo/./app/client/src/hooks/useIsVisible.ts","webpack://halo/./app/client/src/requests/requestForStartups.ts","webpack://halo/./app/client/src/components/modals/SuggestedNetworksModal.tsx","webpack://halo/./app/client/src/hooks/usePageNumParam.ts","webpack://halo/./app/client/src/views/Marketplace/FindPartnersFilters.tsx","webpack://halo/./app/client/src/views/Marketplace/FindPartners.tsx","webpack://halo/./app/client/src/views/Marketplace/StartupProgramsFilters.tsx","webpack://halo/./app/client/src/views/Marketplace/StartupPrograms.tsx","webpack://halo/./app/client/src/views/Marketplace/Marketplace.tsx","webpack://halo/./app/client/src/views/RequestForStartupPage/Status.tsx"],"sourcesContent":["import { Button, Icon } from \"@components/library\";\nimport { COLORS, FONTS } from \"@constants\";\nimport useFollowRequest from \"@hooks/useFollowRequest\";\nimport { RootState } from \"@redux/store\";\nimport { SegmentEventName } from \"@tsTypes/__generated__/enums\";\nimport BaseCardWide from \"./BaseCardWide\";\n// @ts-ignore\nimport { CompanyVerificationStatus } from \"@tsTypes/companies.js.erb\";\nimport { RequestForStartupForCard } from \"@tsTypes/request_for_startups\";\nimport { LaunchableRequestStatus } from \"@tsTypes/requests\";\nimport { track } from \"@utils/appUtils\";\nimport { getLaunchableRequestStatus, requestPageUrlPath } from \"@utils/requestUtils\";\nimport { useSelector } from \"react-redux\";\nimport Status from \"src/views/RequestForStartupPage/Status\";\nimport styled from \"styled-components\";\nimport { WINDOW_DIMENSIONS } from \"@constants\";\n\ninterface Props {\n  request: RequestForStartupForCard;\n}\n\nexport default function RequestForStartupCardWide({ request }: Props) {\n  const currentUser = useSelector((state: RootState) => state.profiles.currentUser);\n  const windowWidth = useSelector((state: RootState) => state.window.width);\n  const isCompactLayout = windowWidth <= WINDOW_DIMENSIONS.TABLET_LANDSCAPE;\n\n  const { handleFollowRequest, isUserFollowing } = useFollowRequest(request.id);\n\n  const handleNotify = (e) => {\n    e.preventDefault();\n\n    if (request.requestable.has_page) {\n      track(SegmentEventName.Click, {\n        ui_component: \"Notify Me Button\",\n        react_component: \"RequestForStartupCardWide\",\n        request_slug: request.slug,\n      });\n    } else {\n      track(SegmentEventName.Click, {\n        ui_component: \"Notify Me Button - Offsite\",\n        react_component: \"RequestForStartupCardWide\",\n        logged_in: Boolean(currentUser.id),\n      });\n    }\n\n    handleFollowRequest();\n  };\n\n  const { has_page, external_url, parent_program } = request.requestable;\n\n  const status = getLaunchableRequestStatus(request as any);\n\n  let button = (\n    <Button\n      size=\"sm\"\n      type=\"button\"\n      variant=\"primary\"\n      to={requestPageUrlPath(request)}\n      iconName=\"Easy Apply\"\n      iconPosition=\"left\"\n      onClick={() =>\n        track(SegmentEventName.Click, {\n          ui_component: \"Easy Apply Button\",\n          react_component: \"RequestForStartupCardWide\",\n          request_slug: request.slug,\n          is_external_link: !request.requestable.has_page,\n        })\n      }\n    >\n      Easy apply\n    </Button>\n  );\n  if (external_url || !has_page) {\n    button = (\n      <Button\n        size=\"sm\"\n        type=\"button\"\n        variant=\"primary\"\n        to={has_page ? requestPageUrlPath(request) : external_url!}\n        isExternalLink={!has_page}\n        openInNewTab={!has_page}\n        iconName={!has_page ? \"Open in a new tab\" : undefined}\n        onClick={() =>\n          track(SegmentEventName.Click, {\n            ui_component: \"Learn More Button\",\n            react_component: \"RequestForStartupCardWide\",\n            request_slug: request.slug,\n            is_external_link: !request.requestable.has_page,\n          })\n        }\n      >\n        Learn more\n      </Button>\n    );\n  }\n  if (\n    status === LaunchableRequestStatus.COMING_SOON ||\n    (status === LaunchableRequestStatus.CLOSED && request.requestable.deadline) ||\n    status === LaunchableRequestStatus.IN_EXTENSION\n  ) {\n    if (isUserFollowing) {\n      button = (\n        <OptedIn>\n          <Icon name=\"Success\" color={COLORS.GREEN} size=\"sm\" />\n          You&apos;ll be notified\n        </OptedIn>\n      );\n    } else {\n      button = (\n        <Button size=\"sm\" type=\"button\" variant=\"primary\" iconName=\"Bell\" onClick={handleNotify}>\n          Notify me\n        </Button>\n      );\n    }\n  }\n\n  return (\n    <span\n      onClick={() =>\n        track(SegmentEventName.Click, {\n          ui_component: \"Request for Startup Card\",\n          request_slug: request.slug,\n        })\n      }\n    >\n      <BaseCardWide\n        to={has_page ? requestPageUrlPath(request) : external_url!}\n        isExternalLink={!has_page}\n        openInNewTab={!has_page}\n        title={`${parent_program ? `${parent_program}: ` : \"\"}${request.title}`}\n        subtitle={\n          <SubtitleWrapper>\n            <SubtitleText>\n              {\"private_alias\" in request.company\n                ? request.company.private_alias\n                : request.company.company_name}\n            </SubtitleText>\n            {request.company.verification_status === CompanyVerificationStatus.VERIFIED && (\n              <StyledIcon name=\"Verified\" size=\"sm\" color={COLORS.HALO_BLUE} />\n            )}\n          </SubtitleWrapper>\n        }\n        imageUrl={\"avatar\" in request.company ? request.company.avatar.url : null}\n        cornerContent={\n          <Status\n            request={request as any}\n            iconPosition=\"right\"\n            hasUnknownLaunchDate={request.requestable.unknown_launch_date}\n            useCompactText={windowWidth <= WINDOW_DIMENSIONS.TABLET}\n          />\n        }\n        tags={request.areas_of_expertise}\n        buttons={button}\n      />\n    </span>\n  );\n}\n\nconst OptedIn = styled.div`\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  height: 36px;\n  color: ${COLORS.GREEN};\n  ${FONTS.REGULAR_2}\n`;\n\nconst SubtitleWrapper = styled.div`\n  display: inline-flex;\n  flex-wrap: nowrap;\n  align-items: center;\n  gap: 4px;\n`;\n\nconst SubtitleText = styled.span`\n  width: 100%;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: -webkit-box;\n  white-space: normal;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 1;\n  padding-right: .5rem;\n`;\n\nconst StyledIcon = styled(Icon)`\n  flex-shrink: 0;\n`;\n","import { COLORS, FONTS } from \"@constants\";\nimport emptyStateImg from \"@images/empty_state.png\";\nimport { ReactElement } from \"react\";\nimport styled from \"styled-components\";\n\ninterface Props {\n  imgSrc?: string;\n  text?: string | ReactElement;\n  textAlign?: string;\n  button?: ReactElement | null;\n  orientation?: \"vertical\" | \"horizontal\";\n  withBackground?: boolean;\n  size?: \"sm\" | \"lg\";\n  height?: string;\n  margin?: string;\n}\n\nexport default function EmptyState({\n  imgSrc = emptyStateImg,\n  size = \"lg\",\n  text,\n  textAlign,\n  button = null,\n  orientation = \"vertical\",\n  withBackground = false,\n  height,\n  margin,\n}: Props) {\n  return (\n    <Container withBackground={withBackground} margin={margin} height={height}>\n      <Content orientation={orientation} textAlign={textAlign}>\n        {imgSrc && (\n          <Image\n            src={imgSrc}\n            alt={imgSrc === emptyStateImg ? \"Pen and paper\" : \"Empty state image\"}\n            size={size}\n          />\n        )}\n        {(text || button) && (\n          <div>\n            {text}\n            {button}\n          </div>\n        )}\n      </Content>\n    </Container>\n  );\n}\n\nconst Container = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  height: ${({ height }) => (height ? height : \"100%\")};\n  width: 100%;\n  ${({ margin }) => margin && `margin: ${margin}`};\n  padding: 30px;\n  ${({ withBackground }) => withBackground && `background: ${COLORS.BLUE_LIGHT_100}`};\n  border-radius: 12px;\n  color: ${COLORS.NEUTRAL_500};\n  ${FONTS.REGULAR_2};\n`;\nconst Content = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 16px;\n  ${({ orientation, textAlign }) =>\n    orientation === \"vertical\"\n      ? `\n        flex-direction: column;\n        max-width: 320px;\n        text-align: ${textAlign ?? \"center\"};\n      `\n      : `\n        max-width: 600px;\n        text-align: ${textAlign ?? \"left\"};\n  `};\n`;\nconst Image = styled.img`\n  width: ${({ size }) => (size === \"lg\" ? \"290px\" : \"150px\")};\n`;\n","import { RefObject, useEffect, useMemo, useState } from \"react\";\n\nexport default function useIsVisible(ref: RefObject<HTMLElement>) {\n  const [isIntersecting, setIsIntersecting] = useState(false);\n\n  const observer = useMemo(\n    () => new IntersectionObserver(([entry]) => setIsIntersecting(entry.isIntersecting)),\n    [ref]\n  );\n\n  useEffect(() => {\n    if (!ref.current) return;\n    observer.observe(ref.current);\n    return () => observer.disconnect();\n  }, [ref]);\n\n  return isIntersecting;\n}\n","import { request_for_startups_path } from \"@routes/routes\";\nimport { CommercialApplicationPageRequestForStartupsResponse } from \"@tsTypes/index\";\nimport { RequestForStartupIndexResponse } from \"@tsTypes/request_for_startups\";\nimport { RequestForStartupMarketplaceFilterOptionsResponse } from \"@tsTypes/request_for_startups/marketplace_filter_options\";\nimport { RequestForStartupsShowResponse } from \"@tsTypes/request_for_startups/show\";\nimport api from \"./request\";\n\nexport const getMarketplaceRequestForStartups = async ({\n  searchFilter,\n  commercialApplicationsFilter,\n}: {\n  searchFilter: string;\n  commercialApplicationsFilter: string[];\n}): Promise<RequestForStartupIndexResponse> => {\n  const response = await api.get(\"/request_for_startups\", {\n    params: {\n      options: {\n        search_filter: searchFilter,\n        commercial_applications_filter: commercialApplicationsFilter,\n      },\n    },\n  });\n  return response.data.requests;\n};\n\nexport const getMarketplaceRequestForStartupsFilterOptions =\n  async (): Promise<RequestForStartupMarketplaceFilterOptionsResponse> => {\n    const response = await api.get(\"/request_for_startup_marketplace_filter_options\");\n    return response.data;\n  };\n\nexport const getCommercialApplicationPageRequestForStartups = async (\n  commercialApplicationId: number,\n  pageNum: number\n): Promise<CommercialApplicationPageRequestForStartupsResponse> => {\n  const response = await api.get(request_for_startups_path(), {\n    params: {\n      commercial_application_id: commercialApplicationId,\n      page_num: pageNum,\n    },\n  });\n\n  return response.data;\n};\n\nexport const getRequestForStartup = async (\n  slug: string\n): Promise<RequestForStartupsShowResponse> => {\n  const response = await api.get(`/request_for_startups/${slug}`);\n  if (response.data.redirect) {\n    window.location.href = response.data.redirect;\n  }\n  return response.data.request;\n};\n","import { useEffect, useState } from \"react\";\nimport styled from \"styled-components\";\n\nimport { BlankModal, Button, Icon } from \"@components/library\";\nimport { BlankModalProps } from \"@components/library/ModalBases/BlankModal\";\nimport { COLORS, FONTS } from \"@constants\";\nimport { CompanyAsJson, getCompanyFollowSuggestions } from \"@requests/companies\";\nimport { requestToJoinCompanyNetwork } from \"@requests/companyNetworkScientists\";\nimport { SegmentEventName, SegmentEventObject } from \"@tsTypes/__generated__/enums\";\nimport { track } from \"@utils/appUtils\";\n\nconst SuggestedNetworksModal = ({ isOpen, onClose }: BlankModalProps) => {\n  if (!isOpen) return null;\n\n  const [isSubmitting, setIsSubmitting] = useState(false);\n  const [companies, setCompanies] = useState<CompanyAsJson[]>([]);\n  const [followedCompanyIds, setFollowedCompanyIds] = useState({});\n\n  useEffect(() => {\n    (async () => {\n      setCompanies(await getCompanyFollowSuggestions());\n    })();\n  }, []);\n\n  const handleRequest = async (companyId: number) => {\n    setIsSubmitting(true);\n    try {\n      await requestToJoinCompanyNetwork(companyId);\n      setFollowedCompanyIds({\n        ...followedCompanyIds,\n        [companyId]: true,\n      });\n      track(SegmentEventName.Follow, {\n        object: SegmentEventObject.Company,\n        company_id: companyId,\n        ui_component: \"Suggested Follows Modal\",\n      });\n    } catch (err) {\n      console.error(err);\n    } finally {\n      setIsSubmitting(false);\n    }\n  };\n\n  return (\n    <BlankModal\n      width=\"600px\"\n      hideCloseButton\n      isOpen={isOpen}\n      onClose={onClose}\n      closeOnDimmerClick={false}\n    >\n      <HeaderTextContainer>\n        <HeaderText>Learn about new opportunities from our industry partners</HeaderText>\n      </HeaderTextContainer>\n      <HeaderDivider />\n      <CompaniesContainer>\n        {companies.map((company) => (\n          <div key={company.id}>\n            <Company>\n              <CompanyImageContainer>\n                <img alt={company.company_name ?? \"\"} src={company.logo.url ?? \"\"} />\n              </CompanyImageContainer>\n              {followedCompanyIds[company.id] ? (\n                <Requested>\n                  <Icon name=\"Success\" color={COLORS.GREEN} size=\"md\" />\n                  Requested\n                </Requested>\n              ) : (\n                <Button\n                  size=\"sm\"\n                  iconName=\"Followers\"\n                  iconPosition=\"right\"\n                  onClick={() => handleRequest(company.id)}\n                  disabled={isSubmitting}\n                >\n                  Join network\n                </Button>\n              )}\n            </Company>\n          </div>\n        ))}\n      </CompaniesContainer>\n      <HeaderDivider />\n      <BottomContainer>\n        <button type=\"button\" data-testid=\"go-to-opportunities-button\" onClick={onClose}>\n          Go to opportunities -&gt;\n        </button>\n      </BottomContainer>\n    </BlankModal>\n  );\n};\n\nconst HeaderTextContainer = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  padding: 20px 20px;\n`;\n\nconst HeaderText = styled.div`\n  ${FONTS.HEADING_5_SEMIBOLD}\n  color: ${COLORS.BLACK};\n  width: 350px;\n  text-align: center;\n`;\n\nconst CompaniesContainer = styled.div`\n  height: 370px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  overflow-y: scroll;\n  padding-top: 20px;\n  & > div {\n    width: 100%;\n    display: flex;\n    justify-content: center;\n  }\n`;\n\nconst Company = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  width: 360px;\n  height: 100px;\n  margin-bottom: 16px;\n`;\n\nconst CompanyImageContainer = styled.div`\n  width: 150px;\n  display: flex;\n  justify-content: center;\n  & > img {\n    width: 100%;\n  }\n`;\n\nconst Requested = styled.div`\n  display: flex;\n  gap: 6px;\n  align-items: center;\n  color: ${COLORS.GREEN};\n  ${FONTS.MEDIUM_2}\n`;\n\nconst HeaderDivider = styled.hr`\n  margin: 0;\n  border-color: ${COLORS.NEUTRAL_300};\n`;\n\nconst BottomContainer = styled.div`\n  padding: 16px;\n  width: 100%;\n  display: flex;\n  justify-content: center;\n\n  & button {\n    background: none;\n    border: none;\n    padding: 0;\n    cursor: pointer;\n    outline: inherit;\n\n    color: ${COLORS.HALO_BLUE};\n\n    display: flex;\n    align-items: center;\n    text-decoration: none;\n    cursor: pointer;\n\n    &:hover {\n      color: ${COLORS.BLUE_600};\n    }\n  }\n`;\n\nexport default SuggestedNetworksModal;\n","import { useHistory } from \"react-router-dom\";\nimport { useSearchParams } from \"./router\";\n\nexport const PAGE_PARAM = \"page\";\n\nexport function usePageNumParam(): [number, (newPageNum: number) => void] {\n  const [searchParams] = useSearchParams();\n  const history = useHistory();\n\n  const pageNum = parseInt(searchParams.get(PAGE_PARAM) ?? \"1\");\n\n  const setPageNum = (newPageNum: number) => {\n    searchParams.set(PAGE_PARAM, newPageNum.toString());\n    history.push({ search: searchParams.toString() });\n  };\n\n  return [pageNum, setPageNum];\n}\n","import { Checkbox, MultiSelectDropdown } from \"@components/library\";\nimport { DropdownOption } from \"@components/library/Dropdowns/DropdownOption\";\nimport { useSearchParams } from \"@hooks/router\";\nimport { useIsMount } from \"@hooks/useIsMount\";\nimport { getOptionFromValue } from \"@utils/dropdownUtils\";\nimport { Dispatch, SetStateAction, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport {\n  CheckboxContainer,\n  FilterContainer,\n  FilterSection,\n  ResetFiltersButton,\n} from \"./sharedFilterStyles\";\n\ninterface Props {\n  keywordOptions: DropdownOption[];\n  keywordsFilter: DropdownOption[];\n  setKeywordsFilter: Dispatch<SetStateAction<DropdownOption[]>>;\n  withActiveRfpsFilter: boolean;\n  setWithActiveRfpsFilter: Dispatch<SetStateAction<boolean>>;\n  withActiveOpenCallsFilter: boolean;\n  setWithActiveOpenCallsFilter: Dispatch<SetStateAction<boolean>>;\n  withActiveRfsFilter: boolean;\n  setWithActiveRfsFilter: Dispatch<SetStateAction<boolean>>;\n}\n\nconst KEYWORDS_FILTER_PARAM = \"keywords\";\nconst WITH_ACTIVE_RFPS_FILTER_PARAM = \"with_active_rfps\";\nconst WITH_ACTIVE_OPEN_CALLS_FILTER_PARAM = \"with_active_open_calls\";\nconst WITH_ACTIVE_RFS_FILTER_PARAM = \"with_active_rfs\";\n\nexport default function FindPartnersFilters({\n  keywordOptions,\n  keywordsFilter,\n  setKeywordsFilter,\n  withActiveRfpsFilter,\n  setWithActiveRfpsFilter,\n  withActiveOpenCallsFilter,\n  setWithActiveOpenCallsFilter,\n  withActiveRfsFilter,\n  setWithActiveRfsFilter,\n}: Props) {\n  const [searchParams] = useSearchParams();\n  const history = useHistory();\n  const isMount = useIsMount();\n\n  useEffect(() => {\n    if (isMount) {\n      if (searchParams.has(KEYWORDS_FILTER_PARAM)) {\n        const keywords = searchParams.get(KEYWORDS_FILTER_PARAM)!.split(\";\");\n        setKeywordsFilter(keywords.map((keyword) => getOptionFromValue(keyword) as DropdownOption));\n      }\n      setWithActiveRfpsFilter(searchParams.get(WITH_ACTIVE_RFPS_FILTER_PARAM) === \"true\");\n      setWithActiveOpenCallsFilter(\n        searchParams.get(WITH_ACTIVE_OPEN_CALLS_FILTER_PARAM) === \"true\"\n      );\n      setWithActiveRfsFilter(searchParams.get(WITH_ACTIVE_RFS_FILTER_PARAM) === \"true\");\n      return;\n    }\n\n    if (keywordsFilter.length)\n      searchParams.set(\n        KEYWORDS_FILTER_PARAM,\n        keywordsFilter.map((keyword) => keyword.value).join(\";\")\n      );\n    else searchParams.delete(KEYWORDS_FILTER_PARAM);\n    if (withActiveRfpsFilter) searchParams.set(WITH_ACTIVE_RFPS_FILTER_PARAM, \"true\");\n    else searchParams.delete(WITH_ACTIVE_RFPS_FILTER_PARAM);\n    if (withActiveOpenCallsFilter) searchParams.set(WITH_ACTIVE_OPEN_CALLS_FILTER_PARAM, \"true\");\n    else searchParams.delete(WITH_ACTIVE_OPEN_CALLS_FILTER_PARAM);\n    if (withActiveRfsFilter) searchParams.set(WITH_ACTIVE_RFS_FILTER_PARAM, \"true\");\n    else searchParams.delete(WITH_ACTIVE_RFS_FILTER_PARAM);\n\n    history.replace({ search: searchParams.toString() });\n  }, [keywordsFilter, withActiveRfpsFilter, withActiveOpenCallsFilter, withActiveRfsFilter]);\n\n  const handleClearFilters = () => {\n    setKeywordsFilter([]);\n    setWithActiveRfpsFilter(false);\n    setWithActiveOpenCallsFilter(false);\n    setWithActiveRfsFilter(false);\n  };\n\n  return (\n    <FilterContainer>\n      <FilterSection label=\"Areas of Expertise\" labelMargin=\"0 0 8px\">\n        <MultiSelectDropdown\n          placeholder=\"All\"\n          withSearchIcon\n          onChange={(e) => setKeywordsFilter(e)}\n          value={keywordsFilter}\n          options={keywordOptions}\n          data-testid=\"keywords-filter\"\n        />\n      </FilterSection>\n      <FilterSection label=\"Active Requests\" collapsible>\n        <CheckboxContainer data-testid=\"request-checkboxes\">\n          <Checkbox\n            label=\"Open calls\"\n            isChecked={withActiveOpenCallsFilter}\n            onChange={(e) => setWithActiveOpenCallsFilter(e.target.checked)}\n            size=\"sm\"\n          />\n          <Checkbox\n            label=\"Requests for proposals\"\n            isChecked={withActiveRfpsFilter}\n            onChange={(e) => setWithActiveRfpsFilter(e.target.checked)}\n            size=\"sm\"\n          />\n          <Checkbox\n            label=\"Startup programs\"\n            isChecked={withActiveRfsFilter}\n            onChange={(e) => setWithActiveRfsFilter(e.target.checked)}\n            size=\"sm\"\n          />\n        </CheckboxContainer>\n      </FilterSection>\n      <ResetFiltersButton onClick={handleClearFilters} />\n    </FilterContainer>\n  );\n}\n","import CompanyCardWide from \"@components/Cards/CompanyCardWide\";\nimport { FiltersButton, Pagination, SelectableDropdown } from \"@components/library\";\nimport { DropdownOption } from \"@components/library/Dropdowns/DropdownOption\";\nimport EmptyState from \"@components/library/EmptyState\";\nimport { FEATURE_FLAGS, FONTS, WINDOW_DIMENSIONS } from \"@constants\";\nimport { useIsMount } from \"@hooks/useIsMount\";\nimport useIsVisible from \"@hooks/useIsVisible\";\nimport { RootState } from \"@redux/store\";\nimport {\n  getAllCompanies,\n  getCompanyMarketplaceCompanies,\n  getCompanyMarketplaceFilterOptions,\n} from \"@requests/companies\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { CompanyForCard } from \"@tsTypes/companies/_for_card\";\nimport appsignal from \"@utils/appsignal\";\nimport { getOptionFromValue, getValueFromOption } from \"@utils/dropdownUtils\";\nimport { t_html } from \"@utils/i18n\";\nimport { toastErrorHandler } from \"@utils/requests\";\nimport { useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Loader } from \"semantic-ui-react\";\nimport styled from \"styled-components\";\nimport FindPartnersFilters from \"./FindPartnersFilters\";\nimport { Container, Description } from \"./RespondToRequests\";\nimport { Columns, ContentColumn, FilterColumn } from \"./sharedFilterStyles\";\n\nconst SORT_OPTIONS: DropdownOption[] = [\n  { value: \"PREFERRED\", label: \"Default\" },\n  { value: \"NAME\", label: \"Company name\" },\n];\nconst CARDS_PER_PAGE = 10;\n\ninterface Props {\n  currentPageNum: number;\n  setCurrentPageNum: (newPageNum: number) => void;\n}\n\nconst FindPartners = ({ currentPageNum, setCurrentPageNum }: Props) => {\n  const [isLoading, setIsLoading] = useState(true);\n  const [companies, setCompanies] = useState<CompanyForCard[]>([]);\n  const [totalCompanyCount, setTotalCompanyCount] = useState(0);\n  const [sortBy, setSortBy] = useState<DropdownOption>(SORT_OPTIONS[0]);\n  const [isFiltersOpen, setIsFiltersOpen] = useState(false);\n\n  const [keywordsFilter, setKeywordsFilter] = useState<DropdownOption[]>([]);\n  const [withActiveRfpsFilter, setWithActiveRfpsFilter] = useState(false);\n  const [withActiveOpenCallsFilter, setWithActiveOpenCallsFilter] = useState(false);\n  const [withActiveRfsFilter, setWithActiveRfsFilter] = useState(false);\n  const allFilters = [\n    keywordsFilter,\n    withActiveRfpsFilter,\n    withActiveOpenCallsFilter,\n    withActiveRfsFilter,\n  ];\n\n  const isTablet = useSelector((state: RootState) => state.window.isTablet);\n  const isMount = useIsMount();\n\n  const sortByRef = useRef(sortBy);\n  const abortControllerRef = useRef(new AbortController());\n\n  const [shouldScrollToTop, setShouldScrollToTop] = useState(false);\n  // scrollToRef is tied to the top of the results container, null when loading or no results\n  const scrollToRef = useRef<HTMLDivElement | null>(null);\n  // topRef is always visible and used to determine if we need to scroll\n  const topRef = useRef<HTMLDivElement | null>(null);\n  const isAtTop = useIsVisible(topRef);\n\n  // Filter options\n  const { data: options } = useQuery({\n    queryKey: [\"getCompanyMarketplaceFilterOptions\"],\n    queryFn: () => getCompanyMarketplaceFilterOptions(),\n    select: (data) => {\n      const keywordOptions = data.keywords.map(getOptionFromValue) as DropdownOption[];\n      return {\n        keywordOptions,\n      };\n    },\n  });\n\n  // New query method with filters\n  const { data: companiesData, isLoading: isLoadingCompanies } = useQuery(\n    [\"getCompanyMarketplaceCompanies\", ...allFilters, sortBy, currentPageNum],\n    () =>\n      getCompanyMarketplaceCompanies({\n        keywordsFilter: keywordsFilter.map(getValueFromOption) as string[],\n        withActiveRfpsFilter,\n        withActiveOpenCallsFilter,\n        withActiveRfsFilter,\n        sortBy: sortBy.value as any,\n        pageNumber: currentPageNum,\n      }),\n    {\n      enabled: FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER,\n      onError: toastErrorHandler,\n    }\n  );\n\n  // Old query method\n  useEffect(() => {\n    if (FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER) return;\n\n    (async () => {\n      try {\n        abortControllerRef.current = new AbortController();\n\n        const response = await getAllCompanies(\n          currentPageNum,\n          sortBy.value,\n          abortControllerRef.current.signal\n        );\n\n        if (sortByRef.current.value !== sortBy.value) {\n          setCurrentPageNum(1);\n          sortByRef.current = sortBy;\n        }\n\n        setCompanies(response.companies);\n        setTotalCompanyCount(response.total_count);\n      } catch (e) {\n        if (!abortControllerRef.current.signal.aborted) {\n          appsignal.sendError(e, (span) => {\n            span.setAction(\"FindPartners#useEffect[currentPageNum, sortBy]\");\n          });\n        }\n      } finally {\n        setIsLoading(false);\n      }\n    })();\n\n    return () => abortControllerRef.current.abort();\n  }, [currentPageNum, sortBy, ...allFilters]);\n\n  // Handle old and new query methods with the same variables\n  const _isLoading = FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER ? isLoadingCompanies : isLoading;\n  const _companies = FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER\n    ? companiesData?.companies ?? []\n    : companies;\n  const _totalCount = FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER\n    ? companiesData?.total_count ?? 0\n    : totalCompanyCount;\n\n  // Reset page number of filter or sort change\n  useEffect(() => {\n    if (isMount) return;\n    if (currentPageNum === 1) return;\n    setCurrentPageNum(1);\n  }, [...allFilters, sortBy]);\n\n  // Scroll to top on filter change or page number change\n  useEffect(() => {\n    if (isMount) return;\n    setShouldScrollToTop(true);\n  }, [...allFilters, currentPageNum]);\n\n  useLayoutEffect(() => {\n    let animationFrameId: number;\n\n    const checkAndScroll = () => {\n      if (shouldScrollToTop && scrollToRef.current) {\n        if (!isAtTop) {\n          window.scrollTo({\n            top: scrollToRef.current.getBoundingClientRect().top + window.scrollY - 130,\n            behavior: \"smooth\",\n          });\n        }\n        setShouldScrollToTop(false);\n      } else {\n        animationFrameId = requestAnimationFrame(checkAndScroll);\n      }\n    };\n\n    checkAndScroll();\n\n    return () => {\n      if (animationFrameId) cancelAnimationFrame(animationFrameId);\n    };\n  }, [_companies, scrollToRef]);\n\n  const filtersCount =\n    keywordsFilter.length +\n    (withActiveRfpsFilter ? 1 : 0) +\n    (withActiveOpenCallsFilter ? 1 : 0) +\n    (withActiveRfsFilter ? 1 : 0);\n\n  const filters = (\n    <FindPartnersFilters\n      keywordOptions={options?.keywordOptions ?? []}\n      keywordsFilter={keywordsFilter}\n      setKeywordsFilter={setKeywordsFilter}\n      withActiveRfpsFilter={withActiveRfpsFilter}\n      setWithActiveRfpsFilter={setWithActiveRfpsFilter}\n      withActiveOpenCallsFilter={withActiveOpenCallsFilter}\n      setWithActiveOpenCallsFilter={setWithActiveOpenCallsFilter}\n      withActiveRfsFilter={withActiveRfsFilter}\n      setWithActiveRfsFilter={setWithActiveRfsFilter}\n    />\n  );\n\n  return (\n    <Container>\n      <Description>{t_html(\"pages.marketplace.find_partners.description_html\")}</Description>\n      <Columns>\n        {FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER && <FilterColumn>{filters}</FilterColumn>}\n        <ContentColumn>\n          <SortBy>\n            {FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER && isTablet && (\n              <div style={{ marginRight: 20 }}>\n                <FiltersButton\n                  variant=\"fourth\"\n                  count={filtersCount}\n                  isOpen={isFiltersOpen}\n                  setIsOpen={setIsFiltersOpen}\n                />\n              </div>\n            )}\n            Sort by:\n            <SelectableDropdown\n              value={sortBy}\n              options={SORT_OPTIONS}\n              onChange={(e) => setSortBy(e)}\n            />\n          </SortBy>\n          {FEATURE_FLAGS.COMPANY_MARKETPLACE_FILTER && isFiltersOpen && isTablet && filters}\n          <Companies>\n            <span ref={topRef} />\n            {(() => {\n              if (_isLoading) {\n                return <Loader active inline=\"centered\" style={{ marginTop: 100 }} />;\n              }\n              if (_companies.length === 0) {\n                return <EmptyState text=\"No results\" imgSrc=\"\" />;\n              }\n              return (\n                <>\n                  <span ref={scrollToRef} />\n                  {_companies.map((company) => (\n                    <CompanyCardWide\n                      key={company.id}\n                      company={company}\n                      fromHref={window.location.pathname + window.location.search}\n                    />\n                  ))}\n                </>\n              );\n            })()}\n          </Companies>\n        </ContentColumn>\n      </Columns>\n      <Pagination\n        currentPage={currentPageNum}\n        setCurrentPage={setCurrentPageNum}\n        totalPages={Math.ceil(_totalCount / CARDS_PER_PAGE)}\n      />\n    </Container>\n  );\n};\n\nexport default FindPartners;\n\nconst Companies = styled.div`\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n  ${WINDOW_DIMENSIONS.MOBILE_MEDIA_QUERY} {\n    gap: 24px;\n  }\n`;\nconst SortBy = styled.div`\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 20px;\n  ${FONTS.REGULAR_2};\n  ${WINDOW_DIMENSIONS.MOBILE_MEDIA_QUERY} {\n    margin-bottom: 18px;\n  }\n`;\n","import { Checkbox } from \"@components/library\";\nimport { useSearchParams } from \"@hooks/router\";\nimport { useIsMount } from \"@hooks/useIsMount\";\nimport { Dispatch, SetStateAction, useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport {\n  CheckboxContainer,\n  FilterContainer,\n  FilterSection,\n  ResetFiltersButton,\n} from \"./sharedFilterStyles\";\n\ninterface Props {\n  searchFilter: string;\n  setSearchFilter: Dispatch<SetStateAction<string>>;\n  commercialApplicationOptions: string[];\n  commercialApplicationsFilter: string[];\n  setCommercialApplicationsFilter: Dispatch<SetStateAction<string[]>>;\n}\n\nconst SEARCH_FILTER_PARAM = \"search\";\nconst COMMERCIAL_APPLICATION_FILTER_PARAM = \"application_areas\";\n\nexport default function StartupProgramsFilters({\n  searchFilter,\n  setSearchFilter,\n  commercialApplicationOptions,\n  commercialApplicationsFilter,\n  setCommercialApplicationsFilter,\n}: Props) {\n  const [localSearchFilter, setLocalSearchFilter] = useState(\"\");\n\n  const [searchParams] = useSearchParams();\n  const history = useHistory();\n  const isMount = useIsMount();\n\n  useEffect(() => {\n    if (isMount) {\n      if (searchParams.has(SEARCH_FILTER_PARAM)) {\n        setLocalSearchFilter(searchParams.get(SEARCH_FILTER_PARAM)!);\n        setSearchFilter(searchParams.get(SEARCH_FILTER_PARAM)!);\n      }\n      if (searchParams.has(COMMERCIAL_APPLICATION_FILTER_PARAM)) {\n        setCommercialApplicationsFilter(\n          searchParams.get(COMMERCIAL_APPLICATION_FILTER_PARAM)!.split(\";\")\n        );\n      }\n      return;\n    }\n\n    if (searchFilter) {\n      searchParams.set(SEARCH_FILTER_PARAM, searchFilter);\n    } else {\n      searchParams.delete(SEARCH_FILTER_PARAM);\n    }\n    if (commercialApplicationsFilter.length > 0) {\n      searchParams.set(COMMERCIAL_APPLICATION_FILTER_PARAM, commercialApplicationsFilter.join(\";\"));\n    } else {\n      searchParams.delete(COMMERCIAL_APPLICATION_FILTER_PARAM);\n    }\n    history.replace({ search: searchParams.toString() });\n  }, [searchFilter, commercialApplicationsFilter]);\n\n  const handleClearFilters = () => {\n    setSearchFilter(\"\");\n    setLocalSearchFilter(\"\");\n    setCommercialApplicationsFilter([]);\n  };\n\n  return (\n    <FilterContainer>\n      {/*\n      <FilterSection label=\"Search\">\n        <SearchBarInput\n          placeholder=\"Expertise, company, etc.\"\n          value={localSearchFilter}\n          onChange={(value) => {\n            if (!value) {\n              setSearchFilter(\"\");\n            }\n            setLocalSearchFilter(value);\n          }}\n          onSubmit={() => setSearchFilter(localSearchFilter)}\n          buttonText=\"Go\"\n        />\n      </FilterSection>\n      */}\n      {commercialApplicationOptions.length > 0 && (\n        <FilterSection label=\"Application area\">\n          <CheckboxContainer>\n            {commercialApplicationOptions.map((commercialApplication) => (\n              <Checkbox\n                key={commercialApplication}\n                label={commercialApplication}\n                size=\"sm\"\n                isChecked={commercialApplicationsFilter.includes(commercialApplication)}\n                onChange={(e) => {\n                  if (e.target.checked) {\n                    setCommercialApplicationsFilter([\n                      ...commercialApplicationsFilter,\n                      commercialApplication,\n                    ]);\n                  } else {\n                    setCommercialApplicationsFilter(\n                      commercialApplicationsFilter.filter(\n                        (application) => application !== commercialApplication\n                      )\n                    );\n                  }\n                }}\n              />\n            ))}\n          </CheckboxContainer>\n        </FilterSection>\n      )}\n      <ResetFiltersButton onClick={handleClearFilters} />\n    </FilterContainer>\n  );\n}\n","import RequestForStartupCardWide from \"@components/Cards/RequestForStartupCardWide\";\nimport { FiltersButton } from \"@components/library\";\nimport EmptyState from \"@components/library/EmptyState\";\nimport { WINDOW_DIMENSIONS } from \"@constants\";\nimport { useIsMount } from \"@hooks/useIsMount\";\nimport useIsVisible from \"@hooks/useIsVisible\";\nimport { RootState } from \"@redux/store\";\nimport {\n  getMarketplaceRequestForStartups,\n  getMarketplaceRequestForStartupsFilterOptions,\n} from \"@requests/requestForStartups\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { t_html } from \"@utils/i18n\";\nimport { toastErrorHandler } from \"@utils/requests\";\nimport { useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Loader } from \"semantic-ui-react\";\nimport styled from \"styled-components\";\nimport { Container, Description } from \"./RespondToRequests\";\nimport StartupProgramsFilters from \"./StartupProgramsFilters\";\nimport { Columns, ContentColumn, FilterColumn } from \"./sharedFilterStyles\";\n\nexport default function StartupPrograms() {\n  const [isFiltersOpen, setIsFiltersOpen] = useState(false);\n  const [searchFilter, setSearchFilter] = useState(\"\");\n  const [commercialApplicationsFilter, setCommercialApplicationsFilter] = useState<string[]>([]);\n  const allFilters = [searchFilter, commercialApplicationsFilter];\n\n  const isTablet = useSelector((state: RootState) => state.window.isTablet);\n  const isMount = useIsMount();\n\n  const [shouldScrollToTop, setShouldScrollToTop] = useState(false);\n  // scrollToRef is tied to the top of the results container, null when loading or no results\n  const scrollToRef = useRef<HTMLDivElement | null>(null);\n  // topRef is always visible and used to determine if we need to scroll\n  const topRef = useRef<HTMLDivElement | null>(null);\n  const isAtTop = useIsVisible(topRef);\n\n  const { data: requests = [], isLoading } = useQuery(\n    [\"getMarketplaceRequestForStartups\", ...allFilters],\n    () =>\n      getMarketplaceRequestForStartups({\n        searchFilter,\n        commercialApplicationsFilter,\n      }),\n    {\n      onError: toastErrorHandler,\n    }\n  );\n\n  // Filter options\n  const { data: options } = useQuery({\n    queryKey: [\"getMarketplaceRequestForStartupsFilterOptions\"],\n    queryFn: getMarketplaceRequestForStartupsFilterOptions,\n  });\n\n  // Scroll to top on filter change (and eventually page num change)\n  useEffect(() => {\n    if (isMount) return;\n    setShouldScrollToTop(true);\n  }, [...allFilters]);\n\n  useLayoutEffect(() => {\n    let animationFrameId: number;\n\n    const checkAndScroll = () => {\n      if (shouldScrollToTop && scrollToRef.current) {\n        if (!isAtTop) {\n          window.scrollTo({\n            top: scrollToRef.current.getBoundingClientRect().top + window.scrollY - 130,\n            behavior: \"smooth\",\n          });\n        }\n        setShouldScrollToTop(false);\n      } else {\n        animationFrameId = requestAnimationFrame(checkAndScroll);\n      }\n    };\n\n    checkAndScroll();\n\n    return () => {\n      if (animationFrameId) cancelAnimationFrame(animationFrameId);\n    };\n  }, [requests, scrollToRef]);\n\n  const filtersCount = (searchFilter.length ? 1 : 0) + commercialApplicationsFilter.length;\n\n  const filters = (\n    <StartupProgramsFilters\n      searchFilter={searchFilter}\n      setSearchFilter={setSearchFilter}\n      commercialApplicationOptions={options?.commercial_applications ?? []}\n      commercialApplicationsFilter={commercialApplicationsFilter}\n      setCommercialApplicationsFilter={setCommercialApplicationsFilter}\n    />\n  );\n\n  return (\n    <Container>\n      <Description>{t_html(\"pages.marketplace.startup_program.description_html\")}</Description>\n      <Columns>\n        <FilterColumn>{filters}</FilterColumn>\n        <ContentColumn>\n          {isTablet && (\n            <div style={{ margin: \"0 0 20px\" }}>\n              <FiltersButton\n                variant=\"fourth\"\n                count={filtersCount}\n                isOpen={isFiltersOpen}\n                setIsOpen={setIsFiltersOpen}\n              />\n            </div>\n          )}\n          {isFiltersOpen && isTablet && filters}\n          <Cards>\n            <RefSpan ref={topRef} />\n            {(() => {\n              if (isLoading) {\n                return <Loader active inline=\"centered\" style={{ marginTop: 100 }} />;\n              }\n              if (requests.length === 0) {\n                return <EmptyState text=\"No results\" imgSrc=\"\" />;\n              }\n              return (\n                <>\n                  <RefSpan ref={scrollToRef} />\n                  {requests.map((request) => (\n                    <RequestForStartupCardWide key={request.id} request={request} />\n                  ))}\n                </>\n              );\n            })()}\n          </Cards>\n        </ContentColumn>\n      </Columns>\n    </Container>\n  );\n}\n\nconst Cards = styled.div`\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n  position: relative;\n\n  ${WINDOW_DIMENSIONS.MOBILE_MEDIA_QUERY} {\n    gap: 24px;\n  }\n`;\n\nconst RefSpan = styled.span`\n  position: absolute;\n`;\n","import { PageContainer, Tabs } from \"@components/library\";\nimport SuggestedNetworksModal from \"@components/modals/SuggestedNetworksModal\";\nimport { COLORS, FONTS } from \"@constants\";\nimport { useSearchParams } from \"@hooks/router\";\nimport { usePageNumParam } from \"@hooks/usePageNumParam\";\nimport { RootState } from \"@redux/store\";\nimport { marketplace_path } from \"@routes/routes\";\nimport { marketplacePath } from \"@routes/utils\";\nimport { SegmentEventName } from \"@tsTypes/__generated__/enums\";\nimport { UserRole } from \"@tsTypes/users\";\nimport { track } from \"@utils/appUtils\";\nimport { t } from \"@utils/i18n\";\nimport { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Redirect, Route, useHistory, useParams } from \"react-router-dom\";\nimport FindPartners from \"./FindPartners\";\nimport RespondToRequests from \"./RespondToRequests\";\nimport StartupPrograms from \"./StartupPrograms\";\n\nconst TABS = [\"REQUESTS\", \"PARTNERS\", \"STARTUP_PROGRAMS\"] as const;\ntype Tab = (typeof TABS)[number];\n\nconst Marketplace = () => {\n  const { tab: tabPath } = useParams();\n\n  const [pageNum, setPageNum] = usePageNumParam();\n\n  const currentUser = useSelector((state: RootState) => state.profiles.currentUser);\n  const isMobile = useSelector((state: RootState) => state.window.isMobile);\n\n  const history = useHistory();\n  const [searchParams] = useSearchParams();\n  const tabParam = searchParams.get(\"tab\")?.toUpperCase() as any;\n\n  const [activeTab, setActiveTab] = useState<Tab>(tabPath?.toUpperCase() || tabParam || \"REQUESTS\");\n\n  const handleCloseFollowModal = () => {\n    searchParams.delete(\"follow\");\n    history.push({ pathname: marketplacePath(), search: searchParams.toString() });\n  };\n\n  const shouldOpenFollowModal =\n    currentUser.role === UserRole.SCIENTIST && Boolean(searchParams.get(\"follow\"));\n\n  switch (history.location.pathname) {\n    case \"/marketplace\":\n      history.replace(\"/marketplace/requests\");\n      break;\n    case \"/home\":\n      switch (tabParam) {\n        case \"PARTNERS\":\n          history.replace(\"/marketplace/partners\");\n          break;\n        case \"STARTUP_PROGRAMS\":\n          history.replace(\"/marketplace/startup_programs\");\n          break;\n        default:\n          history.replace(\"/marketplace/requests\");\n      }\n      break;\n  }\n\n  useEffect(() => {\n    if (history.location.pathname === marketplacePath(\"partners\")) {\n      setActiveTab(\"PARTNERS\");\n    } else if (history.location.pathname === marketplacePath(\"startup_programs\")) {\n      setActiveTab(\"STARTUP_PROGRAMS\");\n    }\n  }, [history.location.pathname]);\n\n  return (\n    <>\n      <SuggestedNetworksModal isOpen={shouldOpenFollowModal} onClose={handleCloseFollowModal} />\n      <PageContainer hasTopDivider={!isMobile} hasOverflowHidden>\n        <Tabs\n          activeTab={activeTab}\n          setActiveTab={(newTab) => {\n            track(SegmentEventName.Click, {\n              ui_component: \"Marketplace Tab\",\n              tab: newTab,\n            });\n            setActiveTab(newTab as Tab);\n            setPageNum(1);\n\n            switch (newTab) {\n              case \"REQUESTS\":\n                history.push(\"/marketplace/requests\");\n                break;\n              case \"PARTNERS\":\n                history.push(\"/marketplace/partners\");\n                break;\n              case \"STARTUP_PROGRAMS\":\n                history.push(\"/marketplace/startup_programs\");\n                break;\n            }\n          }}\n          tabs={[\n            {\n              key: \"REQUESTS\",\n              label: t(\"pages.marketplace.tabs.requests\"),\n            },\n            {\n              key: \"STARTUP_PROGRAMS\",\n              label: t(\"pages.marketplace.tabs.startup_program\"),\n              withNewTag: true,\n            },\n            {\n              key: \"PARTNERS\",\n              label: t(\"pages.marketplace.tabs.partners\"),\n              \"data-testid\": \"industry-partners-tab\",\n            },\n          ]}\n          activeColor={COLORS.HALO_BLUE}\n          tabDistance={isMobile ? \"24px\" : \"32px\"}\n          font={FONTS.SEMIBOLD_1}\n        />\n        <>\n          <Route exact path={marketplace_path()}>\n            <Redirect to={marketplacePath()} />\n          </Route>\n          <Route path={marketplacePath()}>\n            <RespondToRequests currentPageNum={pageNum} setCurrentPageNum={setPageNum} />\n          </Route>\n          <Route path=\"/marketplace/partners\">\n            <FindPartners currentPageNum={pageNum} setCurrentPageNum={setPageNum} />\n          </Route>\n          <Route path=\"/marketplace/startup_programs\">\n            <StartupPrograms />\n          </Route>\n        </>\n      </PageContainer>\n    </>\n  );\n};\n\nexport default Marketplace;\n","import { Icon } from \"@components/library\";\nimport { IconName } from \"@components/library/Icon/Icon\";\nimport { COLORS, FONTS, WINDOW_DIMENSIONS } from \"@constants\";\nimport { LaunchableRequestStatus } from \"@tsTypes/requests\";\nimport { formatDateToEastern } from \"@utils/dateUtils\";\nimport { t } from \"@utils/i18n\";\nimport { LaunchableRequest, getLaunchableRequestStatus } from \"@utils/requestUtils\";\nimport styled from \"styled-components\";\n\ninterface Props {\n  request: LaunchableRequest;\n  iconPosition?: \"left\" | \"right\";\n  hasUnknownLaunchDate?: boolean;\n  useCompactText?: boolean;\n}\n\nexport default function Status({\n  request,\n  iconPosition = \"left\",\n  hasUnknownLaunchDate = false,\n  useCompactText = false,\n}: Props) {\n  const status = getLaunchableRequestStatus(request);\n\n  let text = \"\";\n  let color = \"\";\n  let background = \"\";\n  let iconName: IconName;\n\n  switch (status) {\n    case LaunchableRequestStatus.ACTIVE:\n      if (request.requestable.deadline) {\n        text = t(\"pages.request_for_startups_page.status.active\", {\n          date: formatDateToEastern(\n            request.requestable.deadline,\n            \"MMM D\" +\n              (new Date(request.requestable.deadline).getFullYear() !== new Date().getFullYear()\n                ? \", yyyy\"\n                : \"\")\n          ),\n        });\n      } else {\n        text = t(\"pages.request_for_startups_page.status.open\");\n      }\n      color = COLORS.GREEN_800;\n      background = COLORS.GREEN_200;\n      iconName = \"Accelerator\";\n      break;\n    case LaunchableRequestStatus.COMING_SOON:\n      text = hasUnknownLaunchDate\n        ? \"Coming soon\"\n        : t(\"pages.request_for_startups_page.status.coming_soon\", {\n            date: formatDateToEastern(\n              request.requestable.launch_date!,\n              \"MMM D\" +\n                (new Date(request.requestable.launch_date!).getFullYear() !==\n                new Date().getFullYear()\n                  ? \", yyyy\"\n                  : \"\")\n            ),\n          });\n      color = COLORS.ORANGE;\n      background = COLORS.ORANGE_300;\n      iconName = \"Accelerator Complete\";\n      break;\n    default:\n      // Handle no date case\n      if (!request.requestable.deadline && !request.requestable.launch_date) {\n        if (request.enabled) {\n          text = \"Applications open\";\n          color = COLORS.GREEN_800;\n          background = COLORS.GREEN_200;\n          iconName = \"Accelerator\";\n        } else {\n          // Unknown status\n          text = \"\";\n        }\n      } else {\n        text = t(\"pages.request_for_startups_page.status.closed\");\n        color = COLORS.NEUTRAL_500;\n        background = COLORS.NEUTRAL_250;\n        iconName = \"Accelerator Complete\";\n      }\n  }\n\n  \n  let statusText = text;\n  if (useCompactText) {\n    if (statusText.toLowerCase().includes(\"applications closed\")) {\n      statusText = \"Closed\";\n    } else if (statusText.toLowerCase().includes(\"applications open\")) {\n      statusText = \"Open\";\n    }\n  }\n\n  return (\n    <Container iconPosition={iconPosition} color={color}>\n      {Number(iconName?.length) > 0 && (\n        <IconContainer background={background}>\n          <Icon name={iconName} size=\"sm\" color={color} />\n        </IconContainer>\n      )}\n      {statusText}\n    </Container>\n  );\n}\n\nconst Container = styled.div`\n  display: flex;\n  flex-direction: ${({ iconPosition }) => (iconPosition === \"left\" ? \"row\" : \"row-reverse\")};\n  align-items: center;\n  gap: 8px;\n  color: ${({ color }) => color};\n  ${FONTS.SEMIBOLD_3}\n  white-space: nowrap;\n  @media (max-width: ${WINDOW_DIMENSIONS.MOBILE_MEDIA_QUERY}px) {\n    text-align: left;\n    float: left;\n  }\n\n`;\n\nconst IconContainer = styled.div`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n\n  width: 26px;\n  height: 26px;\n\n  border-radius: 100%;\n  background: ${({ background }) => background};\n`;\n"],"names":["RequestForStartupCardWide","request","currentUser","useSelector","state","profiles","windowWidth","window","width","_useFollowRequest","WINDOW_DIMENSIONS","TABLET_LANDSCAPE","useFollowRequest","id","handleFollowRequest","isUserFollowing","handleNotify","e","preventDefault","requestable","has_page","track","SegmentEventName","Click","ui_component","react_component","request_slug","slug","logged_in","Boolean","_request$requestable","external_url","parent_program","status","getLaunchableRequestStatus","button","_jsx","Button","size","type","variant","to","requestPageUrlPath","iconName","iconPosition","onClick","is_external_link","children","isExternalLink","openInNewTab","undefined","LaunchableRequestStatus","COMING_SOON","CLOSED","deadline","IN_EXTENSION","_jsxs","OptedIn","Icon","name","color","COLORS","GREEN","BaseCardWide","title","subtitle","SubtitleWrapper","SubtitleText","company","private_alias","company_name","verification_status","CompanyVerificationStatus","VERIFIED","StyledIcon","HALO_BLUE","imageUrl","avatar","url","cornerContent","Status","hasUnknownLaunchDate","unknown_launch_date","useCompactText","TABLET","tags","areas_of_expertise","buttons","styled","div","FONTS","REGULAR_2","span","EmptyState","imgSrc","emptyStateImg","text","textAlign","orientation","withBackground","height","margin","Container","Content","Image","src","alt","BLUE_LIGHT_100","NEUTRAL_500","img","useIsVisible","ref","_useState2","_slicedToArray","useState","isIntersecting","setIsIntersecting","observer","useMemo","IntersectionObserver","entry","useEffect","current","observe","disconnect","getMarketplaceRequestForStartups","async","searchFilter","commercialApplicationsFilter","api","get","params","options","search_filter","commercial_applications_filter","data","requests","getMarketplaceRequestForStartupsFilterOptions","getCommercialApplicationPageRequestForStartups","commercialApplicationId","pageNum","request_for_startups_path","commercial_application_id","page_num","getRequestForStartup","response","redirect","location","href","HeaderTextContainer","HeaderText","HEADING_5_SEMIBOLD","BLACK","CompaniesContainer","Company","CompanyImageContainer","Requested","MEDIUM_2","HeaderDivider","hr","NEUTRAL_300","BottomContainer","BLUE_600","SuggestedNetworksModal","isOpen","onClose","isSubmitting","setIsSubmitting","_useState4","companies","setCompanies","_useState6","followedCompanyIds","setFollowedCompanyIds","getCompanyFollowSuggestions","BlankModal","hideCloseButton","closeOnDimmerClick","map","logo","requestToJoinCompanyNetwork","companyId","_objectSpread","Follow","object","SegmentEventObject","company_id","err","console","error","handleRequest","disabled","PAGE_PARAM","KEYWORDS_FILTER_PARAM","WITH_ACTIVE_RFPS_FILTER_PARAM","WITH_ACTIVE_OPEN_CALLS_FILTER_PARAM","WITH_ACTIVE_RFS_FILTER_PARAM","FindPartnersFilters","keywordOptions","keywordsFilter","setKeywordsFilter","withActiveRfpsFilter","setWithActiveRfpsFilter","withActiveOpenCallsFilter","setWithActiveOpenCallsFilter","withActiveRfsFilter","setWithActiveRfsFilter","searchParams","useSearchParams","history","useHistory","isMount","useIsMount","has","keywords","split","keyword","getOptionFromValue","length","set","value","join","delete","replace","search","toString","FilterContainer","FilterSection","label","labelMargin","MultiSelectDropdown","placeholder","withSearchIcon","onChange","collapsible","CheckboxContainer","Checkbox","isChecked","target","checked","ResetFiltersButton","handleClearFilters","SORT_OPTIONS","FindPartners","currentPageNum","setCurrentPageNum","isLoading","setIsLoading","totalCompanyCount","setTotalCompanyCount","_useState8","sortBy","setSortBy","_useState10","isFiltersOpen","setIsFiltersOpen","_useState12","_useState14","_useState16","_useState18","allFilters","isTablet","sortByRef","useRef","abortControllerRef","AbortController","_useState20","shouldScrollToTop","setShouldScrollToTop","scrollToRef","topRef","isAtTop","useQuery","queryKey","queryFn","getCompanyMarketplaceFilterOptions","select","_useQuery2","getCompanyMarketplaceCompanies","getValueFromOption","pageNumber","enabled","FEATURE_FLAGS","COMPANY_MARKETPLACE_FILTER","onError","toastErrorHandler","companiesData","isLoadingCompanies","getAllCompanies","signal","total_count","aborted","appsignal","sendError","setAction","abort","_isLoading","_companies","_totalCount","useLayoutEffect","animationFrameId","checkAndScroll","scrollTo","top","getBoundingClientRect","scrollY","behavior","requestAnimationFrame","cancelAnimationFrame","filtersCount","filters","Description","t_html","Columns","FilterColumn","ContentColumn","SortBy","style","marginRight","FiltersButton","count","setIsOpen","SelectableDropdown","Companies","Loader","active","inline","marginTop","_Fragment","CompanyCardWide","fromHref","pathname","Pagination","currentPage","setCurrentPage","totalPages","Math","ceil","MOBILE_MEDIA_QUERY","SEARCH_FILTER_PARAM","COMMERCIAL_APPLICATION_FILTER_PARAM","StartupProgramsFilters","setSearchFilter","commercialApplicationOptions","setCommercialApplicationsFilter","setLocalSearchFilter","commercialApplication","includes","filter","application","StartupPrograms","_useQuery","_useQuery$data","commercial_applications","Cards","RefSpan","Marketplace","tabPath","useParams","tab","_usePageNumParam","parseInt","newPageNum","push","usePageNumParam","_usePageNumParam2","setPageNum","isMobile","tabParam","toUpperCase","activeTab","setActiveTab","shouldOpenFollowModal","role","UserRole","SCIENTIST","marketplacePath","handleCloseFollowModal","PageContainer","hasTopDivider","hasOverflowHidden","Tabs","newTab","tabs","key","t","withNewTag","activeColor","tabDistance","font","SEMIBOLD_1","Route","exact","path","marketplace_path","Redirect","RespondToRequests","background","ACTIVE","date","formatDateToEastern","Date","getFullYear","GREEN_800","GREEN_200","launch_date","ORANGE","ORANGE_300","NEUTRAL_250","statusText","toLowerCase","Number","IconContainer","SEMIBOLD_3"],"sourceRoot":""}