Skip to content
This repository was archived by the owner on Jan 19, 2025. It is now read-only.

Commit a024ed9

Browse files
committed
Removed loadable + refactoring folders + search cleanup and hook extractions
1 parent d7f8e3d commit a024ed9

36 files changed

+163
-201
lines changed

__tests__/call-to-action-external-with-tracking.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { render, screen, fireEvent } from "@testing-library/react";
22
import { trackWith } from "../src/logic/tracking";
33
import { BlogThemePage } from "../src/components/design-system/templates/blog-theme-page";
4-
import { CallToActionExternalWithTracking } from "../src/components/call-to-action-external-with-tracking";
4+
import { CallToActionExternalWithTracking } from "../src/components/tracking/call-to-action-external-with-tracking";
55

66
jest.mock("../src/logic/tracking", () => ({
77
...jest.requireActual("../src/logic/tracking"),

__tests__/call-to-action-internal-with-tracking.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { fireEvent, render, screen } from "@testing-library/react";
2-
import { CallToActionInternalWithTracking } from "../src/components/call-to-action-internal-with-tracking";
2+
import { CallToActionInternalWithTracking } from "../src/components/tracking/call-to-action-internal-with-tracking";
33
import { trackWith } from "../src/logic/tracking";
44
import { BlogThemePage } from "../src/components/design-system/templates/blog-theme-page";
55

__tests__/menu-item-with-tracking.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { fireEvent, render, screen } from "@testing-library/react";
22
import { trackWith } from "../src/logic/tracking";
33
import { BlogThemePage } from "../src/components/design-system/templates/blog-theme-page";
4-
import { MenuItemWithTracking } from "../src/components/menu-item-with-tracking";
4+
import { MenuItemWithTracking } from "../src/components/tracking/menu-item-with-tracking";
55

66
jest.mock("../src/logic/tracking", () => ({
77
...jest.requireActual("../src/logic/tracking"),

__tests__/standard-external-link-with-tracking.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { fireEvent, render, screen } from "@testing-library/react";
22
import { trackWith } from "../src/logic/tracking";
33
import { BlogThemePage } from "../src/components/design-system/templates/blog-theme-page";
4-
import { StandardExternalLinkWithTracking } from "../src/components/standard-external-link-with-tracking";
4+
import { StandardExternalLinkWithTracking } from "../src/components/tracking/standard-external-link-with-tracking";
55

66
jest.mock("../src/logic/tracking", () => ({
77
...jest.requireActual("../src/logic/tracking"),

__tests__/standard-internal-link-with-tracking.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { fireEvent, render, screen } from "@testing-library/react";
22
import { trackWith } from "../src/logic/tracking";
33
import { BlogThemePage } from "../src/components/design-system/templates/blog-theme-page";
4-
import { StandardInternalLinkWithTracking } from "../src/components/standard-internal-link-with-tracking";
4+
import { StandardInternalLinkWithTracking } from "../src/components/tracking/standard-internal-link-with-tracking";
55

66
jest.mock("../src/logic/tracking", () => ({
77
...jest.requireActual("../src/logic/tracking"),

src/components/bottom-art.tsx

Lines changed: 0 additions & 77 deletions
This file was deleted.

src/components/bottom-index.tsx

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { useEffect, useState } from "react";
2+
import { SearchResult } from "../../../lunr";
3+
4+
const hasMinimumCharsToSearch = (query: string): boolean => query.length >= 3;
5+
6+
const isASearchInProgressUsing = (
7+
query: string,
8+
hits: SearchResult[],
9+
): boolean =>
10+
query !== null &&
11+
query !== undefined &&
12+
hasMinimumCharsToSearch(query) &&
13+
hits.length > 0;
14+
15+
export const useSearch = (startSearch: boolean) => {
16+
const [query, setQuery] = useState("");
17+
const [hits, setHits] = useState<SearchResult[]>([]);
18+
19+
useEffect(() => {
20+
if (startSearch) {
21+
const { index, store } = window.__LUNR__.en;
22+
const enhancedQuery = query
23+
.split(" ")
24+
.map((term) => `${term}*`)
25+
.join(" ");
26+
const searchResults = index.search(enhancedQuery);
27+
const hits = searchResults.map(({ ref }) => store[ref]);
28+
if (isASearchInProgressUsing(query, hits)) {
29+
setHits(hits);
30+
} else {
31+
setHits([]);
32+
}
33+
}
34+
}, [query]);
35+
36+
return {
37+
hits,
38+
setQuery,
39+
};
40+
};

src/components/design-system/molecules/pagination-navigation.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import styled from "styled-components";
22
import { FC } from "react";
33
import { tracking } from "../../../logic/tracking";
4-
import { CallToActionInternalWithTracking } from "../../call-to-action-internal-with-tracking";
4+
import { CallToActionInternalWithTracking } from "../../tracking/call-to-action-internal-with-tracking";
55

66
const CenterHorizontallyContainer = styled.div`
77
display: flex;

src/components/design-system/molecules/post-authors.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import styled from "styled-components";
1010
import { ContainerFluid } from "../atoms/container-fluid";
1111
import { GatsbyImage } from "gatsby-plugin-image";
1212
import { Paragraph } from "../atoms/paragraph";
13-
import { StandardExternalLinkWithTracking } from "../../standard-external-link-with-tracking";
13+
import { StandardExternalLinkWithTracking } from "../../tracking/standard-external-link-with-tracking";
1414
import { mediaQuery } from "../utils-css/media-query";
1515
import { gatsbyImagePlaceholderSelector } from "../utils-css/gatsby-image-selector";
1616

0 commit comments

Comments
 (0)