Commit Graph

24 Commits

Author SHA1 Message Date
Naz
ca4a3dc8d0 Added test coverage for search index
refs https://github.com/TryGhost/Team/issues/1665

- Added a test case for NOT matching text when searching in the search index
2022-07-05 12:13:14 +02:00
Sanne de Vries
2c4c1cac5c Added clear icon to search bar 2022-07-05 12:11:05 +02:00
Rishabh
3be7c57bd6 Added tailwind CSS setup
refs https://github.com/TryGhost/Team/issues/1665

- adds tailwind css to dev and build modes
- updates dev mode to watch changes for tailwind
- updates build mode to write tailwind css file in public folder
2022-07-05 11:48:03 +02:00
Naz
d9e9d451c9 Refactored search-index module to use class syntax
refs https://github.com/TryGhost/Team/issues/1665

- The class syntax allows to use constructor DI pattern that helps with unit testing and abstracting away the dependencies
- It wasn't possible to test the internals without having access to the localStorage in tests (you couls access it but that's kind of leaky for tests to know what mechanism is used in the module intenally)
2022-07-05 11:39:11 +02:00
Naz
ce4206e91f Added basic test coverage for the search index module
refs https://github.com/TryGhost/Team/issues/1665

- As with all the code we should be aiming for 100% test coverage :) This is a groundwork for testing code that uses HTTP requests
- nock was used as it's a library we use in the rest of the projects already
2022-07-05 11:38:54 +02:00
Naz
f6838e2113 Added search index functionality
refs https://github.com/TryGhost/Team/issues/1665
refs 402e54987e/packages/ease/assets/js/main.js (L16-L127)

- This is a React adaptation of the referenced sodo-search functionality
- The module exposes two methods: init and search. Init requires an API URL parameter and an API key; search requires a text value and returns matching search results
2022-07-05 11:38:51 +02:00
Naz
55e3bf3885 Renamed App test
no issue

- Just a minor cleanup
2022-07-05 11:38:24 +02:00
Naz
686e53bc88 Refactored App into a class component
refs https://github.com/TryGhost/Team/issues/1665

- We need to hook into react element lifecycle events to initialize the search incdex (powered by elasticlunr).
2022-07-05 11:38:21 +02:00
Naz
fa26b56c17 Removed dead code
no issue
2022-07-05 11:36:52 +02:00
Naz
caffa12db6 Renamed root element name to match sodo-search-*
refs https://github.com/TryGhost/Team/issues/1665

- All search-related names were decided to have `sodo-search` prefix
2022-07-05 11:36:52 +02:00
Naz
ec3d0b27cd Fixed search script element detection
refs https://github.com/TryGhost/Team/issues/1665
refs b996eadbd4

- The search script injected by Ghost will be identified by `data-sodo-search` data attribute.
2022-07-05 11:36:52 +02:00
Sanne de Vries
4a65cc6833 Added search icon to search bar 2022-07-05 11:35:41 +02:00
Djordje Vlaisavljevic
791971c6fd Removed a bunch of leftover icons from portal 2022-07-05 10:59:24 +02:00
Djordje Vlaisavljevic
7787d8f2c4 Added icons 2022-07-05 10:59:14 +02:00
Sanne de Vries
bca286632f Created standalone search component 2022-07-05 10:49:11 +02:00
Rishabh
27e5cde85a Added basic modal for search
refs https://github.com/TryGhost/Team/issues/1665

- Adds basic UI components to add first version of search modal
2022-07-05 10:23:55 +02:00
Naz
c55a641fa6 Fixed search script element detection
refs https://github.com/TryGhost/Team/issues/1665

- The `data-ghost` attribute is used to detect portal script element. The search script will be identified by `data-ghost-search` data attribute (and probably so should the portal script in the futute)
2022-07-04 15:59:08 +02:00
Rishabh
76bc1a8c07 Fixed tests 2022-07-04 15:57:19 +02:00
Rishabh
ac43c86c2e Fixed tests 2022-07-04 15:55:30 +02:00
Rishabh
506cf49beb Updated yarn test default script 2022-07-04 15:55:24 +02:00
Rishabh
7cd9a81c5a Updated default dev port to avoid conflict
refs https://github.com/TryGhost/Team/issues/1665

- updates default dev mode port to 2370 to avoid conflict with other local scripts
2022-07-04 15:44:29 +02:00
Rishabh
e2294ace22 Added custom build for minified script
refs TryGhost/Team#1665

- overrides webpack config to generate single script for publishing
- adds custom scripts for dev and production mode
2022-07-04 15:41:14 +02:00
Rishabh
67f27f1027 Initial commit 2022-07-04 15:36:49 +02:00
Rishabh
737ae2f101 Initialize project using Create React App 2022-07-04 15:27:40 +02:00