diff --git a/src/pages/observability-packs.js b/src/pages/observability-packs.js index fdb127b4e..c79bdf658 100644 --- a/src/pages/observability-packs.js +++ b/src/pages/observability-packs.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; import { graphql } from 'gatsby'; -import React from 'react'; +import React, { useState } from 'react'; import DevSiteSeo from '../components/DevSiteSeo'; import { css } from '@emotion/react'; import PackTile from '../components/PackTile'; @@ -11,6 +11,8 @@ const ObservabilityPacksPage = ({ data, location }) => { const { allObservabilityPacks: { nodes: o11yPacks }, } = data; + const [filteredPacks, setFilteredPacks] = useState(o11yPacks); + console.log(o11yPacks) return ( <> @@ -23,6 +25,16 @@ const ObservabilityPacksPage = ({ data, location }) => { `} onClear={() => null} placeholder="Search for an observability pack" + onChange={(e) => { + const tempFilteredPacks = o11yPacks.filter( + (pack) => + pack.name.toLowerCase().includes(e.target.value.toLowerCase()) || + pack.description + .toLowerCase() + .includes(e.target.value.toLowerCase()) + ); + setFilteredPacks(tempFilteredPacks); + }} />
{ } `} > - Showing {o11yPacks.length} results + Showing {filteredPacks.length} results
{
- {o11yPacks.map((pack) => { + {filteredPacks.map((pack) => { // TODO: Figure out what image should be shown // if not added to API explicitly const imgSrc = pack.dashboards?.[0]?.screenshots?.[0];