'use client'
// sample code from https://docsearch.algolia.com/docs/docsearch

import { DocSearch } from '@docsearch/react';
import {useTheme} from 'next-themes';

import '@docsearch/css';

function AlgoliaSearch () {
  const {theme, systemTheme} = useTheme();
  const darkMode = theme === 'dark' || (theme === 'system' && systemTheme === 'dark');
  // console.log("darkMode", darkMode);
  return (
    <DocSearch
      appId={process.env.NEXT_SEARCH_ALGOLIA_APP_ID || 'NKGLZZZUBC'}
      indexName={process.env.NEXT_SEARCH_ALGOLIA_INDEX_NAME || 'notenextra_trance_0'}
      apiKey={process.env.NEXT_SEARCH_ALGOLIA_API_KEY || '727b389a61e862e590dfab9ce9df31a2'}
      theme={darkMode===false ? 'light' : 'dark'}
      // this is the first time that AI is solving some problem that I have no idea how to solve
      // BEGIN OF CODE GENERATED BY AI
      transformItems={(items) =>
        // DocSearch lets you sanitize results before render. Filter out hits that don’t have a URL and give lvl0 a safe fallback.
        items
          .filter((i) => typeof i.url === 'string' && i.url) // drop records with null/empty url
          .map((i) => ({
            ...i,
            hierarchy: {
              ...i.hierarchy,
              // ensure strings for all places DocSearch prints text
              lvl0: i.hierarchy?.lvl0 ?? i.hierarchy?.lvl1 ?? 'Documentation',
            },
          }))
      }
      // END OF CODE GENERATED BY AI
    />
  );
}

export default AlgoliaSearch;