This commit is contained in:
syuilo 2025-09-24 18:02:06 +09:00
parent 4a698165cc
commit f6e481d8fb
3 changed files with 23 additions and 8 deletions

8
locales/index.d.ts vendored
View File

@ -5565,6 +5565,10 @@ export interface Locale extends ILocale {
* {x}稿 * {x}稿
*/ */
"scheduleToPostOnX": ParameterizedString<"x">; "scheduleToPostOnX": ParameterizedString<"x">;
/**
* {x}稿
*/
"scheduledToPostOnX": ParameterizedString<"x">;
/** /**
* *
*/ */
@ -12673,6 +12677,10 @@ export interface Locale extends ILocale {
* 稿 * 稿
*/ */
"listScheduledNotes": string; "listScheduledNotes": string;
/**
*
*/
"cancelSchedule": string;
}; };
/** /**
* *

View File

@ -1386,6 +1386,7 @@ thankYouForTestingBeta: "ベータ版の検証にご協力いただきありが
createUserSpecifiedNote: "ユーザー指定ノートを作成" createUserSpecifiedNote: "ユーザー指定ノートを作成"
schedulePost: "投稿を予約" schedulePost: "投稿を予約"
scheduleToPostOnX: "{x}に投稿を予約します" scheduleToPostOnX: "{x}に投稿を予約します"
scheduledToPostOnX: "{x}に投稿が予約されています"
schedule: "予約" schedule: "予約"
scheduled: "予約" scheduled: "予約"
@ -3393,6 +3394,7 @@ _drafts:
listDrafts: "下書き一覧" listDrafts: "下書き一覧"
schedule: "投稿予約" schedule: "投稿予約"
listScheduledNotes: "予約投稿一覧" listScheduledNotes: "予約投稿一覧"
cancelSchedule: "予約解除"
qr: "二次元コード" qr: "二次元コード"
_qr: _qr:

View File

@ -54,6 +54,7 @@ SPDX-License-Identifier: AGPL-3.0-only
:class="[$style.draft]" :class="[$style.draft]"
> >
<div :class="$style.draftBody" class="_gaps_s"> <div :class="$style.draftBody" class="_gaps_s">
<MkInfo v-if="draft.scheduledAt != null && draft.isActuallyScheduled">{{ i18n.tsx.scheduledToPostOnX({ x: new Date(draft.scheduledAt).toLocaleString() }) }}</MkInfo>
<div :class="$style.draftInfo"> <div :class="$style.draftInfo">
<div :class="$style.draftMeta"> <div :class="$style.draftMeta">
<div v-if="draft.reply" class="_nowrap"> <div v-if="draft.reply" class="_nowrap">
@ -107,8 +108,19 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkTime :time="draft.createdAt" :class="$style.draftCreatedAt" mode="detail" colored/> <MkTime :time="draft.createdAt" :class="$style.draftCreatedAt" mode="detail" colored/>
</div> </div>
</div> </div>
<div :class="$style.draftActions" class="_buttons"> <div :class="$style.draftActions" class="_buttons">
<MkButton <MkButton
v-if="draft.scheduledAt != null && draft.isActuallyScheduled"
:class="$style.itemButton"
small
@click="cancelSchedule(draft)"
>
<i class="ti ti-calendar-x"></i>
{{ i18n.ts._drafts.cancelSchedule }}
</MkButton>
<MkButton
v-else
:class="$style.itemButton" :class="$style.itemButton"
small small
@click="restoreDraft(draft)" @click="restoreDraft(draft)"
@ -116,14 +128,6 @@ SPDX-License-Identifier: AGPL-3.0-only
<i class="ti ti-corner-up-left"></i> <i class="ti ti-corner-up-left"></i>
{{ i18n.ts._drafts.restore }} {{ i18n.ts._drafts.restore }}
</MkButton> </MkButton>
<MkButton
:class="$style.itemButton"
small
@click="schedule(draft)"
>
<i class="ti ti-calendar-time"></i>
{{ i18n.ts._drafts.schedule }}
</MkButton>
<MkButton <MkButton
v-tooltip="i18n.ts._drafts.delete" v-tooltip="i18n.ts._drafts.delete"
danger danger
@ -158,6 +162,7 @@ import { $i } from '@/i.js';
import { misskeyApi } from '@/utility/misskey-api'; import { misskeyApi } from '@/utility/misskey-api';
import { Paginator } from '@/utility/paginator.js'; import { Paginator } from '@/utility/paginator.js';
import MkTabs from '@/components/MkTabs.vue'; import MkTabs from '@/components/MkTabs.vue';
import MkInfo from '@/components/MkInfo.vue';
const props = defineProps<{ const props = defineProps<{
scheduled?: boolean; scheduled?: boolean;