Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts: # package.json # packages/backend/src/server/api/endpoints.ts # packages/frontend/src/components/MkButton.vue # packages/frontend/src/components/MkDrive.vue # packages/frontend/src/components/MkEmojiPicker.section.vue # packages/frontend/src/components/MkEmojiPicker.vue # packages/frontend/src/components/MkFoldableSection.vue # packages/frontend/src/components/MkInput.vue # packages/frontend/src/components/MkMenu.vue # packages/frontend/src/components/MkNote.vue # packages/frontend/src/components/MkPostForm.vue # packages/frontend/src/components/MkSignupDialog.form.vue # packages/frontend/src/components/MkSwitch.button.vue # packages/frontend/src/components/MkTab.vue # packages/frontend/src/components/MkTimeline.vue # packages/frontend/src/components/MkUserSelectDialog.vue # packages/frontend/src/components/global/MkCustomEmoji.vue # packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts # packages/frontend/src/os.ts # packages/frontend/src/pages/admin/index.vue # packages/frontend/src/pages/user/home.vue # packages/frontend/src/ui/universal.vue
This commit is contained in:
commit
942b7f1b3c
250 changed files with 2788 additions and 1788 deletions
|
|
@ -62,21 +62,18 @@ import { formatDateTimeString } from '@/scripts/format-time-string.js';
|
|||
import { addTime } from '@/scripts/time.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export type PollEditorModelValue = {
|
||||
expiresAt: number | null;
|
||||
expiredAfter: number | null;
|
||||
choices: string[];
|
||||
multiple: boolean;
|
||||
};
|
||||
|
||||
const props = defineProps<{
|
||||
modelValue: {
|
||||
expiresAt: string;
|
||||
expiredAfter: number;
|
||||
choices: string[];
|
||||
multiple: boolean;
|
||||
};
|
||||
modelValue: PollEditorModelValue;
|
||||
}>();
|
||||
const emit = defineEmits<{
|
||||
(ev: 'update:modelValue', v: {
|
||||
expiresAt: string;
|
||||
expiredAfter: number;
|
||||
choices: string[];
|
||||
multiple: boolean;
|
||||
}): void;
|
||||
(ev: 'update:modelValue', v: PollEditorModelValue): void;
|
||||
}>();
|
||||
|
||||
const choices = ref(props.modelValue.choices);
|
||||
|
|
@ -89,7 +86,9 @@ const unit = ref('second');
|
|||
|
||||
if (props.modelValue.expiresAt) {
|
||||
expiration.value = 'at';
|
||||
atDate.value = atTime.value = props.modelValue.expiresAt;
|
||||
const expiresAt = new Date(props.modelValue.expiresAt);
|
||||
atDate.value = formatDateTimeString(expiresAt, 'yyyy-MM-dd');
|
||||
atTime.value = formatDateTimeString(expiresAt, 'HH:mm');
|
||||
} else if (typeof props.modelValue.expiredAfter === 'number') {
|
||||
expiration.value = 'after';
|
||||
after.value = props.modelValue.expiredAfter / 1000;
|
||||
|
|
@ -113,20 +112,21 @@ function remove(i) {
|
|||
choices.value = choices.value.filter((_, _i) => _i !== i);
|
||||
}
|
||||
|
||||
function get() {
|
||||
function get(): PollEditorModelValue {
|
||||
const calcAt = () => {
|
||||
return new Date(`${atDate.value} ${atTime.value}`).getTime();
|
||||
};
|
||||
|
||||
const calcAfter = () => {
|
||||
let base = parseInt(after.value);
|
||||
let base = parseInt(after.value.toString());
|
||||
switch (unit.value) {
|
||||
// @ts-expect-error fallthrough
|
||||
case 'day': base *= 24;
|
||||
// fallthrough
|
||||
// @ts-expect-error fallthrough
|
||||
case 'hour': base *= 60;
|
||||
// fallthrough
|
||||
// @ts-expect-error fallthrough
|
||||
case 'minute': base *= 60;
|
||||
// fallthrough
|
||||
// eslint-disable-next-line no-fallthrough
|
||||
case 'second': return base *= 1000;
|
||||
default: return null;
|
||||
}
|
||||
|
|
@ -135,10 +135,8 @@ function get() {
|
|||
return {
|
||||
choices: choices.value,
|
||||
multiple: multiple.value,
|
||||
...(
|
||||
expiration.value === 'at' ? { expiresAt: calcAt() } :
|
||||
expiration.value === 'after' ? { expiredAfter: calcAfter() } : {}
|
||||
),
|
||||
expiresAt: expiration.value === 'at' ? calcAt() : null,
|
||||
expiredAfter: expiration.value === 'after' ? calcAfter() : null,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue