This commit is contained in:
syuilo 2023-09-14 16:20:05 +09:00
parent 5b198be952
commit 9303cb07c4
4 changed files with 39 additions and 18 deletions

View File

@ -57,11 +57,9 @@
"punycode": "2.3.0",
"querystring": "0.2.1",
"rollup": "3.29.1",
"s-age": "1.1.2",
"sanitize-html": "2.11.0",
"sass": "1.67.0",
"strict-event-emitter-types": "2.0.0",
"syuilo-password-strength": "0.0.1",
"textarea-caret": "3.1.0",
"three": "0.156.1",
"throttle-debounce": "5.0.0",

View File

@ -77,7 +77,6 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup>
import { } from 'vue';
import getPasswordStrength from 'syuilo-password-strength';
import { toUnicode } from 'punycode/';
import MkButton from './MkButton.vue';
import MkInput from './MkInput.vue';
@ -132,6 +131,30 @@ const shouldDisableSubmitting = $computed((): boolean => {
passwordRetypeState !== 'match';
});
function getPasswordStrength(source: string): number {
let strength = 0;
let power = 0.018;
//
if (/[a-zA-Z]/.test(source) && /[0-9]/.test(source)) {
power += 0.020;
}
//
if (/[a-z]/.test(source) && /[A-Z]/.test(source)) {
power += 0.015;
}
//
if (/[!\x22\#$%&@'()*+,-./_]/.test(source)) {
power += 0.02;
}
strength = power * source.length;
return Math.max(0, Math.min(1, strength));
}
function onChangeUsername(): void {
if (username === '') {
usernameState = null;

View File

@ -143,7 +143,6 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup>
import { defineAsyncComponent, computed, onMounted, onUnmounted, nextTick, watch } from 'vue';
import calcAge from 's-age';
import * as Misskey from 'misskey-js';
import MkNote from '@/components/MkNote.vue';
import MkFollowButton from '@/components/MkFollowButton.vue';
@ -167,6 +166,21 @@ import MkNotes from '@/components/MkNotes.vue';
import { api } from '@/os';
import { isFfVisibleForMe } from '@/scripts/isFfVisibleForMe';
function calcAge(birthdate: string): number {
const date = new Date(birthdate);
const now = new Date();
let yearDiff = now.getFullYear() - date.getFullYear();
const monthDiff = now.getMonth() - date.getMonth();
const pastDate = now.getDate() < date.getDate();
if (monthDiff < 0 || (monthDiff === 0 && pastDate)) {
yearDiff--;
}
return yearDiff;
}
const XPhotos = defineAsyncComponent(() => import('./index.photos.vue'));
const XActivity = defineAsyncComponent(() => import('./index.activity.vue'));

View File

@ -766,9 +766,6 @@ importers:
rollup:
specifier: 3.29.1
version: 3.29.1
s-age:
specifier: 1.1.2
version: 1.1.2
sanitize-html:
specifier: 2.11.0
version: 2.11.0
@ -778,9 +775,6 @@ importers:
strict-event-emitter-types:
specifier: 2.0.0
version: 2.0.0
syuilo-password-strength:
specifier: 0.0.1
version: 0.0.1
textarea-caret:
specifier: 3.1.0
version: 3.1.0
@ -17327,10 +17321,6 @@ packages:
dependencies:
tslib: 2.5.0
/s-age@1.1.2:
resolution: {integrity: sha512-aSN2TlF39WLoZA/6cgYSJZhKt63kJ4EaadejPWjWY9/h4rksIqvfWY3gfd+3uAegSM1IXsA9aWeEhJtkxkFQtA==}
dev: false
/safe-array-concat@1.0.0:
resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==}
engines: {node: '>=0.4'}
@ -18274,10 +18264,6 @@ packages:
hasBin: true
dev: false
/syuilo-password-strength@0.0.1:
resolution: {integrity: sha512-g9rPT3V1Q4WjWFZ/t5BdGC1mT/FpYnsLdBl+M5e6MlRkuE1RSR+R43wcY/3mKI59B9KEr+vxdWCuWNMD3oNHKA==}
dev: false
/tar-fs@2.1.1:
resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
dependencies: