File size: 961 Bytes
5689d37
 
 
 
a727d38
5689d37
 
 
 
 
a727d38
 
 
 
 
 
 
 
 
 
 
 
 
15fc415
 
5689d37
 
 
 
 
a727d38
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
 * Selects the input element for the search box
 * @type {HTMLInputElement}
 */
const searchBox = document.querySelector('input')

/**
 * Redirects the user to the search results page with the query parameter
 */
function searchWeb() {
    const query = searchBox.value.trim()
    try {
        let safeSearchLevel = document.querySelector('.search_options select').value
        if (query) {
            window.location.href = `search?q=${encodeURIComponent(
                query,
            )}&safesearch=${encodeURIComponent(safeSearchLevel)}`
        }
    } catch (error) {
        if (query) {
            window.location.href = `search?q=${encodeURIComponent(query)}`
        }
    }
}

/**
 * Listens for the 'Enter' key press event on the search box and calls the searchWeb function
 * @param {KeyboardEvent} e - The keyboard event object
 */
searchBox.addEventListener('keyup', (e) => {
    if (e.key === 'Enter') {
        searchWeb()
    }
})