Merge branch 'vue3-again' into shigusegubu-vue3

* vue3-again:
  registration fixes
  re-fix i18n warnings again
  fix qr code
  lint + fixes for registration
  fix production build's reply not working in tree mode
This commit is contained in:
Henry Jameson 2022-03-29 16:28:42 +03:00
commit 9a95786d1e
19 changed files with 66 additions and 52 deletions

View file

@ -17,14 +17,18 @@
},
"dependencies": {
"@babel/runtime": "7.17.8",
"@chenfengyuan/vue-qrcode": "1.0.2",
"@chenfengyuan/vue-qrcode": "2.0.0",
"@fortawesome/fontawesome-svg-core": "1.3.0",
"@fortawesome/free-regular-svg-icons": "5.15.4",
"@fortawesome/free-solid-svg-icons": "5.15.4",
"@fortawesome/vue-fontawesome": "3.0.0-5",
"@kazvmoe-infra/pinch-zoom-element": "1.2.0",
"@vue/compat": "^3.1.0",
"@vuelidate/core": "2.0.0-alpha.35",
"@vuelidate/validators": "2.0.0-alpha.27",
"body-scroll-lock": "2.7.1",
"chromatism": "3.0.0",
"click-outside-vue3": "4.0.1",
"cropperjs": "1.5.12",
"diff": "3.5.0",
"escape-html": "1.0.3",
@ -32,15 +36,12 @@
"parse-link-header": "1.0.1",
"phoenix": "1.4.0",
"punycode.js": "2.1.0",
"qrcode": "1",
"ruffle-mirror": "2021.12.31",
"click-outside-vue3": "4.0.1",
"vue": "^3.2.31",
"@vue/compat": "^3.1.0",
"vue-i18n": "9.1.9",
"vue-router": "4.0.14",
"vue-template-compiler": "2.6.11",
"@vuelidate/core": "2.0.0-alpha.35",
"@vuelidate/validators": "2.0.0-alpha.27",
"vuex": "4.0.2"
},
"devDependencies": {
@ -51,8 +52,8 @@
"@ungap/event-target": "0.2.3",
"@vue/babel-helper-vue-jsx-merge-props": "1.2.1",
"@vue/babel-plugin-jsx": "1.1.1",
"@vue/test-utils": "2.0.0-rc.17",
"@vue/compiler-sfc": "^3.1.0",
"@vue/test-utils": "2.0.0-rc.17",
"autoprefixer": "6.7.7",
"babel-eslint": "7.2.3",
"babel-loader": "8.2.4",

View file

@ -11,7 +11,7 @@
</label>
<Checkbox
v-if="typeof fallback !== 'undefined' && showOptionalTickbox"
:modelValue="present"
:model-value="present"
:disabled="disabled"
class="opt"
@update:modelValue="$emit('update:modelValue', typeof modelValue === 'undefined' ? fallback : undefined)"

View file

@ -32,6 +32,7 @@
tag="button"
class="button-unstyled -link"
@click.prevent="diveToTopLevel"
scope="global"
>
<template #icon>
<FAIcon
@ -101,6 +102,7 @@
>
<i18n-t
tag="button"
scope="global"
keypath="status.ancestor_follow_with_icon"
class="button-unstyled -link thread-tree-show-replies-button"
@click.prevent="diveIntoStatus(status.id)"

View file

@ -112,7 +112,10 @@
</span>
<span v-if="notification.type === 'pleroma:emoji_reaction'">
<small>
<i18n-t scope="global" keypath="notifications.reacted_with">
<i18n-t
scope="global"
keypath="notifications.reacted_with"
>
<span class="emoji-reaction-emoji">{{ notification.emoji }}</span>
</i18n-t>
</small>

View file

@ -11,7 +11,7 @@
</label>
<Checkbox
v-if="typeof fallback !== 'undefined'"
:modelValue="present"
:model-value="present"
:disabled="disabled"
class="opt"
@update:modelValue="$emit('update:modelValue', !present ? fallback : undefined)"

View file

@ -71,7 +71,10 @@
{{ $tc("polls.votes_count", poll.votes_count, { count: poll.votes_count }) }}&nbsp;·&nbsp;
</template>
</div>
<i18n-t scope="global" :keypath="expired ? 'polls.expired' : 'polls.expires_in'">
<i18n-t
scope="global"
:keypath="expired ? 'polls.expired' : 'polls.expires_in'"
>
<Timeago
:time="expiresAt"
:auto-update="60"

View file

@ -23,6 +23,7 @@
keypath="post_status.account_not_locked_warning"
tag="p"
class="visibility-notice"
scope="global"
>
<button
class="button-unstyled -link"

View file

@ -24,7 +24,7 @@ const registration = {
password: { required },
confirm: {
required,
sameAsPassword: sameAs('password')
sameAs: sameAs(this.user.password)
},
reason: { required: requiredIf(() => this.accountApprovalRequired) }
}
@ -65,9 +65,9 @@ const registration = {
this.user.captcha_token = this.captcha.token
this.user.captcha_answer_data = this.captcha.answer_data
this.$v.$touch()
this.v$.$touch()
if (!this.$v.$invalid) {
if (!this.v$.$invalid) {
try {
await this.signUp(this.user)
this.$router.push({ name: 'friends' })

View file

@ -12,7 +12,7 @@
<div class="text-fields">
<div
class="form-group"
:class="{ 'form-group--error': $v.user.username.$error }"
:class="{ 'form-group--error': v$.user.username.$error }"
>
<label
class="form--label"
@ -20,18 +20,18 @@
>{{ $t('login.username') }}</label>
<input
id="sign-up-username"
v-model.trim="$v.user.username.$model"
v-model.trim="v$.user.username.$model"
:disabled="isPending"
class="form-control"
:placeholder="$t('registration.username_placeholder')"
>
</div>
<div
v-if="$v.user.username.$dirty"
v-if="v$.user.username.$dirty"
class="form-error"
>
<ul>
<li v-if="!$v.user.username.required">
<li v-if="!v$.user.username.required">
<span>{{ $t('registration.validations.username_required') }}</span>
</li>
</ul>
@ -39,7 +39,7 @@
<div
class="form-group"
:class="{ 'form-group--error': $v.user.fullname.$error }"
:class="{ 'form-group--error': v$.user.fullname.$error }"
>
<label
class="form--label"
@ -47,18 +47,18 @@
>{{ $t('registration.fullname') }}</label>
<input
id="sign-up-fullname"
v-model.trim="$v.user.fullname.$model"
v-model.trim="v$.user.fullname.$model"
:disabled="isPending"
class="form-control"
:placeholder="$t('registration.fullname_placeholder')"
>
</div>
<div
v-if="$v.user.fullname.$dirty"
v-if="v$.user.fullname.$dirty"
class="form-error"
>
<ul>
<li v-if="!$v.user.fullname.required">
<li v-if="!v$.user.fullname.required">
<span>{{ $t('registration.validations.fullname_required') }}</span>
</li>
</ul>
@ -66,7 +66,7 @@
<div
class="form-group"
:class="{ 'form-group--error': $v.user.email.$error }"
:class="{ 'form-group--error': v$.user.email.$error }"
>
<label
class="form--label"
@ -74,18 +74,18 @@
>{{ $t('registration.email') }}</label>
<input
id="email"
v-model="$v.user.email.$model"
v-model="v$.user.email.$model"
:disabled="isPending"
class="form-control"
type="email"
>
</div>
<div
v-if="$v.user.email.$dirty"
v-if="v$.user.email.$dirty"
class="form-error"
>
<ul>
<li v-if="!$v.user.email.required">
<li v-if="!v$.user.email.required">
<span>{{ $t('registration.validations.email_required') }}</span>
</li>
</ul>
@ -107,7 +107,7 @@
<div
class="form-group"
:class="{ 'form-group--error': $v.user.password.$error }"
:class="{ 'form-group--error': v$.user.password.$error }"
>
<label
class="form--label"
@ -122,11 +122,11 @@
>
</div>
<div
v-if="$v.user.password.$dirty"
v-if="v$.user.password.$dirty"
class="form-error"
>
<ul>
<li v-if="!$v.user.password.required">
<li v-if="!v$.user.password.required">
<span>{{ $t('registration.validations.password_required') }}</span>
</li>
</ul>
@ -134,7 +134,7 @@
<div
class="form-group"
:class="{ 'form-group--error': $v.user.confirm.$error }"
:class="{ 'form-group--error': v$.user.confirm.$error }"
>
<label
class="form--label"
@ -149,14 +149,14 @@
>
</div>
<div
v-if="$v.user.confirm.$dirty"
v-if="v$.user.confirm.$dirty"
class="form-error"
>
<ul>
<li v-if="!$v.user.confirm.required">
<li v-if="!v$.user.confirm.required">
<span>{{ $t('registration.validations.password_confirmation_required') }}</span>
</li>
<li v-if="!$v.user.confirm.sameAsPassword">
<li v-if="!v$.user.confirm.sameAsPassword">
<span>{{ $t('registration.validations.password_confirmation_match') }}</span>
</li>
</ul>

View file

@ -6,7 +6,7 @@
>
<div class="selectable-list-checkbox-wrapper">
<Checkbox
:modelValue="allSelected"
:model-value="allSelected"
:indeterminate="someSelected"
@change="toggleAll"
>
@ -31,7 +31,7 @@
>
<div class="selectable-list-checkbox-wrapper">
<Checkbox
:modelValue="isSelected(item)"
:model-value="isSelected(item)"
@change="checked => toggle(checked, item)"
/>
</div>

View file

@ -4,7 +4,7 @@
class="BooleanSetting"
>
<Checkbox
:modelValue="state"
:model-value="state"
:disabled="disabled"
@update:modelValue="update"
>

View file

@ -6,7 +6,7 @@
<slot />
{{ ' ' }}
<Select
:modelValue="state"
:model-value="state"
:disabled="disabled"
@update:modelValue="update"
>

View file

@ -110,12 +110,15 @@
</template>
</Popover>
<Checkbox :modelValue="!!expertLevel" @update:modelValue="expertLevel = Number($event)">
<Checkbox
:model-value="!!expertLevel"
@update:modelValue="expertLevel = Number($event)"
>
{{ $t("settings.expert_mode") }}
</Checkbox>
<span
class="extra-content"
id="unscrolled-content"
class="extra-content"
/>
</div>
</div>

View file

@ -184,8 +184,8 @@
<button
v-if="!isDefaultBackground"
class="button-unstyled"
@click="resetBackground"
:title="$t('settings.reset_profile_background')"
@click="resetBackground"
>
<FAIcon
class="reset-button"

View file

@ -29,7 +29,7 @@
{{ $t('settings.style.preview.content') }}
</h4>
<i18n-t keypath="settings.style.preview.text">
<i18n-t scope="global" keypath="settings.style.preview.text">
<code style="font-family: var(--postCodeFont)">
{{ $t('settings.style.preview.mono') }}
</code>
@ -76,6 +76,7 @@
keypath="settings.style.preview.fine_print"
tag="span"
class="faint"
scope="global"
>
<a style="color: var(--faintLink)">
{{ $t('settings.style.preview.faint_link') }}

View file

@ -75,8 +75,8 @@
class="thread-tree-replies thread-tree-replies-hidden"
>
<i18n-t
scope="global"
v-if="simple"
scope="global"
tag="button"
keypath="status.thread_follow_with_icon"
class="button-unstyled -link thread-tree-show-replies-button"

View file

@ -2,7 +2,7 @@
<span
class="Avatar"
:class="{ '-compact': compact }"
>
>
<StillImage
v-if="user"
class="avatar"

View file

@ -53,7 +53,7 @@
:statusoid="item"
/>
<Checkbox
:modelValue="isChecked(item.id)"
:model-value="isChecked(item.id)"
@change="checked => toggleStatus(checked, item.id)"
/>
</div>

View file

@ -1160,12 +1160,10 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
"@chenfengyuan/vue-qrcode@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@chenfengyuan/vue-qrcode/-/vue-qrcode-1.0.2.tgz#37d71902e166e1ae58176bd6cb9c40905c1b0949"
integrity sha512-hwy1d4YMJAyEh+V7dLPG8eAKACRvugzSB4ylwb6QNqo84KHTF50/5EJcBYdUhTRPfAqrxG0i6jDAXONWOGyQbQ==
dependencies:
qrcode "^1.4.4"
"@chenfengyuan/vue-qrcode@2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@chenfengyuan/vue-qrcode/-/vue-qrcode-2.0.0.tgz#8cd01f6fc528d471680ebe812ec47c830aea7e63"
integrity sha512-33Cfr0zjbc3Dd8d5b1IgzXRAgXH0c2Gv19VI4snS25V/x9Z41eg769tC+Us1x+vqgQQhgD5YUjLnkpkrQfeMSw==
"@colors/colors@1.5.0":
version "1.5.0"
@ -3576,8 +3574,9 @@ diffie-hellman@^5.0.0:
randombytes "^2.0.0"
dijkstrajs@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b"
version "1.0.2"
resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257"
integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==
dir-glob@^3.0.1:
version "3.0.1"
@ -8007,7 +8006,7 @@ qjobs@^1.2.0:
resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071"
integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==
qrcode@^1.4.4:
qrcode@1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b"
integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==
@ -10103,6 +10102,7 @@ which-boxed-primitive@^1.0.2:
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
which@^1.0.9, which@^1.1.1, which@^1.2.9, which@^1.3.1:
version "1.3.1"