Skip to content

Commit 0f27326

Browse files
committed
feat: add vuetifyed App.vue
1 parent 188b250 commit 0f27326

File tree

2 files changed

+74
-4
lines changed

2 files changed

+74
-4
lines changed

generator/index.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
module.exports = (api, options, rootOptions) => {
2+
const fs = require('fs')
3+
24
api.extendPackage({
35
scripts: {
46
'cordova-serve': 'vue-cli-service cordova-serve',
@@ -33,9 +35,10 @@ module.exports = (api, options, rootOptions) => {
3335
}
3436
})
3537

36-
api.render('./templates', {
37-
hasTS: api.hasPlugin('typescript')
38-
})
38+
const hasTS = api.hasPlugin('typescript')
39+
const routerPath = api.resolve(`./src/router.${hasTS ? 'ts' : 'js'}`)
40+
const hasRouter = fs.existsSync(routerPath)
41+
api.render('./templates', { hasTS, hasRouter })
3942

4043
api.postProcessFiles(files => {
4144
// index.html
@@ -87,7 +90,6 @@ module.exports = (api, options, rootOptions) => {
8790
})
8891

8992
api.onCreateComplete(() => {
90-
const fs = require('fs')
9193
const path = require('path')
9294

9395
// .gitignore - not included in files on postProcessFiles

generator/templates/src/App.vue

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<template>
2+
<v-app>
3+
<v-navigation-drawer v-model="drawer" fixed app>
4+
<v-list dense>
5+
<v-list-tile @click="route('/')">
6+
<v-list-tile-action>
7+
<v-icon>home</v-icon>
8+
</v-list-tile-action>
9+
<v-list-tile-content>
10+
<v-list-tile-title>Home</v-list-tile-title>
11+
</v-list-tile-content>
12+
</v-list-tile>
13+
<v-list-tile @click="route('/about')">
14+
<v-list-tile-action>
15+
<v-icon>info_outline</v-icon>
16+
</v-list-tile-action>
17+
<v-list-tile-content>
18+
<v-list-tile-title>About</v-list-tile-title>
19+
</v-list-tile-content>
20+
</v-list-tile>
21+
</v-list>
22+
</v-navigation-drawer>
23+
<v-toolbar app>
24+
<v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
25+
<v-toolbar-title>Application</v-toolbar-title>
26+
</v-toolbar>
27+
<v-content>
28+
<v-container fluid>
29+
<router-view></router-view>
30+
</v-container>
31+
</v-content>
32+
</v-app>
33+
</template>
34+
35+
<script<%- hasTS ? ' lang="ts"' : '' %>>
36+
import Vue from 'vue';
37+
export default Vue.extend({
38+
data() {
39+
return {
40+
drawer: false,
41+
};
42+
},
43+
methods: {
44+
route(path<%- hasTS ? ': string' : '' %>) {
45+
<%_ if (hasRouter) { _%>
46+
this.drawer = false;
47+
this.$router.push(path);
48+
<%_ } else { _%>
49+
alert('no router! ' + path);
50+
<%_ } _%>
51+
},
52+
},
53+
});
54+
</script>
55+
56+
<style>
57+
body {
58+
background: #fafafa;
59+
padding-top: constant(safe-area-inset-top);
60+
padding-top: env(safe-area-inset-top);
61+
padding-bottom: constant(safe-area-inset-bottom);
62+
padding-bottom: env(safe-area-inset-bottom);
63+
padding-left: constant(safe-area-inset-left);
64+
padding-left: env(safe-area-inset-left);
65+
padding-right: constant(safe-area-inset-right);
66+
padding-right: env(safe-area-inset-right);
67+
}
68+
</style>

0 commit comments

Comments
 (0)