Merge pull request #61 from jjack/master
Adding a default search provider option, with DuckDuckGo as the default
This commit is contained in:
commit
f1c48e8a15
4 changed files with 33 additions and 7 deletions
|
@ -35,6 +35,7 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
|
|||
hideApps: 0,
|
||||
hideCategories: 0,
|
||||
hideSearch: 0,
|
||||
defaultSearchProvider: 'd',
|
||||
useOrdering: 'createdAt',
|
||||
appsSameTab: 0,
|
||||
bookmarksSameTab: 0,
|
||||
|
@ -51,6 +52,7 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
|
|||
hideApps: searchConfig('hideApps', 0),
|
||||
hideCategories: searchConfig('hideCategories', 0),
|
||||
hideSearch: searchConfig('hideSearch', 0),
|
||||
defaultSearchProvider: searchConfig('defaultSearchProvider', 'd'),
|
||||
useOrdering: searchConfig('useOrdering', 'createdAt'),
|
||||
appsSameTab: searchConfig('appsSameTab', 0),
|
||||
bookmarksSameTab: searchConfig('bookmarksSameTab', 0),
|
||||
|
@ -192,6 +194,24 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
|
|||
<option value={0}>False</option>
|
||||
</select>
|
||||
</InputGroup>
|
||||
<InputGroup>
|
||||
<label htmlFor='defaultSearchProvider'>Default Search Provider</label>
|
||||
<select
|
||||
id='defaultSearchProvider'
|
||||
name='defaultSearchProvider'
|
||||
value={formData.defaultSearchProvider}
|
||||
onChange={(e) => inputChangeHandler(e)}
|
||||
>
|
||||
<option value='d'>DuckDuckGo</option>
|
||||
<option value='g'>Google</option>
|
||||
<option value='s'>Disroot</option>
|
||||
<option value='yt'>YouTube</option>
|
||||
<option value='r'>Reddit</option>
|
||||
<option value='im'>IMDb</option>
|
||||
<option value='mv'>The Movie Database</option>
|
||||
<option value='sp'>Spotify</option>
|
||||
</select>
|
||||
</InputGroup>
|
||||
<InputGroup>
|
||||
<label htmlFor='hideHeader'>Hide greeting and date</label>
|
||||
<select
|
||||
|
@ -246,4 +266,4 @@ const actions = {
|
|||
sortCategories
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, actions)(OtherSettings);
|
||||
export default connect(mapStateToProps, actions)(OtherSettings);
|
||||
|
|
|
@ -13,8 +13,9 @@ export interface SettingsForm {
|
|||
hideApps: number;
|
||||
hideCategories: number;
|
||||
hideSearch: number;
|
||||
defaultSearchProvider: string;
|
||||
useOrdering: string;
|
||||
appsSameTab: number;
|
||||
bookmarksSameTab: number;
|
||||
searchSameTab: number;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,12 +4,13 @@ import { Query } from '../interfaces';
|
|||
import { searchConfig } from '.';
|
||||
|
||||
export const searchParser = (searchQuery: string): boolean => {
|
||||
const space = searchQuery.indexOf(' ');
|
||||
const prefix = searchQuery.slice(1, space);
|
||||
const search = encodeURIComponent(searchQuery.slice(space + 1));
|
||||
const splitQuery = searchQuery.match(/^\/([a-z]+)[ ](.+)$/i);
|
||||
const prefix = splitQuery ? splitQuery[1] : searchConfig('defaultSearchProvider', 'd');
|
||||
const search = splitQuery ? encodeURIComponent(splitQuery[2]) : encodeURIComponent(searchQuery);
|
||||
|
||||
const query = queries.find((q: Query) => q.prefix === prefix);
|
||||
|
||||
console.log("QUERY IS " + query);
|
||||
if (query) {
|
||||
const sameTab = searchConfig('searchSameTab', false);
|
||||
|
||||
|
@ -23,4 +24,4 @@ export const searchParser = (searchQuery: string): boolean => {
|
|||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,6 +59,10 @@
|
|||
{
|
||||
"key": "hideSearch",
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"key": "defaultSearchProvider",
|
||||
"value": "d"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue