Merge branch 'future-2024-04-10' into future-2024-04-25-post
This commit is contained in:
commit
af801bd9d2
|
@ -143,13 +143,13 @@ function showMenu(ev: MouseEvent) {
|
||||||
{
|
{
|
||||||
type: 'switch',
|
type: 'switch',
|
||||||
text: i18n.ts._mediaControls.loop,
|
text: i18n.ts._mediaControls.loop,
|
||||||
icon: 'ti ti-repeat',
|
icon: 'ph ph-repeat',
|
||||||
ref: loop,
|
ref: loop,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'radio',
|
type: 'radio',
|
||||||
text: i18n.ts._mediaControls.playbackRate,
|
text: i18n.ts._mediaControls.playbackRate,
|
||||||
icon: 'ti ti-clock-play',
|
icon: 'ph ph-gauge',
|
||||||
ref: speed,
|
ref: speed,
|
||||||
options: {
|
options: {
|
||||||
'0.25x': 0.25,
|
'0.25x': 0.25,
|
||||||
|
@ -188,7 +188,7 @@ function showMenu(ev: MouseEvent) {
|
||||||
}, {
|
}, {
|
||||||
type: 'link' as const,
|
type: 'link' as const,
|
||||||
text: i18n.ts._fileViewer.title,
|
text: i18n.ts._fileViewer.title,
|
||||||
icon: 'ti ti-info-circle',
|
icon: 'ph ph-info',
|
||||||
to: `/my/drive/file/${props.audio.id}`,
|
to: `/my/drive/file/${props.audio.id}`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ function showMenu(ev: MouseEvent) {
|
||||||
}, {
|
}, {
|
||||||
type: 'link' as const,
|
type: 'link' as const,
|
||||||
text: i18n.ts._fileViewer.title,
|
text: i18n.ts._fileViewer.title,
|
||||||
icon: 'ti ti-info-circle',
|
icon: 'ph ph-info',
|
||||||
to: `/my/drive/file/${props.image.id}`,
|
to: `/my/drive/file/${props.image.id}`,
|
||||||
}] : [])], ev.currentTarget ?? ev.target);
|
}] : [])], ev.currentTarget ?? ev.target);
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,10 +39,10 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
>
|
>
|
||||||
<source :src="video.url">
|
<source :src="video.url">
|
||||||
</video>
|
</video>
|
||||||
<i class="ti ti-eye-off" :class="$style.hide" @click="hide = true"></i>
|
<i class="ph-eye-closed ph-bold ph-lg" :class="$style.hide" @click="hide = true"></i>
|
||||||
<div :class="$style.indicators">
|
<div :class="$style.indicators">
|
||||||
<div v-if="video.comment" :class="$style.indicator">ALT</div>
|
<div v-if="video.comment" :class="$style.indicator">ALT</div>
|
||||||
<div v-if="video.isSensitive" :class="$style.indicator" style="color: var(--warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
|
<div v-if="video.isSensitive" :class="$style.indicator" style="color: var(--warn);" :title="i18n.ts.sensitive"><i class="ph-warning ph-bold ph-lg"></i></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -177,13 +177,13 @@ function showMenu(ev: MouseEvent) {
|
||||||
{
|
{
|
||||||
type: 'switch',
|
type: 'switch',
|
||||||
text: i18n.ts._mediaControls.loop,
|
text: i18n.ts._mediaControls.loop,
|
||||||
icon: 'ti ti-repeat',
|
icon: 'ph ph-repeat',
|
||||||
ref: loop,
|
ref: loop,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'radio',
|
type: 'radio',
|
||||||
text: i18n.ts._mediaControls.playbackRate,
|
text: i18n.ts._mediaControls.playbackRate,
|
||||||
icon: 'ti ti-clock-play',
|
icon: 'ph ph-gauge',
|
||||||
ref: speed,
|
ref: speed,
|
||||||
options: {
|
options: {
|
||||||
'0.25x': 0.25,
|
'0.25x': 0.25,
|
||||||
|
@ -197,7 +197,7 @@ function showMenu(ev: MouseEvent) {
|
||||||
},
|
},
|
||||||
...(document.pictureInPictureEnabled ? [{
|
...(document.pictureInPictureEnabled ? [{
|
||||||
text: i18n.ts._mediaControls.pip,
|
text: i18n.ts._mediaControls.pip,
|
||||||
icon: 'ti ti-picture-in-picture',
|
icon: 'ph ph-picture-in-picture',
|
||||||
action: togglePictureInPicture,
|
action: togglePictureInPicture,
|
||||||
}] : []),
|
}] : []),
|
||||||
{
|
{
|
||||||
|
@ -227,7 +227,7 @@ function showMenu(ev: MouseEvent) {
|
||||||
}, {
|
}, {
|
||||||
type: 'link' as const,
|
type: 'link' as const,
|
||||||
text: i18n.ts._fileViewer.title,
|
text: i18n.ts._fileViewer.title,
|
||||||
icon: 'ti ti-info-circle',
|
icon: 'ph ph-info',
|
||||||
to: `/my/drive/file/${props.video.id}`,
|
to: `/my/drive/file/${props.video.id}`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<i v-if="item.icon" class="ti-fw" :class="[$style.icon, item.icon]" style="pointer-events: none;"></i>
|
<i v-if="item.icon" class="ti-fw" :class="[$style.icon, item.icon]" style="pointer-events: none;"></i>
|
||||||
<div :class="$style.item_content">
|
<div :class="$style.item_content">
|
||||||
<span :class="$style.item_content_text" style="pointer-events: none;">{{ item.text }}</span>
|
<span :class="$style.item_content_text" style="pointer-events: none;">{{ item.text }}</span>
|
||||||
<span :class="$style.caret" style="pointer-events: none;"><i class="ti ti-chevron-right ti-fw"></i></span>
|
<span :class="$style.caret" style="pointer-events: none;"><i class="ph-caret-right ph-bold ph-lg"></i></span>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
<button v-else-if="item.type === 'radioOption'" :tabindex="i" class="_button" role="menuitem" :class="[$style.item, { [$style.radioActive]: item.active }]" @click="clicked(item.action, $event, false)" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
|
<button v-else-if="item.type === 'radioOption'" :tabindex="i" class="_button" role="menuitem" :class="[$style.item, { [$style.radioActive]: item.active }]" @click="clicked(item.action, $event, false)" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
|
||||||
|
|
|
@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<!-- 動的ページのブロックの代替。利用できないということを表示する -->
|
<!-- 動的ページのブロックの代替。利用できないということを表示する -->
|
||||||
<template>
|
<template>
|
||||||
<div :class="$style.root">
|
<div :class="$style.root">
|
||||||
<div :class="$style.heading"><i class="ti ti-dice-5"></i> {{ i18n.ts._pages.blocks.dynamic }}</div>
|
<div :class="$style.heading"><i class="ph ph-dice-5 ph-bold ph-lg"></i> {{ i18n.ts._pages.blocks.dynamic }}</div>
|
||||||
<I18n :src="i18n.ts._pages.blocks.dynamicDescription" tag="div" :class="$style.text">
|
<I18n :src="i18n.ts._pages.blocks.dynamicDescription" tag="div" :class="$style.text">
|
||||||
<template #play>
|
<template #play>
|
||||||
<MkA to="/play" class="_link">Play</MkA>
|
<MkA to="/play" class="_link">Play</MkA>
|
||||||
|
|
|
@ -75,8 +75,8 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<MkFollowButton v-if="!$i || $i.id != page.user.id" :user="page.user!" :inline="true" :transparent="false" :full="true" :class="$style.follow"/>
|
<MkFollowButton v-if="!$i || $i.id != page.user.id" :user="page.user!" :inline="true" :transparent="false" :full="true" :class="$style.follow"/>
|
||||||
</div>
|
</div>
|
||||||
<div :class="$style.pageDate">
|
<div :class="$style.pageDate">
|
||||||
<div><i class="ti ti-clock"></i> {{ i18n.ts.createdAt }}: <MkTime :time="page.createdAt" mode="detail"/></div>
|
<div><i class="ph ph-clock ph-bold ph-lg"></i> {{ i18n.ts.createdAt }}: <MkTime :time="page.createdAt" mode="detail"/></div>
|
||||||
<div v-if="page.createdAt != page.updatedAt"><i class="ti ti-clock-edit"></i> {{ i18n.ts.updatedAt }}: <MkTime :time="page.updatedAt" mode="detail"/></div>
|
<div v-if="page.createdAt != page.updatedAt"><i class="ph-pencil-simple ph-bold ph-lg"></i> {{ i18n.ts.updatedAt }}: <MkTime :time="page.updatedAt" mode="detail"/></div>
|
||||||
</div>
|
</div>
|
||||||
<div :class="$style.pageLinks">
|
<div :class="$style.pageLinks">
|
||||||
<MkA v-if="!$i || $i.id !== page.userId" :to="`/@${username}/pages/${pageName}/view-source`" class="link">{{ i18n.ts._pages.viewSource }}</MkA>
|
<MkA v-if="!$i || $i.id !== page.userId" :to="`/@${username}/pages/${pageName}/view-source`" class="link">{{ i18n.ts._pages.viewSource }}</MkA>
|
||||||
|
@ -170,12 +170,12 @@ function share(ev: MouseEvent) {
|
||||||
os.popupMenu([
|
os.popupMenu([
|
||||||
{
|
{
|
||||||
text: i18n.ts.shareWithNote,
|
text: i18n.ts.shareWithNote,
|
||||||
icon: 'ti ti-pencil',
|
icon: 'ph-pencil-simple',
|
||||||
action: shareWithNote,
|
action: shareWithNote,
|
||||||
},
|
},
|
||||||
...(isSupportShare() ? [{
|
...(isSupportShare() ? [{
|
||||||
text: i18n.ts.share,
|
text: i18n.ts.share,
|
||||||
icon: 'ti ti-share',
|
icon: 'ph-share-network',
|
||||||
action: shareWithNavigator,
|
action: shareWithNavigator,
|
||||||
}] : []),
|
}] : []),
|
||||||
], ev.currentTarget ?? ev.target);
|
], ev.currentTarget ?? ev.target);
|
||||||
|
|
|
@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
<div v-else-if="!$i.twoFactorEnabled" class="_gaps_s">
|
<div v-else-if="!$i.twoFactorEnabled" class="_gaps_s">
|
||||||
<MkButton primary gradate @click="registerTOTP">{{ i18n.ts._2fa.registerTOTP }}</MkButton>
|
<MkButton primary gradate @click="registerTOTP">{{ i18n.ts._2fa.registerTOTP }}</MkButton>
|
||||||
<MkLink url="https://misskey-hub.net/docs/for-users/stepped-guides/how-to-enable-2fa/" target="_blank"><i class="ti ti-help-circle"></i> {{ i18n.ts.learnMore }}</MkLink>
|
<MkLink url="https://misskey-hub.net/docs/for-users/stepped-guides/how-to-enable-2fa/" target="_blank"><i class="ph-question ph-bold ph-lg"></i> {{ i18n.ts.learnMore }}</MkLink>
|
||||||
</div>
|
</div>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
<div class="_gaps_s">
|
<div class="_gaps_s">
|
||||||
<div class="_buttons">
|
<div class="_buttons">
|
||||||
<MkButton inline @click="copy(pluginLogs.get(plugin.id)?.join('\n'))"><i class="ti ti-copy"></i> {{ i18n.ts.copy }}</MkButton>
|
<MkButton inline @click="copy(pluginLogs.get(plugin.id)?.join('\n'))"><i class="ph-copy ph-bold ph-lg"></i> {{ i18n.ts.copy }}</MkButton>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<MkCode :code="pluginLogs.get(plugin.id)?.join('\n') ?? ''"/>
|
<MkCode :code="pluginLogs.get(plugin.id)?.join('\n') ?? ''"/>
|
||||||
|
|
|
@ -377,7 +377,7 @@ export function getNoteMenu(props: {
|
||||||
action: () => toggleThreadMute(true),
|
action: () => toggleThreadMute(true),
|
||||||
}),
|
}),
|
||||||
appearNote.userId === $i.id ? ($i.pinnedNoteIds ?? []).includes(appearNote.id) ? {
|
appearNote.userId === $i.id ? ($i.pinnedNoteIds ?? []).includes(appearNote.id) ? {
|
||||||
icon: 'ph-push-pin ph-bold ph-lgned-off',
|
icon: 'ph-push-pin-slash ph-bold ph-lg',
|
||||||
text: i18n.ts.unpin,
|
text: i18n.ts.unpin,
|
||||||
action: () => togglePin(false),
|
action: () => togglePin(false),
|
||||||
} : {
|
} : {
|
||||||
|
@ -416,7 +416,7 @@ export function getNoteMenu(props: {
|
||||||
{ type: 'divider' },
|
{ type: 'divider' },
|
||||||
{
|
{
|
||||||
type: 'parent' as const,
|
type: 'parent' as const,
|
||||||
icon: 'ti ti-device-tv',
|
icon: 'ph-television ph-bold ph-lg',
|
||||||
text: i18n.ts.channel,
|
text: i18n.ts.channel,
|
||||||
children: async () => {
|
children: async () => {
|
||||||
const channelChildMenu = [] as MenuItem[];
|
const channelChildMenu = [] as MenuItem[];
|
||||||
|
@ -425,7 +425,7 @@ export function getNoteMenu(props: {
|
||||||
|
|
||||||
if (channel.pinnedNoteIds.includes(appearNote.id)) {
|
if (channel.pinnedNoteIds.includes(appearNote.id)) {
|
||||||
channelChildMenu.push({
|
channelChildMenu.push({
|
||||||
icon: 'ti ti-pinned-off',
|
icon: 'ph-push-pin-slash ph-bold ph-lg',
|
||||||
text: i18n.ts.unpin,
|
text: i18n.ts.unpin,
|
||||||
action: () => os.apiWithDialog('channels/update', {
|
action: () => os.apiWithDialog('channels/update', {
|
||||||
channelId: appearNote.channel!.id,
|
channelId: appearNote.channel!.id,
|
||||||
|
@ -434,7 +434,7 @@ export function getNoteMenu(props: {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
channelChildMenu.push({
|
channelChildMenu.push({
|
||||||
icon: 'ti ti-pin',
|
icon: 'ph-push-pin ph-bold ph-lg',
|
||||||
text: i18n.ts.pin,
|
text: i18n.ts.pin,
|
||||||
action: () => os.apiWithDialog('channels/update', {
|
action: () => os.apiWithDialog('channels/update', {
|
||||||
channelId: appearNote.channel!.id,
|
channelId: appearNote.channel!.id,
|
||||||
|
@ -557,7 +557,7 @@ export function getRenoteMenu(props: {
|
||||||
if (appearNote.channel) {
|
if (appearNote.channel) {
|
||||||
channelRenoteItems.push(...[{
|
channelRenoteItems.push(...[{
|
||||||
text: i18n.ts.inChannelRenote,
|
text: i18n.ts.inChannelRenote,
|
||||||
icon: 'ti ti-repeat',
|
icon: 'ph ph-repeat',
|
||||||
action: () => {
|
action: () => {
|
||||||
const el = props.renoteButton.value;
|
const el = props.renoteButton.value;
|
||||||
if (el) {
|
if (el) {
|
||||||
|
@ -578,7 +578,7 @@ export function getRenoteMenu(props: {
|
||||||
},
|
},
|
||||||
}, {
|
}, {
|
||||||
text: i18n.ts.inChannelQuote,
|
text: i18n.ts.inChannelQuote,
|
||||||
icon: 'ti ti-quote',
|
icon: 'ph ph-quotes',
|
||||||
action: () => {
|
action: () => {
|
||||||
if (!props.mock) {
|
if (!props.mock) {
|
||||||
os.post({
|
os.post({
|
||||||
|
@ -593,7 +593,7 @@ export function getRenoteMenu(props: {
|
||||||
if (!appearNote.channel || appearNote.channel.allowRenoteToExternal) {
|
if (!appearNote.channel || appearNote.channel.allowRenoteToExternal) {
|
||||||
normalRenoteItems.push(...[{
|
normalRenoteItems.push(...[{
|
||||||
text: i18n.ts.renote,
|
text: i18n.ts.renote,
|
||||||
icon: 'ti ti-repeat',
|
icon: 'ph ph-repeat',
|
||||||
action: () => {
|
action: () => {
|
||||||
const el = props.renoteButton.value;
|
const el = props.renoteButton.value;
|
||||||
if (el) {
|
if (el) {
|
||||||
|
@ -624,7 +624,7 @@ export function getRenoteMenu(props: {
|
||||||
},
|
},
|
||||||
}, (props.mock) ? undefined : {
|
}, (props.mock) ? undefined : {
|
||||||
text: i18n.ts.quote,
|
text: i18n.ts.quote,
|
||||||
icon: 'ti ti-quote',
|
icon: 'ph ph-quotes',
|
||||||
action: () => {
|
action: () => {
|
||||||
os.post({
|
os.post({
|
||||||
renote: appearNote,
|
renote: appearNote,
|
||||||
|
|
|
@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<MkContainer :showHeader="widgetProps.showHeader" class="mkw-bdayfollowings">
|
<MkContainer :showHeader="widgetProps.showHeader" class="mkw-bdayfollowings">
|
||||||
<template #icon><i class="ph-cake ph-bold ph-lg"></i></template>
|
<template #icon><i class="ph-cake ph-bold ph-lg"></i></template>
|
||||||
<template #header>{{ i18n.ts._widgets.birthdayFollowings }}</template>
|
<template #header>{{ i18n.ts._widgets.birthdayFollowings }}</template>
|
||||||
<template #func="{ buttonStyleClass }"><button class="_button" :class="buttonStyleClass" @click="actualFetch()"><i class="ti ti-refresh"></i></button></template>
|
<template #func="{ buttonStyleClass }"><button class="_button" :class="buttonStyleClass" @click="actualFetch()"><i class="ph-arrows-clockwise ph-bold ph-lg"></i></button></template>
|
||||||
|
|
||||||
<div :class="$style.bdayFRoot">
|
<div :class="$style.bdayFRoot">
|
||||||
<MkLoading v-if="fetching"/>
|
<MkLoading v-if="fetching"/>
|
||||||
|
|
Loading…
Reference in New Issue