Extract header buttons into a component

This commit is contained in:
Oliver Davies 2018-12-25 22:56:47 +00:00
parent 61e1cdfcf0
commit 56e658ec2f
4 changed files with 52 additions and 34 deletions

View file

@ -0,0 +1,42 @@
<template>
<div class="hidden md:block">
<ul class="list-reset flex">
<li v-for="(link, i) in links" :key="link.title" :class="{'ml-6': i !== 0}">
<button
type="button"
class="text-xs no-underline hover:underline flex flex-col items-center justify-center"
:class="{
'text-grey cursor-not-allowed': link.disabled,
'text-blue-dark': !link.disabled,
}"
:disabled="link.disabled"
>
<svg class="h-6 w-6 fill-current mb-2" role="presentation"><use :xlink:href="`/img/icons.symbol.svg#${link.icon}`"></use></svg>
{{ link.title }}
</button>
</li>
<!-- <li class="ml-6">
<button type="button" class="text-xs text-blue-dark no-underline hover:underline flex flex-col items-center justify-center">
<svg class="h-6 w-6 text-blue-dark fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__info"></use></svg>
Git Info
</button>
</li>
<li class="ml-6">
<button type="button" class="text-xs text-grey-dark no-underline flex flex-col items-center justify-center cursor-not-allowed" disabled>
<svg class="h-6 w-6 fill-current text-grey-dark mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__edit"></use></svg>
Rename
</button>
</li> -->
</ul>
</div>
</template>
<script>
export default {
props: {
links: Array,
},
}
</script>

View file

@ -4,9 +4,11 @@ import router from './router'
Vue.config.productionTip = false
import HeaderButtons from '@/components/HeaderButtons'
import Sidebar from '@/components/Sidebar'
import Navbar from '@/components/Navbar'
Vue.component('header-buttons', HeaderButtons);
Vue.component('navbar', Navbar);
Vue.component('sidebar', Sidebar);

View file

@ -7,16 +7,9 @@
<div class="text-2xl font-hairline mr-2">Applications</div>
</div>
<div class="hidden md:block">
<ul class="list-reset flex">
<li>
<button type="button" class="text-xs text-blue-dark no-underline hover:underline flex flex-col items-center justify-center">
<svg class="h-6 w-6 text-blue-dark fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#alpha__new-app"></use></svg>
Add Application
</button>
</li>
</ul>
</div>
<header-buttons :links="[
{ title: 'Add Application', icon: 'alpha__new-app', disabled: false },
]"></header-buttons>
</div>
<div class="flex flex-row-reverse flex-1 h-full">

View file

@ -20,30 +20,11 @@
</button>
</div>
<div class="hidden md:block">
<ul class="list-reset flex">
<li>
<button type="button" class="text-xs text-blue-dark no-underline hover:underline flex flex-col items-center justify-center">
<svg class="h-6 w-6 text-blue-dark fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__new-database"></use></svg>
Add database
</button>
</li>
<li class="ml-6">
<button type="button" class="text-xs text-blue-dark no-underline hover:underline flex flex-col items-center justify-center">
<svg class="h-6 w-6 text-blue-dark fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__info"></use></svg>
Git Info
</button>
</li>
<li class="ml-6">
<button type="button" class="text-xs text-grey-dark no-underline flex flex-col items-center justify-center cursor-not-allowed" disabled>
<svg class="h-6 w-6 fill-current text-grey-dark mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__edit"></use></svg>
Rename
</button>
</li>
</ul>
</div>
<header-buttons :links="[
{ title: 'Add database', icon: 'actions__new-database', disabled: false },
{ title: 'Git Info', icon: 'actions__info', disabled: false },
{ title: 'Rename', icon: 'actions__edit', disabled: true },
]"></header-buttons>
</div>
<div class="flex flex-row-reverse h-full">