) => {
onChange({ ...value, ...newValues })
},
diff --git a/src/components/app/FilteredDocuments.module.scss b/src/components/app/FilteredDocuments.module.scss
new file mode 100644
index 00000000..e1d607c7
--- /dev/null
+++ b/src/components/app/FilteredDocuments.module.scss
@@ -0,0 +1,3 @@
+.empty {
+ font-style: italic;
+}
diff --git a/src/components/app/FilteredDocuments.spec.tsx b/src/components/app/FilteredDocuments.spec.tsx
index 14599a41..bccfb389 100644
--- a/src/components/app/FilteredDocuments.spec.tsx
+++ b/src/components/app/FilteredDocuments.spec.tsx
@@ -74,7 +74,7 @@ describe('FilteredDocuments', () => {
)
await waitFor(() => {
- expect(getByText('No matches found for your query and/or filters')).to.be.visible
+ expect(getByText('No scenarios match your query and/or filters.')).to.be.visible
})
})
@@ -119,7 +119,7 @@ describe('FilteredDocuments', () => {
name: 'samples/examples-tables/examples-tables.feature',
})
).not.to.exist
- expect(getByText('No matches found for your query and/or filters')).to.be.visible
+ expect(getByText('No scenarios match your query and/or filters.')).to.be.visible
})
})
})
diff --git a/src/components/app/FilteredDocuments.tsx b/src/components/app/FilteredDocuments.tsx
index f26ee49b..3cd787d9 100644
--- a/src/components/app/FilteredDocuments.tsx
+++ b/src/components/app/FilteredDocuments.tsx
@@ -1,16 +1,20 @@
import React, { FC } from 'react'
import { useFilteredDocuments } from '../../hooks/useFilteredDocuments.js'
+import styles from './FilteredDocuments.module.scss'
import { GherkinDocumentList } from './GherkinDocumentList.js'
-import { NoMatchResult } from './NoMatchResult.js'
export const FilteredDocuments: FC = () => {
- const filtered = useFilteredDocuments()
+ const { results, filtered } = useFilteredDocuments()
- if (!filtered) {
+ if (!results) {
return null
- } else if (!filtered.length) {
- return
+ } else if (!results.length) {
+ return filtered ? (
+ No scenarios match your query and/or filters.
+ ) : (
+ No scenarios were executed.
+ )
}
- return
+ return
}
diff --git a/src/components/app/NoMatchResult.module.scss b/src/components/app/NoMatchResult.module.scss
deleted file mode 100644
index 6b0044b9..00000000
--- a/src/components/app/NoMatchResult.module.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-.message {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 0.5em;
- padding-bottom: 1.5em;
- text-align: center;
-}
-
-.icon {
- font-size: 3em;
- opacity: 0.125;
-}
diff --git a/src/components/app/NoMatchResult.tsx b/src/components/app/NoMatchResult.tsx
deleted file mode 100644
index 821dcd1a..00000000
--- a/src/components/app/NoMatchResult.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { faGrimace } from '@fortawesome/free-solid-svg-icons'
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import React, { FC } from 'react'
-
-import styles from './NoMatchResult.module.scss'
-
-export const NoMatchResult: FC = () => {
- return (
-
-
- No matches found for your query and/or filters
-
- )
-}
diff --git a/src/components/app/Report.module.scss b/src/components/app/Report.module.scss
index d414738c..b8d3c8f4 100644
--- a/src/components/app/Report.module.scss
+++ b/src/components/app/Report.module.scss
@@ -3,3 +3,8 @@
margin-bottom: 1.5em;
}
}
+
+.heading {
+ font-size: 1.25em;
+ margin: 1em 0;
+}
diff --git a/src/components/app/Report.tsx b/src/components/app/Report.tsx
index 7cf3efec..2468e797 100644
--- a/src/components/app/Report.tsx
+++ b/src/components/app/Report.tsx
@@ -14,9 +14,11 @@ export const Report: FC = () => {
diff --git a/src/components/app/index.ts b/src/components/app/index.ts
index f73e703d..890c590d 100644
--- a/src/components/app/index.ts
+++ b/src/components/app/index.ts
@@ -6,7 +6,6 @@ export * from './FilteredDocuments.js'
export * from './GherkinDocumentList.js'
export * from './HighLight.js'
export * from './InMemorySearchProvider.js'
-export * from './NoMatchResult.js'
export * from './QueriesProvider.js'
export * from './Report.js'
export * from './SearchBar.js'
diff --git a/src/hooks/useFilteredDocuments.ts b/src/hooks/useFilteredDocuments.ts
index 9240e2f3..fcceadb2 100644
--- a/src/hooks/useFilteredDocuments.ts
+++ b/src/hooks/useFilteredDocuments.ts
@@ -7,8 +7,11 @@ import statuses from '../statuses.js'
import { useQueries } from './useQueries.js'
import { useSearch } from './useSearch.js'
-export function useFilteredDocuments(): GherkinDocument[] | undefined {
- const { query, hideStatuses } = useSearch()
+export function useFilteredDocuments(): {
+ results: GherkinDocument[] | undefined
+ filtered: boolean
+} {
+ const { query, hideStatuses, unchanged } = useSearch()
const { gherkinQuery, cucumberQuery } = useQueries()
const [searchable, setSearchable] = useState()
const [results, setResults] = useState()
@@ -36,5 +39,8 @@ export function useFilteredDocuments(): GherkinDocument[] | undefined {
}
)
}, [query, hideStatuses, gherkinQuery, cucumberQuery, searchable])
- return results
+ return {
+ results,
+ filtered: !unchanged,
+ }
}