MateuszMichalowski a87dca89dc
feat(admin): setup migration environment (#3328)
* initial dependency update with initial setup

* initial dependency update with initial setup

* lock update

* Revert "initial dependency update with initial setup"

This reverts commit aa71afc3eca20042a1e13066bee1730a15606dd2.

* admin - moved to vite

* feat(admin): migration packages update (#3327)

* bump apollo package

* extend vue config

* create useCreationMonths composable

* WIP

* temporary

* install dependencies

* adjust configs

* rework footer component

* remove not needed spaces,

* rework overview page

* rework component

* rework user search page

* rework navbar

* navbar adjustments

* add depenedencies

* style adjustment in footer

* composable adjustments

* update node version

* rework search and pagination

* feat(admin) - disable unit tests for migration time

* feat(admin) - update eslint

* wip on search user

* rework creation formular component

* feat(admin) - update eslint babel

* feat(admin) - change stylelint version, fix eslint errors

* feat(admin) - update dependency

* feat(admin) - update dependency

* feat(admin) - update dependency

* feat(admin) - update dependency

* feat(admin) - update dependency

* feat(admin) - update dependency

* feat(admin) - update dependency, update node

* feat(admin) - update icons

---------

Co-authored-by: Mateusz Michałowski <mateusz.michalowski@monterail.com>

---------

Co-authored-by: Kamila Lach <80581523+unnunhexium@users.noreply.github.com>
2024-07-24 10:49:33 +02:00

59 lines
1.6 KiB
Vue

<template>
<div class="mt-2">
<span v-for="({ type, text }, index) in parsedMessage" :key="index">
<b-link v-if="type === 'link'" :href="text" target="_blank">{{ text }}</b-link>
<span v-else-if="type === 'date'">
{{ $d(new Date(text), 'short') }}
<br />
</span>
<span v-else-if="type === 'amount'">
<br />
{{ `${$n(Number(text), 'decimal')} GDD` }}
</span>
<span v-else>{{ text }}</span>
</span>
</div>
</template>
<script>
const LINK_REGEX_PATTERN =
/(https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*))/i
export default {
name: 'ParseMessage',
props: {
message: {
type: String,
required: true,
},
messageType: {
type: String,
required: true,
},
},
computed: {
parsedMessage() {
let string = this.message
const linkified = []
let amount
if (this.messageType === 'HISTORY') {
const split = string.split(/\n\s*---\n\s*/)
string = split[1]
linkified.push({ type: 'date', text: split[0].trim() })
amount = split[2].trim()
}
let match
while ((match = string.match(LINK_REGEX_PATTERN))) {
if (match.index > 0)
linkified.push({ type: 'text', text: string.substring(0, match.index) })
linkified.push({ type: 'link', text: match[0] })
string = string.substring(match.index + match[0].length)
}
if (string.length > 0) linkified.push({ type: 'text', text: string })
if (amount) linkified.push({ type: 'amount', text: amount })
return linkified
},
},
}
</script>