Skip to content

Commit dd61af0

Browse files
feat($App): use YouTube-like layout
use YouTube-like layout BREAKING CHANGE: use YouTube-like layout
1 parent 9170df2 commit dd61af0

File tree

7 files changed

+474
-338
lines changed

7 files changed

+474
-338
lines changed

src/App.vue

Lines changed: 4 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,11 @@
11
<template>
2-
<v-app id="app-container">
3-
<v-app-bar app color="primary" dark>
4-
<div class="d-flex align-center">
5-
<v-img alt="Vuetify Logo" class="shrink mr-2" contain
6-
src="https://cdn.vuetifyjs.com/images/logos/vuetify-logo-dark.png" transition="scale-transition"
7-
width="40"/>
8-
<span id="app-name">{{ appName }}</span>
9-
<span id="version">{{ version }}</span>
10-
<span id="environment">{{ environment }}</span>
11-
</div>
12-
<v-spacer/>
13-
<v-btn href="https://github.com/vuetifyjs/vuetify/releases/latest" target="_blank" text>
14-
<span class="mr-2">Latest Release</span>
15-
<v-icon>mdi-open-in-new</v-icon>
16-
</v-btn>
17-
</v-app-bar>
18-
<v-content>
19-
<v-sheet class="text-center">
20-
<router-link to="/">Home</router-link>
21-
<span>|</span>
22-
<router-link to="/vuetify-demo">Vuetify Demo</router-link>
23-
</v-sheet>
24-
<transition name="fade-transform" mode="out-in">
25-
<router-view class="app-container"/>
26-
</transition>
27-
</v-content>
2+
<v-app id="app">
3+
<transition name="fade-transform" mode="out-in">
4+
<router-view/>
5+
</transition>
286
</v-app>
297
</template>
308

31-
<script lang="ts">
32-
import Vue from 'vue'
33-
import { AppUtil } from '@/utils/app-util'
34-
35-
export default Vue.extend({
36-
name: 'App',
37-
data: () => ({
38-
appName: '',
39-
version: '',
40-
environment: ''
41-
}),
42-
mounted (): void {
43-
this.appName = AppUtil.getName()
44-
.replace(/-/g, ' ')
45-
.split(' ')
46-
.map(word => word[0].toUpperCase() + word.substr(1).toLowerCase())
47-
.join(' ')
48-
this.version = AppUtil.getVersionInfo()
49-
this.environment = `Environment: ${process.env.NODE_ENV} (${process.env.VUE_APP_ENV})`
50-
}
51-
})
52-
</script>
53-
549
<!--suppress CssUnusedSymbol -->
5510
<style lang="scss" scoped>
5611
.fade-transform-leave-active, .fade-transform-enter-active {
@@ -72,20 +27,5 @@ export default Vue.extend({
7227
font-size: 32px;
7328
font-weight: bold;
7429
}
75-
76-
#version {
77-
text-align: right;
78-
font-size: 32px;
79-
position: relative;
80-
left: 8px;
81-
}
82-
83-
#environment {
84-
text-align: right;
85-
font-size: 18px;
86-
position: relative;
87-
top: 4px;
88-
left: 16px;
89-
}
9030
}
9131
</style>

src/router/index.ts

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Vue from 'vue'
22
import VueRouter from 'vue-router'
3-
import Home from '../views/Home.vue'
3+
import Home from '../views/home/index.vue'
44

55
Vue.use(VueRouter)
66

@@ -11,12 +11,42 @@ const routes = [
1111
component: Home
1212
},
1313
{
14-
path: '/vuetify-demo',
15-
name: 'vuetify-demo',
14+
path: '/hello-world',
15+
name: 'hello-world',
1616
// route level code-splitting
17-
// this generates a separate chunk (vuetify-demo.[hash].js) for this route
17+
// this generates a separate chunk (hello-world.[hash].js) for this route
1818
// which is lazy-loaded when the route is visited.
19-
component: () => import(/* webpackChunkName: "vuetify-demo" */ '@/views/VuetifyDemo.vue')
19+
component: Home,
20+
children: [
21+
// hello-world will be rendered inside Homs's <router-view>
22+
// when /user/:id is matched
23+
{
24+
path: '',
25+
component: () => import(/* webpackChunkName: "hello-world" */ '@/views/hello-world/index.vue')
26+
}
27+
]
28+
},
29+
{
30+
path: '/vuetify-demo',
31+
name: 'vuetify-demo',
32+
component: Home,
33+
children: [
34+
{
35+
path: '',
36+
component: () => import(/* webpackChunkName: "vuetify-demo" */ '@/views/vuetify-demo/index.vue')
37+
}
38+
]
39+
},
40+
{
41+
path: '/form-validation',
42+
name: 'form-validation',
43+
component: Home,
44+
children: [
45+
{
46+
path: '',
47+
component: () => import(/* webpackChunkName: "form-validation" */ '@/views/form-validation/index.vue')
48+
}
49+
]
2050
}
2151
]
2252

0 commit comments

Comments
 (0)