mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Merge pull request #71 from gradido/login-fail-message
Login fail message
This commit is contained in:
commit
6c9ec810f3
@ -7795,19 +7795,19 @@ function oninit(vnode) {
|
||||
inited = true;
|
||||
}
|
||||
}
|
||||
/*
|
||||
//$class = 'grd-negative-currency';
|
||||
$class = '';
|
||||
//$title = '' . $number;
|
||||
|
||||
if($number < 0) {
|
||||
$class = 'grd-negative-currency';
|
||||
}
|
||||
|
||||
?>
|
||||
<span class="<?php echo $class;?>">
|
||||
<?= $this->Number->format(intval($number) / 10000.0, ['precision' => 2]) . ' GDD';?>
|
||||
</span>
|
||||
/*
|
||||
//$class = 'grd-negative-currency';
|
||||
$class = '';
|
||||
//$title = '' . $number;
|
||||
|
||||
if($number < 0) {
|
||||
$class = 'grd-negative-currency';
|
||||
}
|
||||
|
||||
?>
|
||||
<span class="<?php echo $class;?>">
|
||||
<?= $this->Number->format(intval($number) / 10000.0, ['precision' => 2]) . ' GDD';?>
|
||||
</span>
|
||||
*/
|
||||
|
||||
|
||||
@ -7841,10 +7841,10 @@ var _tippy = _interopRequireDefault(require("tippy.js"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
//import { createPopper } from '@popperjs/core';
|
||||
//import 'tippy.js/dist/tippy.css';
|
||||
@ -7858,8 +7858,8 @@ function Tooltip(object) {
|
||||
// Pass the button, the tooltip, and some options, and Popper will do the
|
||||
// magic positioning for you:
|
||||
|
||||
/*createPopper(vnode.dom, tooltip, {
|
||||
placement: 'right',
|
||||
/*createPopper(vnode.dom, tooltip, {
|
||||
placement: 'right',
|
||||
});*/
|
||||
(0, _tippy["default"])(vnode.dom, {
|
||||
content: vnode.attrs.accountState.getTooltipText(),
|
||||
@ -7869,9 +7869,9 @@ function Tooltip(object) {
|
||||
}); //*/
|
||||
// bootstrap tooltip
|
||||
|
||||
/*$(vnode.dom).tooltip({
|
||||
placement:'right',
|
||||
title: vnode.attrs.accountState.getTooltipText()
|
||||
/*$(vnode.dom).tooltip({
|
||||
placement:'right',
|
||||
title: vnode.attrs.accountState.getTooltipText()
|
||||
})*/
|
||||
},
|
||||
onremove: function onremove() {// Cleanup 3rd party lib on removal
|
||||
@ -7934,15 +7934,15 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||||
|
||||
/*
|
||||
__('account created');
|
||||
__('account not on login-server');
|
||||
__('email activated');
|
||||
__('account copied to community');
|
||||
__('email not activated');
|
||||
__('account multiple times on login-server');
|
||||
__('account not on community server');
|
||||
__('no keys');
|
||||
/*
|
||||
__('account created');
|
||||
__('account not on login-server');
|
||||
__('email activated');
|
||||
__('account copied to community');
|
||||
__('email not activated');
|
||||
__('account multiple times on login-server');
|
||||
__('account not on community server');
|
||||
__('no keys');
|
||||
*/
|
||||
var AccountState = /*#__PURE__*/function () {
|
||||
function AccountState(stateName) {
|
||||
@ -8051,42 +8051,42 @@ Object.defineProperty(exports, "__esModule", {
|
||||
});
|
||||
exports["default"] = void 0;
|
||||
|
||||
/*
|
||||
*
|
||||
__('account created');
|
||||
__('account not on login-server');
|
||||
__('email activated');
|
||||
__('account copied to community');
|
||||
__('email not activated');
|
||||
__('account multiple times on login-server');
|
||||
__('account not on community server');
|
||||
__('no keys');
|
||||
/*
|
||||
*
|
||||
__('account created');
|
||||
__('account not on login-server');
|
||||
__('email activated');
|
||||
__('account copied to community');
|
||||
__('email not activated');
|
||||
__('account multiple times on login-server');
|
||||
__('account not on community server');
|
||||
__('no keys');
|
||||
*/
|
||||
|
||||
/*
|
||||
$state = 'account created';
|
||||
$color = 'secondary';
|
||||
|
||||
$state = 'account not on login-server';
|
||||
$color = 'danger';
|
||||
|
||||
$state = 'email activated';
|
||||
$color = 'primary';
|
||||
|
||||
$state = 'account copied to community';
|
||||
$color = 'success';
|
||||
|
||||
$state = 'email not activated';
|
||||
$color = 'warning';
|
||||
|
||||
$state = 'account multiple times on login-server';
|
||||
$color = 'danger';
|
||||
|
||||
$state = 'account not on community server';
|
||||
$color = 'secondary';
|
||||
|
||||
$state = 'no keys';
|
||||
$color = 'warning';
|
||||
/*
|
||||
$state = 'account created';
|
||||
$color = 'secondary';
|
||||
|
||||
$state = 'account not on login-server';
|
||||
$color = 'danger';
|
||||
|
||||
$state = 'email activated';
|
||||
$color = 'primary';
|
||||
|
||||
$state = 'account copied to community';
|
||||
$color = 'success';
|
||||
|
||||
$state = 'email not activated';
|
||||
$color = 'warning';
|
||||
|
||||
$state = 'account multiple times on login-server';
|
||||
$color = 'danger';
|
||||
|
||||
$state = 'account not on community server';
|
||||
$color = 'secondary';
|
||||
|
||||
$state = 'no keys';
|
||||
$color = 'warning';
|
||||
*/
|
||||
var _default = {
|
||||
ACCOUNT_STATES: {
|
||||
@ -8248,26 +8248,26 @@ var _AccountState = _interopRequireDefault(require("../model/AccountState"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* <?php if(isset($finalUserEntrys) && count($finalUserEntrys) > 0) : ?>
|
||||
userTable
|
||||
<?php elseif(isset($finalUserEntrys)) : ?>
|
||||
<div class="grid-body py-3">
|
||||
<p class="grid-header"><?= __('Keine Benutzer gefunden') ?></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
/*
|
||||
* <?php if(isset($finalUserEntrys) && count($finalUserEntrys) > 0) : ?>
|
||||
userTable
|
||||
<?php elseif(isset($finalUserEntrys)) : ?>
|
||||
<div class="grid-body py-3">
|
||||
<p class="grid-header"><?= __('Keine Benutzer gefunden') ?></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
*/
|
||||
|
||||
/*
|
||||
<div class="tippy-popper">
|
||||
<div class="tippy-tooltip" data-placement="top">
|
||||
<div class="tippy-backdrop"></div> <!-- animateFill: true -->
|
||||
<div class="tippy-arrow"></div> <!-- arrow: true -->
|
||||
<div class="tippy-content">
|
||||
My content
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
/*
|
||||
<div class="tippy-popper">
|
||||
<div class="tippy-tooltip" data-placement="top">
|
||||
<div class="tippy-backdrop"></div> <!-- animateFill: true -->
|
||||
<div class="tippy-arrow"></div> <!-- arrow: true -->
|
||||
<div class="tippy-content">
|
||||
My content
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
*/
|
||||
function view(vnode) {
|
||||
if (g_users === undefined) {
|
||||
@ -8277,11 +8277,11 @@ function view(vnode) {
|
||||
return (0, _mithril["default"])('', [(0, _mithril["default"])('.grid-body.py-3', (0, _mithril["default"])('p.grid-header', window.texte.USER_FOUND)), (0, _mithril["default"])('.table-responsive', (0, _mithril["default"])(_userTable["default"], {
|
||||
users: g_users
|
||||
}))
|
||||
/*m('.tippy-popper',
|
||||
m('.tippy-tooltip', {'data-placement': 'top'}, [
|
||||
m('.tippy-backdop'),
|
||||
m('.tippy-arrow'),
|
||||
m('.tippy-content', acc.getTooltip())
|
||||
/*m('.tippy-popper',
|
||||
m('.tippy-tooltip', {'data-placement': 'top'}, [
|
||||
m('.tippy-backdop'),
|
||||
m('.tippy-arrow'),
|
||||
m('.tippy-content', acc.getTooltip())
|
||||
]))*/
|
||||
]);
|
||||
return (0, _mithril["default"])(_userTable["default"], {
|
||||
@ -8311,12 +8311,12 @@ var _dialog = _interopRequireDefault(require("../../../lib/dialog"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 20.03.20
|
||||
*
|
||||
* @brief: Object for buttons with start an ajax request
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 20.03.20
|
||||
*
|
||||
* @brief: Object for buttons with start an ajax request
|
||||
*/
|
||||
function oninit(vnode) {
|
||||
vnode.state.loading = false;
|
||||
@ -8411,12 +8411,12 @@ var _actionBase = _interopRequireDefault(require("./actionBase"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 22.01.20
|
||||
*
|
||||
* @brief: copy Account from Login-Server to Community-Server Button and ajax request
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 22.01.20
|
||||
*
|
||||
* @brief: copy Account from Login-Server to Community-Server Button and ajax request
|
||||
*/
|
||||
function view(vnode) {
|
||||
// btn btn-primary
|
||||
@ -8458,12 +8458,12 @@ var _dialog = _interopRequireDefault(require("../../../lib/dialog"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 22.01.20
|
||||
*
|
||||
* @brief: copy Account from Login-Server to Community-Server Button and ajax request
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 22.01.20
|
||||
*
|
||||
* @brief: copy Account from Login-Server to Community-Server Button and ajax request
|
||||
*/
|
||||
function oninit(vnode) {
|
||||
vnode.state.loading = false;
|
||||
@ -8529,35 +8529,35 @@ function view(vnode) {
|
||||
btnTitle: window.texte.COPY_FROM_LOGIN_TO_COMMUNITY,
|
||||
progessText: window.texte.COPY_IN_PROGRESS
|
||||
});
|
||||
/*
|
||||
|
||||
return m('span', [
|
||||
m('span', [
|
||||
m('button.btn.btn-gradido-orange.btn-xs', {
|
||||
title:window.texte.COPY_FROM_LOGIN_TO_COMMUNITY,
|
||||
onclick:(e) => {click(vnode)},
|
||||
disabled: vnode.state.loading === true
|
||||
},
|
||||
vnode.state.loading === true ?
|
||||
m('i.spinner-border.spinner-border-sm') :
|
||||
m('i.mdi.mdi-content-copy')
|
||||
),
|
||||
window.texte.COPY_FROM_LOGIN_TO_COMMUNITY
|
||||
]),
|
||||
vnode.state.showDialog ?
|
||||
m(dialog, {
|
||||
title: window.texte.COPY_FROM_LOGIN_TO_COMMUNITY,
|
||||
body: m('div', [
|
||||
vnode.state.loading ?
|
||||
m('div', [
|
||||
m('i.spinner-border.spinner-border-sm'),
|
||||
m.trust(' '),
|
||||
window.texte.COPY_IN_PROGRESS]
|
||||
) : null,
|
||||
m('div', vnode.state.message)
|
||||
]),
|
||||
dismiss: (e) => {cleanMessage(vnode)}
|
||||
}) : null
|
||||
/*
|
||||
|
||||
return m('span', [
|
||||
m('span', [
|
||||
m('button.btn.btn-gradido-orange.btn-xs', {
|
||||
title:window.texte.COPY_FROM_LOGIN_TO_COMMUNITY,
|
||||
onclick:(e) => {click(vnode)},
|
||||
disabled: vnode.state.loading === true
|
||||
},
|
||||
vnode.state.loading === true ?
|
||||
m('i.spinner-border.spinner-border-sm') :
|
||||
m('i.mdi.mdi-content-copy')
|
||||
),
|
||||
window.texte.COPY_FROM_LOGIN_TO_COMMUNITY
|
||||
]),
|
||||
vnode.state.showDialog ?
|
||||
m(dialog, {
|
||||
title: window.texte.COPY_FROM_LOGIN_TO_COMMUNITY,
|
||||
body: m('div', [
|
||||
vnode.state.loading ?
|
||||
m('div', [
|
||||
m('i.spinner-border.spinner-border-sm'),
|
||||
m.trust(' '),
|
||||
window.texte.COPY_IN_PROGRESS]
|
||||
) : null,
|
||||
m('div', vnode.state.message)
|
||||
]),
|
||||
dismiss: (e) => {cleanMessage(vnode)}
|
||||
}) : null
|
||||
])*/
|
||||
}
|
||||
|
||||
@ -8583,12 +8583,12 @@ var _dialog = _interopRequireDefault(require("../../../lib/dialog"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 23.01.20
|
||||
*
|
||||
* @brief: delete user from Community-Server Button and ajax request
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 23.01.20
|
||||
*
|
||||
* @brief: delete user from Community-Server Button and ajax request
|
||||
*/
|
||||
function oninit(vnode) {
|
||||
vnode.state.loading = false;
|
||||
@ -8679,12 +8679,12 @@ var _dialog = _interopRequireDefault(require("../../../lib/dialog"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 23.01.20
|
||||
*
|
||||
* @brief: count transactions from users and calculate/take balance
|
||||
/*
|
||||
* @author: Dario Rekowski
|
||||
*
|
||||
* @date: 23.01.20
|
||||
*
|
||||
* @brief: count transactions from users and calculate/take balance
|
||||
*/
|
||||
function oninit(vnode) {
|
||||
vnode.state.loading = true;
|
||||
@ -8752,10 +8752,10 @@ var _actionBase = _interopRequireDefault(require("./actionBase"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
//mdi-email
|
||||
function view(vnode) {
|
||||
|
||||
@ -47,7 +47,6 @@
|
||||
"vue-clickaway": "^2.2.2",
|
||||
"vue-clipboard2": "^0.3.0",
|
||||
"vue-cookies": "^1.7.4",
|
||||
"vue-country-flag": "^2.0.3",
|
||||
"vue-flatpickr-component": "^8.1.2",
|
||||
"vue-good-table": "^2.21.3",
|
||||
"vue-i18n": "^8.22.4",
|
||||
@ -81,6 +80,6 @@
|
||||
"last 2 versions",
|
||||
"not ie <= 10"
|
||||
],
|
||||
"author": "Bernd Hückstädt - https://www.gradido.net/",
|
||||
"description": "Gradido Wallet"
|
||||
"author": "Gradido-Akademie - https://www.gradido.net/",
|
||||
"description": "Gradido, the Natural Economy of Life, is a way to worldwide prosperity and peace in harmony with nature. - Gradido, die Natürliche Ökonomie des lebens, ist ein Weg zu weltweitem Wohlstand und Frieden in Harmonie mit der Natur."
|
||||
}
|
||||
|
||||
BIN
frontend/public/img/icons/icons-translation.png
Normal file
BIN
frontend/public/img/icons/icons-translation.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
@ -1,11 +1,11 @@
|
||||
<!--
|
||||
|
||||
=========================================================
|
||||
* Gradido Wallet - v0.0.1
|
||||
* Gradido Konto - v0.0.1
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.gradido.net
|
||||
* Copyright 2020 Bernd Hückstädt - Gradido (https://www.gradido.net)
|
||||
* Copyright 2021 Gradido-Akademie - (https://www.gradido.net)
|
||||
|
||||
* Coded by www.gradido.net
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="<%= webpackConfig.output.publicPath %>favicon.png">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
|
||||
<title>Gradido Wallet</title>
|
||||
<title>Gradido Account</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
|
||||
<!-- Fonts -->
|
||||
|
||||
@ -1,6 +1,13 @@
|
||||
<template>
|
||||
<div id="app" class="font-sans text-gray-800">
|
||||
<header class="">
|
||||
<header >
|
||||
<b-col class="text-center">
|
||||
<b-dropdown size="sm" split variant="secondary" :text="$t('language') + ' - '+$i18n.locale" class="m-md-2">
|
||||
<b-dropdown-divider></b-dropdown-divider>
|
||||
<b-dropdown-item @click.prevent="setLocale('de')">Deusch</b-dropdown-item>
|
||||
<b-dropdown-item @click.prevent="setLocale('en')">English</b-dropdown-item>
|
||||
</b-dropdown>
|
||||
</b-col>
|
||||
</header>
|
||||
<div class="">
|
||||
<particles-bg type="custom" :config="config" :bg="true" />
|
||||
@ -51,9 +58,16 @@ export default {
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
setLocale(locale) {
|
||||
this.$i18n.locale = locale
|
||||
this.$store.commit('language', this.$i18n.locale)
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
.btn-primary pim{
|
||||
background-color: #5A7B02;
|
||||
border-color: #5e72e4;
|
||||
|
||||
@ -40,6 +40,9 @@
|
||||
components: {
|
||||
FadeTransition
|
||||
},
|
||||
created() {
|
||||
console.log("base-alert gesetzt in =>", this.$route.path )
|
||||
},
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
@ -64,7 +67,9 @@
|
||||
},
|
||||
methods: {
|
||||
dismissAlert() {
|
||||
console.log("sdddddddddddddddddddddddd")
|
||||
this.visible = false;
|
||||
this.$store.state.loginfail = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -6,22 +6,22 @@
|
||||
<navbar-toggle-button @click.native="showSidebar">
|
||||
|
||||
</navbar-toggle-button>
|
||||
<router-link class="navbar-brand" to="/overview">
|
||||
<img :src="logo" class="navbar-brand-img" alt="...">
|
||||
</router-link>
|
||||
|
||||
<div class="navbar-brand">
|
||||
<img :src="logo" class="navbar-brand-img" alt="...">
|
||||
</div>
|
||||
<b-row class="text-center"><b-col>{{$n($store.state.user.balance)}} GDD</b-col></b-row>
|
||||
<slot name="mobile-right">
|
||||
<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">
|
||||
<div class="media align-items-center">
|
||||
<span class="avatar avatar-sm rounded-circle">
|
||||
<img alt="Image placeholder" src="img/theme/team-1.jpg">
|
||||
<span class="avatar avatar-sm">
|
||||
<vue-qrcode :value="$store.state.email" type="image/png" ></vue-qrcode>
|
||||
</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
xx
|
||||
<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>
|
||||
@ -34,11 +34,16 @@
|
||||
<i class="ni ni-settings-gear-65"></i>
|
||||
<span>{{ $t('site.navbar.settings') }}</span>
|
||||
</router-link>
|
||||
<router-link to="/transactions" class="dropdown-item text-lg text-muted">
|
||||
<i class="ni ni-calendar-grid-58"></i>
|
||||
<span>Transactions</span>
|
||||
</router-link>
|
||||
<!--
|
||||
<router-link to="/activity" class="dropdown-item text-lg text-muted">
|
||||
<i class="ni ni-calendar-grid-58"></i>
|
||||
<span>{{ $t('site.navbar.activity') }}</span>
|
||||
</router-link>
|
||||
|
||||
-->
|
||||
<div class="dropdown-divider"></div>
|
||||
<div @click="logout" class="dropdown-item text-lg text-muted" >
|
||||
<i class="ni ni-support-16"></i>
|
||||
@ -69,7 +74,7 @@
|
||||
<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">
|
||||
<a class="nav-link text-lg" href="#!" @click="logout">
|
||||
{{ $t('logout') }}
|
||||
</a>
|
||||
</li>
|
||||
@ -80,11 +85,13 @@
|
||||
</template>
|
||||
<script>
|
||||
import NavbarToggleButton from '@/components/NavbarToggleButton'
|
||||
import VueQrcode from 'vue-qrcode'
|
||||
|
||||
export default {
|
||||
name: 'sidebar',
|
||||
components: {
|
||||
NavbarToggleButton
|
||||
NavbarToggleButton,
|
||||
VueQrcode
|
||||
},
|
||||
props: {
|
||||
logo: {
|
||||
|
||||
@ -19,12 +19,16 @@ function loadLocaleMessages () {
|
||||
const numberFormats = {
|
||||
'en-US': {
|
||||
currency: {
|
||||
style: 'currency'
|
||||
style: 'currency',
|
||||
currency: "GDD",
|
||||
abbreviate: true
|
||||
}
|
||||
},
|
||||
'de-DE': {
|
||||
currency: {
|
||||
style: 'currency'
|
||||
style: 'currency',
|
||||
currency: "GDD",
|
||||
abbreviate: true
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -35,4 +39,8 @@ export default new VueI18n({
|
||||
fallbackLocale: 'en',
|
||||
messages: loadLocaleMessages(),
|
||||
numberFormats
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
"back":"zurück",
|
||||
"sent":"Senden",
|
||||
"transactions":"Transaktionen",
|
||||
"language":"Sprachen",
|
||||
"language":"Language",
|
||||
"languages":{
|
||||
"de": "Deutsch",
|
||||
"en": "English"
|
||||
@ -42,18 +42,18 @@
|
||||
"remember":"Passwort merken",
|
||||
"signin":"Anmelden",
|
||||
"forgot_pwd":"Passwort vergessen?",
|
||||
"new_wallet":"Neues Wallet erstellen"
|
||||
"new_wallet":"Neues Konto erstellen"
|
||||
},
|
||||
"signup": {
|
||||
"title": "Erstelle deine Gradido Wallet",
|
||||
"subtitle": "Werde ein teil der Gemeinschaft!",
|
||||
"title": "Erstelle dein Gradido-Konto",
|
||||
"subtitle": "Werde Teil der Gemeinschaft!",
|
||||
"strength":"Passwortsicherheit:",
|
||||
"strong":"stark",
|
||||
"agree":"habe ich gelesen und verstanden und stimme diesen zu."
|
||||
},
|
||||
"password": {
|
||||
"title": "Passwort zurücksetzen",
|
||||
"subtitle": "Wenn sie das Passwort vergessen haben oder ändern möchten.",
|
||||
"subtitle": "Wenn du dein Passwort vergessen hast, kannst du es hier zurücksetzen.",
|
||||
"reset_now": "jetzt zurücksetzen"
|
||||
},
|
||||
"thx": {
|
||||
@ -101,9 +101,5 @@
|
||||
},
|
||||
"nav": {
|
||||
"features": "Neuigkeiten"
|
||||
},
|
||||
"about": {
|
||||
"title": "Über uns",
|
||||
"content": "Lorem ipsum deutsch dolor sit amet consectetur adipisicing elit. Aut dicta incidunt ea ut commodi quidem temporibus illo quia. Et itaque deleniti veniam tempore facere ipsum animi totam culpa minima vel voluptatem adipisci natus blanditiis similique sunt expedita, ex dicta doloremque repellat vitae temporibus. Quisquam quia, accusantium blanditiis architecto facilis saepe! Lorem ipsum dolor sit amet consectetur adipisicing elit. Ad unde laborum ut suscipit iure aliquam sapiente doloribus exercitationem nam sint."
|
||||
}
|
||||
}
|
||||
@ -7,9 +7,9 @@
|
||||
"imprint":"Legal notice",
|
||||
"privacy_policy":"Privacy policy",
|
||||
"back":"back",
|
||||
"sent":"Sent",
|
||||
"sent":"Send",
|
||||
"transactions":"transactions",
|
||||
"language":"Language",
|
||||
"language":"Sprache",
|
||||
"languages":{
|
||||
"de": "Deutsch",
|
||||
"en": "English"
|
||||
@ -43,10 +43,10 @@
|
||||
"remember":"Remember password",
|
||||
"signin":"Sign in",
|
||||
"forgot_pwd":"Forgot password?",
|
||||
"new_wallet":"Create new wallet"
|
||||
"new_wallet":"Create new account"
|
||||
},
|
||||
"signup": {
|
||||
"title": "Create your Gradido Wallet",
|
||||
"title": "Create your Gradido account",
|
||||
"subtitle": "Become a part of the community!",
|
||||
"strength":"password strength:",
|
||||
"strong":"strong",
|
||||
@ -54,7 +54,7 @@
|
||||
},
|
||||
"password": {
|
||||
"title": "reset password",
|
||||
"subtitle": "If you have forgotten the password or want to change it.",
|
||||
"subtitle": "If you have forgotten your password, you can reset it here.",
|
||||
"reset_now": "reset now"
|
||||
},
|
||||
"thx": {
|
||||
@ -101,9 +101,5 @@
|
||||
},
|
||||
"nav": {
|
||||
"features": "Features"
|
||||
},
|
||||
"about": {
|
||||
"title": "About",
|
||||
"content": "Lorem ipsum english dolor sit amet consectetur adipisicing elit. Aut dicta incidunt ea ut commodi quidem temporibus illo quia. Et itaque deleniti veniam tempore facere ipsum animi totam culpa minima vel voluptatem adipisci natus blanditiis similique sunt expedita, ex dicta doloremque repellat vitae temporibus. Quisquam quia, accusantium blanditiis architecto facilis saepe! Lorem ipsum dolor sit amet consectetur adipisicing elit. Ad unde laborum ut suscipit iure aliquam sapiente doloribus exercitationem nam sint."
|
||||
}
|
||||
}
|
||||
@ -37,7 +37,6 @@ import 'vue-good-table/dist/vue-good-table.css';
|
||||
|
||||
import VueMoment from 'vue-moment';
|
||||
|
||||
import CountryFlag from 'vue-country-flag'
|
||||
|
||||
|
||||
Object.keys(rules).forEach(rule => {
|
||||
@ -59,7 +58,6 @@ export default {
|
||||
Vue.use(VueQrcodeReader);
|
||||
Vue.use(VueQrcode);
|
||||
Vue.use(VueFlatPickr);
|
||||
Vue.use(CountryFlag);
|
||||
configure({
|
||||
classes: {
|
||||
valid: 'is-valid',
|
||||
|
||||
@ -57,6 +57,10 @@ const routes = [
|
||||
{
|
||||
path: '/activity',
|
||||
component: () => import('../views/Pages/UserProfileActivity.vue')
|
||||
},
|
||||
{
|
||||
path: '/transactions',
|
||||
component: () => import('../views/Pages/UserProfileTransactionList.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@ -4,8 +4,6 @@ Vue.use(Vuex)
|
||||
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({
|
||||
state: {
|
||||
@ -14,6 +12,7 @@ export const store = new Vuex.Store({
|
||||
language: 'en',
|
||||
sizeDE: 'normal',
|
||||
sizeGB: 'big',
|
||||
loginfail: false,
|
||||
user : {
|
||||
name:"",
|
||||
balance: 0,
|
||||
@ -37,7 +36,6 @@ export const store = new Vuex.Store({
|
||||
}
|
||||
}
|
||||
},
|
||||
// Retrieve a state variable
|
||||
getters: {
|
||||
//isLoggedIn: (state /*, getters */) => {
|
||||
// return state.session_id !== null;
|
||||
@ -58,6 +56,10 @@ export const store = new Vuex.Store({
|
||||
}
|
||||
|
||||
},
|
||||
loginfail: (state, loginfail) => {
|
||||
//console.log('mutation: email')
|
||||
state.loginfail = loginfail
|
||||
},
|
||||
email: (state, email) => {
|
||||
//console.log('mutation: email')
|
||||
state.email = email
|
||||
@ -67,12 +69,12 @@ export const store = new Vuex.Store({
|
||||
state.session_id = session_id
|
||||
},
|
||||
user_balance: (state,balance) => {
|
||||
//console.log('mutation: user_balance')
|
||||
state.user.balance = (balance)/10000
|
||||
console.log('mutation: user_balance')
|
||||
state.user.balance = (balance/10000)
|
||||
},
|
||||
user_balance_gdt: (state,balance) => {
|
||||
//console.log('mutation: user_balance_gdt')
|
||||
state.user.balance_gdt = (balance)/10000
|
||||
state.user.balance_gdt = (balance/10000)
|
||||
},
|
||||
transactions: (state,transactions) => {
|
||||
//console.log('mutation: transactions')
|
||||
@ -82,35 +84,23 @@ export const store = new Vuex.Store({
|
||||
// Asyncronous actions - used for api calls
|
||||
actions: {
|
||||
login: async ({ dispatch, commit }, data) => {
|
||||
// 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.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('/overview')
|
||||
} else {
|
||||
// Register failed, we perform a logout
|
||||
// console.log('action login to logout start')
|
||||
dispatch('logout')
|
||||
//alert('>>>>> FAIl LOGIN')
|
||||
commit('loginfail', true)
|
||||
|
||||
//dispatch('logout')
|
||||
}
|
||||
//}, (error) => {
|
||||
// console.log(error);
|
||||
//console.log(error);
|
||||
//});
|
||||
|
||||
|
||||
},
|
||||
passwordReset: async (data) => {
|
||||
console.log("<<<<<<<<<<< PASSWORT RESET TODO >>>>>>>>>>>", data.email)
|
||||
@ -151,31 +141,23 @@ export const store = new Vuex.Store({
|
||||
ajaxCreate: async ({ dispatch, state }) => {
|
||||
//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)
|
||||
|
||||
if( result.success ){
|
||||
// TODO
|
||||
} else {
|
||||
//dispatch('logout')
|
||||
}
|
||||
}, (error) => {
|
||||
console.log(error);
|
||||
});
|
||||
const result = await communityAPI.create($cookies.get("gdd_session_id", email, amount, memo))
|
||||
// console.log(result)
|
||||
},
|
||||
ajaxListTransactions: async ({commit, dispatch, state}) => {
|
||||
// console.log('action: ajaxListTransactions', state.session_id)
|
||||
// const result = await communityAPI.transactions(state.session_id)
|
||||
},
|
||||
accountBalance: async ({ commit, dispatch, state }) => {
|
||||
// console.log('action: accountBalance')
|
||||
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)
|
||||
console.log("accountBalance result", result)
|
||||
console.log("aresult.result.data.balance", result.result.data.balance)
|
||||
if(result.success) {
|
||||
commit('user_balance', result.result.data.balance)
|
||||
} else {
|
||||
|
||||
@ -1,44 +1,45 @@
|
||||
<template>
|
||||
<div>
|
||||
<base-header class="pb-6 pb-8 pt-5 pt-md-8 bg-transparent">
|
||||
<gdd-status />
|
||||
<br>
|
||||
<gdd-sent />
|
||||
<hr>
|
||||
<gdd-table />
|
||||
<hr>
|
||||
<div>
|
||||
<gdd-add-work-2 />
|
||||
</div>
|
||||
<br>
|
||||
<!--
|
||||
<div>
|
||||
<gdd-add-work />
|
||||
</div>
|
||||
<br>
|
||||
-->
|
||||
<div>
|
||||
<gdd-work-table />
|
||||
</div>
|
||||
</base-header>
|
||||
<hr>
|
||||
<base-header class="pb-6 pb-8 pt-5 pt-md-8 bg-transparent"></base-header>
|
||||
<b-container fluid class="mt--7">
|
||||
<gdd-status />
|
||||
<br>
|
||||
<gdd-send />
|
||||
<hr>
|
||||
<gdd-table />
|
||||
<!-- <hr>
|
||||
<div>
|
||||
<gdd-add-work-2 />
|
||||
</div>
|
||||
<br> -->
|
||||
<!--
|
||||
<div>
|
||||
<gdd-add-work />
|
||||
</div>
|
||||
<br>
|
||||
-->
|
||||
<!-- <div>
|
||||
<gdd-work-table />
|
||||
</div> -->
|
||||
|
||||
</b-container>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import GddStatus from './KontoOverview/GddStatus.vue';
|
||||
import GddSent from './KontoOverview/GddSent.vue';
|
||||
import GddSend from './KontoOverview/GddSend.vue';
|
||||
import GddTable from './KontoOverview/GddTable.vue';
|
||||
import GddAddWork2 from './KontoOverview/GddAddWork2.vue';
|
||||
import GddWorkTable from './KontoOverview/GddWorkTable.vue';
|
||||
// import GddAddWork2 from './KontoOverview/GddAddWork2.vue';
|
||||
// import GddWorkTable from './KontoOverview/GddWorkTable.vue';
|
||||
|
||||
export default {
|
||||
name: "Overview",
|
||||
components: {
|
||||
GddStatus,
|
||||
GddSent,
|
||||
GddSend,
|
||||
GddTable,
|
||||
GddAddWork2,
|
||||
GddWorkTable
|
||||
//GddAddWork2,
|
||||
//GddWorkTable
|
||||
},
|
||||
created() {
|
||||
this.$store.dispatch('accountBalance', $cookies.get("gdd_session_id"))
|
||||
@ -46,7 +47,10 @@
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.active { background-color: rgba(192, 192, 192, 0.568);}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
204
frontend/src/views/KontoOverview/GddSend.vue
Normal file
204
frontend/src/views/KontoOverview/GddSend.vue
Normal file
@ -0,0 +1,204 @@
|
||||
<template>
|
||||
<div>
|
||||
<b-row>
|
||||
<b-col xl="12" md="12">
|
||||
|
||||
<b-alert variant="warning" show dismissible >
|
||||
<strong>Achtung!</strong> Bitte überprüfe alle deine Eingaben sehr genau. Du bist alleine Verantwortlich für deine Entscheidungen. Versendete Gradidos können nicht wieder zurück geholt werden.
|
||||
</b-alert>
|
||||
<b-card >
|
||||
<div v-if="scan">
|
||||
<b-row>
|
||||
<qrcode-capture @detect="onDetect" capture="user" ></qrcode-capture>
|
||||
</b-row>
|
||||
<b-row>
|
||||
<qrcode-stream @decode="onDecode" @detect="onDetect" ></qrcode-stream>
|
||||
<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" >
|
||||
<span class="alert-text" @click="scan=false"><strong>abrechen!</strong></span>
|
||||
</b-alert>
|
||||
</b-row>
|
||||
|
||||
</div>
|
||||
<validation-observer v-slot="{handleSubmit}" ref="formValidator">
|
||||
<b-form role="form" @submit.prevent="handleSubmit(onSubmit)" @reset="onReset" v-if="show">
|
||||
<br>
|
||||
<qrcode-drop-zone id="input-0" v-model="form.img"></qrcode-drop-zone>
|
||||
<br>
|
||||
<div>
|
||||
<b-col class="text-left pl-6">
|
||||
Empfänger
|
||||
|
||||
</b-col>
|
||||
|
||||
<b-input-group
|
||||
id="input-group-1"
|
||||
label="Empfänger:"
|
||||
label-for="input-1"
|
||||
description="We'll never share your email with anyone else."
|
||||
size="lg"
|
||||
class="mb-3"
|
||||
>
|
||||
<b-input-group-prepend class="p-3">
|
||||
<b-icon icon="envelope" class="display-3"></b-icon>
|
||||
</b-input-group-prepend>
|
||||
<b-form-input
|
||||
id="input-1"
|
||||
v-model="form.email"
|
||||
type="email"
|
||||
placeholder="E-Mail"
|
||||
:rules="{required: true, email: true}"
|
||||
required
|
||||
style="font-size: xx-large; padding-left:20px"></b-form-input>
|
||||
</b-input-group>
|
||||
</div>
|
||||
<br>
|
||||
<div>
|
||||
<b-col class="text-left pl-6">
|
||||
Betrag
|
||||
|
||||
</b-col>
|
||||
<b-col v-if="($store.state.user.balance == form.amount)" class="text-right">
|
||||
<b-badge variant="primary">maximale anzahl GDD zum versenden erreicht!</b-badge>
|
||||
</b-col>
|
||||
<b-input-group id="input-group-2" label="Betrag:" label-for="input-2"
|
||||
size="lg"
|
||||
class="mb-3">
|
||||
<b-input-group-prepend>
|
||||
<div class="h3 pt-3 pr-3">GDD</div>
|
||||
|
||||
</b-input-group-prepend>
|
||||
<b-form-input
|
||||
id="input-2"
|
||||
v-model="form.amount"
|
||||
type="number"
|
||||
placeholder="0.01"
|
||||
step="0.01"
|
||||
min="0.01"
|
||||
:max="$store.state.user.balance"
|
||||
style="font-size: xx-large; padding-left:20px">
|
||||
</b-form-input>
|
||||
</b-input-group>
|
||||
<b-col class="text-left pl-6">
|
||||
Nachricht für den Empfänger
|
||||
</b-col>
|
||||
|
||||
<b-input-group>
|
||||
<b-input-group-prepend class="p-3">
|
||||
<b-icon icon="chat-right-text" class="display-3"></b-icon>
|
||||
</b-input-group-prepend>
|
||||
<b-form-textarea v-model="form.memo" class="pl-3"></b-form-textarea>
|
||||
</b-input-group>
|
||||
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<b-row>
|
||||
<b-col> <b-button type="reset" variant="secondary">{{$t('form.cancel')}}</b-button></b-col>
|
||||
<b-col class="text-right"> <b-button type="submit" variant="success">{{$t('form.send_now')}}</b-button></b-col>
|
||||
</b-row>
|
||||
|
||||
|
||||
<br>
|
||||
</b-form>
|
||||
</validation-observer>
|
||||
</b-card>
|
||||
|
||||
</b-col>
|
||||
</b-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { QrcodeStream, QrcodeDropZone, QrcodeCapture } from 'vue-qrcode-reader'
|
||||
import { BIcon } from 'bootstrap-vue'
|
||||
|
||||
export default {
|
||||
name: 'GddSent',
|
||||
components: {
|
||||
QrcodeStream,
|
||||
QrcodeDropZone,
|
||||
QrcodeCapture,
|
||||
BIcon
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
scan: false,
|
||||
show: true,
|
||||
form: {
|
||||
img: '',
|
||||
email: '',
|
||||
amount: '',
|
||||
memo:''
|
||||
},
|
||||
sent: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
sendbutton(){
|
||||
this.sent = true
|
||||
},
|
||||
async onDecode (decodedString) {
|
||||
console.log('onDecode JSON.parse(decodedString)',JSON.parse(decodedString) )
|
||||
const arr = JSON.parse(decodedString)
|
||||
// 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)
|
||||
this.modals2 = true
|
||||
},
|
||||
async onDetect (promise) {
|
||||
try {
|
||||
const {
|
||||
imageData, // raw image data of image/frame
|
||||
content, // decoded String
|
||||
location // QR code coordinates
|
||||
} = await promise
|
||||
console.log('onDetect promise',promise)
|
||||
//console.log('JSON.parse(decodedString)',JSON.parse(promise) )
|
||||
const arr = JSON.parse(decodedString)
|
||||
console.log('arr',arr)
|
||||
|
||||
} catch (error) {
|
||||
// ...
|
||||
}
|
||||
},
|
||||
async onSubmit() {
|
||||
//event.preventDefault()
|
||||
//console.log("onSubmit", this.form)
|
||||
this.$store.state.ajaxCreateData.session_id = this.$cookies.get('gdd_session_id')
|
||||
this.$store.state.ajaxCreateData.email = this.form.email
|
||||
this.$store.state.ajaxCreateData.amount = this.form.amount
|
||||
this.$store.state.ajaxCreateData.memo = this.form.memo
|
||||
this.$store.state.ajaxCreateData.target_date = Date.now()
|
||||
|
||||
this.$store.dispatch('ajaxCreate')
|
||||
},
|
||||
onReset(event) {
|
||||
event.preventDefault()
|
||||
this.form.email = ''
|
||||
this.form.amount = ''
|
||||
this.show = false
|
||||
this.$nextTick(() => {
|
||||
this.show = true
|
||||
})
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
state() {
|
||||
return this.name.length >= 4
|
||||
},
|
||||
invalidFeedback() {
|
||||
if (this.name.length > 0) {
|
||||
return 'Geben Sie mindestens 4 Zeichen ein.'
|
||||
}
|
||||
return 'Bitte geben Sie eine GDD Adresse ein.'
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -81,9 +81,6 @@
|
||||
:max="$store.state.user.balance"
|
||||
style="font-size: xx-large; padding-left:20px">
|
||||
</b-form-input>
|
||||
{{$store.state.user.balance}}
|
||||
|
||||
|
||||
</b-input-group>
|
||||
<b-col class="text-left pl-6">
|
||||
<b-badge variant="primary">Nachricht für den Empfänger (optional)</b-badge>
|
||||
@ -97,7 +94,7 @@
|
||||
</b-input-group>
|
||||
|
||||
</div>
|
||||
{{$refs.observer}}
|
||||
|
||||
<br>
|
||||
<b-row>
|
||||
<b-col></b-col>
|
||||
|
||||
@ -4,15 +4,14 @@
|
||||
<b-col xl="6" md="6">
|
||||
<stats-card type="gradient-red"
|
||||
sub-title="balance_gdd"
|
||||
class="mb-4"
|
||||
style="font-size: -webkit-xxx-large">
|
||||
class="mb-4 h1">
|
||||
{{ $n($store.state.user.balance) }} GDD
|
||||
</stats-card>
|
||||
</b-col>
|
||||
<b-col xl="6" md="6">
|
||||
<stats-card type="gradient-orange"
|
||||
sub-title="balance_gdt"
|
||||
class="mb-4">
|
||||
class="mb-4 h1">
|
||||
{{ $n($store.state.user.balance_gdt) }} GDT
|
||||
</stats-card>
|
||||
</b-col>
|
||||
|
||||
@ -2,13 +2,13 @@
|
||||
<div>
|
||||
|
||||
<b-list-group >
|
||||
<b-list-group-item v-for="item in filteredItems" :key="item.id">
|
||||
<b-list-group-item v-for="item in filteredItems" :key="item.id" style="background-color:#ebebeba3 !important;">
|
||||
<div class="d-flex w-100 justify-content-between" @click="toogle(item)" >
|
||||
<b-icon v-if="item.type === 'send'" icon="box-arrow-left" class="m-1" font-scale="2" style="color:red"></b-icon>
|
||||
<b-icon v-else icon="box-arrow-right" class="m-1" font-scale="2" style="color:green" ></b-icon>
|
||||
<h1 class="mb-1">{{ $n((item.balance)/10000) }} <small>GDD</small></h1>
|
||||
<h1 class="mb-1">{{ $n((item.balance/10000)) }} <small>GDD</small></h1>
|
||||
<h2 class="text-muted">{{item.name}}</h2>
|
||||
<b-button v-b-toggle="'a'+item.transaction_id" variant="primary"><b>i</b></b-button>
|
||||
<b-button v-b-toggle="'a'+item.transaction_id" variant="secondary"><b>i</b></b-button>
|
||||
</div>
|
||||
<b-collapse :id="'a'+item.transaction_id" class="mt-2">
|
||||
<b-card>
|
||||
@ -20,16 +20,16 @@
|
||||
<b-list-group-item> <b-badge class="mr-4" variant="primary" pill>gdd</b-badge>{{item.balance}}</b-list-group-item>
|
||||
<b-list-group-item> <b-badge class="mr-4" variant="primary" pill>memo</b-badge>{{item.memo}}</b-list-group-item>
|
||||
</b-list-group>
|
||||
<b-button v-b-toggle="'collapse-1-inner'+ item.transaction_id" size="sm">{{$t('transaction.more')}}</b-button>
|
||||
<b-button v-b-toggle="'collapse-1-inner'+ item.transaction_id" variant="secondary">{{$t('transaction.more')}}</b-button>
|
||||
<b-collapse :id="'collapse-1-inner'+ item.transaction_id" class="mt-2">
|
||||
<b-card>{{item}}</b-card>
|
||||
</b-collapse>
|
||||
</b-card>
|
||||
</b-collapse>
|
||||
</b-list-group-item>
|
||||
<b-list-group-item>
|
||||
<b-list-group-item v-show="this.$route.path == '/overview'">
|
||||
<b-alert v-if="count < 5" show variant="secondary" v-html="$t('transaction.show_part', {'count':count} )"></b-alert>
|
||||
<router-link else to="/activity" v-html="$t('transaction.show_all', {'count':count})"> </router-link>
|
||||
<router-link else to="/transactions" v-html="$t('transaction.show_all', {'count':count})"> </router-link>
|
||||
</b-list-group-item>
|
||||
|
||||
|
||||
@ -55,7 +55,11 @@ export default {
|
||||
created() {
|
||||
|
||||
axios.get("http://localhost/state-balances/ajaxListTransactions/"+ this.$store.state.session_id).then((result) => {
|
||||
//console.log("result",result)
|
||||
console.log("result",result)
|
||||
console.log("transactions.length",result.data.count)
|
||||
|
||||
console.log("this.$route.path", this.$route.path);
|
||||
|
||||
//console.log("result.state",result.data.state)
|
||||
//console.log("result.data.state == 'success'",result.data.state == "success")
|
||||
|
||||
@ -64,6 +68,7 @@ export default {
|
||||
//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
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
<b-row align-v="center" class="justify-content-xl-between">
|
||||
<b-col xl="6">
|
||||
<div class="copyright text-center text-xl-left text-muted">
|
||||
© {{year}} <a href="https://gradido.net/" class="font-weight-bold ml-1" target="_blank">Gradido Wallet</a>
|
||||
© {{year}} <a href="https://gradido.net/" class="font-weight-bold ml-1" target="_blank">Gradido-Akademie</a>
|
||||
</div>
|
||||
</b-col>
|
||||
<b-col xl="6" class="col-xl-6">
|
||||
|
||||
@ -42,5 +42,7 @@ import ContentFooter from './ContentFooter.vue';
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
|
||||
|
||||
.card { background-color:rgba(136, 130, 131, 0.3); }
|
||||
|
||||
</style>
|
||||
|
||||
@ -1,55 +1,39 @@
|
||||
<template>
|
||||
<footer class="footer px-4 bg-transparent">
|
||||
<b-row align-v="center" class="justify-content-lg-between">
|
||||
<b-col lg="6">
|
||||
<div class="copyright text-center text-lg-left text-muted">
|
||||
© {{year}} <a href="#!" to="/login" class="font-weight-bold ml-1" >Gradido Wallet</a>
|
||||
</div>
|
||||
</b-col>
|
||||
<b-col lg="6">
|
||||
<b-nav class="nav-footer justify-content-center justify-content-lg-end">
|
||||
<b-col><div class="copyright text-center text-lg-center text-muted">
|
||||
© {{year}} <a href="#!" to="/login" class="font-weight-bold ml-1" >Gradido-Akademie</a>
|
||||
</div></b-col>
|
||||
|
||||
</b-row>
|
||||
<b-row align-v="center" class="justify-content-lg-between" >
|
||||
<b-col>
|
||||
<b-nav class="nav-footer justify-content-center">
|
||||
<b-nav-item ref="https://gradido.net/" target="_blank">
|
||||
Gradido
|
||||
</b-nav-item>
|
||||
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||
<b-nav-item href="https://gradido.net/de/impressum/" target="_blank">
|
||||
{{$t('imprint')}}
|
||||
</b-nav-item>
|
||||
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||
<b-nav-item href="https://gradido.net/de/datenschutz/" target="_blank">
|
||||
{{$t('privacy_policy')}}
|
||||
</b-nav-item>
|
||||
<b-nav-item href="#!" to="/explorer" >
|
||||
<!--<b-nav-item href="#!" to="/explorer" >
|
||||
GDD-Explorer
|
||||
</b-nav-item>
|
||||
</b-nav-item> -->
|
||||
</b-nav>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<br>
|
||||
|
||||
|
||||
<b-row >
|
||||
<b-col class="nav-link text-center" @click.prevent="setLocale('en')"><country-flag country='gb' :size='this.$store.state.sizeGB'/>{{ $t('languages.en') }}</b-col>
|
||||
<b-col class="nav-link text-center" @click.prevent="setLocale('de')"><country-flag country='de' :size='this.$store.state.sizeDE' />{{ $t('languages.de') }}</b-col>
|
||||
</b-row>
|
||||
|
||||
</footer>
|
||||
</template>
|
||||
<script>
|
||||
import CountryFlag from 'vue-country-flag'
|
||||
|
||||
export default {
|
||||
comments: {
|
||||
CountryFlag
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
year: new Date().getFullYear(),
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
setLocale(locale) {
|
||||
this.$i18n.locale = locale
|
||||
this.$store.commit('language', this.$i18n.locale)
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style></style>
|
||||
|
||||
@ -8,6 +8,9 @@
|
||||
|
||||
<b-nav-text class="p-0 text-lg text-muted">{{ $t('sent')}}</b-nav-text>
|
||||
</b-nav-item>
|
||||
<b-nav-item href="#!" to="/transactions">
|
||||
<b-nav-text class="p-0 text-lg text-muted">Transaktionen</b-nav-text>
|
||||
</b-nav-item>
|
||||
<b-nav-item href="#!" to="/profile">
|
||||
|
||||
<b-nav-text class="p-0 text-lg text-muted">{{ $t('site.navbar.my-profil')}}</b-nav-text>
|
||||
@ -16,11 +19,12 @@
|
||||
|
||||
<b-nav-text class="p-0 text-lg text-muted">{{ $t('site.navbar.settings') }}</b-nav-text>
|
||||
</b-nav-item>
|
||||
<b-nav-item href="#!" to="/activity">
|
||||
|
||||
|
||||
<b-nav-item href="#!" to="/activity">
|
||||
<b-nav-text class="p-0 text-lg text-muted">{{ $t('site.navbar.activity') }}</b-nav-text>
|
||||
</b-nav-item>
|
||||
|
||||
|
||||
</template>
|
||||
</side-bar>
|
||||
<div class="main-content">
|
||||
|
||||
@ -25,12 +25,13 @@
|
||||
title-classes="nav-link pr-0">
|
||||
<a href="#" class="pr-1" @click.prevent slot="title-container">
|
||||
<b-media no-body class="align-items-center">
|
||||
|
||||
<span class="pb-2 text-lg font-weight-bold">{{ $store.state.email }}</span>
|
||||
<b-media-body class="ml-2 d-none d-lg-block">
|
||||
<span class="avatar avatar-sm rounded-circle">
|
||||
<vue-qrcode :value="$store.state.email" />
|
||||
|
||||
|
||||
<span class="avatar ">
|
||||
<vue-qrcode :value="$store.state.email" type="image/png"></vue-qrcode>
|
||||
</span>
|
||||
<span class="mb-0 text-lg font-weight-bold">{{ $store.state.email }}</span>
|
||||
</b-media-body>
|
||||
</b-media>
|
||||
</a>
|
||||
@ -52,10 +53,12 @@
|
||||
<i class="ni ni-settings-gear-65"></i>
|
||||
<span>{{ $t('site.navbar.settings') }}</span>
|
||||
</b-dropdown-item>
|
||||
<!--
|
||||
<b-dropdown-item href="#!">
|
||||
<i class="ni ni-calendar-grid-58"></i>
|
||||
<span>{{ $t('site.navbar.activity') }}</span>
|
||||
</b-dropdown-item>
|
||||
-->
|
||||
<div class="dropdown-divider"></div>
|
||||
<b-dropdown-item href="#!" @click="logout">
|
||||
<i class="ni ni-user-run"></i>
|
||||
|
||||
@ -1,31 +1,29 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- Header -->
|
||||
<div class=" py-7 py-lg-5 pt-lg-1">
|
||||
<div class="header p-4">
|
||||
<b-container>
|
||||
<div class="text-center mb-7">
|
||||
<b-row class="justify-content-center">
|
||||
<b-col xl="5" lg="6" md="8" class="px-5">
|
||||
<b-col xl="5" lg="6" md="8" class="px-2">
|
||||
<h1>Gradido</h1>
|
||||
<p class="text-lead">{{ $t('site.login.community')}}</p>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</div>
|
||||
</b-container>
|
||||
|
||||
</div>
|
||||
<!-- Page content -->
|
||||
<b-container class="mt--8 pb-5">
|
||||
<b-container class="mt--8 p-1">
|
||||
<b-row class="justify-content-center">
|
||||
<b-col lg="5" md="7">
|
||||
<b-card no-body class="bg-secondary border-0 mb-0">
|
||||
<b-card-body class="px-lg-5 py-lg-5">
|
||||
|
||||
<b-card no-body class="border-0 mb-0" style="background-color: #ebebeba3 !important;">
|
||||
<b-card-body class="py-lg-4 px-sm-0 px-0 px-md-2 px-lg-4">
|
||||
<div class="text-center text-muted mb-4">
|
||||
<small>{{ $t('login')}}</small>
|
||||
</div>
|
||||
<validation-observer v-slot="{handleSubmit}" ref="formValidator">
|
||||
<b-form role="form" @submit.prevent="handleSubmit(onSubmit)">
|
||||
<b-form role="form" @submit.prevent="handleSubmit(onSubmit)" >
|
||||
<base-input alternative
|
||||
class="mb-3"
|
||||
name="Email"
|
||||
@ -45,9 +43,30 @@
|
||||
v-model="model.password">
|
||||
</base-input>
|
||||
|
||||
<b-form-checkbox v-model="model.rememberMe">{{ $t('site.login.remember')}}</b-form-checkbox>
|
||||
|
||||
<b-alert v-show="$store.state.loginfail" show variant="warning" >
|
||||
|
||||
<span class="alert-text bv-example-row">
|
||||
<b-row>
|
||||
<b-col class="col-9 text-left">
|
||||
<strong>Leider konnten wir keinen Account finden mit diesen Daten!</strong>
|
||||
</b-col>
|
||||
<b-col class="text-right" >
|
||||
<a href="#!" @click="closeAlert">
|
||||
<div>
|
||||
|
||||
<b-icon-exclamation-triangle-fill class="h2 mb-0"></b-icon-exclamation-triangle-fill>
|
||||
<b-icon-x class="h1 pl-2"></b-icon-x>
|
||||
</div>
|
||||
</a>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</span>
|
||||
</b-alert>
|
||||
|
||||
<!-- <b-form-checkbox v-model="model.rememberMe">{{ $t('site.login.remember')}}</b-form-checkbox> -->
|
||||
<div class="text-center">
|
||||
<base-button type="primary" native-type="submit" class="my-4">{{ $t('site.login.signin')}}</base-button>
|
||||
<base-button type="secondary" native-type="submit" class="my-4">{{ $t('site.login.signin')}}</base-button>
|
||||
</div>
|
||||
</b-form>
|
||||
</validation-observer>
|
||||
@ -67,20 +86,24 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: "login",
|
||||
data() {
|
||||
return {
|
||||
model: {
|
||||
email: '',
|
||||
password: '',
|
||||
rememberMe: false
|
||||
password: ''
|
||||
// rememberMe: false
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onSubmit() {
|
||||
this.$store.dispatch('login', {"email": this.model.email, "password": this.model.password})
|
||||
},
|
||||
closeAlert(){
|
||||
this.$store.state.loginfail = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="header py-7 py-lg-5 pt-lg-1">
|
||||
<div class="header p-4">
|
||||
<b-container class="container">
|
||||
<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">
|
||||
<b-col xl="5" lg="6" md="8" class="px-2">
|
||||
<h1 >{{ $t('site.password.title')}}</h1>
|
||||
<p class="text-lead">{{ $t('site.password.subtitle')}}</p>
|
||||
</b-col>
|
||||
@ -13,10 +13,10 @@
|
||||
</b-container>
|
||||
|
||||
</div>
|
||||
<b-container class="mt--8 pb-5">
|
||||
<b-container class="mt--8 p-1">
|
||||
<b-row class="justify-content-center">
|
||||
<b-col lg="6" md="8" >
|
||||
<b-card no-body class="bg-secondary border-0">
|
||||
<b-card no-body class="border-0" style="background-color: #ebebeba3 !important;">
|
||||
<b-card-body class="px-lg-5 py-lg-5">
|
||||
<validation-observer v-slot="{handleSubmit}" ref="formValidator">
|
||||
<b-form role="form" @submit.prevent="handleSubmit(onSubmit)">
|
||||
@ -30,7 +30,7 @@
|
||||
</base-input>
|
||||
{{form}}
|
||||
<div class="text-center">
|
||||
<b-button type="submit" variant="primary" class="mt-4" :disabled="disable">{{ $t('site.password.reset_now')}}</b-button>
|
||||
<b-button type="submit" outline variant="secondary" class="mt-4" :disabled="disable">{{ $t('site.password.reset_now')}}</b-button>
|
||||
</div>
|
||||
</b-form>
|
||||
</validation-observer>
|
||||
@ -39,7 +39,7 @@
|
||||
</b-col>
|
||||
</b-row>
|
||||
<div class="text-center py-lg-4" >
|
||||
<b-button type="button" variant="success" class="mt-3" to="/Login">{{ $t('back')}}</b-button>
|
||||
<router-link to="/Login" class="mt-3">{{ $t('back')}}</router-link>
|
||||
</div>
|
||||
</b-container>
|
||||
</div>
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- Header -->
|
||||
<div class="header py-7 py-lg-5 pt-lg-1">
|
||||
<div class="header p-4">
|
||||
<b-container class="container">
|
||||
<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">
|
||||
<b-col xl="5" lg="6" md="8" class="px-2">
|
||||
<h1 >{{ $t('site.signup.title')}}</h1>
|
||||
<p class="text-lead">{{ $t('site.signup.subtitle')}}</p>
|
||||
</b-col>
|
||||
@ -15,13 +15,13 @@
|
||||
|
||||
</div>
|
||||
<!-- Page content -->
|
||||
<b-container class="mt--8 pb-5">
|
||||
<b-container class="mt--8 p-1">
|
||||
<!-- Table -->
|
||||
<b-row class="justify-content-center">
|
||||
<b-col lg="6" md="8" >
|
||||
<b-card no-body class="bg-secondary border-0">
|
||||
<b-card no-body class="border-0" style="background-color: #ebebeba3 !important;">
|
||||
|
||||
<b-card-body class="px-lg-5 py-lg-5">
|
||||
<b-card-body class="py-lg-4 px-sm-0 px-0 px-md-2 px-lg-4">
|
||||
<div class="text-center text-muted mb-4">
|
||||
<small>{{ $t('signup')}} </small>
|
||||
</div>
|
||||
@ -68,13 +68,13 @@
|
||||
<b-col cols="12">
|
||||
<base-input :rules="{ required: { allowFalse: false } }" name="Privacy Policy">
|
||||
<b-form-checkbox v-model="model.agree">
|
||||
<span class="text-muted"><a href="#!"> {{ $t('privacy_policy')}}</a> - {{ $t('site.signup.agree')}} </span>
|
||||
<span class="text-muted"><a href="https://gradido.net/de/datenschutz/" target="_blank"> {{ $t('privacy_policy')}}</a> - {{ $t('site.signup.agree')}} </span>
|
||||
</b-form-checkbox>
|
||||
</base-input>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<div class="text-center">
|
||||
<b-button type="submit" variant="primary" class="mt-4">{{ $t('signup')}}</b-button>
|
||||
<b-button type="submit" variant="secondary" class="mt-4">{{ $t('signup')}}</b-button>
|
||||
</div>
|
||||
</b-form>
|
||||
</validation-observer>
|
||||
@ -83,7 +83,7 @@
|
||||
</b-col>
|
||||
</b-row>
|
||||
<div class="text-center py-lg-4" >
|
||||
<b-button type="button" variant="success" class="mt-3" to="/Login">{{ $t('back')}}</b-button>
|
||||
<router-link to="/Login" class="mt-3">{{ $t('back')}}</router-link>
|
||||
</div>
|
||||
</b-container>
|
||||
</div>
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
<card>
|
||||
<b-row align-v="center" slot="header" >
|
||||
<b-col cols="8">
|
||||
<h3 class="mb-0">Edit profile </h3>
|
||||
|
||||
</b-col>
|
||||
<b-col cols="4" class="text-right">
|
||||
<a href="#!" class="btn btn-sm btn-primary">Settings</a>
|
||||
|
||||
</b-col>
|
||||
</b-row>
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<b-col lg="3" class="order-lg-2">
|
||||
<div class="card-profile-image">
|
||||
<a href="#">
|
||||
<vue-qrcode :value="$store.state.email" />
|
||||
<vue-qrcode :value="$store.state.email" type="image/png"> </vue-qrcode>
|
||||
</a>
|
||||
</div>
|
||||
</b-col>
|
||||
@ -21,11 +21,11 @@
|
||||
<b-col >
|
||||
<div class="card-profile-stats d-flex justify-content-center mt-md-5">
|
||||
<div>
|
||||
<span class="heading">22</span>
|
||||
<span class="heading">--</span>
|
||||
<span class="description">Transactions</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="heading">10</span>
|
||||
<span class="heading">--</span>
|
||||
<span class="description">Community</span>
|
||||
</div>
|
||||
<div>
|
||||
@ -39,19 +39,8 @@
|
||||
<h5 class="h3">
|
||||
{{this.$store.state.email}}<span class="font-weight-light"></span>
|
||||
</h5>
|
||||
<div class="h5 font-weight-300">
|
||||
<i class="ni location_pin mr-2"></i>Bucharest, Romania
|
||||
</div>
|
||||
<div class="h5 mt-4">
|
||||
<i class="ni business_briefcase-24 mr-2"></i>Solution Manager - Creative Tim Officer
|
||||
</div>
|
||||
<div>
|
||||
<i class="ni education_hat mr-2"></i>University of Computer Science
|
||||
</div>
|
||||
<hr class="my-4">
|
||||
<p>Ryan — the name taken by Melbourne-raised, Brooklyn-based Nick Murphy — writes, performs and records all of his own music.</p>
|
||||
<a href="#">Show more</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</b-card-body>
|
||||
</b-card>
|
||||
|
||||
@ -1,16 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="header pb-8 pt-5 pt-lg-8 d-flex align-items-center profile-header" style="max-height:200px">
|
||||
<b-container fluid>
|
||||
<b-container fluid class="d-flex align-items-center">
|
||||
<b-row >
|
||||
<b-col lg="7" md="10">
|
||||
<h1 class="display-2 text-white">{{this.$store.state.email}} </h1>
|
||||
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-container>
|
||||
</b-container>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@ -2,11 +2,7 @@
|
||||
<div>
|
||||
<div class="header pb-8 pt-5 pt-lg-8 d-flex align-items-center profile-header">
|
||||
<b-container fluid>
|
||||
<b-container fluid class="d-flex align-items-center">
|
||||
<b-row >
|
||||
<base-button><router-link to="/profileedit" > Edit Profil</router-link> </base-button>
|
||||
</b-row>
|
||||
</b-container>
|
||||
|
||||
</b-container>
|
||||
</div>
|
||||
|
||||
@ -21,13 +17,12 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import BaseButton from '../../components/BaseButton.vue';
|
||||
|
||||
import UserCard from './UserProfile/UserCard.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
UserCard,
|
||||
BaseButton
|
||||
UserCard
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
24
frontend/src/views/Pages/UserProfileTransactionList.vue
Normal file
24
frontend/src/views/Pages/UserProfileTransactionList.vue
Normal file
@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="header pb-8 pt-5 pt-lg-8 d-flex align-items-center profile-header" style="max-height:200px"></div>
|
||||
<b-container fluid class="mt--6">
|
||||
<b-row>
|
||||
<b-col class="order-xl-1">
|
||||
|
||||
<gdd-table></gdd-table>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-container>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import GddTable from '../../views/KontoOverview/GddTable.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
GddTable
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
</style>
|
||||
@ -11297,11 +11297,6 @@ vue-cookies@^1.7.4:
|
||||
resolved "https://registry.yarnpkg.com/vue-cookies/-/vue-cookies-1.7.4.tgz#d241d0a0431da0795837651d10b4d73e7c8d3e8d"
|
||||
integrity sha512-mOS5Btr8V9zvAtkmQ7/TfqJIropOx7etDAgBywPCmHjvfJl2gFbH2XgoMghleLoyyMTi5eaJss0mPN7arMoslA==
|
||||
|
||||
vue-country-flag@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-country-flag/-/vue-country-flag-2.0.3.tgz#f644d8f5150a97f473f0c13e04622c6ede37d1de"
|
||||
integrity sha512-QZM3hNNhnGU+G1qnpq1BiICE4Zh91UA++/UpM0go8XbxkVxTiPy4asWY07vL/3PtW8M69YqWVbhwG13rzvNwkA==
|
||||
|
||||
vue-eslint-parser@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1"
|
||||
|
||||
@ -60,7 +60,7 @@ Dario, Gradido Server Admin\n\
|
||||
const static char EmailText_adminEmailVerification[] = { u8"\
|
||||
Hallo [first_name] [last_name],\n\
|
||||
\n\
|
||||
Der Admin hat soeben ein Gradido Konto für dich mit dieser E-Mail angelegt.\n\
|
||||
Der Admin hat soeben ein Gradido-Konto für dich mit dieser E-Mail angelegt.\n\
|
||||
Bitte klicke zur Bestätigung auf den Link: [link]\n\
|
||||
oder kopiere den obigen Link in Dein Browserfenster.\n\
|
||||
\n\
|
||||
@ -72,7 +72,7 @@ const static char EmailText_adminEmailVerificationResend[] = { u8"\
|
||||
Hallo [first_name] [last_name],\n\
|
||||
\n\
|
||||
Der Admin hat ein erneutes zusenden deiner Bestätigungsemail angefordert. \n\
|
||||
Du hast vor einer Weile ein Gradido Konto mit dieser E-Mail angelegt, aber es noch nicht bestätigt. \n\
|
||||
Du hast vor einer Weile ein Gradido-Konto mit dieser E-Mail angelegt, aber es noch nicht bestätigt. \n\
|
||||
\n\
|
||||
Bitte klicke zur Bestätigung auf den Link: [link]\n\
|
||||
oder kopiere den obigen Link in Dein Browserfenster.\n\
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user