diff --git a/web/src/pages/skill-detail.tsx b/web/src/pages/skill-detail.tsx index dd7da5b3..6f1b45c4 100644 --- a/web/src/pages/skill-detail.tsx +++ b/web/src/pages/skill-detail.tsx @@ -13,6 +13,7 @@ import { adminApi, ApiError, skillDownloadApi } from '@/api/client' import { useSubmitSkillReport } from '@/features/report/use-skill-reports' import { formatLocalDateTime } from '@/shared/lib/date-time' import { incrementSkillDownloadCount } from '@/shared/lib/skill-download-cache' +import { getSkillSquareSearch } from '@/shared/lib/skill-navigation' import { formatCompactCount } from '@/shared/lib/number-format' import { resolveDocumentationFilePath } from '@/shared/lib/skill-documentation' import { NamespaceBadge } from '@/shared/components/namespace-badge' @@ -210,11 +211,7 @@ export function SkillDetailPage() { } const handleBack = () => { - if (window.history.length > 1) { - window.history.back() - return - } - navigate({ to: '/search', search: { q: '', sort: 'relevance', page: 0, starredOnly: false } }) + navigate({ to: '/search', search: getSkillSquareSearch() }) } const resolveSkillStatusLabel = (status?: string) => { diff --git a/web/src/shared/lib/skill-navigation.test.ts b/web/src/shared/lib/skill-navigation.test.ts new file mode 100644 index 00000000..396f6b7f --- /dev/null +++ b/web/src/shared/lib/skill-navigation.test.ts @@ -0,0 +1,13 @@ +import { describe, expect, it } from 'vitest' +import { getSkillSquareSearch } from './skill-navigation' + +describe('getSkillSquareSearch', () => { + it('returns the default search params for the skill square', () => { + expect(getSkillSquareSearch()).toEqual({ + q: '', + sort: 'relevance', + page: 0, + starredOnly: false, + }) + }) +}) diff --git a/web/src/shared/lib/skill-navigation.ts b/web/src/shared/lib/skill-navigation.ts new file mode 100644 index 00000000..f3a4de05 --- /dev/null +++ b/web/src/shared/lib/skill-navigation.ts @@ -0,0 +1,8 @@ +export function getSkillSquareSearch() { + return { + q: '', + sort: 'relevance' as const, + page: 0, + starredOnly: false, + } +}