<div v-cloak v-if="config.links" class="container-fluid">
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="container">
- <div class="navbar-menu">
+ <div class="navbar-brand">
+ <a role="button"
+ class="navbar-burger" :class="{ 'is-active': showMenu }"
+ aria-label="menu" aria-expanded="false"
+ v-on:click="toggleMenu()">
+ <span aria-hidden="true"></span>
+ <span aria-hidden="true"></span>
+ <span aria-hidden="true"></span>
+ </a>
+ </div>
+ <div class="navbar-menu" :class="{ 'is-active': showMenu }">
<div class="navbar-start">
<a v-for="link in config.links" class="navbar-item" :href="link.url" :target="link.target">
<i v-if="link.icon" style="margin-right: 6px;" :class="link.icon"></i>
{{ link.name }}
</a>
</div>
- <div class="end">
+ <div class="navbar-end">
+ <div class="navbar-item">
<a
v-on:click="toggleTheme()"
aria-label="Toggle dark mode"
+ class="icon-button"
><i class="fas fa-adjust"></i>
- </a>
- <a v-on:click="toggleLayout()" class="icon-button navbar-item"><i
- :class="['fas', vlayout ? 'fa-list' : 'fa-columns']"></i></a>
- <div class="search-bar">
- <label for="search" class="search-label"></label>
- <input type="text" id="search" v-model="filter" />
+ </a>
+ <a v-on:click="toggleLayout()" class="icon-button"><i
+ :class="['fas', vlayout ? 'fa-list' : 'fa-columns']"></i></a>
+ <div class="search-bar">
+ <label for="search" class="search-label"></label>
+ <input type="text" id="search" ref="search" v-model="filter"
+ v-on:keyup.enter.exact="navigateToFirstService()"
+ v-on:keyup.alt.enter="navigateToFirstService('_blank')" />
+ </div>
</div>
</div>
</div>
v-else>#</span>
{{ group.name }}</h2>
<service v-for="item in group.items" v-bind:item="item" class="column is-one-third-widescreen"
- v-if="!filter || (item && (item.name.toLowerCase().includes(filter.toLowerCase()) || (item.tag && item.tag.toLowerCase().includes(filter.toLowerCase()))))">
+ v-if="!filter || (item && matchesFilter(item))">
</service>
</template>
</div>
<h2 v-if="!filter && group.name"><i v-if="group.icon" :class="group.icon"></i><span v-else>#</span>
{{ group.name }}</h2>
<service v-for="item in group.items" v-bind:item="item"
- v-if="!filter || (item && (item.name.toLowerCase().includes(filter.toLowerCase()) || (item.tag && item.tag.toLowerCase().includes(filter.toLowerCase()))))">
+ v-if="!filter || (item && matchesFilter(item))">
</service>
</div>
</div>