Add applications page
This commit is contained in:
parent
a1d0bca6cf
commit
fb2c47cad9
|
@ -9,7 +9,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"tailwindcss": "^0.7.3",
|
||||
"vue": "^2.5.17"
|
||||
"vue": "^2.5.17",
|
||||
"vue-router": "^3.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "^3.2.0",
|
||||
|
|
Before Width: | Height: | Size: 313 KiB After Width: | Height: | Size: 313 KiB |
39
src/App.vue
39
src/App.vue
|
@ -1,46 +1,11 @@
|
|||
<template>
|
||||
<div id="app">
|
||||
<environments :project="projects[0]"></environments>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Environments from './components/Environments'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Environments
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
projects: [
|
||||
{
|
||||
name: 'Rebuilding Acquia',
|
||||
type: 'Drupal',
|
||||
level: 'Enterprise',
|
||||
environments: {
|
||||
dev: {
|
||||
name: 'Dev',
|
||||
url: 'dev.rebuilding-acquia.com',
|
||||
label: 'develop'
|
||||
},
|
||||
stage: {
|
||||
name: 'Stage',
|
||||
url: 'stg.rebuilding-acquia.com',
|
||||
label: 'master'
|
||||
},
|
||||
prod: {
|
||||
name: 'Prod',
|
||||
url: 'rebuilding-acquia.com',
|
||||
label: 'tags/2018-12-21'
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
}
|
||||
export default {}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
|
45
src/components/ApplicationCard.vue
Normal file
45
src/components/ApplicationCard.vue
Normal file
|
@ -0,0 +1,45 @@
|
|||
<template>
|
||||
<div class="w-full md:w-1/3 lg:w-1/4 mx-6 mb-6 bg-white p-4 border border-grey rounded">
|
||||
<div class="flex flex-col h-full justify-between">
|
||||
<div class="flex justify-between mb-12">
|
||||
<div>
|
||||
<div>
|
||||
<router-link :to="{name: 'environments', params: {id: id}}" class="text-blue-dark no-underline hover:underline focus:underline"><h2 class="mb-1">{{ application.name }}</h2></router-link>
|
||||
</div>
|
||||
<div>
|
||||
<a href="#0" class="text-blue-dark no-underline hover:underline focus:underline">{{ application.environments['prod'].url }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button type="button" @click="starred = !starred" class="focus:outline-none">
|
||||
<svg class="h-6 w-6 text-orange fill-current" role="presentation"><use :xlink:href="`/img/icons.symbol.svg#state__${starred ? 'starred' : 'unstarred'}`"></use></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<application-tags :type="application.type" :level="application.level"></application-tags>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ApplicationTags from '@/components/ApplicationTags'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ApplicationTags,
|
||||
},
|
||||
|
||||
props: {
|
||||
application: Object,
|
||||
id: Number,
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
starred: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
17
src/components/ApplicationTags.vue
Normal file
17
src/components/ApplicationTags.vue
Normal file
|
@ -0,0 +1,17 @@
|
|||
<template>
|
||||
<div>
|
||||
<ul class="list-reset flex -mr-2">
|
||||
<li class="text-2xs uppercase py-1 px-2 rounded border border-transparent bg-blue-light text-white mr-2">{{ type }}</li>
|
||||
<li class="text-2xs uppercase py-1 px-2 rounded border border-grey bg-white mr-2">{{ level }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
level: String,
|
||||
type: String,
|
||||
},
|
||||
}
|
||||
</script>
|
|
@ -19,23 +19,23 @@
|
|||
|
||||
<div>
|
||||
<button type="button" class="flex items-center justify-between text-white pl-1 bg-blue-light hover:bg-blue-dark focus:bg-blue-dark focus:outline-none focus:underline text-sm w-full text-left">
|
||||
<svg class="h-6 w-5 text-white mr-2 fill-current" role="presentation"><use xlink:href="icons.symbol.svg#objects__grip-handle"></use></svg>
|
||||
<svg class="h-6 w-5 text-white mr-2 fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__grip-handle"></use></svg>
|
||||
<span class="flex-1">Code</span>
|
||||
<span class="border-l border-grey p-2">
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="icons.symbol.svg#actions__switch"></use></svg>
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__switch"></use></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="flex items-center justify-between text-white pl-1 bg-blue-light hover:bg-blue-dark focus:bg-blue-dark focus:outline-none focus:underline text-sm w-full text-left border-t border-grey">
|
||||
<svg class="h-6 w-5 text-white mr-2 fill-current" role="presentation"><use xlink:href="icons.symbol.svg#objects__grip-handle"></use></svg>
|
||||
<svg class="h-6 w-5 text-white mr-2 fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__grip-handle"></use></svg>
|
||||
<span class="flex-1">Databases</span>
|
||||
<span class="border-l border-grey p-2">
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="icons.symbol.svg#actions__backup"></use></svg>
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__backup"></use></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="flex items-center text-white bg-blue-light hover:bg-blue-dark focus:bg-blue-dark focus:outline-none focus:underline px-1 py-3 text-sm w-full text-left border-t border-grey">
|
||||
<svg class="h-6 w-5 text-white mr-2 fill-current" role="presentation"><use xlink:href="icons.symbol.svg#objects__grip-handle"></use></svg>
|
||||
<svg class="h-6 w-5 text-white mr-2 fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__grip-handle"></use></svg>
|
||||
Files
|
||||
</button>
|
||||
</div>
|
||||
|
@ -48,7 +48,7 @@
|
|||
<script>
|
||||
export default {
|
||||
props: {
|
||||
environments: Array,
|
||||
environments: Object,
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
31
src/components/Navbar.vue
Normal file
31
src/components/Navbar.vue
Normal file
|
@ -0,0 +1,31 @@
|
|||
<template>
|
||||
<div class="bg-white">
|
||||
<div class="mx-1 px-4 flex items-center leading-none justify-between">
|
||||
<div class="flex-none md:mr-24">
|
||||
<router-link to="/"><img src="/img/logo.png" alt="" class="h-10"></router-link>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col flex-1">
|
||||
<nav class="border-t-2 border-transparent flex justify-end md:justify-start">
|
||||
<a href="#0" class="inline-block text-xs sm:text-sm border-b-4 border-blue-dark mx-2 px-4 py-4 md:py-5 text-blue-dark uppercase no-underline hover:underline focus:underline">Develop</a>
|
||||
<a href="#0" class="inline-block text-xs sm:text-sm border-b-4 border-transparent mx-2 px-4 py-4 md:py-5 text-blue-dark uppercase no-underline hover:underline focus:underline">Manage</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="hidden md:flex md:items-center">
|
||||
<div><a class="text-sm text-blue-dark no-underline hover:underline uppercase" href="#0">Help</a></div>
|
||||
<div class="ml-6"><button type="button">
|
||||
<span class="hidden">Menu</span>
|
||||
<svg class="fill-current text-blue-dark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path id="select-product" class="cls-1" d="M.77,0h4A.76.76,0,0,1,5.5.77v4a.76.76,0,0,1-.77.77h-4A.76.76,0,0,1,0,4.73v-4A.76.76,0,0,1,.77,0ZM7.25.77v4A.76.76,0,0,0,8,5.5h4a.76.76,0,0,0,.77-.77v-4A.76.76,0,0,0,12,0H8A.76.76,0,0,0,7.25.77Zm7.25,0v4a.76.76,0,0,0,.77.77h4A.76.76,0,0,0,20,4.73v-4A.76.76,0,0,0,19.23,0h-4A.76.76,0,0,0,14.5.77ZM0,8v4a.76.76,0,0,0,.77.77h4A.76.76,0,0,0,5.5,12V8a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,0,8ZM7.25,8v4a.76.76,0,0,0,.77.77h4a.76.76,0,0,0,.77-.77V8A.76.76,0,0,0,12,7.25H8A.76.76,0,0,0,7.25,8ZM14.5,8v4a.76.76,0,0,0,.77.77h4A.76.76,0,0,0,20,12V8a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,14.5,8ZM0,15.27v4A.76.76,0,0,0,.77,20h4a.76.76,0,0,0,.77-.77v-4a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,0,15.27Zm7.25,0v4A.76.76,0,0,0,8,20h4a.76.76,0,0,0,.77-.77v-4A.76.76,0,0,0,12,14.5H8A.76.76,0,0,0,7.25,15.27Zm7.25,0v4a.76.76,0,0,0,.77.77h4a.76.76,0,0,0,.77-.77v-4a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,14.5,15.27Z"></path></svg>
|
||||
</button></div>
|
||||
<div class="ml-6"><button type="button">
|
||||
<span class="hidden">Activity</span>
|
||||
<svg class="h-6 w-6 text-blue-dark fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__notification"></use></svg>
|
||||
</button></div>
|
||||
<div class="ml-6">
|
||||
<img class="w-5 h-5 rounded-full" src="https://accounts.acquia.com/images/users/04950d70-7265-4ca7-9a52-2108961edb65/style/avatar" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
|
@ -2,14 +2,14 @@
|
|||
<div class="bg-white border-t-10 border-purple mb-6" :class="[hidden ? 'hidden' : 'block lg:flex']">
|
||||
<div class="flex-none py-3 pl-3 pr-8 border-b lg:border-r border-grey-lighter">
|
||||
<div class="flex items-center">
|
||||
<svg class="h-6 w-6 mr-1 text-purple fill-current" role="presentation"><use xlink:href="icons.symbol.svg#actions__info"></use></svg>
|
||||
<svg class="h-6 w-6 mr-1 text-purple fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__info"></use></svg>
|
||||
Quick help
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="p-4">
|
||||
<div class="block lg:hidden leading-normal -mb-5">
|
||||
<div v-for="item in items">
|
||||
<div v-for="item in items" :key="item.subject">
|
||||
<p class="text-sm mb-3 font-bold">{{ item.subject }}</p>
|
||||
<p class="text-sm mb-5">{{ item.text }}</p>
|
||||
</div>
|
||||
|
@ -19,6 +19,7 @@
|
|||
<div class="w-full lg:w-auto lg:flex mb-6">
|
||||
<button
|
||||
v-for="(item, i) in items"
|
||||
:key="item.subject"
|
||||
type="button"
|
||||
class="hover:underline focus:underline mr-6 focus:outline-none"
|
||||
:class="[ i === selected ? 'text-grey-darkest' : 'text-blue-dark' ]"
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
</div>
|
||||
<div>
|
||||
<ul class="list-reset bg-white">
|
||||
<li v-for="item in items" class="px-3 py-4 border-b border-grey-light flex">
|
||||
<li v-for="item in items" :key="item.text" class="px-3 py-4 border-b border-grey-light flex">
|
||||
<div class="flex-none mr-3">
|
||||
<svg v-if="item.loading" class="h-5 w-5 text-grey fill-current" role="presentation"><use xlink:href="icons.symbol.svg#feedback__loading"></use></svg>
|
||||
<svg v-if="!item.loading && item.success" class="h-5 w-5 text-green fill-current" role="presentation"><use xlink:href="icons.symbol.svg#feedback__success-circle"></use></svg>
|
||||
<svg v-if="!item.loading && !item.success" class="h-5 w-5 text-red-dark fill-current" role="presentation"><use xlink:href="icons.symbol.svg#feedback__warning"></use></svg>
|
||||
<svg v-if="item.loading" class="h-5 w-5 text-grey fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#feedback__loading"></use></svg>
|
||||
<svg v-if="!item.loading && item.success" class="h-5 w-5 text-green fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#feedback__success-circle"></use></svg>
|
||||
<svg v-if="!item.loading && !item.success" class="h-5 w-5 text-red-dark fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#feedback__warning"></use></svg>
|
||||
</div>
|
||||
|
||||
<div class="flex-1">
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
<div>
|
||||
<button type="button">
|
||||
<svg class="h-5 w-5 text-grey-darker fill-current" role="presentation"><use xlink:href="icons.symbol.svg#alpha__chevron"></use></svg>
|
||||
<svg class="h-5 w-5 text-grey-darker fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#alpha__chevron"></use></svg>
|
||||
</button>
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="hidden lg:block">
|
||||
<button type="button" class="text-blue text-sm font-hairline flex items-center hover:underline focus:underline focus:outline-none" @click="$emit('toggle')">
|
||||
<svg class="h-5 w-5 mr-1 text-blue-dark fill-current" role="presentation"><use xlink:href="icons.symbol.svg#actions__info"></use></svg>
|
||||
<svg class="h-5 w-5 mr-1 text-blue-dark fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__info"></use></svg>
|
||||
{{ hidden ? 'Show quick help' : 'Hide quick help' }}
|
||||
</button>
|
||||
</div>
|
||||
|
|
27
src/data.json
Normal file
27
src/data.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"applications": {
|
||||
"1": {
|
||||
"id": 1,
|
||||
"name": "Rebuilding Acquia",
|
||||
"type": "Drupal",
|
||||
"level": "Enterprise",
|
||||
"environments": {
|
||||
"dev": {
|
||||
"name": "Dev",
|
||||
"url": "dev.rebuilding-acquia.com",
|
||||
"label": "develop"
|
||||
},
|
||||
"stage": {
|
||||
"name": "Stage",
|
||||
"url": "stg.rebuilding-acquia.com",
|
||||
"label": "master"
|
||||
},
|
||||
"prod": {
|
||||
"name": "Prod",
|
||||
"url": "rebuilding-acquia.com",
|
||||
"label": "tags/2018-12-21"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,8 +1,14 @@
|
|||
import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
import Navbar from '@/components/Navbar'
|
||||
|
||||
Vue.component('navbar', Navbar);
|
||||
|
||||
new Vue({
|
||||
render: h => h(App),
|
||||
router
|
||||
}).$mount('#app')
|
||||
|
|
23
src/router/index.js
Normal file
23
src/router/index.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
import Applications from '@/views/Applications'
|
||||
import Environments from '@/views/Environments'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
export default new Router({
|
||||
mode: 'history',
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
name: 'applications',
|
||||
component: Applications,
|
||||
},
|
||||
{
|
||||
path: '/:id/environments',
|
||||
name: 'environments',
|
||||
component: Environments,
|
||||
props: true,
|
||||
}
|
||||
]
|
||||
})
|
88
src/views/Applications.vue
Normal file
88
src/views/Applications.vue
Normal file
|
@ -0,0 +1,88 @@
|
|||
<template>
|
||||
<div>
|
||||
<navbar></navbar>
|
||||
|
||||
<div class="px-4 py-5 border-b-2 border-grey flex justify-between items-center">
|
||||
<div class="w-full md:w-auto flex flex-col">
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row-reverse h-full">
|
||||
<div class="flex-1 p-4 lg:p-12">
|
||||
<div class="mb-6">
|
||||
<div class="lg:flex lg:items-baseline mb-12">
|
||||
<div class="mr-16 mb-4 lg:mb-0">
|
||||
<h1 class="text-4xl font-hairline mb-2">Applications</h1>
|
||||
</div>
|
||||
|
||||
<div class="lg:flex lg:flex-row-reverse flex-1 justify-between _bg-blue items-baseline">
|
||||
<div class="w-full lg:w-1/2 xl:w-1/4">
|
||||
<form action="#">
|
||||
<input type="text" placeholder="Filter applications" class="w-full py-2 px-3 border border-grey-darker rounded">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap -mx-6">
|
||||
<application-card v-for="application in applications" :id="application.id" :application="application" :key="application.id"></application-card>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-auto lg:w-64 bg-grey-darkest text-white antialiased">
|
||||
<div>
|
||||
<ul class="list-reset">
|
||||
<li class="border-r-6 border-b border-grey-darker">
|
||||
<a href="#0" class="flex items-center text-white no-underline hover:underline focus:underline border-l-6 border-blue px-4 py-5 bg-grey-darker">
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#alpha__grid"></use></svg>
|
||||
<span class="hidden lg:block lg:ml-4">All</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="border-r-6 border-b border-grey-darker">
|
||||
<a href="#0" class="flex items-center text-white no-underline hover:underline focus:underline border-l-6 border-transparent px-4 py-5">
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#state__starred"></use></svg>
|
||||
<span class="hidden lg:block lg:ml-4">Starred</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="border-r-6 border-b border-grey-darker">
|
||||
<a href="#0" class="flex items-center text-white no-underline hover:underline focus:underline border-l-6 border-transparent px-4 py-5">
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__recent"></use></svg>
|
||||
<span class="hidden lg:block lg:ml-4">Recents</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ApplicationCard from '@/components/ApplicationCard'
|
||||
import data from '@/data.json'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ApplicationCard,
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
applications: data.applications,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
|
@ -1,47 +1,19 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="bg-white">
|
||||
<div class="mx-1 px-4 flex items-center leading-none justify-between">
|
||||
<div class="flex-none md:mr-24">
|
||||
<a href="#0"><img src="img/logo.png" alt="" class="h-10"></a>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col flex-1">
|
||||
<nav class="border-t-2 border-transparent flex justify-end md:justify-start">
|
||||
<a href="#0" class="inline-block text-xs sm:text-sm border-b-4 border-blue-dark mx-2 px-4 py-4 md:py-5 text-blue-dark uppercase no-underline hover:underline focus:underline">Develop</a>
|
||||
<a href="#0" class="inline-block text-xs sm:text-sm border-b-4 border-transparent mx-2 px-4 py-4 md:py-5 text-blue-dark uppercase no-underline hover:underline focus:underline">Manage</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="hidden md:flex md:items-center">
|
||||
<div><a class="text-sm text-blue-dark no-underline hover:underline uppercase" href="#0">Help</a></div>
|
||||
<div class="ml-6"><button type="button">
|
||||
<span class="hidden">Menu</span>
|
||||
<svg class="fill-current text-blue-dark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path id="select-product" class="cls-1" d="M.77,0h4A.76.76,0,0,1,5.5.77v4a.76.76,0,0,1-.77.77h-4A.76.76,0,0,1,0,4.73v-4A.76.76,0,0,1,.77,0ZM7.25.77v4A.76.76,0,0,0,8,5.5h4a.76.76,0,0,0,.77-.77v-4A.76.76,0,0,0,12,0H8A.76.76,0,0,0,7.25.77Zm7.25,0v4a.76.76,0,0,0,.77.77h4A.76.76,0,0,0,20,4.73v-4A.76.76,0,0,0,19.23,0h-4A.76.76,0,0,0,14.5.77ZM0,8v4a.76.76,0,0,0,.77.77h4A.76.76,0,0,0,5.5,12V8a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,0,8ZM7.25,8v4a.76.76,0,0,0,.77.77h4a.76.76,0,0,0,.77-.77V8A.76.76,0,0,0,12,7.25H8A.76.76,0,0,0,7.25,8ZM14.5,8v4a.76.76,0,0,0,.77.77h4A.76.76,0,0,0,20,12V8a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,14.5,8ZM0,15.27v4A.76.76,0,0,0,.77,20h4a.76.76,0,0,0,.77-.77v-4a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,0,15.27Zm7.25,0v4A.76.76,0,0,0,8,20h4a.76.76,0,0,0,.77-.77v-4A.76.76,0,0,0,12,14.5H8A.76.76,0,0,0,7.25,15.27Zm7.25,0v4a.76.76,0,0,0,.77.77h4a.76.76,0,0,0,.77-.77v-4a.76.76,0,0,0-.77-.77h-4A.76.76,0,0,0,14.5,15.27Z"></path></svg>
|
||||
</button></div>
|
||||
<div class="ml-6"><button type="button">
|
||||
<span class="hidden">Activity</span>
|
||||
<svg class="h-6 w-6 text-blue-dark fill-current" role="presentation"><use xlink:href="icons.symbol.svg#objects__notification"></use></svg>
|
||||
</button></div>
|
||||
<div class="ml-6">
|
||||
<img class="w-5 h-5 rounded-full" src="https://accounts.acquia.com/images/users/04950d70-7265-4ca7-9a52-2108961edb65/style/avatar" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<navbar></navbar>
|
||||
|
||||
<div class="px-4 py-5 border-b-2 border-grey flex justify-between items-center">
|
||||
<div class="w-full md:w-auto flex flex-col">
|
||||
<div class="text-xs mb-3">
|
||||
<ol class="list-reset flex">
|
||||
<li class="mr-6"><a href="#0" class="text-blue-dark no-underline hover:underline">Applications</a></li>
|
||||
<li>{{ project.name }}</li>
|
||||
<li>{{ application.name }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<button class="flex flex-1 items-center justify-between md:justify-start">
|
||||
<div class="text-2xl font-hairline mr-2">{{ project.name }}</div>
|
||||
<svg class="h-6 w-6 text-blue-dark fill-current" role="presentation"><use xlink:href="icons.symbol.svg#actions__down-arrow"></use></svg>
|
||||
<div class="text-2xl font-hairline mr-2">{{ application.name }}</div>
|
||||
<svg class="h-6 w-6 text-blue-dark fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__down-arrow"></use></svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
@ -49,21 +21,21 @@
|
|||
<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="icons.symbol.svg#actions__new-database"></use></svg>
|
||||
<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="icons.symbol.svg#actions__info"></use></svg>
|
||||
<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="icons.symbol.svg#actions__edit"></use></svg>
|
||||
<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>
|
||||
|
@ -78,12 +50,7 @@
|
|||
<div class="mr-16 mb-4 lg:mb-0">
|
||||
<h1 class="text-4xl font-hairline mb-2">Environments</h1>
|
||||
|
||||
<div>
|
||||
<ul class="list-reset flex -mr-2">
|
||||
<li class="text-2xs uppercase py-1 px-2 rounded border border-transparent bg-blue-light text-white mr-2">{{ project.type }}</li>
|
||||
<li class="text-2xs uppercase py-1 px-2 rounded border border-grey bg-white mr-2">{{ project.level }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- <application-tags></application-tags> -->
|
||||
</div>
|
||||
|
||||
<div class="lg:flex lg:flex-row-reverse flex-1 justify-between _bg-blue items-baseline">
|
||||
|
@ -101,7 +68,7 @@
|
|||
</div>
|
||||
|
||||
<quick-help :hidden="help.hidden"></quick-help>
|
||||
<environment-cards :environments="project.environments"></environment-cards>
|
||||
<environment-cards :environments="application.environments"></environment-cards>
|
||||
<task-log></task-log>
|
||||
</div>
|
||||
|
||||
|
@ -110,24 +77,25 @@
|
|||
<ul class="list-reset">
|
||||
<li class="border-r-6 border-b border-grey-darker">
|
||||
<a href="#0" class="flex items-center text-white no-underline hover:underline focus:underline border-l-6 border-blue px-4 py-5 bg-grey-darker">
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="icons.symbol.svg#alpha__grid"></use></svg>
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#alpha__grid"></use></svg>
|
||||
<span class="hidden lg:block lg:ml-4">Environments</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="border-r-6 border-grey-darkest hover:border-grey-darker">
|
||||
<div class="flex items-center text-grey no-underline hover:underline focus:underline border-l-6 border-transparent px-4 py-5 cursor-not-allowed hover:bg-grey-darker">
|
||||
<svg class="h-6 w-6 text-grey fill-current" role="presentation"><use xlink:href="icons.symbol.svg#locations__keys"></use></svg>
|
||||
<svg class="h-6 w-6 text-grey fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#locations__keys"></use></svg>
|
||||
<span class="hidden lg:block lg:ml-4">Product Keys</span>
|
||||
</div>
|
||||
</li class="border-r-6 border-grey-darkest hover:border-grey-darker">
|
||||
</li>
|
||||
<li class="border-r-6 border-grey-darkest hover:border-grey-darker">
|
||||
<div class="flex items-center text-grey no-underline hover:underline focus:underline border-l-6 border-transparent px-4 py-5 cursor-not-allowed hover:bg-grey-darker">
|
||||
<svg class="h-6 w-6 text-grey fill-current" role="presentation"><use xlink:href="icons.symbol.svg#alpha__security"></use></svg>
|
||||
<svg class="h-6 w-6 text-grey fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#alpha__security"></use></svg>
|
||||
<span class="hidden lg:block lg:ml-4">Security</span>
|
||||
</div>
|
||||
</li>
|
||||
<li class="border-r-6 border-grey-darkest hover:border-grey-darker">
|
||||
<a href="#0" class="flex items-center text-white no-underline hover:underline focus:underline border-l-6 border-transparent px-4 py-5 hover:bg-grey-darker">
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="icons.symbol.svg#actions__search"></use></svg>
|
||||
<svg class="h-6 w-6 text-white fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__search"></use></svg>
|
||||
<span class="hidden lg:block lg:ml-4">Acquia Search</span>
|
||||
</a>
|
||||
</li>
|
||||
|
@ -139,10 +107,11 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import EnvironmentCards from './EnvironmentCards'
|
||||
import QuickHelp from './QuickHelp'
|
||||
import TaskLog from './TaskLog'
|
||||
import ToggleHelp from './ToggleHelp'
|
||||
import EnvironmentCards from '@/components/EnvironmentCards'
|
||||
import QuickHelp from '@/components/QuickHelp'
|
||||
import TaskLog from '@/components/TaskLog'
|
||||
import ToggleHelp from '@/components/ToggleHelp'
|
||||
import data from '@/data.json'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
@ -153,15 +122,22 @@ export default {
|
|||
},
|
||||
|
||||
props: {
|
||||
project: Object,
|
||||
id: String,
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
applications: data.applications,
|
||||
help: {
|
||||
hidden: false,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
application: function() {
|
||||
return this.applications[this.id]
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -60,13 +60,16 @@ let colors = {
|
|||
'blue-light': '#008DC7',
|
||||
'blue': '#1E70AB',
|
||||
|
||||
'green': '#398002',
|
||||
'green': '#398002',
|
||||
|
||||
'purple': '#991FAF',
|
||||
|
||||
'red-dark': '#cc1f1a',
|
||||
|
||||
'teal': '#3F7B8F',
|
||||
|
||||
'orange': '#FA9903',
|
||||
|
||||
/*
|
||||
'red-darkest': '#3b0d0c',
|
||||
'red-darker': '#621b18',
|
||||
|
|
|
@ -6652,6 +6652,10 @@ vue-loader@^15.4.2:
|
|||
vue-hot-reload-api "^2.3.0"
|
||||
vue-style-loader "^4.1.0"
|
||||
|
||||
vue-router@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.2.tgz#dedc67afe6c4e2bc25682c8b1c2a8c0d7c7e56be"
|
||||
|
||||
vue-style-loader@^4.1.0:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8"
|
||||
|
|
Reference in a new issue