2023-09-27 10:37:59 +02:00
|
|
|
// import { ref } from 'vue'
|
2023-10-19 11:50:06 +02:00
|
|
|
import { useUserStore } from '@/stores/user'
|
2023-09-27 10:37:59 +02:00
|
|
|
|
|
|
|
export function useIdGenerator(fieldType, fieldName) {
|
|
|
|
let prefix
|
|
|
|
fieldName = fieldName.toString()
|
|
|
|
|
|
|
|
switch (fieldType) {
|
|
|
|
case 'text':
|
|
|
|
prefix = 'txt'
|
|
|
|
break
|
|
|
|
case 'button':
|
|
|
|
prefix = 'btn'
|
|
|
|
break
|
|
|
|
case 'email':
|
|
|
|
prefix = 'eml'
|
|
|
|
break
|
|
|
|
case 'password':
|
|
|
|
prefix = 'pwd'
|
|
|
|
break
|
|
|
|
case 'radio':
|
|
|
|
prefix = 'rdo'
|
|
|
|
break
|
|
|
|
case 'label':
|
|
|
|
prefix = 'lbl'
|
|
|
|
break
|
|
|
|
default:
|
|
|
|
prefix = 'txt'
|
|
|
|
break
|
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
|
|
inputId: prefix + fieldName[0].toUpperCase() + fieldName.toLowerCase().slice(1)
|
|
|
|
}
|
2023-10-19 11:50:06 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export function useDisplayablePassword(pwd) {
|
|
|
|
const user = useUserStore()
|
|
|
|
|
|
|
|
if (user.preferences.formatPassword && pwd.length > 0) {
|
|
|
|
const x = Math.ceil(user.preferences.formatPasswordBy < 1
|
|
|
|
? pwd.length * user.preferences.formatPasswordBy
|
|
|
|
: user.preferences.formatPasswordBy)
|
|
|
|
|
|
|
|
const chunks = pwd.match(new RegExp(`.{1,${x}}`, 'g'));
|
|
|
|
if (chunks) {
|
|
|
|
pwd = chunks.join(' ')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return user.preferences.showOtpAsDot ? pwd.replace(/[0-9]/g, '●') : pwd
|
2023-09-27 10:37:59 +02:00
|
|
|
}
|