From d09c0b63e32efd2a485b647e718cfc99f0cc4224 Mon Sep 17 00:00:00 2001 From: Boik Date: Wed, 5 Apr 2017 00:45:49 +0800 Subject: [PATCH] first attempt to improve search auto suggestions --- app/package.json | 1 + .../renderer/components/BrowserMainView/Navbar.vue | 12 ++++++++++++ app/yarn.lock | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/app/package.json b/app/package.json index 9b1f3039..93e699b5 100644 --- a/app/package.json +++ b/app/package.json @@ -7,6 +7,7 @@ "main": "./dist/main.js", "dependencies": { "babel-runtime": "^6.23.0", + "fetch-jsonp": "^1.0.6", "vue": "^2.2.6", "vue-electron": "^1.0.6", "vue-resource": "^1.2.1", diff --git a/app/src/renderer/components/BrowserMainView/Navbar.vue b/app/src/renderer/components/BrowserMainView/Navbar.vue index 8ff3af0a..ffc5244d 100644 --- a/app/src/renderer/components/BrowserMainView/Navbar.vue +++ b/app/src/renderer/components/BrowserMainView/Navbar.vue @@ -37,6 +37,7 @@ import Vue from 'vue'; import url from 'url'; import { focus } from 'vue-focus'; + import fetchJsonp from 'fetch-jsonp'; import Icon from 'vue-awesome/components/Icon'; import 'vue-awesome/icons/angle-double-left'; @@ -228,6 +229,17 @@ value: this.value, }); } + fetchJsonp(`https://suggestqueries.google.com/complete/search?client=youtube&q=${this.value}`) + .then(response => response.json()) + .then(data => data[1]) + .then((entries) => { + entries.forEach((entry) => { + results.push({ + title: entry[0], + value: entry[0], + }); + }); + }); cb(results); }, createFilter(queryString) { diff --git a/app/yarn.lock b/app/yarn.lock index 8b6dc9d4..f45a8fc6 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -27,6 +27,10 @@ duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" +fetch-jsonp@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/fetch-jsonp/-/fetch-jsonp-1.0.6.tgz#8d2ae174ed14108292f025f43fa07d2078de6736" + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"