diff options
author | Andinus <andinus@nand.sh> | 2022-02-02 12:34:38 +0530 |
---|---|---|
committer | Andinus <andinus@nand.sh> | 2022-02-02 13:03:34 +0530 |
commit | 8234345a00d14fee2b5ca18466f19d2df4b4a5c7 (patch) | |
tree | 772fc64f448c000df6ae6bea5387b469c82fa75f /client/src | |
download | vela-8234345a00d14fee2b5ca18466f19d2df4b4a5c7.tar.gz |
Initial commit
- Initialize the project with PrimeVue for UI.
Diffstat (limited to 'client/src')
-rw-r--r-- | client/src/App.vue | 30 | ||||
-rw-r--r-- | client/src/components/HelloWorld.vue | 58 | ||||
-rw-r--r-- | client/src/main.js | 15 | ||||
-rw-r--r-- | client/src/router/index.js | 25 | ||||
-rw-r--r-- | client/src/views/About.vue | 5 | ||||
-rw-r--r-- | client/src/views/Home.vue | 17 |
6 files changed, 150 insertions, 0 deletions
diff --git a/client/src/App.vue b/client/src/App.vue new file mode 100644 index 0000000..8e16cf8 --- /dev/null +++ b/client/src/App.vue @@ -0,0 +1,30 @@ +<template> +<div id="nav"> + <router-link to="/">Home</router-link> | + <router-link to="/about">About</router-link> +</div> +<router-view/> +</template> + +<style> +#app { + font-family: Avenir, Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-align: center; + color: #2c3e50; +} + +#nav { + padding: 30px; +} + +#nav a { + font-weight: bold; + color: #2c3e50; +} + +#nav a.router-link-exact-active { + color: #42b983; +} +</style> diff --git a/client/src/components/HelloWorld.vue b/client/src/components/HelloWorld.vue new file mode 100644 index 0000000..649a596 --- /dev/null +++ b/client/src/components/HelloWorld.vue @@ -0,0 +1,58 @@ +<template> +<div class="hello"> + <h1>{{ msg }}</h1> + <p> + For a guide and recipes on how to configure / customize this project,<br> + check out the + <a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>. + </p> + <h3>Installed CLI Plugins</h3> + <ul> + <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li> + <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li> + <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li> + </ul> + <h3>Essential Links</h3> + <ul> + <li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li> + <li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li> + <li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li> + <li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li> + <li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li> + </ul> + <h3>Ecosystem</h3> + <ul> + <li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li> + <li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li> + <li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li> + <li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li> + <li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li> + </ul> +</div> +</template> + +<script> +export default { + name: 'HelloWorld', + props: { + msg: String + } +} +</script> + +<style scoped> +h3 { + margin: 40px 0 0; +} +ul { + list-style-type: none; + padding: 0; +} +li { + display: inline-block; + margin: 0 10px; +} +a { + color: #42b983; +} +</style> diff --git a/client/src/main.js b/client/src/main.js new file mode 100644 index 0000000..22d1619 --- /dev/null +++ b/client/src/main.js @@ -0,0 +1,15 @@ +import {createApp} from 'vue'; +import App from './App.vue'; +import router from './router' +import PrimeVue from 'primevue/config'; + +import 'primevue/resources/themes/lara-dark-blue/theme.css'; +import 'primevue/resources/primevue.min.css'; +import 'primeicons/primeicons.css'; + +const app = createApp(App); + +app.use(router); +app.use(PrimeVue); + +app.mount('#app'); diff --git a/client/src/router/index.js b/client/src/router/index.js new file mode 100644 index 0000000..4300a69 --- /dev/null +++ b/client/src/router/index.js @@ -0,0 +1,25 @@ +import { createRouter, createWebHistory } from 'vue-router' +import Home from '../views/Home.vue' + +const routes = [ + { + path: '/', + name: 'Home', + component: Home + }, + { + path: '/about', + name: 'About', + // route level code-splitting + // this generates a separate chunk (about.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') + } +] + +const router = createRouter({ + history: createWebHistory(process.env.BASE_URL), + routes +}) + +export default router diff --git a/client/src/views/About.vue b/client/src/views/About.vue new file mode 100644 index 0000000..3fa2807 --- /dev/null +++ b/client/src/views/About.vue @@ -0,0 +1,5 @@ +<template> + <div class="about"> + <h1>This is an about page</h1> + </div> +</template> diff --git a/client/src/views/Home.vue b/client/src/views/Home.vue new file mode 100644 index 0000000..65a73a1 --- /dev/null +++ b/client/src/views/Home.vue @@ -0,0 +1,17 @@ +<template> + <div class="home"> + <HelloWorld msg="Welcome to Your Vue.js App"/> + </div> +</template> + +<script> +// @ is an alias to /src +import HelloWorld from '@/components/HelloWorld.vue' + +export default { + name: 'Home', + components: { + HelloWorld + } +} +</script> |