2
0

SearchResultContent.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React, { FC } from 'react';
  2. import { IPageWithMeta } from '~/interfaces/page';
  3. import { IPageSearchMeta } from '~/interfaces/search';
  4. import RevisionLoader from '../Page/RevisionLoader';
  5. import AppContainer from '../../client/services/AppContainer';
  6. import SearchResultContentSubNavigation from './SearchResultContentSubNavigation';
  7. type Props ={
  8. appContainer: AppContainer,
  9. searchingKeyword:string,
  10. focusedSearchResultData : IPageWithMeta<IPageSearchMeta>,
  11. }
  12. const SearchResultContent: FC<Props> = (props: Props) => {
  13. const page = props.focusedSearchResultData?.pageData;
  14. // return if page is null
  15. if (page == null) return <></>;
  16. const growiRenderer = props.appContainer.getRenderer('searchresult');
  17. return (
  18. <div key={page._id} className="search-result-page grw-page-path-text-muted-container d-flex flex-column">
  19. <SearchResultContentSubNavigation
  20. pageId={page._id}
  21. revisionId={page.revision}
  22. path={page.path}
  23. >
  24. </SearchResultContentSubNavigation>
  25. <div className="search-result-page-content">
  26. <RevisionLoader
  27. growiRenderer={growiRenderer}
  28. pageId={page._id}
  29. pagePath={page.path}
  30. revisionId={page.revision}
  31. highlightKeywords={props.searchingKeyword}
  32. />
  33. </div>
  34. </div>
  35. );
  36. };
  37. export default SearchResultContent;