From 378bae432391c8493ced94a8b7fc93dae4e9f39e Mon Sep 17 00:00:00 2001
From: Ulf Gebhardt
Date: Wed, 2 Feb 2022 02:38:45 +0100
Subject: [PATCH 001/156] made decay block static removed duplicate
implementation of decay calculation
---
backend/src/config/index.ts | 1 +
backend/src/graphql/model/Decay.ts | 2 +-
.../graphql/resolver/TransactionResolver.ts | 40 +++------
backend/src/typeorm/repository/Transaction.ts | 7 --
backend/src/util/decay.ts | 90 +++++++------------
5 files changed, 47 insertions(+), 93 deletions(-)
diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts
index 99859b252..71d9415c0 100644
--- a/backend/src/config/index.ts
+++ b/backend/src/config/index.ts
@@ -5,6 +5,7 @@ dotenv.config()
const constants = {
DB_VERSION: '0016-transaction_signatures',
+ DECAY_START_TIME: new Date('2021-05-13 17:46:31'), // GMT+0
}
const server = {
diff --git a/backend/src/graphql/model/Decay.ts b/backend/src/graphql/model/Decay.ts
index 48ed7b8c5..a09f7c97e 100644
--- a/backend/src/graphql/model/Decay.ts
+++ b/backend/src/graphql/model/Decay.ts
@@ -4,7 +4,7 @@ import { ObjectType, Field, Int } from 'type-graphql'
@ObjectType()
export class Decay {
- constructor(json: any) {
+ constructor(json?: any) {
if (json) {
this.balance = Number(json.balance)
this.decayStart = json.decay_start
diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts
index 61f590123..c674f36d1 100644
--- a/backend/src/graphql/resolver/TransactionResolver.ts
+++ b/backend/src/graphql/resolver/TransactionResolver.ts
@@ -29,7 +29,7 @@ import { Balance as dbBalance } from '@entity/Balance'
import { apiPost } from '../../apis/HttpRequest'
import { roundFloorFrom4, roundCeilFrom4 } from '../../util/round'
-import { calculateDecay, calculateDecayWithInterval } from '../../util/decay'
+import { calculateDecay } from '../../util/decay'
import { TransactionTypeId } from '../enum/TransactionTypeId'
import { TransactionType } from '../enum/TransactionType'
import { hasUserAmount, isHexPublicKey } from '../../util/validate'
@@ -68,8 +68,6 @@ async function calculateAndAddDecayTransactions(
const userRepository = getCustomRepository(UserRepository)
const userIndiced = await userRepository.getUsersIndiced(involvedUsersUnique)
- const decayStartTransaction = await transactionRepository.findDecayStartBlock()
-
for (let i = 0; i < userTransactions.length; i++) {
const userTransaction = userTransactions[i]
const transaction = transactionIndiced[userTransaction.transactionId]
@@ -82,26 +80,22 @@ async function calculateAndAddDecayTransactions(
if (previousTransaction) {
const currentTransaction = userTransaction
- const decay = await calculateDecayWithInterval(
+ const decay = await calculateDecay(
previousTransaction.balance,
previousTransaction.balanceDate,
currentTransaction.balanceDate,
)
const balance = previousTransaction.balance - decay.balance
- if (
- decayStartTransaction &&
- decayStartTransaction.received < currentTransaction.balanceDate
- ) {
+ if (CONFIG.DECAY_START_TIME < currentTransaction.balanceDate) {
finalTransaction.decay = decay
finalTransaction.decay.balance = roundFloorFrom4(balance)
if (
- decayStartTransaction &&
- previousTransaction.transactionId < decayStartTransaction.id &&
- currentTransaction.transactionId > decayStartTransaction.id
+ previousTransaction.balanceDate < CONFIG.DECAY_START_TIME &&
+ currentTransaction.balanceDate > CONFIG.DECAY_START_TIME
) {
finalTransaction.decay.decayStartBlock = (
- decayStartTransaction.received.getTime() / 1000
+ CONFIG.DECAY_START_TIME.getTime() / 1000
).toString()
}
}
@@ -148,11 +142,7 @@ async function calculateAndAddDecayTransactions(
if (i === userTransactions.length - 1 && decay) {
const now = new Date()
- const decay = await calculateDecayWithInterval(
- userTransaction.balance,
- userTransaction.balanceDate,
- now.getTime(),
- )
+ const decay = await calculateDecay(userTransaction.balance, userTransaction.balanceDate, now)
const balance = userTransaction.balance - decay.balance
const decayTransaction = new Transaction()
@@ -234,12 +224,8 @@ async function updateStateBalance(
balance.amount = centAmount
balance.modified = received
} else {
- const decaiedBalance = await calculateDecay(balance.amount, balance.recordDate, received).catch(
- () => {
- throw new Error('error by calculating decay')
- },
- )
- balance.amount = Number(decaiedBalance) + centAmount
+ const decayedBalance = calculateDecay(balance.amount, balance.recordDate, received)
+ balance.amount = Number(decayedBalance) + centAmount
balance.modified = new Date()
}
if (balance.amount <= 0) {
@@ -263,13 +249,11 @@ async function addUserTransaction(
const lastUserTransaction = await userTransactionRepository.findLastForUser(user.id)
if (lastUserTransaction) {
newBalance += Number(
- await calculateDecay(
+ calculateDecay(
Number(lastUserTransaction.balance),
lastUserTransaction.balanceDate,
transaction.received,
- ).catch(() => {
- throw new Error('error by calculating decay')
- }),
+ ),
)
}
@@ -346,7 +330,7 @@ export class TransactionResolver {
const now = new Date()
transactions.balance = roundFloorFrom4(balanceEntity.amount)
transactions.decay = roundFloorFrom4(
- await calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now),
+ calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now).balance,
)
transactions.decayDate = now.toString()
}
diff --git a/backend/src/typeorm/repository/Transaction.ts b/backend/src/typeorm/repository/Transaction.ts
index ab09b2731..0a97067a2 100644
--- a/backend/src/typeorm/repository/Transaction.ts
+++ b/backend/src/typeorm/repository/Transaction.ts
@@ -3,13 +3,6 @@ import { Transaction } from '@entity/Transaction'
@EntityRepository(Transaction)
export class TransactionRepository extends Repository {
- async findDecayStartBlock(): Promise {
- return this.createQueryBuilder('transaction')
- .where('transaction.transactionTypeId = :transactionTypeId', { transactionTypeId: 9 })
- .orderBy('received', 'ASC')
- .getOne()
- }
-
async joinFullTransactionsByIds(transactionIds: number[]): Promise {
return this.createQueryBuilder('transaction')
.where('transaction.id IN (:...transactions)', { transactions: transactionIds })
diff --git a/backend/src/util/decay.ts b/backend/src/util/decay.ts
index 63cf9541d..7cb4ce384 100644
--- a/backend/src/util/decay.ts
+++ b/backend/src/util/decay.ts
@@ -1,70 +1,46 @@
-import { getCustomRepository } from '@dbTools/typeorm'
+import CONFIG from '../config'
import { Decay } from '../graphql/model/Decay'
-import { TransactionRepository } from '../typeorm/repository/Transaction'
function decayFormula(amount: number, seconds: number): number {
return amount * Math.pow(0.99999997802044727, seconds) // This number represents 50% decay a year
}
-async function calculateDecay(amount: number, from: Date, to: Date): Promise {
- if (amount === undefined || !from || !to) {
- throw new Error('at least one parameter is undefined')
+function calculateDecay(amount: number, from: Date, to: Date): Decay {
+ const fromMs = from.getTime()
+ const toMs = to.getTime()
+ const decayStartBlockMs = CONFIG.DECAY_START_TIME.getTime()
+
+ if (toMs < fromMs) {
+ throw new Error('to < from, reverse decay calculation is invalid')
}
- if (from === to) {
- return amount
+
+ // Initialize with no decay
+ const decay = new Decay({
+ balance: amount,
+ decayStart: null,
+ decayEnd: null,
+ decayDuration: 0,
+ decayStartBlock: (decayStartBlockMs / 1000).toString(),
+ })
+
+ // decay started after end date; no decay
+ if (decayStartBlockMs > toMs) {
+ return decay
}
- if (to < from) {
- throw new Error('to < from, so the target date is in the past?')
+ // decay started before start date; decay for full duration
+ else if (decayStartBlockMs < fromMs) {
+ decay.decayStart = (fromMs / 1000).toString()
+ decay.decayDuration = (toMs - fromMs) / 1000
}
- // load decay start block
- const transactionRepository = getCustomRepository(TransactionRepository)
- const decayStartBlock = await transactionRepository.findDecayStartBlock()
-
- // if decay hasn't started yet we return input amount
- if (!decayStartBlock) return amount
-
- // what happens when from > to
- // Do we want to have negative decay?
- const decayDuration = (to.getTime() - from.getTime()) / 1000
- return decayFormula(amount, decayDuration)
-}
-
-async function calculateDecayWithInterval(
- amount: number,
- from: number | Date,
- to: number | Date,
-): Promise {
- const transactionRepository = getCustomRepository(TransactionRepository)
- const decayStartBlock = await transactionRepository.findDecayStartBlock()
-
- const result = new Decay(undefined)
- result.balance = amount
- const fromMillis = typeof from === 'number' ? from : from.getTime()
- const toMillis = typeof to === 'number' ? to : to.getTime()
- result.decayStart = (fromMillis / 1000).toString()
- result.decayEnd = (toMillis / 1000).toString()
-
- // (amount, from.getTime(), to.getTime())
-
- // if no decay start block exist or decay startet after end date
- if (!decayStartBlock || decayStartBlock.received.getTime() > toMillis) {
- return result
- }
- const decayStartBlockMillis = decayStartBlock.received.getTime()
-
- // if decay start date is before start date we calculate decay for full duration
- if (decayStartBlockMillis < fromMillis) {
- result.decayDuration = toMillis - fromMillis
- }
- // if decay start in between start date and end date we caculcate decay from decay start time to end date
+ // decay started between start and end date; decay from decay start till end date
else {
- result.decayDuration = toMillis - decayStartBlockMillis
- result.decayStart = (decayStartBlockMillis / 1000).toString()
+ decay.decayStart = (decayStartBlockMs / 1000).toString()
+ decay.decayDuration = (toMs - decayStartBlockMs) / 1000
}
- // js use timestamp in milliseconds but we calculate with seconds
- result.decayDuration /= 1000
- result.balance = decayFormula(amount, result.decayDuration)
- return result
+
+ decay.decayEnd = (toMs / 1000).toString()
+ decay.balance = decayFormula(amount, decay.decayDuration)
+ return decay
}
-export { decayFormula, calculateDecay, calculateDecayWithInterval }
+export { decayFormula, calculateDecay }
From 62ba171f8052e6275199837deb94c7e729d4c88a Mon Sep 17 00:00:00 2001
From: Ulf Gebhardt
Date: Wed, 2 Feb 2022 02:58:49 +0100
Subject: [PATCH 002/156] migration to remove decay block from database
---
.../0017-delete_decay_start_block.ts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
create mode 100644 database/migrations/0017-delete_decay_start_block.ts
diff --git a/database/migrations/0017-delete_decay_start_block.ts b/database/migrations/0017-delete_decay_start_block.ts
new file mode 100644
index 000000000..819aa5c65
--- /dev/null
+++ b/database/migrations/0017-delete_decay_start_block.ts
@@ -0,0 +1,18 @@
+/* MIGRATION TO DELETE DECAY START BLOCK
+ *
+ * the decay start block is now specified as static value
+ * we can delete it from the database
+ */
+
+export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) {
+ // Remove transactions with type 9 (start decay block). This should affect exactly 1 row
+ await queryFn(`DELETE FROM transactions WHERE transaction_type_id = 9;`)
+}
+
+export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) {
+ // When rolling back the database this entry is newly created. This should not hurt in any way tho.
+ await queryFn(`
+ INSERT INTO transactions
+ VALUES(1682,9,0xC27BE999D7B4704E5F294099E780C5D6A275B165AFABFD8BECCEA39059CBB7B600000000000000000000000000000000,'','2021-05-13 15:46:31',NULL,NULL)
+ `)
+}
From 736310f5d5ea4a00bc98a752d1e2ecefbf6a60af Mon Sep 17 00:00:00 2001
From: Ulf Gebhardt
Date: Wed, 2 Feb 2022 03:05:00 +0100
Subject: [PATCH 003/156] fix build error - type errors
---
backend/src/graphql/resolver/AdminResolver.ts | 4 ++--
backend/src/graphql/resolver/BalanceResolver.ts | 2 +-
backend/src/util/validate.ts | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts
index 4204c6c2f..0ecce0b13 100644
--- a/backend/src/graphql/resolver/AdminResolver.ts
+++ b/backend/src/graphql/resolver/AdminResolver.ts
@@ -215,11 +215,11 @@ export class AdminResolver {
if (!lastUserTransaction) {
newBalance = 0
} else {
- newBalance = await calculateDecay(
+ newBalance = calculateDecay(
lastUserTransaction.balance,
lastUserTransaction.balanceDate,
receivedCallDate,
- )
+ ).balance
}
newBalance = Number(newBalance) + Number(parseInt(pendingCreation.amount.toString()))
diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts
index dd7280657..0ecfbb7cd 100644
--- a/backend/src/graphql/resolver/BalanceResolver.ts
+++ b/backend/src/graphql/resolver/BalanceResolver.ts
@@ -35,7 +35,7 @@ export class BalanceResolver {
return new Balance({
balance: roundFloorFrom4(balanceEntity.amount),
decay: roundFloorFrom4(
- await calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now),
+ calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now).balance,
),
decay_date: now.toString(),
})
diff --git a/backend/src/util/validate.ts b/backend/src/util/validate.ts
index b94550d63..edd663e9e 100644
--- a/backend/src/util/validate.ts
+++ b/backend/src/util/validate.ts
@@ -21,7 +21,7 @@ async function hasUserAmount(user: dbUser, amount: number): Promise {
const balance = await balanceRepository.findOne({ userId: user.id })
if (!balance) return false
- const decay = await calculateDecay(balance.amount, balance.recordDate, new Date())
+ const decay = calculateDecay(balance.amount, balance.recordDate, new Date()).balance
return decay > amount
}
From bec09fc7f4d600c30309b8558ca3ff63cb18d0f2 Mon Sep 17 00:00:00 2001
From: Ulf Gebhardt
Date: Wed, 2 Feb 2022 19:42:59 +0100
Subject: [PATCH 004/156] Update
backend/src/graphql/resolver/TransactionResolver.ts
Co-authored-by: Moriz Wahl
---
backend/src/graphql/resolver/TransactionResolver.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts
index c674f36d1..0a9e91fa2 100644
--- a/backend/src/graphql/resolver/TransactionResolver.ts
+++ b/backend/src/graphql/resolver/TransactionResolver.ts
@@ -142,7 +142,7 @@ async function calculateAndAddDecayTransactions(
if (i === userTransactions.length - 1 && decay) {
const now = new Date()
- const decay = await calculateDecay(userTransaction.balance, userTransaction.balanceDate, now)
+ const decay = calculateDecay(userTransaction.balance, userTransaction.balanceDate, now)
const balance = userTransaction.balance - decay.balance
const decayTransaction = new Transaction()
From ab38a66c84f4e9259de3d4aaee91ffd42ec853f5 Mon Sep 17 00:00:00 2001
From: Ulf Gebhardt
Date: Thu, 3 Feb 2022 00:48:15 +0100
Subject: [PATCH 005/156] Update
backend/src/graphql/resolver/TransactionResolver.ts
---
backend/src/graphql/resolver/TransactionResolver.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts
index 0a9e91fa2..8d411f4ac 100644
--- a/backend/src/graphql/resolver/TransactionResolver.ts
+++ b/backend/src/graphql/resolver/TransactionResolver.ts
@@ -80,7 +80,7 @@ async function calculateAndAddDecayTransactions(
if (previousTransaction) {
const currentTransaction = userTransaction
- const decay = await calculateDecay(
+ const decay = calculateDecay(
previousTransaction.balance,
previousTransaction.balanceDate,
currentTransaction.balanceDate,
From 6e63bacba748c41ad91d7199b467483193b08ff4 Mon Sep 17 00:00:00 2001
From: Einhornimmond
Date: Fri, 11 Feb 2022 10:15:09 +0100
Subject: [PATCH 006/156] let handle mysql the paging
---
backend/src/graphql/resolver/AdminResolver.ts | 16 ++++++----
backend/src/typeorm/repository/User.ts | 31 +++++++++++++++++++
2 files changed, 41 insertions(+), 6 deletions(-)
diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts
index 54fe9335e..2b6138dee 100644
--- a/backend/src/graphql/resolver/AdminResolver.ts
+++ b/backend/src/graphql/resolver/AdminResolver.ts
@@ -32,7 +32,13 @@ export class AdminResolver {
@Args() { searchText, currentPage = 1, pageSize = 25, notActivated = false }: SearchUsersArgs,
): Promise {
const userRepository = getCustomRepository(UserRepository)
- const users = await userRepository.findBySearchCriteria(searchText)
+ let users: dbUser[]
+ let count: number
+ if(notActivated) {
+ [users, count] = await userRepository.findBySearchCriteriaPagedNotActivated(searchText, currentPage, pageSize)
+ } else {
+ [users, count] = await userRepository.findBySearchCriteriaPaged(searchText, currentPage, pageSize)
+ }
let adminUsers = await Promise.all(
users.map(async (user) => {
const adminUser = new UserAdmin()
@@ -41,16 +47,14 @@ export class AdminResolver {
adminUser.lastName = user.lastName
adminUser.email = user.email
adminUser.creation = await getUserCreations(user.id)
- adminUser.emailChecked = await hasActivatedEmail(user.email)
+ adminUser.emailChecked = user.emailChecked
adminUser.hasElopage = await hasElopageBuys(user.email)
return adminUser
}),
)
- if (notActivated) adminUsers = adminUsers.filter((u) => !u.emailChecked)
- const first = (currentPage - 1) * pageSize
return {
- userCount: adminUsers.length,
- userList: adminUsers.slice(first, first + pageSize),
+ userCount: count,
+ userList: adminUsers,
}
}
diff --git a/backend/src/typeorm/repository/User.ts b/backend/src/typeorm/repository/User.ts
index 59d6ff465..bf9d55587 100644
--- a/backend/src/typeorm/repository/User.ts
+++ b/backend/src/typeorm/repository/User.ts
@@ -1,5 +1,6 @@
import { EntityRepository, Repository } from '@dbTools/typeorm'
import { User } from '@entity/User'
+import internal from 'stream'
@EntityRepository(User)
export class UserRepository extends Repository {
@@ -43,4 +44,34 @@ export class UserRepository extends Repository {
)
.getMany()
}
+ async findBySearchCriteriaPaged(searchCriteria: string, currentPage: number, pageSize: number): Promise<[User[], number]> {
+ return await this.createQueryBuilder('user')
+ .where(
+ 'user.firstName like :name or user.lastName like :lastName or user.email like :email',
+ {
+ name: `%${searchCriteria}%`,
+ lastName: `%${searchCriteria}%`,
+ email: `%${searchCriteria}%`,
+ },
+ )
+ .take(pageSize)
+ .skip((currentPage - 1 ) * pageSize)
+ .getManyAndCount()
+ }
+
+ async findBySearchCriteriaPagedNotActivated(searchCriteria: string, currentPage: number, pageSize: number): Promise<[User[], number]> {
+ return await this.createQueryBuilder('user')
+ .where(
+ 'user.firstName like :name or user.lastName like :lastName or user.email like :email',
+ {
+ name: `%${searchCriteria}%`,
+ lastName: `%${searchCriteria}%`,
+ email: `%${searchCriteria}%`,
+ emailChecked: false
+ },
+ )
+ .take(pageSize)
+ .skip((currentPage - 1 ) * pageSize)
+ .getManyAndCount()
+ }
}
From 26f537f6e31cda22fe3cec1976a374b9c146f5c5 Mon Sep 17 00:00:00 2001
From: ogerly
Date: Fri, 11 Feb 2022 14:00:53 +0100
Subject: [PATCH 007/156] confirm pending creation box, confirmbutton right
---
admin/src/components/UserTable.vue | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/admin/src/components/UserTable.vue b/admin/src/components/UserTable.vue
index fb24cf0f1..932ea2d22 100644
--- a/admin/src/components/UserTable.vue
+++ b/admin/src/components/UserTable.vue
@@ -13,18 +13,23 @@
{{ overlayText.text2 }}
-
-
+
+
+
{{ overlayText.button_cancel }}
-
-
+
{{ overlayText.button_ok }}
-
+
+
+
+
+
From bc68db6b21301f531a8dac36af2a28a8ee86c40b Mon Sep 17 00:00:00 2001
From: ogerly
Date: Fri, 11 Feb 2022 14:01:31 +0100
Subject: [PATCH 008/156] confirm pending creation box, confirmbutton right,
yarn lint
---
admin/src/components/UserTable.vue | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/admin/src/components/UserTable.vue b/admin/src/components/UserTable.vue
index 932ea2d22..e2222fc0c 100644
--- a/admin/src/components/UserTable.vue
+++ b/admin/src/components/UserTable.vue
@@ -15,21 +15,23 @@
-
- {{ overlayText.button_cancel }}
-
-
- {{ overlayText.button_ok }}
-
+
+
+ {{ overlayText.button_cancel }}
+
+
+
+
+ {{ overlayText.button_ok }}
+
+
-
-
From 7834054a77dcb3e47383c4da017112d15afa0fe2 Mon Sep 17 00:00:00 2001
From: ogerly
Date: Fri, 11 Feb 2022 15:08:09 +0100
Subject: [PATCH 009/156] add components Overlay.vue, add localize for
Overlay.vue
---
admin/src/components/Overlay.vue | 66 +++++++++++++++++++++++++++++
admin/src/components/UserTable.vue | 68 ++++--------------------------
admin/src/locales/de.json | 4 +-
admin/src/locales/en.json | 3 +-
4 files changed, 80 insertions(+), 61 deletions(-)
create mode 100644 admin/src/components/Overlay.vue
diff --git a/admin/src/components/Overlay.vue b/admin/src/components/Overlay.vue
new file mode 100644
index 000000000..e9af36cdd
--- /dev/null
+++ b/admin/src/components/Overlay.vue
@@ -0,0 +1,66 @@
+
+
+
+ {{ $t('overlay.confirm.title') }}
+
+
+ {{ $t('overlay.confirm.text') }}
+
+
+
+ {{ $t('name') }}
+ {{ items.firstName }} {{ items.lastName }}
+
+
+ {{ $t('e_mail') }}
+ {{ items.email }}
+
+
+ {{ $t('transactionlist.amount') }}
+ {{ items.amount }} GDD
+
+
+ {{ $t('transactionlist.memo') }}
+ {{ items.memo }}
+
+
+ {{ $t('creation_for_month') }}
+ {{ items.date }}
+
+
+
+
+
+
+ {{ $t('overlay.confirm.question') }}
+
+
+
+
+
+ {{ $t('overlay.confirm.cancel') }}
+
+
+
+
+ {{ $t('overlay.confirm.yes') }}
+
+
+
+
+
+
+
+
diff --git a/admin/src/components/UserTable.vue b/admin/src/components/UserTable.vue
index e2222fc0c..de59cb277 100644
--- a/admin/src/components/UserTable.vue
+++ b/admin/src/components/UserTable.vue
@@ -1,38 +1,7 @@
-
-
- {{ overlayText.header }}
-
-
- {{ overlayText.text1 }}
-
-
-
-
-
- {{ overlayText.text2 }}
-
-
-
-
-
- {{ overlayText.button_cancel }}
-
-
-
-
- {{ overlayText.button_ok }}
-
-
-
-
-
+
+
@@ -159,7 +128,7 @@
variant="success"
v-show="type === 'PageCreationConfirm'"
size="md"
- @click="overlayShow('confirm', row.item)"
+ @click="overlayShow(row.item)"
class="mr-2"
>
@@ -170,6 +139,7 @@