diff --git a/src/client/features/backlinks/BacklinksPage.tsx b/src/client/features/backlinks/BacklinksPage.tsx
index bad595c..1a23517 100644
--- a/src/client/features/backlinks/BacklinksPage.tsx
+++ b/src/client/features/backlinks/BacklinksPage.tsx
@@ -84,7 +84,6 @@ export function BacklinksPage({
}),
[],
);
-
return (
@@ -102,11 +101,6 @@ export function BacklinksPage({
searchTabs.canOpenTab(toBacklinksTabInput(values))
}
@@ -147,6 +141,7 @@ export function BacklinksPage({
tabs: searchTabs.tabs,
onSelect: searchTabs.selectTab,
onClose: searchTabs.closeTab,
+ onViewed: searchTabs.markTabViewed,
}
: null
}
diff --git a/src/client/features/backlinks/BacklinksPageContent.tsx b/src/client/features/backlinks/BacklinksPageContent.tsx
index f37eb64..35c2fcc 100644
--- a/src/client/features/backlinks/BacklinksPageContent.tsx
+++ b/src/client/features/backlinks/BacklinksPageContent.tsx
@@ -52,6 +52,7 @@ type BacklinksBodyProps = {
tabs: SearchTab[];
onSelect: (tab: SearchTab) => void;
onClose: (tabId: string) => void;
+ onViewed: (tabId: string, when?: number) => void;
} | null;
};
@@ -105,10 +106,12 @@ export function BacklinksBody({
);
const tabStrip = searchTabs ? (
) : null;
diff --git a/src/client/features/backlinks/BacklinksSearchCard.tsx b/src/client/features/backlinks/BacklinksSearchCard.tsx
index b025361..9f42205 100644
--- a/src/client/features/backlinks/BacklinksSearchCard.tsx
+++ b/src/client/features/backlinks/BacklinksSearchCard.tsx
@@ -50,14 +50,12 @@ export function BacklinksSearchCard({
canOpenSearch,
errorMessage,
initialValues,
- isFetching,
onSubmit,
tabLimit,
}: {
canOpenSearch?: (values: SearchDraft) => boolean;
errorMessage: string | null;
initialValues: SearchDraft;
- isFetching: boolean;
onSubmit: (values: SearchDraft) => void;
tabLimit?: number;
}) {
@@ -145,9 +143,9 @@ export function BacklinksSearchCard({
)}
diff --git a/src/client/features/domain/DomainOverviewPage.tsx b/src/client/features/domain/DomainOverviewPage.tsx
index c44dbba..0e7172a 100644
--- a/src/client/features/domain/DomainOverviewPage.tsx
+++ b/src/client/features/domain/DomainOverviewPage.tsx
@@ -522,10 +522,12 @@ export function DomainOverviewPage({
) : null;
diff --git a/src/client/features/keywords/page/KeywordResearchPage.tsx b/src/client/features/keywords/page/KeywordResearchPage.tsx
index 0176630..5f838c8 100644
--- a/src/client/features/keywords/page/KeywordResearchPage.tsx
+++ b/src/client/features/keywords/page/KeywordResearchPage.tsx
@@ -1,15 +1,8 @@
import { Link } from "@tanstack/react-router";
-import { useQuery } from "@tanstack/react-query";
import { useCallback, useEffect, useMemo } from "react";
import { AlertCircle, ArrowLeft } from "lucide-react";
import { getErrorCode } from "@/client/lib/error-messages";
import { BILLING_ROUTE } from "@/shared/billing";
-import {
- KEYWORD_RESEARCH_STALE_TIME_MS,
- buildKeywordResearchQueryKey,
- buildKeywordResearchRequest,
- keywordResearchQueryFn,
-} from "@/client/features/keywords/hooks/useKeywordResearchData";
import { useKeywordResearchController } from "@/client/features/keywords/state/useKeywordResearchController";
import type { KeywordResearchControllerInput } from "@/client/features/keywords/state/useKeywordResearchController";
import type { KeywordControlsValues } from "@/client/features/keywords/hooks/useKeywordControlsForm";
@@ -20,12 +13,12 @@ import type {
KeywordSearchTabInput,
SearchTab,
} from "@/client/features/search-tabs/types";
+import { SearchTabStrip } from "@/client/features/search-tabs/SearchTabStrip";
import { useSearchTabNavigation } from "@/client/features/search-tabs/useSearchTabNavigation";
import { KeywordResearchEmptyState } from "./KeywordResearchEmptyState";
import { KeywordResearchLoadingState } from "./KeywordResearchLoadingState";
import { KeywordResearchResults } from "./KeywordResearchResults";
import { KeywordResearchSearchBar } from "./KeywordResearchSearchBar";
-import { KeywordResearchTabStrip } from "./KeywordResearchTabStrip";
import type { KeywordResearchControllerState } from "./types";
type Props = Omit