summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2023-11-23 19:49:45 +0900
committerGitHub <noreply@github.com>2023-11-23 19:49:45 +0900
commited6f866a4f6e32a7875951fe7ea358d5cd21c6ce (patch)
tree89d2fcfd23d0ac49ddf0b24c7a70a2593a8f3d60 /packages/frontend/src/components
parentfix(backend): 招待コードが使い回せる問題を修正 (#12423) (diff)
downloadmisskey-ed6f866a4f6e32a7875951fe7ea358d5cd21c6ce.tar.gz
misskey-ed6f866a4f6e32a7875951fe7ea358d5cd21c6ce.tar.bz2
misskey-ed6f866a4f6e32a7875951fe7ea358d5cd21c6ce.zip
enhance/fix(AP/frontend): 最近追加されたMFMのもろもろを修正 (#12420)
* (enhance) MFM rubyが連合されるように * Update Changelog * Update Changelog * (fix) unixtimeのフォールバック (AP) * (fix) unixtimeのフォールバック (frontend) * Update Changelog
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/global/MkTime.vue19
1 files changed, 16 insertions, 3 deletions
diff --git a/packages/frontend/src/components/global/MkTime.vue b/packages/frontend/src/components/global/MkTime.vue
index f08d538fc0..2eeab4d284 100644
--- a/packages/frontend/src/components/global/MkTime.vue
+++ b/packages/frontend/src/components/global/MkTime.vue
@@ -28,12 +28,25 @@ const props = withDefaults(defineProps<{
mode: 'relative',
});
-const _time = props.time == null ? NaN :
- typeof props.time === 'number' ? props.time :
- (props.time instanceof Date ? props.time : new Date(props.time)).getTime();
+function getDateSafe(n: Date | string | number) {
+ try {
+ if (n instanceof Date) {
+ return n;
+ }
+ return new Date(n);
+ } catch (err) {
+ return {
+ getTime: () => NaN,
+ };
+ }
+}
+
+// eslint-disable-next-line vue/no-setup-props-destructure
+const _time = props.time == null ? NaN : getDateSafe(props.time).getTime();
const invalid = Number.isNaN(_time);
const absolute = !invalid ? dateTimeFormat.format(_time) : i18n.ts._ago.invalid;
+// eslint-disable-next-line vue/no-setup-props-destructure
let now = $ref((props.origin ?? new Date()).getTime());
const ago = $computed(() => (now - _time) / 1000/*ms*/);