mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Merge pull request #50 from gradido/reload-after-login-fixed
Reload after login fixed
This commit is contained in:
commit
0fa707797c
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -22,5 +22,4 @@
|
||||
url = https://github.com/gradido/iroha-ed25519.git
|
||||
[submodule "dependencies/spirit-po"]
|
||||
path = login_server/dependencies/spirit-po
|
||||
url = https://github.com/cbeck88/spirit-po.git
|
||||
|
||||
url = https://github.com/cbeck88/spirit-po.git
|
||||
@ -4,8 +4,7 @@
|
||||
</header>
|
||||
<div class="">
|
||||
<particles-bg type="custom" :config="config" :bg="true" />
|
||||
<router-view />
|
||||
|
||||
<router-view />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -19,17 +18,17 @@ export default {
|
||||
components: {
|
||||
ParticlesBg
|
||||
},
|
||||
created () {
|
||||
//console.log("this.$cookies.get('gdd_session_id') ", this.$cookies.get('gdd_session_id') )
|
||||
console.log(" $cookies.isKey('gdd_session_id') ", this.$cookies.isKey("gdd_session_id") )
|
||||
if ( this.$cookies.isKey('gdd_session_id') ) {
|
||||
//this.$store.state.email = this.$cookies.get('gdd_u')
|
||||
console.log("login to kontooverview")
|
||||
this.$router.push('/KontoOverview')
|
||||
}else {
|
||||
console.log("login to LOGIN")
|
||||
this.$router.push("/Login")
|
||||
}
|
||||
created () {
|
||||
console.log('%cWillkommen bei Gradido %cgreen text', 'font-weight:bold', 'color: green')
|
||||
if ( $cookies.isKey("gdd_session_id") == true) {
|
||||
console.log('%cHey %c'+$cookies.get("gdd_u")+'', 'font-weight:bold', 'color: orange')
|
||||
this.$store.commit('session_id', $cookies.get("gdd_session_id"))
|
||||
this.$store.commit('email', $cookies.get("gdd_u"))
|
||||
this.$router.push("overview")
|
||||
}else {
|
||||
console.log("app.vue to Logout")
|
||||
this.$store.dispatch('logout')
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -52,7 +51,7 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.btn {
|
||||
.btn-primary pim{
|
||||
background-color: #5A7B02;
|
||||
border-color: #5e72e4;
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<bread-crumb list-classes="breadcrumb-links breadcrumb-dark">
|
||||
<BreadCrumbItem>
|
||||
<router-link to="/">
|
||||
<router-link to="/overview">
|
||||
<i class="fas fa-home"></i>
|
||||
</router-link>
|
||||
</BreadCrumbItem>
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
<template slot="footer">
|
||||
<base-button type="white">Ok</base-button>
|
||||
<base-button type="link" class="text-white ml-auto" @click="$store.state.modals = false">abbrechen</base-button>
|
||||
<base-button type="link" class="ml-auto" @click="$store.state.modals = false">abbrechen</base-button>
|
||||
</template>
|
||||
</modal>
|
||||
|
||||
|
||||
@ -6,12 +6,12 @@
|
||||
<navbar-toggle-button @click.native="showSidebar">
|
||||
|
||||
</navbar-toggle-button>
|
||||
<router-link class="navbar-brand" to="/">
|
||||
<router-link class="navbar-brand" to="/overview">
|
||||
<img :src="logo" class="navbar-brand-img" alt="...">
|
||||
</router-link>
|
||||
|
||||
<slot name="mobile-right">
|
||||
<ul class="nav align-items-center d-md-none">
|
||||
<ul class="nav align-items-center d-md-none">
|
||||
|
||||
<base-dropdown class="nav-item" menu-on-right tag="li" title-tag="a">
|
||||
<a slot="title-container" class="nav-link" href="#" role="button">
|
||||
@ -22,7 +22,7 @@
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<router-link to="/KontoOverview" class="dropdown-item text-lg text-muted">
|
||||
<router-link to="/overview" class="dropdown-item text-lg text-muted">
|
||||
<i class="ni ni-single-02"></i>
|
||||
<span>{{ $t('site.overview.account_overview')}}</span>
|
||||
</router-link>
|
||||
@ -40,10 +40,10 @@
|
||||
</router-link>
|
||||
|
||||
<div class="dropdown-divider"></div>
|
||||
<router-link @click="logout" class="dropdown-item text-lg text-muted">
|
||||
<div @click="logout" class="dropdown-item text-lg text-muted" >
|
||||
<i class="ni ni-support-16"></i>
|
||||
<span>{{ $t('logout') }}</span>
|
||||
</router-link>
|
||||
{{ $t('logout') }}
|
||||
</div>
|
||||
</base-dropdown>
|
||||
</ul>
|
||||
</slot>
|
||||
@ -53,7 +53,7 @@
|
||||
<div class="navbar-collapse-header d-md-none">
|
||||
<div class="row">
|
||||
<div class="col-6 collapse-brand">
|
||||
<router-link to="/">
|
||||
<router-link to="/overview">
|
||||
<img :src="logo">
|
||||
</router-link>
|
||||
</div>
|
||||
@ -62,26 +62,20 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="navbar-nav">
|
||||
<slot name="links">
|
||||
</slot>
|
||||
</ul>
|
||||
|
||||
<hr class="my-3">
|
||||
|
||||
<ul class="navbar-nav mb-md-3">
|
||||
|
||||
<hr class="my-3">
|
||||
<ul class="navbar-nav mb-md-3">
|
||||
<li class="nav-item">
|
||||
|
||||
<a class="nav-link text-lg bg-light" href="#!" @click="logout">
|
||||
{{ $t('logout') }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</template>
|
||||
<script>
|
||||
@ -96,7 +90,7 @@
|
||||
logo: {
|
||||
type: String,
|
||||
default: 'img/brand/green.png',
|
||||
description: 'Sidebar app logo'
|
||||
description: 'Gradido Sidebar app logo'
|
||||
},
|
||||
autoClose: {
|
||||
type: Boolean,
|
||||
@ -116,17 +110,9 @@
|
||||
showSidebar() {
|
||||
this.$sidebar.displaySidebar(true)
|
||||
},
|
||||
setLocale(locale) {
|
||||
this.$i18n.locale = locale
|
||||
//this.$router.push({
|
||||
// params: { lang: locale }
|
||||
//})
|
||||
//this.hideDropdown()
|
||||
},
|
||||
logout(){
|
||||
//console.log("DashboardNavbar.vue user logout() : ")
|
||||
this.$store.dispatch('logout')
|
||||
}
|
||||
logout(){
|
||||
this.$store.dispatch('logout')
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.$sidebar.showSidebar) {
|
||||
|
||||
@ -29,6 +29,7 @@ import { messages } from 'vee-validate/dist/locale/en.json';
|
||||
import VueQrcodeReader from "vue-qrcode-reader";
|
||||
import VueQrcode from "vue-qrcode";
|
||||
|
||||
import VueFlatPickr from 'vue-flatpickr-component';
|
||||
|
||||
import VueGoodTablePlugin from 'vue-good-table';
|
||||
// import the styles
|
||||
@ -54,6 +55,7 @@ export default {
|
||||
Vue.use(VueMoment);
|
||||
Vue.use(VueQrcodeReader);
|
||||
Vue.use(VueQrcode);
|
||||
Vue.use(VueFlatPickr);
|
||||
configure({
|
||||
classes: {
|
||||
valid: 'is-valid',
|
||||
|
||||
@ -2,7 +2,7 @@ import DashboardLayout from '@/views/Layout/DashboardLayout.vue'
|
||||
import AuthLayoutGDD from '@/views/Layout/AuthLayout_gdd.vue'
|
||||
import AuthLayout from '@/views/Layout/AuthLayout.vue'
|
||||
|
||||
import NotFound from '@/views/NotFoundPage.vue'
|
||||
// import NotFound from '@/views/NotFoundPage.vue'
|
||||
|
||||
|
||||
const routes = [
|
||||
@ -31,11 +31,11 @@ const routes = [
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
redirect: 'KontoOverview',
|
||||
redirect: 'overview',
|
||||
component: DashboardLayout,
|
||||
children: [
|
||||
{
|
||||
path: '/KontoOverview',
|
||||
path: '/overview',
|
||||
component: () => import('../views/KontoOverview.vue'),
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
@ -70,15 +70,6 @@ const routes = [
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
redirect: 'login',
|
||||
component: AuthLayout,
|
||||
children: [
|
||||
|
||||
{ path: '*', component: NotFound }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import router from '../routes/router.js'
|
||||
import loginAPI from '../apis/loginAPI'
|
||||
import communityAPI from '../apis/communityAPI'
|
||||
import axios from 'axios'
|
||||
//import CONFIG from '../config'
|
||||
|
||||
|
||||
export const store = new Vuex.Store({
|
||||
@ -25,7 +26,14 @@ export const store = new Vuex.Store({
|
||||
auto_sign: true
|
||||
},
|
||||
transactions: [],
|
||||
modals: false
|
||||
modals: false,
|
||||
optionAxios: {
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Credentials': 'true'
|
||||
}
|
||||
}
|
||||
},
|
||||
// Retrieve a state variable
|
||||
getters: {
|
||||
@ -59,20 +67,33 @@ export const store = new Vuex.Store({
|
||||
// Asyncronous actions - used for api calls
|
||||
actions: {
|
||||
login: async ({ dispatch, commit }, data) => {
|
||||
console.log('action: login')
|
||||
const result = await loginAPI.login(data.email,data.password)
|
||||
console.log('result',result)
|
||||
console.log('result.success',result.success)
|
||||
if( result.success ){
|
||||
commit('session_id', result.result.data.session_id)
|
||||
// console.log('action: login')
|
||||
|
||||
axios.post("http://localhost/login_api/unsecureLogin/",
|
||||
{"email": data.email, "password":data.password }).then((result) => {
|
||||
// console.log("store login result", result)
|
||||
|
||||
// const result = await loginAPI.login(data.email,data.password)
|
||||
// console.log('result.data.state',result.data.state)
|
||||
// console.log('result.data.session_id',result.data.session_id)
|
||||
|
||||
|
||||
if( result.data.state == "success"){
|
||||
commit('session_id', result.data.session_id)
|
||||
commit('email', data.email)
|
||||
$cookies.set('gdd_session_id', result.result.data.session_id);
|
||||
$cookies.set('gdd_session_id', result.data.session_id);
|
||||
$cookies.set('gdd_u', data.email);
|
||||
router.push('/KontoOverview')
|
||||
router.push('/overview')
|
||||
} else {
|
||||
// Register failed, we perform a logout
|
||||
// console.log('action login to logout start')
|
||||
dispatch('logout')
|
||||
}
|
||||
}
|
||||
}, (error) => {
|
||||
console.log(error);
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
passwordReset: async (data) => {
|
||||
console.log("<<<<<<<<<<< PASSWORT RESET TODO >>>>>>>>>>>", data.email)
|
||||
@ -81,16 +102,17 @@ export const store = new Vuex.Store({
|
||||
// http://localhost/transaction-creations/ajaxCreate
|
||||
},
|
||||
createUser: async ({ commit, dispatch }, data) => {
|
||||
console.log('action: createUser')
|
||||
// console.log('action: createUser')
|
||||
const result = await loginAPI.create(data.email,data.first_name,data.last_name,data.password)
|
||||
if( result.success ){
|
||||
commit('session_id', result.result.data.session_id)
|
||||
commit('email', data.email)
|
||||
$cookies.set('gdd_session_id', result.result.data.session_id);
|
||||
$cookies.set('gdd_u', data.email);
|
||||
router.push('/KontoOverview')
|
||||
router.push('/overview')
|
||||
} else {
|
||||
// Register failed, we perform a logout
|
||||
// console.log('action createUser to logout start')
|
||||
dispatch('logout')
|
||||
}
|
||||
},
|
||||
@ -112,7 +134,7 @@ export const store = new Vuex.Store({
|
||||
//console.log('action: ajaxCreate')
|
||||
state.ajaxCreateData.amount = (state.ajaxCreateData.amount)*10000
|
||||
axios.post("http://localhost/transaction-send-coins/ajaxCreate", state.ajaxCreateData).then((result) => {
|
||||
console.log("store ajaxCreate result", result)
|
||||
//console.log("store ajaxCreate result", result)
|
||||
|
||||
if( result.success ){
|
||||
// TODO
|
||||
@ -128,12 +150,18 @@ export const store = new Vuex.Store({
|
||||
// const result = await communityAPI.transactions(state.session_id)
|
||||
},
|
||||
accountBalance: async ({ commit, dispatch, state }) => {
|
||||
//console.log('action: accountBalance')
|
||||
const result = await communityAPI.balance(state.session_id)
|
||||
//console.log(result)
|
||||
// console.log('action: accountBalance')
|
||||
// console.log('action: dispatch', dispatch)
|
||||
// console.log('action: state.session_id', state.session_id)
|
||||
// console.log(" action: $cookies.get('gdd_session_id') ", $cookies.get("gdd_session_id") )
|
||||
// commit('session_id', $cookies.get("gdd_session_id"))
|
||||
// commit('email', $cookies.get("gdd_u"))
|
||||
const result = await communityAPI.balance($cookies.get("gdd_session_id"))
|
||||
// console.log("accountBalance result", result)
|
||||
if(result.success) {
|
||||
commit('user_balance', result.result.data.balance)
|
||||
} else {
|
||||
console.log('action accountBalance to logout start')
|
||||
dispatch('logout')
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@
|
||||
<b-row align-v="center" slot="header">
|
||||
<b-col>
|
||||
<h6 class="text-light text-uppercase ls-1 mb-1">Charts</h6>
|
||||
<h5 class="h3 text-white mb-0">Geschöpft</h5>
|
||||
<h5 class="h3 mb-0">Geschöpft</h5>
|
||||
</b-col>
|
||||
<b-col>
|
||||
<b-nav class="nav-pills justify-content-end">
|
||||
@ -226,7 +226,7 @@
|
||||
import AdminUserCreation from './AdminOverview/AdminUserCreation';
|
||||
import axios from 'axios';
|
||||
|
||||
|
||||
|
||||
export default {
|
||||
components: {
|
||||
LineChart,
|
||||
|
||||
@ -68,7 +68,7 @@
|
||||
<b-row align-v="center" slot="header">
|
||||
<b-col>
|
||||
<h6 class="text-light text-uppercase ls-1 mb-1">Overview</h6>
|
||||
<h5 class="h3 text-white mb-0">Sales value</h5>
|
||||
<h5 class="h3 mb-0">Sales value</h5>
|
||||
</b-col>
|
||||
<b-col>
|
||||
<b-nav class="nav-pills justify-content-end">
|
||||
|
||||
@ -6,41 +6,43 @@
|
||||
<gdd-sent />
|
||||
<hr>
|
||||
<gdd-table />
|
||||
|
||||
<hr>
|
||||
<div>
|
||||
<gdd-add-work />
|
||||
<gdd-add-work-2 />
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
<div>
|
||||
<gdd-add-work />
|
||||
</div>
|
||||
<br>
|
||||
-->
|
||||
<div>
|
||||
<gdd-work-table />
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</base-header>
|
||||
<hr>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import GddStatus from './KontoOverview/GddStatus.vue';
|
||||
import GddSent from './KontoOverview/GddSent.vue';
|
||||
import GddTable from './KontoOverview/GddTable.vue';
|
||||
import GddAddWork from './KontoOverview/GddAddWork.vue';
|
||||
// import GddWorkTable from './KontoOverview/GddWorkTable.vue';
|
||||
import GddStatus from './KontoOverview/GddStatus.vue';
|
||||
import GddSent from './KontoOverview/GddSent.vue';
|
||||
import GddTable from './KontoOverview/GddTable.vue';
|
||||
import GddAddWork2 from './KontoOverview/GddAddWork2.vue';
|
||||
import GddWorkTable from './KontoOverview/GddWorkTable.vue';
|
||||
|
||||
export default {
|
||||
name: "Overview",
|
||||
components: {
|
||||
GddStatus,
|
||||
GddSent,
|
||||
GddTable,
|
||||
GddAddWork
|
||||
//GddWorkTable
|
||||
GddStatus,
|
||||
GddSent,
|
||||
GddTable,
|
||||
GddAddWork2,
|
||||
GddWorkTable
|
||||
},
|
||||
created() {
|
||||
this.$store.dispatch('accountBalance')
|
||||
},
|
||||
this.$store.dispatch('accountBalance', $cookies.get("gdd_session_id"))
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@ -70,6 +70,15 @@
|
||||
<base-input label="Beitrag">
|
||||
<textarea class="form-control form-control-lg" rows="3" v-model="form.text" ></textarea>
|
||||
</base-input>
|
||||
<b-row class="form-group">
|
||||
<label class="col-md-2 col-form-label form-control-label form-control-lg">Tätigkeit</label>
|
||||
<b-col md="8">
|
||||
<base-input placeholder="Tätigkeit" v-model="form.location" class="form-control-lg"></base-input>
|
||||
</b-col>
|
||||
<b-col md="2">
|
||||
<base-input placeholder="Stunden" v-model="form.location" class="form-control-lg"></base-input>
|
||||
</b-col>
|
||||
</b-row>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
240
frontend/src/views/KontoOverview/GddAddWork2.vue
Normal file
240
frontend/src/views/KontoOverview/GddAddWork2.vue
Normal file
@ -0,0 +1,240 @@
|
||||
<template>
|
||||
<div>
|
||||
<b-tabs content-class="mt-3" fill>
|
||||
<b-tab :title="names.thisMonth" active>
|
||||
|
||||
<b-row>
|
||||
<b-col cols="3">
|
||||
|
||||
<base-input label="Arbeitstunden" >
|
||||
<b-form-input type="number" placeholder="23" />
|
||||
</base-input>
|
||||
<base-input label="Datum / Zeitraum" >
|
||||
<flat-pickr class="form-control" v-model="date" :config="config"></flat-pickr>
|
||||
</base-input>
|
||||
</b-col>
|
||||
<b-col cols="9">
|
||||
<base-input label="Arbeitsreport">
|
||||
<textarea class="form-control" rows="5" @focus="textFocus"></textarea>
|
||||
</base-input>
|
||||
</b-col>
|
||||
|
||||
</b-row>
|
||||
<b-row>
|
||||
<b-col><button class="btn btn-info text-right" @click.prevent="newWorkForm">weiteren Report hinzufügen</button></b-col>
|
||||
<b-col>
|
||||
<div class="text-right">
|
||||
<button class="btn btn-info text-right" @click.prevent="submitForm2">save new Report</button>
|
||||
</div>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-tab>
|
||||
|
||||
|
||||
|
||||
<b-tab :title="names.lastMonth">
|
||||
<b-row>
|
||||
<b-col cols="3">
|
||||
|
||||
<base-input label="Arbeitstunden" >
|
||||
<b-form-input type="number" placeholder="23" />
|
||||
</base-input>
|
||||
<base-input label="Datum / Zeitraum" >
|
||||
<flat-pickr class="form-control" v-model="date" :config="lastConfig"></flat-pickr>
|
||||
</base-input>
|
||||
</b-col>
|
||||
<b-col cols="9">
|
||||
<base-input label="Arbeitsreport">
|
||||
<textarea class="form-control" rows="5" @focus="textFocus"></textarea>
|
||||
</base-input>
|
||||
</b-col>
|
||||
|
||||
</b-row>
|
||||
<b-row>
|
||||
<b-col><button class="btn btn-warning text-right" @click.prevent="newWorkForm">+ weiteren Report hinzufügen</button></b-col>
|
||||
<b-col>
|
||||
<div class="text-right">
|
||||
<button class="btn btn-info text-right" @click.prevent="submitForm2">save new Report</button>
|
||||
</div>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<hr>
|
||||
<pre>Selected date is - {{date}}</pre>
|
||||
<p>{{days.lastMonth}} Days in {{names.lastMonth}} </p>
|
||||
|
||||
<p>Du hast diesen Monat
|
||||
{{stundenSumme>0 ? 'schon ' : 'noch keine' }}
|
||||
{{stundenSumme>0 ? ''+ stundenSumme : '' }}
|
||||
Stunden eingetragen</p>
|
||||
|
||||
</b-tab>
|
||||
|
||||
|
||||
|
||||
|
||||
<b-tab :title="names.beforLastMonth">
|
||||
|
||||
<b-row>
|
||||
<b-col cols="3">
|
||||
|
||||
<base-input label="Arbeitstunden" >
|
||||
<b-form-input type="number" placeholder="23" />
|
||||
</base-input>
|
||||
<base-input label="Datum / Zeitraum" >
|
||||
<flat-pickr class="form-control" v-model="date" :config="beforLastConfig"></flat-pickr>
|
||||
</base-input>
|
||||
</b-col>
|
||||
<b-col cols="9">
|
||||
<base-input label="Arbeitsreport">
|
||||
<textarea class="form-control" rows="5" @focus="textFocus"></textarea>
|
||||
</base-input>
|
||||
</b-col>
|
||||
|
||||
</b-row>
|
||||
<b-row>
|
||||
<b-col><button class="btn btn-warning text-right" @click.prevent="newWorkForm">+ weiteren Report hinzufügen</button></b-col>
|
||||
<b-col>
|
||||
<div class="text-right">
|
||||
<button class="btn btn-info text-right" @click.prevent="submitForm3">save new Report</button>
|
||||
</div>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<hr>
|
||||
<pre>Selected date is - {{date}}</pre>
|
||||
<p>{{days.beforLastMonth}} Days in {{names.beforLastMonth}} </p>
|
||||
<p>Du hast noch keine Einträge </p>
|
||||
|
||||
|
||||
</b-tab>
|
||||
|
||||
</b-tabs>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import flatPickr from "vue-flatpickr-component"
|
||||
import "flatpickr/dist/flatpickr.css"
|
||||
|
||||
export default {
|
||||
name: 'GDDAddWork2',
|
||||
components: {flatPickr},
|
||||
data(){
|
||||
return {
|
||||
date: null,
|
||||
config: {
|
||||
altInput: false,
|
||||
dateFormat: "d-m-Y",
|
||||
minDate: this.$moment().startOf('month').format("DD.MM.YYYY"),
|
||||
maxDate: this.$moment().format("DD.MM.YYYY"),
|
||||
mode: 'range'
|
||||
|
||||
},
|
||||
lastConfig:{
|
||||
altInput: false,
|
||||
dateFormat: "d-m-Y",
|
||||
minDate: this.$moment().month(this.$moment().month()-1).startOf('month').format("DD.MM.YYYY"),
|
||||
maxDate: this.$moment().month(this.$moment().month()-1).endOf('month').format("DD.MM.YYYY"),
|
||||
mode: 'range'
|
||||
},
|
||||
beforLastConfig:{
|
||||
altInput: false,
|
||||
dateFormat: "d-m-Y",
|
||||
minDate: this.$moment().month(this.$moment().month()-2).startOf('month').format("DD.MM.YYYY"),
|
||||
maxDate: this.$moment().month(this.$moment().month()-2).endOf('month').format("DD.MM.YYYY"),
|
||||
mode: 'range'
|
||||
},
|
||||
index: 0,
|
||||
form:[],
|
||||
stundenSumme: 0,
|
||||
messages: [],
|
||||
submitted:false,
|
||||
days: {
|
||||
thisMonth: this.$moment().month(this.$moment().month()).daysInMonth(),
|
||||
lastMonth: this.$moment().month(this.$moment().month()-1).daysInMonth(),
|
||||
beforLastMonth: this.$moment().month(this.$moment().month()-2).daysInMonth(),
|
||||
},
|
||||
names: {
|
||||
thisMonth: this.$moment().month(this.$moment().month()).format('MMMM'),
|
||||
lastMonth: this.$moment().month(this.$moment().month()-1).format('MMMM'),
|
||||
beforLastMonth: this.$moment().month(this.$moment().month()-2).format('MMMM')
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
watch: {
|
||||
$form: function(){
|
||||
stunden(this.form)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTR(m,i){
|
||||
console.log(m+"-"+i)
|
||||
},
|
||||
stunden(hour, i, mon) {
|
||||
let n = 0
|
||||
console.log("stunden(form)=>", hour)
|
||||
console.log("stunden(i)=>", i)
|
||||
console.log("stunden(mon)=>", mon)
|
||||
|
||||
|
||||
console.log("this.stundenSumme start=> ", this.stundenSumme)
|
||||
this.stundenSumme = 0
|
||||
console.log("arr.length => ", this.form.length)
|
||||
for (n; n < this.form.length; n++){
|
||||
console.log(">arr[n]=> ",this.form[n])
|
||||
if (this.form[n] > 0) {
|
||||
this.stundenSumme += parseInt(this.form[n]) ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
this.messages.push({
|
||||
id: this.index,
|
||||
MonthsNumber: mon,
|
||||
DaysNumber: i,
|
||||
HoursNumber: hour,
|
||||
DestinationText: '',
|
||||
TextDecoded: ''
|
||||
});
|
||||
this.index++
|
||||
console.log("this.stundenSumme ende=> ", this.stundenSumme)
|
||||
},
|
||||
addNewMessage: function(){
|
||||
this.messages.push({
|
||||
DaysNumber: '',
|
||||
TextDecoded: ''
|
||||
});
|
||||
|
||||
},
|
||||
deleteNewMessage: function(event) {
|
||||
console.log("deleteNewMessage:event) => ", event)
|
||||
//console.log("deleteNewMessage:this.events.splice(this.event) => ", this.events.splice(this.event))
|
||||
this.form.splice(event, null);
|
||||
this.messages.splice(index, 1);
|
||||
this.index--
|
||||
},
|
||||
submitForm: function(e) {
|
||||
console.log(this.messages);
|
||||
|
||||
this.messages = [{ DaysNumber: '', TextDecoded: '' }];
|
||||
this.submitted = true;
|
||||
},
|
||||
submitForm2() {
|
||||
console.log("submitForm2 TODO")
|
||||
},
|
||||
submitForm3() {
|
||||
console.log("submitForm3 TODO")
|
||||
},
|
||||
textFocus(){
|
||||
console.log("textFocus TODO")
|
||||
},
|
||||
newWorkForm(){
|
||||
console.log("newWorkForm TODO")
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -13,12 +13,10 @@
|
||||
</b-row>
|
||||
<b-row>
|
||||
<qrcode-stream @decode="onDecode" @detect="onDetect" ></qrcode-stream>
|
||||
<b-alert show variant="secondary">
|
||||
|
||||
<b-alert show variant="secondary">
|
||||
<span class="alert-text"><strong>QR Code Scanner</strong> - Scanne den QR Code deines Partners</span>
|
||||
</b-alert>
|
||||
<b-alert show variant="warning" >
|
||||
|
||||
<b-alert show variant="warning" >
|
||||
<span class="alert-text" @click="scan=false"><strong>abrechen!</strong></span>
|
||||
</b-alert>
|
||||
</b-row>
|
||||
@ -38,10 +36,8 @@
|
||||
size="lg"
|
||||
class="mb-3"
|
||||
>
|
||||
<b-input-group-prepend>
|
||||
|
||||
<img src="img/icons/gradido/qr-scan-pure.png" width="80" height="auto" @click="scan=true"/>
|
||||
|
||||
<b-input-group-prepend>
|
||||
<img src="img/icons/gradido/qr-scan-pure.png" width="80" height="auto" @click="scan=true"/>
|
||||
</b-input-group-prepend>
|
||||
<b-form-input
|
||||
id="input-1"
|
||||
@ -75,17 +71,13 @@
|
||||
</b-form-input>
|
||||
|
||||
<b-input-group-prepend>
|
||||
|
||||
<div class="h1">GDD</div>
|
||||
|
||||
</b-input-group-prepend>
|
||||
|
||||
</b-input-group>
|
||||
<b-input-group>
|
||||
<b-input-group-prepend>
|
||||
|
||||
<b-icon icon="chat-right-text" class="display-1"></b-icon>
|
||||
|
||||
<b-input-group-prepend>
|
||||
<b-icon icon="chat-right-text" class="display-1"></b-icon>
|
||||
</b-input-group-prepend>
|
||||
<b-form-textarea v-model="form.memo"></b-form-textarea>
|
||||
</b-input-group>
|
||||
@ -97,7 +89,6 @@
|
||||
<br>
|
||||
</b-form>
|
||||
</validation-observer>
|
||||
|
||||
</b-card>
|
||||
</b-collapse>
|
||||
</b-col>
|
||||
@ -133,14 +124,13 @@ export default {
|
||||
async onDecode (decodedString) {
|
||||
console.log('onDecode JSON.parse(decodedString)',JSON.parse(decodedString) )
|
||||
const arr = JSON.parse(decodedString)
|
||||
console.log('arr',arr[0].email )
|
||||
// console.log('arr',arr[0].email )
|
||||
this.modal.h4 = 'Scan erfolgreich'
|
||||
this.modal.p = arr
|
||||
this.form.email = arr[0].email
|
||||
this.form.amount1 = arr[0].amount
|
||||
console.log('arr mail',arr.email)
|
||||
console.log('arr mail',arr.amount)
|
||||
|
||||
// console.log('arr mail',arr.email)
|
||||
// console.log('arr mail',arr.amount)
|
||||
this.modals2 = true
|
||||
},
|
||||
async onDetect (promise) {
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
<script>
|
||||
import axios from 'axios';
|
||||
|
||||
|
||||
export default {
|
||||
name: 'GddTable',
|
||||
data(){
|
||||
@ -57,13 +57,12 @@ export default {
|
||||
axios.get("http://localhost/state-balances/ajaxListTransactions/"+ this.$store.state.session_id).then((result) => {
|
||||
//console.log("result",result)
|
||||
//console.log("result.state",result.data.state)
|
||||
//
|
||||
//console.log("result.data.state == 'success'",result.data.state == "success")
|
||||
|
||||
//console.log("result.count",result.data.count)
|
||||
// console.log("result.gdtSum",result.data.gdtSum)
|
||||
console.log("result.transactions",typeof(result.data.transactions))
|
||||
//commit('transactions', result.data.transactions)
|
||||
//console.log("result.count",result.data.count)
|
||||
//console.log("result.gdtSum",result.data.gdtSum)
|
||||
//console.log("result.transactions",typeof(result.data.transactions))
|
||||
//commit('transactions', result.data.transactions)
|
||||
this.$store.state.user.balance_gdt = result.data.gdtSum
|
||||
this.items = result.data.transactions
|
||||
this.count = result.data.count
|
||||
@ -76,7 +75,7 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
filteredItems(a) {
|
||||
console.log("filteredItems date",a.items)
|
||||
// console.log("filteredItems date",a.items)
|
||||
return a.items
|
||||
|
||||
}
|
||||
|
||||
@ -1,20 +1,18 @@
|
||||
<template>
|
||||
<div>
|
||||
<b-list-group >
|
||||
<b-list-group-item v-for="item in items" :key="item.id">
|
||||
<div class="d-flex w-100 justify-content-between" @click="toogle(item)" >
|
||||
<b-icon v-if="item.status == 'submitted'" icon="clock-history" class="m-1" font-scale="2" style="color:orange"></b-icon>
|
||||
<b-icon v-else icon="check2-all" class="m-1" font-scale="2" style="color:green" ></b-icon>
|
||||
<h2 class="text-muted"><small>{{item.datel}}</small> - {{item.text}}</h2>
|
||||
</div>
|
||||
</b-list-group-item>
|
||||
</b-list-group>
|
||||
<b-list-group >
|
||||
<b-list-group-item v-for="item in items" :key="item.id">
|
||||
<div class="d-flex w-100 justify-content-between" @click="toogle(item)" >
|
||||
<b-icon v-if="item.status == 'submitted'" icon="clock-history" class="m-1" font-scale="2" style="color:orange"></b-icon>
|
||||
<b-icon v-else icon="check2-all" class="m-1" font-scale="2" style="color:green" ></b-icon>
|
||||
<h2 class="text-muted"><small>{{item.datel}}</small> - {{item.text}}</h2>
|
||||
</div>
|
||||
</b-list-group-item>
|
||||
</b-list-group>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
export default {
|
||||
name: 'GddWorkTable',
|
||||
data(){
|
||||
@ -22,8 +20,8 @@ export default {
|
||||
form: [],
|
||||
items: [
|
||||
{ id: 1, text: 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '12.12.2020 14:04', status: 'submitted' },
|
||||
{ id: 2, text: 'Larsen Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '22.06.2020 22:23', status: 'submitted' },
|
||||
{ id: 3, text: 'Geneva Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '15.04.2020 12:55', status: 'confirmed' },
|
||||
{ id: 2, text: 'Larsen Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '22.06.2020 22:23', status: 'submitted' },
|
||||
{ id: 3, text: 'Geneva Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '15.04.2020 12:55', status: 'confirmed' },
|
||||
{ id: 4, text: 'Community Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '10.03.2020 18:20', status: 'confirmed'}
|
||||
]
|
||||
};
|
||||
@ -37,10 +35,7 @@ export default {
|
||||
},
|
||||
toogle(item) {
|
||||
const temp = '<b-collapse visible v-bind:id="item.id">xxx <small class="text-muted">porta</small></b-collapse>'
|
||||
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
<b-col xl="5" lg="6" md="6" class="px-5">
|
||||
<h1 class="text-light">Landing Gradido</h1>
|
||||
<br>
|
||||
<router-link to="/KontoOverview" class="font-weight-bold text-white mt-5"> LoginUser</router-link>
|
||||
<router-link to="/overview" class="font-weight-bold text-white mt-5"> LoginUser</router-link>
|
||||
<br><br>
|
||||
<router-link to="/AdminOverview" class="font-weight-bold text-white mt-5"> Login Admin</router-link>
|
||||
<br><br>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<sidebar-item
|
||||
:link="{
|
||||
name: 'Kontoübersicht',
|
||||
path: 'KontoOverview',
|
||||
path: '/overview',
|
||||
icon: 'ni ni-tv-2 text-primary',
|
||||
}"
|
||||
>
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
expand="lg"
|
||||
>
|
||||
<div slot="brand" class="navbar-wrapper">
|
||||
<b-navbar-brand to="/">
|
||||
<b-navbar-brand to="/overview">
|
||||
<img src="img/brand/white.png">
|
||||
</b-navbar-brand>
|
||||
</div>
|
||||
@ -17,7 +17,7 @@
|
||||
<div class="navbar-collapse-header">
|
||||
<b-row>
|
||||
<b-col cols="6" class="collapse-brand">
|
||||
<router-link to="/">
|
||||
<router-link to="/overview">
|
||||
<img src="img/brand/green.png">
|
||||
</router-link>
|
||||
</b-col>
|
||||
|
||||
@ -13,17 +13,17 @@
|
||||
</div>
|
||||
</b-col>
|
||||
<b-col xl="6" class="col-xl-6">
|
||||
<b-nav class="nav-footer justify-content-center justify-content-xl-end">
|
||||
<b-nav-item ref="https://www.creative-tim.com" target="_blank">
|
||||
<b-nav class="nav-footer justify-content-center justify-content-lg-end">
|
||||
<b-nav-item ref="https://gradido.net/" target="_blank">
|
||||
Gradido
|
||||
</b-nav-item>
|
||||
<b-nav-item href="https://www.creative-tim.com/presentation" target="_blank">
|
||||
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||
{{$t('imprint')}}
|
||||
</b-nav-item>
|
||||
<b-nav-item href="http://blog.creative-tim.com" target="_blank">
|
||||
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||
{{$t('privacy_policy')}}
|
||||
</b-nav-item>
|
||||
<b-nav-item href="https://www.creative-tim.com/license" target="_blank">
|
||||
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||
{{$t('license')}}
|
||||
</b-nav-item>
|
||||
</b-nav>
|
||||
@ -41,25 +41,10 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { BaseNav } from '@/components';
|
||||
import { ZoomCenterTransition } from 'vue2-transitions';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
//BaseNav,
|
||||
//ZoomCenterTransition
|
||||
},
|
||||
props: {
|
||||
backgroundColor: {
|
||||
type: String,
|
||||
default: 'black'
|
||||
}
|
||||
},
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
showMenu: false,
|
||||
menuTransitionDuration: 250,
|
||||
pageTransitionDuration: 200,
|
||||
year: new Date().getFullYear(),
|
||||
pageClass: 'login-page'
|
||||
};
|
||||
@ -76,80 +61,10 @@
|
||||
// params: { lang: locale }
|
||||
//})
|
||||
//this.hideDropdown()
|
||||
},
|
||||
toggleNavbar() {
|
||||
document.body.classList.toggle('nav-open');
|
||||
this.showMenu = !this.showMenu;
|
||||
},
|
||||
closeMenu() {
|
||||
document.body.classList.remove('nav-open');
|
||||
this.showMenu = false;
|
||||
},
|
||||
setBackgroundColor() {
|
||||
document.body.classList.add('bg-default');
|
||||
},
|
||||
removeBackgroundColor() {
|
||||
document.body.classList.remove('bg-default');
|
||||
},
|
||||
updateBackground() {
|
||||
if (!this.$route.meta.noBodyBackground) {
|
||||
this.setBackgroundColor();
|
||||
} else {
|
||||
this.removeBackgroundColor()
|
||||
}
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.removeBackgroundColor();
|
||||
},
|
||||
beforeRouteUpdate(to, from, next) {
|
||||
// Close the mobile menu first then transition to next page
|
||||
if (this.showMenu) {
|
||||
this.closeMenu();
|
||||
setTimeout(() => {
|
||||
next();
|
||||
}, this.menuTransitionDuration);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
$route: {
|
||||
immediate: true,
|
||||
handler: function () {
|
||||
this.updateBackground()
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
$scaleSize: 0.8;
|
||||
@keyframes zoomIn8 {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale3d($scaleSize, $scaleSize, $scaleSize);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.main-content .zoomIn {
|
||||
animation-name: zoomIn8;
|
||||
}
|
||||
|
||||
@keyframes zoomOut8 {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale3d($scaleSize, $scaleSize, $scaleSize);
|
||||
}
|
||||
}
|
||||
|
||||
.main-content .zoomOut {
|
||||
animation-name: zoomOut8;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<side-bar>
|
||||
<template slot="links" >
|
||||
|
||||
<b-nav-item href="#!" to="/KontoOverview">
|
||||
<b-nav-item href="#!" to="/overview">
|
||||
|
||||
<b-nav-text class="p-0 text-lg text-muted">Senden</b-nav-text>
|
||||
</b-nav-item>
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
import DashboardNavbar from './DashboardNavbar.vue';
|
||||
import ContentFooter from './ContentFooter.vue';
|
||||
import DashboardContent from './Content.vue';
|
||||
// import DashboardContent from './Content.vue';
|
||||
import { FadeTransition } from 'vue2-transitions';
|
||||
|
||||
export default {
|
||||
@ -74,11 +74,7 @@
|
||||
if (isWindows) {
|
||||
initScrollbar('sidenav');
|
||||
}
|
||||
},
|
||||
logout(){
|
||||
//console.log("DashboardLayout.vue user logout() : ")
|
||||
this.$store.dispatch('logout')
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initScrollbar()
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
class="navbar-top navbar-expand"
|
||||
:class="{'navbar-dark': type === 'default'}"
|
||||
>
|
||||
<a href="#" aria-current="page" class="h4 mb-0 text-white text-uppercase d-none d-lg-inline-block active router-link-active"> {{$route.name}} </a>
|
||||
<a href="#" aria-current="page" class="h4 mb-0 text-uppercase d-none d-lg-inline-block active router-link-active">
|
||||
{{$route.name}}
|
||||
</a>
|
||||
<!-- Navbar links -->
|
||||
<b-navbar-nav class="align-items-center ml-md-auto">
|
||||
<!-- This item dont have <b-nav-item> because item have data-action/data-target on tag <a>, wich we cant add -->
|
||||
@ -15,32 +17,20 @@
|
||||
</li>
|
||||
</b-navbar-nav>
|
||||
<b-navbar-nav class="align-items-center ml-auto ml-md-0">
|
||||
<!-- <b-form class="navbar-search form-inline mr-sm-3"
|
||||
:class="{'navbar-search-dark': type === 'default', 'navbar-search-light': type === 'light'}"
|
||||
id="navbar-search-main">
|
||||
<b-form-group class="mb-0">
|
||||
<b-input-group class="input-group-alternative input-group-merge">
|
||||
<b-form-input placeholder="Search" type="text"> </b-form-input>
|
||||
|
||||
<div class="input-group-append">
|
||||
<span class="input-group-text"><i class="fas fa-search"></i></span>
|
||||
</div>
|
||||
</b-input-group>
|
||||
</b-form-group>
|
||||
</b-form> -->
|
||||
<base-dropdown menu-on-right
|
||||
class="nav-item"
|
||||
tag="li"
|
||||
title-tag="a"
|
||||
title-classes="nav-link pr-0">
|
||||
<a href="#" class="nav-link pr-0" @click.prevent slot="title-container">
|
||||
<a href="#" class="pr-1" @click.prevent slot="title-container">
|
||||
<b-media no-body class="align-items-center">
|
||||
|
||||
<span class="avatar avatar-sm rounded-circle">
|
||||
<vue-qrcode :value="$store.state.email" />
|
||||
</span>
|
||||
|
||||
<b-media-body class="ml-2 d-none d-lg-block">
|
||||
<span class="mb-0 text-lg font-weight-bold">{{this.$store.state.email}}</span>
|
||||
<span class="avatar avatar-sm rounded-circle">
|
||||
<vue-qrcode :value="$store.state.email" />
|
||||
</span>
|
||||
<span class="mb-0 text-lg font-weight-bold">{{ $store.state.email }}</span>
|
||||
</b-media-body>
|
||||
</b-media>
|
||||
</a>
|
||||
@ -50,7 +40,7 @@
|
||||
<b-dropdown-header class="noti-title">
|
||||
<h6 class="text-overflow m-0"> {{ $t('welcome') }}</h6>
|
||||
</b-dropdown-header>
|
||||
<b-dropdown-item href="#!" to="/KontoOverview">
|
||||
<b-dropdown-item href="#!" to="/overview">
|
||||
<i class="ni ni-single-02"></i>
|
||||
<span>{{ $t('site.overview.account_overview')}}</span>
|
||||
</b-dropdown-item>
|
||||
@ -78,8 +68,8 @@
|
||||
</base-nav>
|
||||
</template>
|
||||
<script>
|
||||
import { CollapseTransition } from 'vue2-transitions';
|
||||
import { BaseNav } from '@/components';
|
||||
import { CollapseTransition } from 'vue2-transitions'
|
||||
import { BaseNav } from '@/components'
|
||||
import VueQrcode from 'vue-qrcode'
|
||||
|
||||
export default {
|
||||
|
||||
@ -348,7 +348,7 @@
|
||||
<div class="pr-md-5">
|
||||
<h1 class="text-light"> {{ $t('site.landing1.explore') }}</h1>
|
||||
<p class="text-light">{{ $t('site.landing1.text') }}</p>
|
||||
<router-link to="/user" class="font-weight-bold text-warning mt-5">{{ $t('site.landing1.link') }}</router-link>
|
||||
<router-link to="/overview" class="font-weight-bold text-warning mt-5">{{ $t('site.landing1.link') }}</router-link>
|
||||
</div>
|
||||
</b-col>
|
||||
</b-row>
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
<div class="text-center mb-7">
|
||||
<b-row class="justify-content-center">
|
||||
<b-col xl="5" lg="6" md="8" class="px-5">
|
||||
<h1 class="text-white">Gradido Wallet</h1>
|
||||
<p class="text-lead text-white">{{ $t('site.login.community')}}</p>
|
||||
<h1>Gradido Wallet</h1>
|
||||
<p class="text-lead">{{ $t('site.login.community')}}</p>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</div>
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
<div class="header-body text-center mb-7">
|
||||
<b-row class="justify-content-center">
|
||||
<b-col xl="5" lg="6" md="8" class="px-5">
|
||||
<h1 class="text-white">{{ $t('site.password.title')}}</h1>
|
||||
<p class="text-lead text-white">{{ $t('site.password.subtitle')}}</p>
|
||||
<h1 >{{ $t('site.password.title')}}</h1>
|
||||
<p class="text-lead">{{ $t('site.password.subtitle')}}</p>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</div>
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
<div class="header-body text-center mb-7">
|
||||
<b-row class="justify-content-center">
|
||||
<b-col xl="5" lg="6" md="8" class="px-5">
|
||||
<h1 class="text-white">{{ $t('site.signup.title')}}</h1>
|
||||
<p class="text-lead text-white">{{ $t('site.signup.subtitle')}}</p>
|
||||
<h1 >{{ $t('site.signup.title')}}</h1>
|
||||
<p class="text-lead">{{ $t('site.signup.subtitle')}}</p>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user