fix: search bar `CTRL K`

pull/982/head
Joaquín Sánchez Jiménez 3 years ago
parent e4c60ab3c8
commit fb914e83f2

@ -24,7 +24,7 @@ onMounted(() => {
// meta key detect (same logic as in @docsearch/js) // meta key detect (same logic as in @docsearch/js)
metaKey.value.textContent = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform) metaKey.value.textContent = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)
? '⌘' ? '⌘'
: 'Ctrl' : 'CTRL'
const handleSearchHotKey = (e: KeyboardEvent) => { const handleSearchHotKey = (e: KeyboardEvent) => {
if (e.key === 'k' && (e.ctrlKey || e.metaKey)) { if (e.key === 'k' && (e.ctrlKey || e.metaKey)) {
@ -54,7 +54,7 @@ function load() {
<div v-if="theme.algolia" class="VPNavBarSearch"> <div v-if="theme.algolia" class="VPNavBarSearch">
<VPAlgoliaSearchBox v-if="loaded" /> <VPAlgoliaSearchBox v-if="loaded" />
<div v-else id="docsearch" @click="load"> <div v-else id="docsearch-hack" @click="load">
<button <button
type="button" type="button"
class="DocSearch DocSearch-Button" class="DocSearch DocSearch-Button"
@ -79,7 +79,7 @@ function load() {
<span class="DocSearch-Button-Placeholder">{{ theme.algolia?.buttonText || 'Search' }}</span> <span class="DocSearch-Button-Placeholder">{{ theme.algolia?.buttonText || 'Search' }}</span>
</span> </span>
<span class="DocSearch-Button-Keys"> <span class="DocSearch-Button-Keys">
<kbd class="DocSearch-Button-Key" ref="metaKey">Meta</kbd> <kbd class="DocSearch-Button-Key DocSearch-Button-Key-Hack" ref="metaKey">Meta</kbd>
<kbd class="DocSearch-Button-Key">K</kbd> <kbd class="DocSearch-Button-Key">K</kbd>
</span> </span>
</button> </button>
@ -247,6 +247,14 @@ function load() {
transition: color 0.5s, border-color 0.5s; transition: color 0.5s, border-color 0.5s;
} }
.DocSearch-Button .DocSearch-Button-Key.DocSearch-Button-Key-Hack {
line-height: 16px;
font-size: 9px;
padding-left: 4px;
margin-left: 2px;
font-weight: bolder;
}
.DocSearch-Button .DocSearch-Button-Key + .DocSearch-Button-Key { .DocSearch-Button .DocSearch-Button-Key + .DocSearch-Button-Key {
border-right: 1px solid var(--vp-c-divider); border-right: 1px solid var(--vp-c-divider);
border-left: none; border-left: none;

Loading…
Cancel
Save