diff --git a/src/components/pages/LandingPage.vue b/src/components/pages/LandingPage.vue index 001a5db359b79e3a4cdd99ea94796d39e0699d25..30035b204620fc458bd9ab5a66884c724ddb2ff3 100644 --- a/src/components/pages/LandingPage.vue +++ b/src/components/pages/LandingPage.vue @@ -8,7 +8,7 @@ Selamat Datang di APBD Elektronik Pemerintah Jawa Barat </h2> <div> - <b-dropdown id="ddown1" text="Pilih Tahun..." class="m-md-2"> + <b-dropdown id="ddown1" variant="primary" text="Pilih Tahun..." class="m-md-2"> <b-dropdown-item v-on:click="gotoYear('2016')">2016</b-dropdown-item> <b-dropdown-item v-on:click="gotoYear('2017')">2017</b-dropdown-item> <b-dropdown-item v-on:click="gotoYear('2018')">2018</b-dropdown-item> diff --git a/src/components/pages/LoginPage.vue b/src/components/pages/LoginPage.vue index c2f91150c541fb413a4921616427c08be48f882a..2d16827da9a70bf8421b7fa725c5a8ff8c613368 100644 --- a/src/components/pages/LoginPage.vue +++ b/src/components/pages/LoginPage.vue @@ -4,7 +4,7 @@ <b-card no-body> <b-tabs card> <b-tab title="Masuk" active> - <b-form @submit="submitLogin"> + <b-form @submit.prevent="submitLogin"> <b-form-group label="Nama Pengguna:"> <b-form-input type="text" @@ -21,11 +21,11 @@ placeholder="Masukkan kata sandi" /> </b-form-group> - <b-button type="submit" variant="primary">Masuk</b-button> + <b-button @click="submitLogin" type="submit" variant="primary">Masuk</b-button> </b-form> </b-tab> <b-tab title="Daftar"> - <b-form @submit="submitRegister"> + <b-form> <b-form-group label="NIK/NIP:"> <b-form-input type="text" @@ -66,7 +66,7 @@ placeholder="Masukkan ulang kata sandi" /> </b-form-group> - <b-button type="submit" variant="primary">Daftar</b-button> + <b-button @click="submitRegister" variant="primary">Daftar</b-button> </b-form> </b-tab> </b-tabs> @@ -102,7 +102,8 @@ export default { methods: { submitLogin: function(event) { // TODO: Create function to log in the user - this.$store.commit('setUser', 'ABCD', 1, this.login.username) + var data = {token: 'ABCD', id: 1, name: this.login.username} + this.$store.commit('setUser', data) this.$router.push('/') }, submitRegister: function(event) { diff --git a/src/components/partials/Navbar.vue b/src/components/partials/Navbar.vue index 81f9eacb2813668e5feac7567ec624ae8c12ee8b..97942b30c1e1f50c1c6981e92ac06dee4f13b4c4 100644 --- a/src/components/partials/Navbar.vue +++ b/src/components/partials/Navbar.vue @@ -32,11 +32,21 @@ </b-navbar-nav> <b-navbar-nav class="ml-auto"> - <b-nav-item> - <router-link to="/login" style="color:white;"> - Masuk - </router-link> + <div v-if="this.$store.state.user.token == ''"> + <b-nav-item v-on:click="gotoPage('login')" > + <span style="color:white;">Masuk</span> </b-nav-item> + </div> + <div v-else> + <b-nav-item-dropdown v-bind:text=nama right> + <b-dropdown-item v-on:click="gotoPage('semua-anggaran')"> + Pengaturan + </b-dropdown-item> + <b-dropdown-item v-on:click="gotoPage('pendapatan')"> + Keluar + </b-dropdown-item> + </b-nav-item-dropdown> + </div> </b-navbar-nav> @@ -52,6 +62,7 @@ export default { data () { return { pilihan : this.$store.state.pilihan, + nama : this.$store.state.user.name, } }, computed : { @@ -93,6 +104,10 @@ li a { a { text-decoration: none; - color : white; + color : white ; +} + +.navbar-link span { + color : rgba(255,255,255,1) !important; } </style> diff --git a/src/components/partials/SimpleCard.vue b/src/components/partials/SimpleCard.vue index 3a95f2d3699ff77029f04fb15ace3e47b7091b38..f7ce78ec288a10e88a9eb9329ac78dd536e7a03c 100644 --- a/src/components/partials/SimpleCard.vue +++ b/src/components/partials/SimpleCard.vue @@ -1,7 +1,7 @@ <template> <div> - <b-card bg-variant="info" text-variant="white" > - <b-card-text> + <b-card bg-variant="info" text-variant="white"> + <b-card-text class="text-right"> {{ jenisAnggaran }} <br> <b>{{ total }}</b> diff --git a/src/components/store/Store.js b/src/components/store/Store.js index ecda9dfd10f464694de99487c7f66d72f4e0a3f5..968e617040b987fed2319979519755646f4532ed 100644 --- a/src/components/store/Store.js +++ b/src/components/store/Store.js @@ -11,7 +11,7 @@ export const store = new Vuex.Store({ user : { token : '', id : -1, - name : '' + name : 'dummy' } }, computed: { @@ -26,11 +26,11 @@ export const store = new Vuex.Store({ setYear(state, data) { state.year = data }, - setUser(state, token, id, name) { - state.user.token = token - state.user.id = id - state.user.name = name - } + setUser(state, data) { + state.user.token = data.token + state.user.id = data.id + state.user.name = data.name + }, }, getters : { pilihan : (state) => { diff --git a/src/test/setup.js b/src/test/setup.js new file mode 100644 index 0000000000000000000000000000000000000000..d1a058b72dbfe007349608f8f2c0bb5230e2981b --- /dev/null +++ b/src/test/setup.js @@ -0,0 +1,11 @@ +// from @vue/cli-plugin-unit-mocha/setup.js +require('jsdom-global')(undefined, { pretendToBeVisual: true, url: 'http://localhost:8080' }) + +// https://github.com/vuejs/vue-test-utils/issues/936 +// better fix for "TypeError: Super expression must either be null or +// a function" than pinning an old version of prettier. +window.Date = Date + + +require('jsdom-global')() +global.expect = require('expect') \ No newline at end of file diff --git a/src/test/testHelloWorld.spec.js b/src/test/testHelloWorld.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..38c41e509cc724293d8e5a356d7a90c3ab0492d1 --- /dev/null +++ b/src/test/testHelloWorld.spec.js @@ -0,0 +1,12 @@ +import {shallow} from '@vue/test-utils' +import HelloWorld from '../src/components/HelloWorld.vue' +describe('HelloWorld.vue',function(){ + + it('Checking <h2> tag text',function(){ + + const wrapper = shallow(HelloWorld) + const h2= wrapper.find('h2') + expect(h2.text()).toBe('Essential Links') + + }) +}) \ No newline at end of file