Commit 5f50f29bceb6b28fde2a1ab352fe976f4576690a
search: suggest pages when '/' typed
Matt McKegg committed on 4/23/2017, 5:56:19 AMParent: a61adf51b6aeb00c6018ce2fb80cba9383b52625
Files changed
modules/app/html/search.js | changed |
modules/app/html/search.js | ||
---|---|---|
@@ -8,8 +8,10 @@ | ||
8 | 8 … | }) |
9 | 9 … | |
10 | 10 … | exports.gives = nest('app.html.search') |
11 | 11 … | |
12 … | +var pages = ['/public', '/private', '/mentions', '/all'] | |
13 … | + | |
12 | 14 … | exports.create = function (api) { |
13 | 15 … | return nest('app.html.search', function (setView) { |
14 | 16 … | var getProfileSuggestions = api.profile.async.suggest() |
15 | 17 … | var getChannelSuggestions = api.channel.async.suggest() |
@@ -33,8 +35,10 @@ | ||
33 | 35 … | if (inputText[0] === '@') { |
34 | 36 … | cb(null, getProfileSuggestions(inputText.slice(1)), {idOnly: true}) |
35 | 37 … | } else if (inputText[0] === '#') { |
36 | 38 … | cb(null, getChannelSuggestions(inputText.slice(1))) |
39 … | + } else if (inputText[0] === '/') { | |
40 … | + cb(null, getPageSuggestions(inputText)) | |
37 | 41 … | } |
38 | 42 … | }, {cls: 'SuggestBox'}) |
39 | 43 … | }) |
40 | 44 … | |
@@ -53,6 +57,16 @@ | ||
53 | 57 … | setView(`?${value.trim()}`) |
54 | 58 … | } |
55 | 59 … | } |
56 | 60 … | } |
61 … | + | |
62 … | + function getPageSuggestions (input) { | |
63 … | + return pages.sort().filter(p => p.startsWith(input.toLowerCase())).map(p => { | |
64 … | + return { | |
65 … | + id: p, | |
66 … | + value: p, | |
67 … | + title: p | |
68 … | + } | |
69 … | + }) | |
70 … | + } | |
57 | 71 … | }) |
58 | 72 … | } |
Built with git-ssb-web