merge: develop

This commit is contained in:
Mar0xy 2023-11-04 21:52:12 +01:00
commit db29a5c2da
No known key found for this signature in database
GPG key ID: 56569BBE47D2C828
134 changed files with 282 additions and 282 deletions

View file

@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkNoteSub v-if="appearNote.reply && !renoteCollapsed" :note="appearNote.reply" :class="$style.replyTo"/> <MkNoteSub v-if="appearNote.reply && !renoteCollapsed" :note="appearNote.reply" :class="$style.replyTo"/>
<div v-if="pinned" :class="$style.tip"><i class="ph-push-pin ph-bold ph-lg"></i> {{ i18n.ts.pinnedNote }}</div> <div v-if="pinned" :class="$style.tip"><i class="ph-push-pin ph-bold ph-lg"></i> {{ i18n.ts.pinnedNote }}</div>
<!--<div v-if="appearNote._prId_" class="tip"><i class="ph-megaphone ph-bold ph-lg"></i> {{ i18n.ts.promotion }}<button class="_textButton hide" @click="readPromo()">{{ i18n.ts.hideThisNote }} <i class="ph-x ph-bold ph-lg"></i></button></div>--> <!--<div v-if="appearNote._prId_" class="tip"><i class="ph-megaphone ph-bold ph-lg"></i> {{ i18n.ts.promotion }}<button class="_textButton hide" @click="readPromo()">{{ i18n.ts.hideThisNote }} <i class="ph-x ph-bold ph-lg"></i></button></div>-->
<!--<div v-if="appearNote._featuredId_" class="tip"><i class="ph-lightning ph-bold pg-lg"></i> {{ i18n.ts.featured }}</div>--> <!--<div v-if="appearNote._featuredId_" class="tip"><i class="ph-lightning ph-bold ph-lg"></i> {{ i18n.ts.featured }}</div>-->
<div v-if="isRenote" :class="$style.renote"> <div v-if="isRenote" :class="$style.renote">
<div v-if="note.channel" :class="$style.colorBar" :style="{ background: note.channel.color }"></div> <div v-if="note.channel" :class="$style.colorBar" :style="{ background: note.channel.color }"></div>
<MkAvatar :class="$style.renoteAvatar" :user="note.user" link preview/> <MkAvatar :class="$style.renoteAvatar" :user="note.user" link preview/>
@ -37,7 +37,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<i v-else-if="note.visibility === 'followers'" class="ph-lock ph-bold ph-lg"></i> <i v-else-if="note.visibility === 'followers'" class="ph-lock ph-bold ph-lg"></i>
<i v-else-if="note.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i> <i v-else-if="note.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i>
</span> </span>
<span v-if="note.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold pg-lg"></i></span> <span v-if="note.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold ph-lg"></i></span>
<span v-if="note.channel" style="margin-left: 0.5em;" :title="note.channel.name"><i class="ph-television ph-bold ph-lg"></i></span> <span v-if="note.channel" style="margin-left: 0.5em;" :title="note.channel.name"><i class="ph-television ph-bold ph-lg"></i></span>
<span v-if="note.updatedAt" ref="menuVersionsButton" style="margin-left: 0.5em;" title="Edited" @mousedown="menuVersions()"><i class="ph-pencil ph-bold ph-lg"></i></span> <span v-if="note.updatedAt" ref="menuVersionsButton" style="margin-left: 0.5em;" title="Edited" @mousedown="menuVersions()"><i class="ph-pencil ph-bold ph-lg"></i></span>
</div> </div>
@ -60,7 +60,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-show="appearNote.cw == null || showContent" :class="[{ [$style.contentCollapsed]: collapsed }]" > <div v-show="appearNote.cw == null || showContent" :class="[{ [$style.contentCollapsed]: collapsed }]" >
<div :class="$style.text"> <div :class="$style.text">
<span v-if="appearNote.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span> <span v-if="appearNote.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span>
<MkA v-if="appearNote.replyId" :class="$style.replyIcon" :to="`/notes/${appearNote.replyId}`"><i class="ph-arrow-bend-left-up ph-bold pg-lg"></i></MkA> <MkA v-if="appearNote.replyId" :class="$style.replyIcon" :to="`/notes/${appearNote.replyId}`"><i class="ph-arrow-bend-left-up ph-bold ph-lg"></i></MkA>
<Mfm <Mfm
v-if="appearNote.text" v-if="appearNote.text"
:parsedNodes="parsed" :parsedNodes="parsed"
@ -101,7 +101,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkReactionsViewer> </MkReactionsViewer>
<footer :class="$style.footer"> <footer :class="$style.footer">
<button :class="$style.footerButton" class="_button" v-on:click.stop @click="reply()"> <button :class="$style.footerButton" class="_button" v-on:click.stop @click="reply()">
<i class="ph-arrow-u-up-left ph-bold pg-lg"></i> <i class="ph-arrow-u-up-left ph-bold ph-lg"></i>
<p v-if="appearNote.repliesCount > 0" :class="$style.footerButtonCount">{{ appearNote.repliesCount }}</p> <p v-if="appearNote.repliesCount > 0" :class="$style.footerButtonCount">{{ appearNote.repliesCount }}</p>
</button> </button>
<button <button

View file

@ -40,7 +40,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<i v-else-if="note.visibility === 'followers'" class="ph-lock ph-bold ph-lg"></i> <i v-else-if="note.visibility === 'followers'" class="ph-lock ph-bold ph-lg"></i>
<i v-else-if="note.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i> <i v-else-if="note.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i>
</span> </span>
<span v-if="note.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold pg-lg"></i></span> <span v-if="note.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold ph-lg"></i></span>
</div> </div>
</div> </div>
<article :class="$style.note" @contextmenu.stop="onContextmenu"> <article :class="$style.note" @contextmenu.stop="onContextmenu">
@ -59,7 +59,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<i v-else-if="appearNote.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i> <i v-else-if="appearNote.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i>
</span> </span>
<span v-if="appearNote.updatedAt" ref="menuVersionsButton" style="margin-left: 0.5em;" title="Edited" @mousedown="menuVersions()"><i class="ph-pencil ph-bold ph-lg"></i></span> <span v-if="appearNote.updatedAt" ref="menuVersionsButton" style="margin-left: 0.5em;" title="Edited" @mousedown="menuVersions()"><i class="ph-pencil ph-bold ph-lg"></i></span>
<span v-if="appearNote.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold pg-lg"></i></span> <span v-if="appearNote.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold ph-lg"></i></span>
</div> </div>
</div> </div>
<div :class="$style.noteHeaderUsername"><MkAcct :user="appearNote.user"/></div> <div :class="$style.noteHeaderUsername"><MkAcct :user="appearNote.user"/></div>
@ -73,7 +73,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</p> </p>
<div v-show="appearNote.cw == null || showContent"> <div v-show="appearNote.cw == null || showContent">
<span v-if="appearNote.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span> <span v-if="appearNote.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span>
<MkA v-if="appearNote.replyId" :class="$style.noteReplyTarget" :to="`/notes/${appearNote.replyId}`"><i class="ph-arrow-bend-left-up ph-bold pg-lg"></i></MkA> <MkA v-if="appearNote.replyId" :class="$style.noteReplyTarget" :to="`/notes/${appearNote.replyId}`"><i class="ph-arrow-bend-left-up ph-bold ph-lg"></i></MkA>
<Mfm <Mfm
v-if="appearNote.text" v-if="appearNote.text"
:parsedNodes="parsed" :parsedNodes="parsed"
@ -112,7 +112,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<MkReactionsViewer ref="reactionsViewer" :note="appearNote"/> <MkReactionsViewer ref="reactionsViewer" :note="appearNote"/>
<button class="_button" :class="$style.noteFooterButton" @click="reply()"> <button class="_button" :class="$style.noteFooterButton" @click="reply()">
<i class="ph-arrow-u-up-left ph-bold pg-lg"></i> <i class="ph-arrow-u-up-left ph-bold ph-lg"></i>
<p v-if="appearNote.repliesCount > 0" :class="$style.noteFooterButtonCount">{{ appearNote.repliesCount }}</p> <p v-if="appearNote.repliesCount > 0" :class="$style.noteFooterButtonCount">{{ appearNote.repliesCount }}</p>
</button> </button>
<button <button
@ -158,10 +158,10 @@ SPDX-License-Identifier: AGPL-3.0-only
</footer> </footer>
</article> </article>
<div :class="$style.tabs"> <div :class="$style.tabs">
<button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'replies' }]" @click="tab = 'replies'"><i class="ph-arrow-u-up-left ph-bold pg-lg"></i> {{ i18n.ts.replies }}</button> <button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'replies' }]" @click="tab = 'replies'"><i class="ph-arrow-u-up-left ph-bold ph-lg"></i> {{ i18n.ts.replies }}</button>
<button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'renotes' }]" @click="tab = 'renotes'"><i class="ph-rocket-launch ph-bold ph-lg"></i> {{ i18n.ts.renotes }}</button> <button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'renotes' }]" @click="tab = 'renotes'"><i class="ph-rocket-launch ph-bold ph-lg"></i> {{ i18n.ts.renotes }}</button>
<button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'quotes' }]" @click="tab = 'quotes'"><i class="ph-quotes ph-bold ph-lg"></i> {{ i18n.ts._notification._types.quote }}</button> <button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'quotes' }]" @click="tab = 'quotes'"><i class="ph-quotes ph-bold ph-lg"></i> {{ i18n.ts._notification._types.quote }}</button>
<button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'reactions' }]" @click="tab = 'reactions'"><i class="ph-smiley ph-bold pg-lg"></i> {{ i18n.ts.reactions }}</button> <button class="_button" :class="[$style.tab, { [$style.tabActive]: tab === 'reactions' }]" @click="tab = 'reactions'"><i class="ph-smiley ph-bold ph-lg"></i> {{ i18n.ts.reactions }}</button>
</div> </div>
<div> <div>
<div v-if="tab === 'replies'" :class="$style.tab_replies"> <div v-if="tab === 'replies'" :class="$style.tab_replies">

View file

@ -29,7 +29,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<i v-else-if="note.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i> <i v-else-if="note.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i>
</span> </span>
<span v-if="note.updatedAt" ref="menuVersionsButton" style="margin-left: 0.5em;" title="Edited" @mousedown="menuVersions()"><i class="ph-pencil ph-bold ph-lg"></i></span> <span v-if="note.updatedAt" ref="menuVersionsButton" style="margin-left: 0.5em;" title="Edited" @mousedown="menuVersions()"><i class="ph-pencil ph-bold ph-lg"></i></span>
<span v-if="note.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold pg-lg"></i></span> <span v-if="note.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold ph-lg"></i></span>
<span v-if="note.channel" style="margin-left: 0.5em;" :title="note.channel.name"><i class="ph-television ph-bold ph-lg"></i></span> <span v-if="note.channel" style="margin-left: 0.5em;" :title="note.channel.name"><i class="ph-television ph-bold ph-lg"></i></span>
</div> </div>
</header> </header>

View file

@ -22,7 +22,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<footer :class="$style.footer"> <footer :class="$style.footer">
<MkReactionsViewer ref="reactionsViewer" :note="note"/> <MkReactionsViewer ref="reactionsViewer" :note="note"/>
<button class="_button" :class="$style.noteFooterButton" @click="reply()"> <button class="_button" :class="$style.noteFooterButton" @click="reply()">
<i class="ph-arrow-u-up-left ph-bold pg-lg"></i> <i class="ph-arrow-u-up-left ph-bold ph-lg"></i>
<p v-if="note.repliesCount > 0" :class="$style.noteFooterButtonCount">{{ note.repliesCount }}</p> <p v-if="note.repliesCount > 0" :class="$style.noteFooterButtonCount">{{ note.repliesCount }}</p>
</button> </button>
<button <button

View file

@ -31,10 +31,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<i v-else-if="notification.type === 'receiveFollowRequest'" class="ph-clock ph-bold ph-lg"></i> <i v-else-if="notification.type === 'receiveFollowRequest'" class="ph-clock ph-bold ph-lg"></i>
<i v-else-if="notification.type === 'followRequestAccepted'" class="ph-check ph-bold ph-lg"></i> <i v-else-if="notification.type === 'followRequestAccepted'" class="ph-check ph-bold ph-lg"></i>
<i v-else-if="notification.type === 'renote'" class="ph-rocket-launch ph-bold ph-lg"></i> <i v-else-if="notification.type === 'renote'" class="ph-rocket-launch ph-bold ph-lg"></i>
<i v-else-if="notification.type === 'reply'" class="ph-arrow-u-up-left ph-bold pg-lg"></i> <i v-else-if="notification.type === 'reply'" class="ph-arrow-u-up-left ph-bold ph-lg"></i>
<i v-else-if="notification.type === 'mention'" class="ph-at ph-bold ph-lg"></i> <i v-else-if="notification.type === 'mention'" class="ph-at ph-bold ph-lg"></i>
<i v-else-if="notification.type === 'quote'" class="ph-quotes ph-bold ph-lg"></i> <i v-else-if="notification.type === 'quote'" class="ph-quotes ph-bold ph-lg"></i>
<i v-else-if="notification.type === 'pollEnded'" class="ph-chart-bar-horizontal ph-bold pg-lg"></i> <i v-else-if="notification.type === 'pollEnded'" class="ph-chart-bar-horizontal ph-bold ph-lg"></i>
<i v-else-if="notification.type === 'achievementEarned'" class="ph-trophy ph-bold ph-lg"></i> <i v-else-if="notification.type === 'achievementEarned'" class="ph-trophy ph-bold ph-lg"></i>
<!-- notification.reaction null になることはまずないがここでoptional chaining使うと一部ブラウザで刺さるので念の為 --> <!-- notification.reaction null になることはまずないがここでoptional chaining使うと一部ブラウザで刺さるので念の為 -->
<MkReactionIcon <MkReactionIcon

View file

@ -66,7 +66,7 @@ const buttonsLeft = $computed(() => {
if (history.length > 1) { if (history.length > 1) {
buttons.push({ buttons.push({
icon: 'ph-arrow-left ph-bold pg-lg', icon: 'ph-arrow-left ph-bold ph-lg',
onClick: back, onClick: back,
}); });
} }
@ -79,7 +79,7 @@ const buttonsRight = $computed(() => {
title: i18n.ts.reload, title: i18n.ts.reload,
onClick: reload, onClick: reload,
}, { }, {
icon: 'ph-eject ph-bold pg-lg', icon: 'ph-eject ph-bold ph-lg',
title: i18n.ts.showInPage, title: i18n.ts.showInPage,
onClick: expand, onClick: expand,
}]; }];
@ -101,7 +101,7 @@ provide('shouldHeaderThin', true);
provide('forceSpacerMin', true); provide('forceSpacerMin', true);
const contextmenu = $computed(() => ([{ const contextmenu = $computed(() => ([{
icon: 'ph-eject ph-bold pg-lg', icon: 'ph-eject ph-bold ph-lg',
text: i18n.ts.showInPage, text: i18n.ts.showInPage,
action: expand, action: expand,
}, { }, {

View file

@ -26,7 +26,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkInput v-if="$i.twoFactorEnabled" v-model="token" type="text" pattern="^([0-9]{6}|[A-Z0-9]{32})$" autocomplete="one-time-code" :spellcheck="false"> <MkInput v-if="$i.twoFactorEnabled" v-model="token" type="text" pattern="^([0-9]{6}|[A-Z0-9]{32})$" autocomplete="one-time-code" :spellcheck="false">
<template #label>{{ i18n.ts.token }} ({{ i18n.ts['2fa'] }})</template> <template #label>{{ i18n.ts.token }} ({{ i18n.ts['2fa'] }})</template>
<template #prefix><i class="ph-keyhole ph-bold pg-lg"></i></template> <template #prefix><i class="ph-keyhole ph-bold ph-lg"></i></template>
</MkInput> </MkInput>
<MkButton :disabled="(password ?? '') == '' || ($i.twoFactorEnabled && (token ?? '') == '')" primary rounded style="margin: 0 auto;" @click="done"><i class="ph-lock ph-bold ph-lg-open"></i> {{ i18n.ts.continue }}</MkButton> <MkButton :disabled="(password ?? '') == '' || ($i.twoFactorEnabled && (token ?? '') == '')" primary rounded style="margin: 0 auto;" @click="done"><i class="ph-lock ph-bold ph-lg-open"></i> {{ i18n.ts.continue }}</MkButton>

View file

@ -33,20 +33,20 @@ SPDX-License-Identifier: AGPL-3.0-only
</button> </button>
</template> </template>
<button v-click-anime v-tooltip="i18n.ts._visibility.disableFederation" class="_button" :class="[$style.headerRightItem, { [$style.danger]: localOnly }]" :disabled="channel != null || visibility === 'specified'" @click="toggleLocalOnly"> <button v-click-anime v-tooltip="i18n.ts._visibility.disableFederation" class="_button" :class="[$style.headerRightItem, { [$style.danger]: localOnly }]" :disabled="channel != null || visibility === 'specified'" @click="toggleLocalOnly">
<span v-if="!localOnly"><i class="ph-rocket-launch ph-bold pg-lg"></i></span> <span v-if="!localOnly"><i class="ph-rocket-launch ph-bold ph-lg"></i></span>
<span v-else><i class="ph-rocket ph-bold pg-lg"></i></span> <span v-else><i class="ph-rocket ph-bold ph-lg"></i></span>
</button> </button>
<button v-click-anime v-tooltip="i18n.ts.reactionAcceptance" class="_button" :class="[$style.headerRightItem, { [$style.danger]: reactionAcceptance === 'likeOnly' }]" @click="toggleReactionAcceptance"> <button v-click-anime v-tooltip="i18n.ts.reactionAcceptance" class="_button" :class="[$style.headerRightItem, { [$style.danger]: reactionAcceptance === 'likeOnly' }]" @click="toggleReactionAcceptance">
<span v-if="reactionAcceptance === 'likeOnly'"><i class="ph-heart ph-bold ph-lg"></i></span> <span v-if="reactionAcceptance === 'likeOnly'"><i class="ph-heart ph-bold ph-lg"></i></span>
<span v-else-if="reactionAcceptance === 'likeOnlyForRemote'"><i class="ph-heart ph-bold ph-lg"></i></span> <span v-else-if="reactionAcceptance === 'likeOnlyForRemote'"><i class="ph-heart ph-bold ph-lg"></i></span>
<span v-else><i class="ph-smiley ph-bold pg-lg"></i></span> <span v-else><i class="ph-smiley ph-bold ph-lg"></i></span>
</button> </button>
<button v-click-anime class="_button" :class="$style.submit" :disabled="!canPost" data-cy-open-post-form-submit @click="post"> <button v-click-anime class="_button" :class="$style.submit" :disabled="!canPost" data-cy-open-post-form-submit @click="post">
<div :class="$style.submitInner"> <div :class="$style.submitInner">
<template v-if="posted"></template> <template v-if="posted"></template>
<template v-else-if="posting"><MkEllipsis/></template> <template v-else-if="posting"><MkEllipsis/></template>
<template v-else>{{ submitText }}</template> <template v-else>{{ submitText }}</template>
<i style="margin-left: 6px;" :class="posted ? 'ph-check ph-bold ph-lg' : reply ? 'ph-arrow-u-up-left ph-bold pg-lg' : renote ? 'ph-quotes ph-bold ph-lg' : 'ph-paper-plane-tilt ph-bold ph-lg'"></i> <i style="margin-left: 6px;" :class="posted ? 'ph-check ph-bold ph-lg' : reply ? 'ph-arrow-u-up-left ph-bold ph-lg' : renote ? 'ph-quotes ph-bold ph-lg' : 'ph-paper-plane-tilt ph-bold ph-lg'"></i>
</div> </div>
</button> </button>
</div> </div>
@ -79,7 +79,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<footer :class="$style.footer"> <footer :class="$style.footer">
<div :class="$style.footerLeft"> <div :class="$style.footerLeft">
<button v-tooltip="i18n.ts.attachFile" class="_button" :class="$style.footerButton" @click="chooseFileFrom"><i class="ph-image-square ph-bold ph-lg-plus"></i></button> <button v-tooltip="i18n.ts.attachFile" class="_button" :class="$style.footerButton" @click="chooseFileFrom"><i class="ph-image-square ph-bold ph-lg-plus"></i></button>
<button v-tooltip="i18n.ts.poll" class="_button" :class="[$style.footerButton, { [$style.footerButtonActive]: poll }]" @click="togglePoll"><i class="ph-chart-bar-horizontal ph-bold pg-lg"></i></button> <button v-tooltip="i18n.ts.poll" class="_button" :class="[$style.footerButton, { [$style.footerButtonActive]: poll }]" @click="togglePoll"><i class="ph-chart-bar-horizontal ph-bold ph-lg"></i></button>
<button v-tooltip="i18n.ts.useCw" class="_button" :class="[$style.footerButton, { [$style.footerButtonActive]: useCw }]" @click="useCw = !useCw"><i class="ph-eye-slash ph-bold ph-lg"></i></button> <button v-tooltip="i18n.ts.useCw" class="_button" :class="[$style.footerButton, { [$style.footerButtonActive]: useCw }]" @click="useCw = !useCw"><i class="ph-eye-slash ph-bold ph-lg"></i></button>
<button v-tooltip="i18n.ts.mention" class="_button" :class="$style.footerButton" @click="insertMention"><i class="ph-at ph-bold ph-lg"></i></button> <button v-tooltip="i18n.ts.mention" class="_button" :class="$style.footerButton" @click="insertMention"><i class="ph-at ph-bold ph-lg"></i></button>
<button v-tooltip="i18n.ts.hashtags" class="_button" :class="[$style.footerButton, { [$style.footerButtonActive]: withHashtags }]" @click="withHashtags = !withHashtags"><i class="ph-hash ph-bold ph-lg"></i></button> <button v-tooltip="i18n.ts.hashtags" class="_button" :class="[$style.footerButton, { [$style.footerButtonActive]: withHashtags }]" @click="withHashtags = !withHashtags"><i class="ph-hash ph-bold ph-lg"></i></button>

View file

@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-if="isPullStart" :class="$style.frame" :style="`--frame-min-height: ${pullDistance / (PULL_BRAKE_BASE + (pullDistance / PULL_BRAKE_FACTOR))}px;`"> <div v-if="isPullStart" :class="$style.frame" :style="`--frame-min-height: ${pullDistance / (PULL_BRAKE_BASE + (pullDistance / PULL_BRAKE_FACTOR))}px;`">
<div :class="$style.frameContent"> <div :class="$style.frameContent">
<MkLoading v-if="isRefreshing" :class="$style.loader" :em="true"/> <MkLoading v-if="isRefreshing" :class="$style.loader" :em="true"/>
<i v-else class="ph-arrow-line-down ph-bold pg-lg" :class="[$style.icon, { [$style.refresh]: isPullEnd }]"></i> <i v-else class="ph-arrow-line-down ph-bold ph-lg" :class="[$style.icon, { [$style.refresh]: isPullEnd }]"></i>
<div :class="$style.text"> <div :class="$style.text">
<template v-if="isPullEnd">{{ i18n.ts.releaseToRefresh }}</template> <template v-if="isPullEnd">{{ i18n.ts.releaseToRefresh }}</template>
<template v-else-if="isRefreshing">{{ i18n.ts.refreshing }}</template> <template v-else-if="isRefreshing">{{ i18n.ts.refreshing }}</template>

View file

@ -27,7 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div :class="$style.caption"><slot name="caption"></slot></div> <div :class="$style.caption"><slot name="caption"></slot></div>
<MkButton v-if="manualSave && changed" primary @click="updated"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton v-if="manualSave && changed" primary @click="updated"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</template> </template>

View file

@ -39,7 +39,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkInput> </MkInput>
<MkInput v-model="token" type="text" pattern="^([0-9]{6}|[A-Z0-9]{32})$" autocomplete="one-time-code" :spellcheck="false" required> <MkInput v-model="token" type="text" pattern="^([0-9]{6}|[A-Z0-9]{32})$" autocomplete="one-time-code" :spellcheck="false" required>
<template #label>{{ i18n.ts.token }}</template> <template #label>{{ i18n.ts.token }}</template>
<template #prefix><i class="ph-keyhole ph-bold pg-lg"></i></template> <template #prefix><i class="ph-keyhole ph-bold ph-lg"></i></template>
</MkInput> </MkInput>
<MkButton type="submit" :disabled="signing" large primary rounded style="margin: 0 auto;">{{ signing ? i18n.ts.loggingIn : i18n.ts.login }}</MkButton> <MkButton type="submit" :disabled="signing" large primary rounded style="margin: 0 auto;">{{ signing ? i18n.ts.loggingIn : i18n.ts.login }}</MkButton>
</div> </div>

View file

@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkFolder v-if="availableTos || availablePrivacyPolicy" :defaultOpen="true"> <MkFolder v-if="availableTos || availablePrivacyPolicy" :defaultOpen="true">
<template #label>{{ tosPrivacyPolicyLabel }}</template> <template #label>{{ tosPrivacyPolicyLabel }}</template>
<template #suffix><i v-if="agreeTosAndPrivacyPolicy" class="ph-check ph-bold pg-lg" style="color: var(--success)"></i></template> <template #suffix><i v-if="agreeTosAndPrivacyPolicy" class="ph-check ph-bold ph-lg" style="color: var(--success)"></i></template>
<div class="_gaps_s"> <div class="_gaps_s">
<div v-if="availableTos"><a :href="instance.tosUrl" class="_link" target="_blank">{{ i18n.ts.termsOfService }} <i class="ph-arrow-square-out ph-bold ph-lg"></i></a></div> <div v-if="availableTos"><a :href="instance.tosUrl" class="_link" target="_blank">{{ i18n.ts.termsOfService }} <i class="ph-arrow-square-out ph-bold ph-lg"></i></a></div>
<div v-if="availablePrivacyPolicy"><a :href="instance.privacyPolicyUrl" class="_link" target="_blank">{{ i18n.ts.privacyPolicy }} <i class="ph-arrow-square-out ph-bold ph-lg"></i></a></div> <div v-if="availablePrivacyPolicy"><a :href="instance.privacyPolicyUrl" class="_link" target="_blank">{{ i18n.ts.privacyPolicy }} <i class="ph-arrow-square-out ph-bold ph-lg"></i></a></div>
@ -54,7 +54,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="_buttonsCenter"> <div class="_buttonsCenter">
<MkButton inline rounded @click="emit('cancel')">{{ i18n.ts.cancel }}</MkButton> <MkButton inline rounded @click="emit('cancel')">{{ i18n.ts.cancel }}</MkButton>
<MkButton inline primary rounded gradate :disabled="!agreed" data-cy-signup-rules-continue @click="emit('done')">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton inline primary rounded gradate :disabled="!agreed" data-cy-signup-rules-continue @click="emit('done')">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
</div> </div>
</MkSpacer> </MkSpacer>

View file

@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="{ [$style.clickToOpen]: defaultStore.state.clickToOpen }" @click="defaultStore.state.clickToOpen ? noteclick(note.id) : undefined"> <div :class="{ [$style.clickToOpen]: defaultStore.state.clickToOpen }" @click="defaultStore.state.clickToOpen ? noteclick(note.id) : undefined">
<span v-if="note.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span> <span v-if="note.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span>
<span v-if="note.deletedAt" style="opacity: 0.5">({{ i18n.ts.deleted }})</span> <span v-if="note.deletedAt" style="opacity: 0.5">({{ i18n.ts.deleted }})</span>
<MkA v-if="note.replyId" :class="$style.reply" :to="`/notes/${note.replyId}`" v-on:click.stop><i class="ph-arrow-bend-left-up ph-bold pg-lg"></i></MkA> <MkA v-if="note.replyId" :class="$style.reply" :to="`/notes/${note.replyId}`" v-on:click.stop><i class="ph-arrow-bend-left-up ph-bold ph-lg"></i></MkA>
<Mfm v-if="note.text" :text="note.text" :author="note.user" :nyaize="'account'" :emojiUrls="note.emojis"/> <Mfm v-if="note.text" :text="note.text" :author="note.user" :nyaize="'account'" :emojiUrls="note.emojis"/>
<div v-if="note.text && translating || note.text && translation" :class="$style.translation"> <div v-if="note.text && translating || note.text && translation" :class="$style.translation">
<MkLoading v-if="translating" mini/> <MkLoading v-if="translating" mini/>

View file

@ -27,7 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div :class="$style.caption"><slot name="caption"></slot></div> <div :class="$style.caption"><slot name="caption"></slot></div>
<MkButton v-if="manualSave && changed" primary :class="$style.save" @click="updated"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton v-if="manualSave && changed" primary :class="$style.save" @click="updated"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</template> </template>

View file

@ -72,7 +72,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div v-if="!playerEnabled && player.url" :class="$style.action"> <div v-if="!playerEnabled && player.url" :class="$style.action">
<MkButton :small="true" inline @click="playerEnabled = true"> <MkButton :small="true" inline @click="playerEnabled = true">
<i class="ph-play ph-bold pg-lg"></i> {{ i18n.ts.enablePlayer }} <i class="ph-play ph-bold ph-lg"></i> {{ i18n.ts.enablePlayer }}
</MkButton> </MkButton>
<MkButton v-if="!isMobile" :small="true" inline @click="openPlayer()"> <MkButton v-if="!isMobile" :small="true" inline @click="openPlayer()">
<i class="ph-picture-in-picture ph-bold ph-lg"></i> {{ i18n.ts.openInWindow }} <i class="ph-picture-in-picture ph-bold ph-lg"></i> {{ i18n.ts.openInWindow }}

View file

@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template v-if="page === 1" #header><i class="ph-user-list ph-bold ph-lg"></i> {{ i18n.ts._initialAccountSetting.profileSetting }}</template> <template v-if="page === 1" #header><i class="ph-user-list ph-bold ph-lg"></i> {{ i18n.ts._initialAccountSetting.profileSetting }}</template>
<template v-else-if="page === 2" #header><i class="ph-lock ph-bold ph-lg"></i> {{ i18n.ts._initialAccountSetting.privacySetting }}</template> <template v-else-if="page === 2" #header><i class="ph-lock ph-bold ph-lg"></i> {{ i18n.ts._initialAccountSetting.privacySetting }}</template>
<template v-else-if="page === 3" #header><i class="ph-user-plus ph-bold ph-lg"></i> {{ i18n.ts.follow }}</template> <template v-else-if="page === 3" #header><i class="ph-user-plus ph-bold ph-lg"></i> {{ i18n.ts.follow }}</template>
<template v-else-if="page === 4" #header><i class="ph-bell-ringing ph-bold pg-lg"></i> {{ i18n.ts.pushNotification }}</template> <template v-else-if="page === 4" #header><i class="ph-bell-ringing ph-bold ph-lg"></i> {{ i18n.ts.pushNotification }}</template>
<template v-else-if="page === 5" #header>{{ i18n.ts.done }}</template> <template v-else-if="page === 5" #header>{{ i18n.ts.done }}</template>
<template v-else #header>{{ i18n.ts.initialAccountSetting }}</template> <template v-else #header>{{ i18n.ts.initialAccountSetting }}</template>
@ -38,7 +38,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<i class="ph-confetti ph-bold ph-lg" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i> <i class="ph-confetti ph-bold ph-lg" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
<div style="font-size: 120%;">{{ i18n.ts._initialAccountSetting.accountCreated }}</div> <div style="font-size: 120%;">{{ i18n.ts._initialAccountSetting.accountCreated }}</div>
<div>{{ i18n.ts._initialAccountSetting.letsStartAccountSetup }}</div> <div>{{ i18n.ts._initialAccountSetting.letsStartAccountSetup }}</div>
<MkButton primary rounded gradate style="margin: 16px auto 0 auto;" data-cy-user-setup-continue @click="page++">{{ i18n.ts._initialAccountSetting.profileSetting }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton primary rounded gradate style="margin: 16px auto 0 auto;" data-cy-user-setup-continue @click="page++">{{ i18n.ts._initialAccountSetting.profileSetting }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
<MkButton style="margin: 0 auto;" transparent rounded @click="later(true)">{{ i18n.ts.later }}</MkButton> <MkButton style="margin: 0 auto;" transparent rounded @click="later(true)">{{ i18n.ts.later }}</MkButton>
</div> </div>
</MkSpacer> </MkSpacer>
@ -52,8 +52,8 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSpacer> </MkSpacer>
<div :class="$style.pageFooter"> <div :class="$style.pageFooter">
<div class="_buttonsCenter"> <div class="_buttonsCenter">
<MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold pg-lg"></i> {{ i18n.ts.goBack }}</MkButton> <MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold ph-lg"></i> {{ i18n.ts.goBack }}</MkButton>
<MkButton primary rounded gradate data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton primary rounded gradate data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
</div> </div>
</div> </div>
@ -67,8 +67,8 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSpacer> </MkSpacer>
<div :class="$style.pageFooter"> <div :class="$style.pageFooter">
<div class="_buttonsCenter"> <div class="_buttonsCenter">
<MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold pg-lg"></i> {{ i18n.ts.goBack }}</MkButton> <MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold ph-lg"></i> {{ i18n.ts.goBack }}</MkButton>
<MkButton primary rounded gradate data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton primary rounded gradate data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
</div> </div>
</div> </div>
@ -81,8 +81,8 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSpacer> </MkSpacer>
<div :class="$style.pageFooter"> <div :class="$style.pageFooter">
<div class="_buttonsCenter"> <div class="_buttonsCenter">
<MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold pg-lg"></i> {{ i18n.ts.goBack }}</MkButton> <MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold ph-lg"></i> {{ i18n.ts.goBack }}</MkButton>
<MkButton primary rounded gradate style="" data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton primary rounded gradate style="" data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
</div> </div>
</div> </div>
@ -91,13 +91,13 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.centerPage"> <div :class="$style.centerPage">
<MkSpacer :marginMin="20" :marginMax="28"> <MkSpacer :marginMin="20" :marginMax="28">
<div class="_gaps" style="text-align: center;"> <div class="_gaps" style="text-align: center;">
<i class="ph-bell-ringing ph-bold pg-lg" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i> <i class="ph-bell-ringing ph-bold ph-lg" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
<div style="font-size: 120%;">{{ i18n.ts.pushNotification }}</div> <div style="font-size: 120%;">{{ i18n.ts.pushNotification }}</div>
<div style="padding: 0 16px;">{{ i18n.t('_initialAccountSetting.pushNotificationDescription', { name: instance.name ?? host }) }}</div> <div style="padding: 0 16px;">{{ i18n.t('_initialAccountSetting.pushNotificationDescription', { name: instance.name ?? host }) }}</div>
<MkPushNotificationAllowButton primary showOnlyToRegister style="margin: 0 auto;"/> <MkPushNotificationAllowButton primary showOnlyToRegister style="margin: 0 auto;"/>
<div class="_buttonsCenter" style="margin-top: 16px;"> <div class="_buttonsCenter" style="margin-top: 16px;">
<MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold pg-lg"></i> {{ i18n.ts.goBack }}</MkButton> <MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold ph-lg"></i> {{ i18n.ts.goBack }}</MkButton>
<MkButton primary rounded gradate data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton primary rounded gradate data-cy-user-setup-continue @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
</div> </div>
</MkSpacer> </MkSpacer>
@ -112,10 +112,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<div style="font-size: 120%;">{{ i18n.ts._initialAccountSetting.initialAccountSettingCompleted }}</div> <div style="font-size: 120%;">{{ i18n.ts._initialAccountSetting.initialAccountSettingCompleted }}</div>
<div>{{ i18n.t('_initialAccountSetting.youCanContinueTutorial', { name: instance.name ?? host }) }}</div> <div>{{ i18n.t('_initialAccountSetting.youCanContinueTutorial', { name: instance.name ?? host }) }}</div>
<div class="_buttonsCenter" style="margin-top: 16px;"> <div class="_buttonsCenter" style="margin-top: 16px;">
<MkButton rounded primary gradate data-cy-user-setup-continue @click="launchTutorial()">{{ i18n.ts._initialAccountSetting.startTutorial }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton rounded primary gradate data-cy-user-setup-continue @click="launchTutorial()">{{ i18n.ts._initialAccountSetting.startTutorial }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
<div class="_buttonsCenter"> <div class="_buttonsCenter">
<MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold pg-lg"></i> {{ i18n.ts.goBack }}</MkButton> <MkButton rounded data-cy-user-setup-back @click="page--"><i class="ph-arrow-left ph-bold ph-lg"></i> {{ i18n.ts.goBack }}</MkButton>
<MkButton rounded primary data-cy-user-setup-continue @click="setupComplete()">{{ i18n.ts.close }}</MkButton> <MkButton rounded primary data-cy-user-setup-continue @click="setupComplete()">{{ i18n.ts.close }}</MkButton>
</div> </div>
</div> </div>

View file

@ -109,19 +109,19 @@ function showMenu(ev) {
}, },
}, null, (instance.impressumUrl) ? { }, null, (instance.impressumUrl) ? {
text: i18n.ts.impressum, text: i18n.ts.impressum,
icon: 'ph-newspaper-clipping ph-bold pg-lg', icon: 'ph-newspaper-clipping ph-bold ph-lg',
action: () => { action: () => {
window.open(instance.impressumUrl, '_blank'); window.open(instance.impressumUrl, '_blank');
}, },
} : undefined, (instance.tosUrl) ? { } : undefined, (instance.tosUrl) ? {
text: i18n.ts.termsOfService, text: i18n.ts.termsOfService,
icon: 'ph-notebook ph-bold pg-lg', icon: 'ph-notebook ph-bold ph-lg',
action: () => { action: () => {
window.open(instance.tosUrl, '_blank'); window.open(instance.tosUrl, '_blank');
}, },
} : undefined, (instance.privacyPolicyUrl) ? { } : undefined, (instance.privacyPolicyUrl) ? {
text: i18n.ts.privacyPolicy, text: i18n.ts.privacyPolicy,
icon: 'ph-shield ph-bold pg-lg', icon: 'ph-shield ph-bold ph-lg',
action: () => { action: () => {
window.open(instance.privacyPolicyUrl, '_blank'); window.open(instance.privacyPolicyUrl, '_blank');
}, },

View file

@ -25,7 +25,7 @@ SPDX-License-Identifier: AGPL-3.0-only
> >
<template #item="{element}"> <template #item="{element}">
<div :class="[$style.widget, $style.customizeContainer]" data-cy-customize-container> <div :class="[$style.widget, $style.customizeContainer]" data-cy-customize-container>
<button :class="$style.customizeContainerConfig" class="_button" @click.prevent.stop="configWidget(element.id)"><i class="ph-gear ph-bold pg-lg"></i></button> <button :class="$style.customizeContainerConfig" class="_button" @click.prevent.stop="configWidget(element.id)"><i class="ph-gear ph-bold ph-lg"></i></button>
<button :class="$style.customizeContainerRemove" data-cy-customize-container-remove class="_button" @click.prevent.stop="removeWidget(element)"><i class="ph-x ph-bold ph-lg"></i></button> <button :class="$style.customizeContainerRemove" data-cy-customize-container-remove class="_button" @click.prevent.stop="removeWidget(element)"><i class="ph-x ph-bold ph-lg"></i></button>
<div class="handle"> <div class="handle">
<component :is="`widget-${element.name}`" :ref="el => widgetRefs[element.id] = el" class="widget" :class="$style.customizeContainerHandleWidget" :widget="element" @updateProps="updateWidget(element.id, $event)"/> <component :is="`widget-${element.name}`" :ref="el => widgetRefs[element.id] = el" class="widget" :class="$style.customizeContainerHandleWidget" :widget="element" @updateProps="updateWidget(element.id, $event)"/>
@ -111,7 +111,7 @@ function onContextmenu(widget: Widget, ev: MouseEvent) {
type: 'label', type: 'label',
text: i18n.t(`_widgets.${widget.name}`), text: i18n.t(`_widgets.${widget.name}`),
}, { }, {
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
text: i18n.ts.settings, text: i18n.ts.settings,
action: () => { action: () => {
configWidget(widget.id); configWidget(widget.id);

View file

@ -20,7 +20,7 @@
<i v-else-if="appearNote.visibility === 'followers'" class="ph-lock ph-bold ph-lg"></i> <i v-else-if="appearNote.visibility === 'followers'" class="ph-lock ph-bold ph-lg"></i>
<i v-else-if="appearNote.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i> <i v-else-if="appearNote.visibility === 'specified'" ref="specified" class="ph-envelope ph-bold ph-lg"></i>
</span> </span>
<span v-if="appearNote.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold pg-lg"></i></span> <span v-if="appearNote.localOnly" style="margin-left: 0.5em;" :title="i18n.ts._visibility['disableFederation']"><i class="ph-rocket ph-bold ph-lg"></i></span>
</div> </div>
</div> </div>
<div :class="$style.noteHeaderUsername"><MkAcct :user="appearNote.user"/></div> <div :class="$style.noteHeaderUsername"><MkAcct :user="appearNote.user"/></div>
@ -34,7 +34,7 @@
</p> </p>
<div v-show="appearNote.cw == null || showContent"> <div v-show="appearNote.cw == null || showContent">
<span v-if="appearNote.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span> <span v-if="appearNote.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span>
<MkA v-if="appearNote.replyId" :class="$style.noteReplyTarget" :to="`/notes/${appearNote.replyId}`"><i class="ph-arrow-bend-left-up ph-bold pg-lg"></i></MkA> <MkA v-if="appearNote.replyId" :class="$style.noteReplyTarget" :to="`/notes/${appearNote.replyId}`"><i class="ph-arrow-bend-left-up ph-bold ph-lg"></i></MkA>
<Mfm v-if="appearNote.text" :text="appearNote.text" :author="appearNote.user" :nyaize="'account'" :emojiUrls="appearNote.emojis"/> <Mfm v-if="appearNote.text" :text="appearNote.text" :author="appearNote.user" :nyaize="'account'" :emojiUrls="appearNote.emojis"/>
<a v-if="appearNote.renote != null" :class="$style.rn">RN:</a> <a v-if="appearNote.renote != null" :class="$style.rn">RN:</a>
<div v-if="translating || translation" :class="$style.translation"> <div v-if="translating || translation" :class="$style.translation">
@ -58,7 +58,7 @@
<MkTime :time="appearNote.createdAt" mode="detail"/> <MkTime :time="appearNote.createdAt" mode="detail"/>
</div> </div>
<button class="_button" :class="$style.noteFooterButton"> <button class="_button" :class="$style.noteFooterButton">
<i class="ph-arrow-u-up-left ph-bold pg-lg"></i> <i class="ph-arrow-u-up-left ph-bold ph-lg"></i>
</button> </button>
<button class="_button" :class="$style.noteFooterButton"> <button class="_button" :class="$style.noteFooterButton">
<i class="ph-rocket-launch ph-bold ph-lg"></i> <i class="ph-rocket-launch ph-bold ph-lg"></i>

View file

@ -51,7 +51,7 @@ function onContextmenu(ev) {
os.pageWindow(props.to); os.pageWindow(props.to);
}, },
}, { }, {
icon: 'ph-eject ph-bold pg-lg', icon: 'ph-eject ph-bold ph-lg',
text: i18n.ts.showInPage, text: i18n.ts.showInPage,
action: () => { action: () => {
router.push(props.to, 'forcePage'); router.push(props.to, 'forcePage');

View file

@ -92,12 +92,12 @@ export const SomeTabs = {
{ {
key: 'fairy', key: 'fairy',
title: 'Fairy', title: 'Fairy',
icon: 'ph-snowflake ph-bold pg-lg', icon: 'ph-snowflake ph-bold ph-lg',
}, },
{ {
key: 'angel', key: 'angel',
title: 'Angel', title: 'Angel',
icon: 'ph-feather ph-bold pg-lg', icon: 'ph-feather ph-bold ph-lg',
}, },
], ],
}, },

View file

@ -81,7 +81,7 @@ export const navbarItemDef = reactive({
}, },
favorites: { favorites: {
title: i18n.ts.favorites, title: i18n.ts.favorites,
icon: 'ph-bookmark ph-bold ph-lg', icon: 'ph-star ph-bold ph-lg',
show: computed(() => $i != null), show: computed(() => $i != null),
to: '/my/favorites', to: '/my/favorites',
}, },

View file

@ -30,12 +30,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<FormSection> <FormSection>
<div class="_gaps_s"> <div class="_gaps_s">
<FormLink to="https://github.com/transfem-org/Sharkey" external> <FormLink to="https://github.com/transfem-org/Sharkey" external>
<template #icon><i class="ph-code ph-bold pg-lg"></i></template> <template #icon><i class="ph-code ph-bold ph-lg"></i></template>
{{ i18n.ts._aboutMisskey.source }} {{ i18n.ts._aboutMisskey.source }}
<template #suffix>GitHub</template> <template #suffix>GitHub</template>
</FormLink> </FormLink>
<FormLink to="https://ko-fi.com/transfem" external> <FormLink to="https://ko-fi.com/transfem" external>
<template #icon><i class="ph-piggy-bank ph-bold pg-lg"></i></template> <template #icon><i class="ph-piggy-bank ph-bold ph-lg"></i></template>
{{ i18n.ts._aboutMisskey.donate }} {{ i18n.ts._aboutMisskey.donate }}
<template #suffix>Ko-Fi</template> <template #suffix>Ko-Fi</template>
</FormLink> </FormLink>

View file

@ -148,7 +148,7 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'emojis', key: 'emojis',
title: i18n.ts.customEmojis, title: i18n.ts.customEmojis,
icon: 'ph-smiley ph-bold pg-lg', icon: 'ph-smiley ph-bold ph-lg',
}, { }, {
key: 'federation', key: 'federation',
title: i18n.ts.federation, title: i18n.ts.federation,
@ -156,7 +156,7 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'charts', key: 'charts',
title: i18n.ts.charts, title: i18n.ts.charts,
icon: 'ph-chart-line ph-bold pg-lg', icon: 'ph-chart-line ph-bold ph-lg',
}]); }]);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({

View file

@ -135,7 +135,7 @@ const headerTabs = $computed(() => [{
} : null, { } : null, {
key: 'raw', key: 'raw',
title: 'Raw data', title: 'Raw data',
icon: 'ph-code ph-bold pg-lg', icon: 'ph-code ph-bold ph-lg',
}]); }]);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({

View file

@ -72,7 +72,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkKeyValue> </MkKeyValue>
</div> </div>
<MkButton @click="updateRemoteUser"><i class="ph-arrows-counter-clockwise ph-bold pg-lg"></i> {{ i18n.ts.updateRemoteUser }}</MkButton> <MkButton @click="updateRemoteUser"><i class="ph-arrows-counter-clockwise ph-bold ph-lg"></i> {{ i18n.ts.updateRemoteUser }}</MkButton>
</div> </div>
</FormSection> </FormSection>
@ -474,7 +474,7 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'roles', key: 'roles',
title: i18n.ts.roles, title: i18n.ts.roles,
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
}, { }, {
key: 'announcements', key: 'announcements',
title: i18n.ts.announcements, title: i18n.ts.announcements,
@ -486,11 +486,11 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'chart', key: 'chart',
title: i18n.ts.charts, title: i18n.ts.charts,
icon: 'ph-chart-line ph-bold pg-lg', icon: 'ph-chart-line ph-bold ph-lg',
}, { }, {
key: 'raw', key: 'raw',
title: 'Raw', title: 'Raw',
icon: 'ph-code ph-bold pg-lg', icon: 'ph-code ph-bold ph-lg',
}]); }]);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({

View file

@ -65,7 +65,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="buttons"> <div class="buttons">
<MkButton class="button" inline primary style="margin-right: 12px;" @click="save(ad)"> <MkButton class="button" inline primary style="margin-right: 12px;" @click="save(ad)">
<i <i
class="ph-floppy-disk ph-bold pg-lg" class="ph-floppy-disk ph-bold ph-lg"
></i> {{ i18n.ts.save }} ></i> {{ i18n.ts.save }}
</MkButton> </MkButton>
<MkButton class="button" inline danger @click="remove(ad)"> <MkButton class="button" inline danger @click="remove(ad)">

View file

@ -53,7 +53,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSwitch> </MkSwitch>
<p v-if="announcement.reads">{{ i18n.t('nUsersRead', { n: announcement.reads }) }}</p> <p v-if="announcement.reads">{{ i18n.t('nUsersRead', { n: announcement.reads }) }}</p>
<div class="buttons _buttons"> <div class="buttons _buttons">
<MkButton class="button" inline primary @click="save(announcement)"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton class="button" inline primary @click="save(announcement)"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
<MkButton v-if="announcement.id != null" class="button" inline @click="archive(announcement)"><i class="ph-check ph-bold ph-lg"></i> {{ i18n.ts._announcement.end }} ({{ i18n.ts.archive }})</MkButton> <MkButton v-if="announcement.id != null" class="button" inline @click="archive(announcement)"><i class="ph-check ph-bold ph-lg"></i> {{ i18n.ts._announcement.end }} ({{ i18n.ts.archive }})</MkButton>
<MkButton v-if="announcement.id != null" class="button" inline danger @click="del(announcement)"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton> <MkButton v-if="announcement.id != null" class="button" inline danger @click="del(announcement)"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton>
</div> </div>

View file

@ -50,7 +50,7 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: i18n.ts.approvals, title: i18n.ts.approvals,
icon: 'ph-chalkboard-teacher ph-bold pg-lg', icon: 'ph-chalkboard-teacher ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -57,7 +57,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</FormSlot> </FormSlot>
</template> </template>
<MkButton primary @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</FormSuspense> </FormSuspense>
</div> </div>

View file

@ -35,6 +35,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.database, title: i18n.ts.database,
icon: 'ph-database ph-bold pg-lg', icon: 'ph-database ph-bold ph-lg',
}); });
</script> </script>

View file

@ -45,7 +45,7 @@ const router = useRouter();
const indexInfo = { const indexInfo = {
title: i18n.ts.controlPanel, title: i18n.ts.controlPanel,
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
hideHeader: true, hideHeader: true,
}; };
@ -101,12 +101,12 @@ const menuDef = $computed(() => [{
}, { }, {
title: i18n.ts.administration, title: i18n.ts.administration,
items: [{ items: [{
icon: 'ph-gauge ph-bold pg-lg', icon: 'ph-gauge ph-bold ph-lg',
text: i18n.ts.dashboard, text: i18n.ts.dashboard,
to: '/admin/overview', to: '/admin/overview',
active: currentPage?.route.name === 'overview', active: currentPage?.route.name === 'overview',
}, { }, {
icon: 'ph-users ph-bold pg-lg', icon: 'ph-users ph-bold ph-lg',
text: i18n.ts.users, text: i18n.ts.users,
to: '/admin/users', to: '/admin/users',
active: currentPage?.route.name === 'users', active: currentPage?.route.name === 'users',
@ -121,12 +121,12 @@ const menuDef = $computed(() => [{
to: '/admin/approvals', to: '/admin/approvals',
active: currentPage?.route.name === 'approvals', active: currentPage?.route.name === 'approvals',
}, { }, {
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
text: i18n.ts.roles, text: i18n.ts.roles,
to: '/admin/roles', to: '/admin/roles',
active: currentPage?.route.name === 'roles', active: currentPage?.route.name === 'roles',
}, { }, {
icon: 'ph-smiley ph-bold pg-lg', icon: 'ph-smiley ph-bold ph-lg',
text: i18n.ts.customEmojis, text: i18n.ts.customEmojis,
to: '/admin/emojis', to: '/admin/emojis',
active: currentPage?.route.name === 'emojis', active: currentPage?.route.name === 'emojis',
@ -166,7 +166,7 @@ const menuDef = $computed(() => [{
to: '/admin/abuses', to: '/admin/abuses',
active: currentPage?.route.name === 'abuses', active: currentPage?.route.name === 'abuses',
}, { }, {
icon: 'ph-list ph-bold pg-lg-search', icon: 'ph-list ph-bold ph-lg-search',
text: i18n.ts.moderationLogs, text: i18n.ts.moderationLogs,
to: '/admin/modlog', to: '/admin/modlog',
active: currentPage?.route.name === 'modlog', active: currentPage?.route.name === 'modlog',
@ -174,7 +174,7 @@ const menuDef = $computed(() => [{
}, { }, {
title: i18n.ts.settings, title: i18n.ts.settings,
items: [{ items: [{
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
text: i18n.ts.general, text: i18n.ts.general,
to: '/admin/settings', to: '/admin/settings',
active: currentPage?.route.name === 'settings', active: currentPage?.route.name === 'settings',
@ -204,7 +204,7 @@ const menuDef = $computed(() => [{
to: '/admin/security', to: '/admin/security',
active: currentPage?.route.name === 'security', active: currentPage?.route.name === 'security',
}, { }, {
icon: 'ph-planet ph-bold pg-lg', icon: 'ph-planet ph-bold ph-lg',
text: i18n.ts.relays, text: i18n.ts.relays,
to: '/admin/relays', to: '/admin/relays',
active: currentPage?.route.name === 'relays', active: currentPage?.route.name === 'relays',
@ -219,7 +219,7 @@ const menuDef = $computed(() => [{
to: '/admin/proxy-account', to: '/admin/proxy-account',
active: currentPage?.route.name === 'proxy-account', active: currentPage?.route.name === 'proxy-account',
}, { }, {
icon: 'ph-arrow-square-out ph-bold pg-lg', icon: 'ph-arrow-square-out ph-bold ph-lg',
text: i18n.ts.externalServices, text: i18n.ts.externalServices,
to: '/admin/external-services', to: '/admin/external-services',
active: currentPage?.route.name === 'external-services', active: currentPage?.route.name === 'external-services',
@ -232,7 +232,7 @@ const menuDef = $computed(() => [{
}, { }, {
title: i18n.ts.info, title: i18n.ts.info,
items: [{ items: [{
icon: 'ph-database ph-bold pg-lg', icon: 'ph-database ph-bold ph-lg',
text: i18n.ts.database, text: i18n.ts.database,
to: '/admin/database', to: '/admin/database',
active: currentPage?.route.name === 'database', active: currentPage?.route.name === 'database',
@ -314,7 +314,7 @@ const lookup = (ev) => {
}, },
}, { }, {
text: i18n.ts.instance, text: i18n.ts.instance,
icon: 'ph-planet ph-bold pg-lg', icon: 'ph-planet ph-bold ph-lg',
action: () => { action: () => {
alert('TODO'); alert('TODO');
}, },

View file

@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<span>{{ i18n.ts.silencedInstances }}</span> <span>{{ i18n.ts.silencedInstances }}</span>
<template #caption>{{ i18n.ts.silencedInstancesDescription }}</template> <template #caption>{{ i18n.ts.silencedInstancesDescription }}</template>
</MkTextarea> </MkTextarea>
<MkButton primary @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</FormSuspense> </FormSuspense>
</MkSpacer> </MkSpacer>
</MkStickyContainer> </MkStickyContainer>

View file

@ -62,6 +62,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.moderationLogs, title: i18n.ts.moderationLogs,
icon: 'ph-list ph-bold pg-lg-search', icon: 'ph-list ph-bold ph-lg-search',
}); });
</script> </script>

View file

@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkLoading v-if="fetching"/> <MkLoading v-if="fetching"/>
<div v-else :class="$style.root"> <div v-else :class="$style.root">
<div class="item _panel users"> <div class="item _panel users">
<div class="icon"><i class="ph-users ph-bold pg-lg"></i></div> <div class="icon"><i class="ph-users ph-bold ph-lg"></i></div>
<div class="body"> <div class="body">
<div class="value"> <div class="value">
<MkNumber :value="stats.originalUsersCount" style="margin-right: 0.5em;"/> <MkNumber :value="stats.originalUsersCount" style="margin-right: 0.5em;"/>
@ -29,7 +29,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
</div> </div>
<div class="item _panel instances"> <div class="item _panel instances">
<div class="icon"><i class="ph-planet ph-bold pg-lg"></i></div> <div class="icon"><i class="ph-planet ph-bold ph-lg"></i></div>
<div class="body"> <div class="body">
<div class="value"> <div class="value">
<MkNumber :value="stats.instances" style="margin-right: 0.5em;"/> <MkNumber :value="stats.instances" style="margin-right: 0.5em;"/>
@ -38,7 +38,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
</div> </div>
<div class="item _panel emojis"> <div class="item _panel emojis">
<div class="icon"><i class="ph-smiley ph-bold pg-lg"></i></div> <div class="icon"><i class="ph-smiley ph-bold ph-lg"></i></div>
<div class="body"> <div class="body">
<div class="value"> <div class="value">
<MkNumber :value="customEmojis.length" style="margin-right: 0.5em;"/> <MkNumber :value="customEmojis.length" style="margin-right: 0.5em;"/>

View file

@ -177,7 +177,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.dashboard, title: i18n.ts.dashboard,
icon: 'ph-gauge ph-bold pg-lg', icon: 'ph-gauge ph-bold ph-lg',
}); });
</script> </script>

View file

@ -84,7 +84,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.relays, title: i18n.ts.relays,
icon: 'ph-planet ph-bold pg-lg', icon: 'ph-planet ph-bold ph-lg',
}); });
</script> </script>

View file

@ -87,10 +87,10 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => role ? { definePageMetadata(computed(() => role ? {
title: i18n.ts._role.edit + ': ' + role.name, title: i18n.ts._role.edit + ': ' + role.name,
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
} : { } : {
title: i18n.ts._role.new, title: i18n.ts._role.new,
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
})); }));
</script> </script>

View file

@ -39,7 +39,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSelect> </MkSelect>
<MkSelect v-model="role.target" :readonly="readonly"> <MkSelect v-model="role.target" :readonly="readonly">
<template #label><i class="ph-users ph-bold pg-lg"></i> {{ i18n.ts._role.assignTarget }}</template> <template #label><i class="ph-users ph-bold ph-lg"></i> {{ i18n.ts._role.assignTarget }}</template>
<template #caption><div v-html="i18n.ts._role.descriptionOfAssignTarget.replaceAll('\n', '<br>')"></div></template> <template #caption><div v-html="i18n.ts._role.descriptionOfAssignTarget.replaceAll('\n', '<br>')"></div></template>
<option value="manual">{{ i18n.ts._role.manual }}</option> <option value="manual">{{ i18n.ts._role.manual }}</option>
<option value="conditional">{{ i18n.ts._role.conditional }}</option> <option value="conditional">{{ i18n.ts._role.conditional }}</option>
@ -588,7 +588,7 @@ let q = $ref('');
function getPriorityIcon(option) { function getPriorityIcon(option) {
if (option.priority === 2) return 'ph-arrow-up ph-bold ph-lg'; if (option.priority === 2) return 'ph-arrow-up ph-bold ph-lg';
if (option.priority === 1) return 'ph-arrow-up ph-bold ph-lg'; if (option.priority === 1) return 'ph-arrow-up ph-bold ph-lg';
return 'ph-circle ph-bold pg-lg'; return 'ph-circle ph-bold ph-lg';
} }
function matchQuery(keywords: string[]): boolean { function matchQuery(keywords: string[]): boolean {

View file

@ -19,7 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<XEditor :modelValue="role" readonly/> <XEditor :modelValue="role" readonly/>
</MkFolder> </MkFolder>
<MkFolder v-if="role.target === 'manual'" defaultOpen> <MkFolder v-if="role.target === 'manual'" defaultOpen>
<template #icon><i class="ph-users ph-bold pg-lg"></i></template> <template #icon><i class="ph-users ph-bold ph-lg"></i></template>
<template #label>{{ i18n.ts.users }}</template> <template #label>{{ i18n.ts.users }}</template>
<template #suffix>{{ role.usersCount }}</template> <template #suffix>{{ role.usersCount }}</template>
<div class="_gaps"> <div class="_gaps">
@ -173,7 +173,7 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: i18n.ts.role + ': ' + role.name, title: i18n.ts.role + ': ' + role.name,
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -264,7 +264,7 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: i18n.ts.roles, title: i18n.ts.roles,
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -59,7 +59,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSwitch> </MkSwitch>
--> -->
<MkButton primary @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</MkFolder> </MkFolder>
@ -97,7 +97,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>Summaly Proxy URL</template> <template #label>Summaly Proxy URL</template>
</MkInput> </MkInput>
<MkButton primary @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</MkFolder> </MkFolder>
</div> </div>

View file

@ -228,7 +228,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.general, title: i18n.ts.general,
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
}); });
</script> </script>

View file

@ -140,7 +140,7 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: i18n.ts.users, title: i18n.ts.users,
icon: 'ph-users ph-bold pg-lg', icon: 'ph-users ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -95,11 +95,11 @@ const headerActions = $computed(() => []);
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'current', key: 'current',
title: i18n.ts.currentAnnouncements, title: i18n.ts.currentAnnouncements,
icon: 'ph-fire ph-bold pg-lg', icon: 'ph-fire ph-bold ph-lg',
}, { }, {
key: 'past', key: 'past',
title: i18n.ts.pastAnnouncements, title: i18n.ts.pastAnnouncements,
icon: 'ph-circle ph-bold pg-lg', icon: 'ph-circle ph-bold ph-lg',
}]); }]);
definePageMetadata({ definePageMetadata({

View file

@ -82,7 +82,7 @@ const headerActions = $computed(() => antenna ? [{
text: i18n.ts.jumpToSpecifiedDate, text: i18n.ts.jumpToSpecifiedDate,
handler: timetravel, handler: timetravel,
}, { }, {
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
text: i18n.ts.settings, text: i18n.ts.settings,
handler: settings, handler: settings,
}] : []); }] : []);
@ -91,7 +91,7 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => antenna ? { definePageMetadata(computed(() => antenna ? {
title: antenna.name, title: antenna.name,
icon: 'ph-flying-saucer ph-bold pg-lg', icon: 'ph-flying-saucer ph-bold ph-lg',
} : null)); } : null));
</script> </script>

View file

@ -120,7 +120,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts._auth.shareAccessTitle, title: i18n.ts._auth.shareAccessTitle,
icon: 'ph-squares-four ph-bold pg-lg', icon: 'ph-squares-four ph-bold ph-lg',
}); });
</script> </script>

View file

@ -60,7 +60,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder> </MkFolder>
<div class="_buttons"> <div class="_buttons">
<MkButton primary @click="save()"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ channelId ? i18n.ts.save : i18n.ts.create }}</MkButton> <MkButton primary @click="save()"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ channelId ? i18n.ts.save : i18n.ts.create }}</MkButton>
<MkButton v-if="channelId" danger @click="archive()"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.archive }}</MkButton> <MkButton v-if="channelId" danger @click="archive()"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.archive }}</MkButton>
</div> </div>
</div> </div>

View file

@ -10,11 +10,11 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-if="channel && tab === 'overview'" class="_gaps"> <div v-if="channel && tab === 'overview'" class="_gaps">
<div class="_panel" :class="$style.bannerContainer"> <div class="_panel" :class="$style.bannerContainer">
<XChannelFollowButton :channel="channel" :full="true" :class="$style.subscribe"/> <XChannelFollowButton :channel="channel" :full="true" :class="$style.subscribe"/>
<MkButton v-if="favorited" v-tooltip="i18n.ts.unfavorite" asLike class="button" rounded primary :class="$style.favorite" @click="unfavorite()"><i class="ph-star ph-bold pg-lg"></i></MkButton> <MkButton v-if="favorited" v-tooltip="i18n.ts.unfavorite" asLike class="button" rounded primary :class="$style.favorite" @click="unfavorite()"><i class="ph-star ph-bold ph-lg"></i></MkButton>
<MkButton v-else v-tooltip="i18n.ts.favorite" asLike class="button" rounded :class="$style.favorite" @click="favorite()"><i class="ph-star ph-bold pg-lg"></i></MkButton> <MkButton v-else v-tooltip="i18n.ts.favorite" asLike class="button" rounded :class="$style.favorite" @click="favorite()"><i class="ph-star ph-bold ph-lg"></i></MkButton>
<div :style="{ backgroundImage: channel.bannerUrl ? `url(${channel.bannerUrl})` : null }" :class="$style.banner"> <div :style="{ backgroundImage: channel.bannerUrl ? `url(${channel.bannerUrl})` : null }" :class="$style.banner">
<div :class="$style.bannerStatus"> <div :class="$style.bannerStatus">
<div><i class="ph-users ph-bold pg-lg ti-fw"></i><I18n :src="i18n.ts._channel.usersCount" tag="span" style="margin-left: 4px;"><template #n><b>{{ channel.usersCount }}</b></template></I18n></div> <div><i class="ph-users ph-bold ph-lg ti-fw"></i><I18n :src="i18n.ts._channel.usersCount" tag="span" style="margin-left: 4px;"><template #n><b>{{ channel.usersCount }}</b></template></I18n></div>
<div><i class="ph-pencil ph-bold ph-lg ti-fw"></i><I18n :src="i18n.ts._channel.notesCount" tag="span" style="margin-left: 4px;"><template #n><b>{{ channel.notesCount }}</b></template></I18n></div> <div><i class="ph-pencil ph-bold ph-lg ti-fw"></i><I18n :src="i18n.ts._channel.notesCount" tag="span" style="margin-left: 4px;"><template #n><b>{{ channel.notesCount }}</b></template></I18n></div>
</div> </div>
<div v-if="channel.isSensitive" :class="$style.sensitiveIndicator">{{ i18n.ts.sensitive }}</div> <div v-if="channel.isSensitive" :class="$style.sensitiveIndicator">{{ i18n.ts.sensitive }}</div>
@ -168,7 +168,7 @@ async function search() {
const headerActions = $computed(() => { const headerActions = $computed(() => {
if (channel && channel.userId) { if (channel && channel.userId) {
const share = { const share = {
icon: 'ph-share-network ph-bold pg-lg', icon: 'ph-share-network ph-bold ph-lg',
text: i18n.ts.share, text: i18n.ts.share,
handler: async (): Promise<void> => { handler: async (): Promise<void> => {
navigator.share({ navigator.share({
@ -181,7 +181,7 @@ const headerActions = $computed(() => {
const canEdit = ($i && $i.id === channel.userId) || iAmModerator; const canEdit = ($i && $i.id === channel.userId) || iAmModerator;
return canEdit ? [share, { return canEdit ? [share, {
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
text: i18n.ts.edit, text: i18n.ts.edit,
handler: edit, handler: edit,
}] : [share]; }] : [share];
@ -201,7 +201,7 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'featured', key: 'featured',
title: i18n.ts.featured, title: i18n.ts.featured,
icon: 'ph-lightning ph-bold pg-lg', icon: 'ph-lightning ph-bold ph-lg',
}, { }, {
key: 'search', key: 'search',
title: i18n.ts.search, title: i18n.ts.search,

View file

@ -138,7 +138,7 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'favorites', key: 'favorites',
title: i18n.ts.favorites, title: i18n.ts.favorites,
icon: 'ph-star ph-bold pg-lg', icon: 'ph-star ph-bold ph-lg',
}, { }, {
key: 'following', key: 'following',
title: i18n.ts._channel.following, title: i18n.ts._channel.following,
@ -146,7 +146,7 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'owned', key: 'owned',
title: i18n.ts._channel.owned, title: i18n.ts._channel.owned,
icon: 'ph-pencil-line ph-bold pg-lg', icon: 'ph-pencil-line ph-bold ph-lg',
}]); }]);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({

View file

@ -18,7 +18,7 @@ import { definePageMetadata } from '@/scripts/page-metadata.js';
definePageMetadata({ definePageMetadata({
title: '🍪👈', title: '🍪👈',
icon: 'ph-cookie ph-bold pg-lg', icon: 'ph-cookie ph-bold ph-lg',
}); });
</script> </script>

View file

@ -118,7 +118,7 @@ const headerActions = $computed(() => clip && isOwned ? [{
clipsCache.delete(); clipsCache.delete();
}, },
}, ...(clip.isPublic ? [{ }, ...(clip.isPublic ? [{
icon: 'ph-share-network ph-bold pg-lg', icon: 'ph-share-network ph-bold ph-lg',
text: i18n.ts.share, text: i18n.ts.share,
handler: async (): Promise<void> => { handler: async (): Promise<void> => {
navigator.share({ navigator.share({

View file

@ -316,7 +316,7 @@ const headerTabs = $computed(() => [{
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: i18n.ts.customEmojis, title: i18n.ts.customEmojis,
icon: 'ph-smiley ph-bold pg-lg', icon: 'ph-smiley ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkUserList :pagination="pinnedUsers"/> <MkUserList :pagination="pinnedUsers"/>
</MkFoldableSection> </MkFoldableSection>
<MkFoldableSection class="_margin" persistKey="explore-popular-users"> <MkFoldableSection class="_margin" persistKey="explore-popular-users">
<template #header><i class="ph-chart-line ph-bold pg-lg ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template> <template #header><i class="ph-chart-line ph-bold ph-lg ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template>
<MkUserList :pagination="popularUsers"/> <MkUserList :pagination="popularUsers"/>
</MkFoldableSection> </MkFoldableSection>
<MkFoldableSection class="_margin" persistKey="explore-recently-updated-users"> <MkFoldableSection class="_margin" persistKey="explore-recently-updated-users">
@ -46,7 +46,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template v-if="tag == null"> <template v-if="tag == null">
<MkFoldableSection class="_margin"> <MkFoldableSection class="_margin">
<template #header><i class="ph-chart-line ph-bold pg-lg ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template> <template #header><i class="ph-chart-line ph-bold ph-lg ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template>
<MkUserList :pagination="popularUsersF"/> <MkUserList :pagination="popularUsersF"/>
</MkFoldableSection> </MkFoldableSection>
<MkFoldableSection class="_margin"> <MkFoldableSection class="_margin">
@ -54,7 +54,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkUserList :pagination="recentlyUpdatedUsersF"/> <MkUserList :pagination="recentlyUpdatedUsersF"/>
</MkFoldableSection> </MkFoldableSection>
<MkFoldableSection class="_margin"> <MkFoldableSection class="_margin">
<template #header><i class="ph-rocket-launch ph-bold pg-lg ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyDiscoveredUsers }}</template> <template #header><i class="ph-rocket-launch ph-bold ph-lg ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyDiscoveredUsers }}</template>
<MkUserList :pagination="recentlyRegisteredUsersF"/> <MkUserList :pagination="recentlyRegisteredUsersF"/>
</MkFoldableSection> </MkFoldableSection>
</template> </template>

View file

@ -47,15 +47,15 @@ const headerActions = $computed(() => []);
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'featured', key: 'featured',
icon: 'ph-lightning ph-bold pg-lg', icon: 'ph-lightning ph-bold ph-lg',
title: i18n.ts.featured, title: i18n.ts.featured,
}, { }, {
key: 'users', key: 'users',
icon: 'ph-users ph-bold pg-lg', icon: 'ph-users ph-bold ph-lg',
title: i18n.ts.users, title: i18n.ts.users,
}, { }, {
key: 'roles', key: 'roles',
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
title: i18n.ts.roles, title: i18n.ts.roles,
}]); }]);

View file

@ -40,7 +40,7 @@ const pagination = {
definePageMetadata({ definePageMetadata({
title: i18n.ts.favorites, title: i18n.ts.favorites,
icon: 'ph-star ph-bold pg-lg', icon: 'ph-star ph-bold ph-lg',
}); });
</script> </script>

View file

@ -76,11 +76,11 @@ const headerActions = $computed(() => [{
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'featured', key: 'featured',
title: i18n.ts._play.featured, title: i18n.ts._play.featured,
icon: 'ph-fire ph-bold pg-lg', icon: 'ph-fire ph-bold ph-lg',
}, { }, {
key: 'my', key: 'my',
title: i18n.ts._play.my, title: i18n.ts._play.my,
icon: 'ph-pencil-line ph-bold pg-lg', icon: 'ph-pencil-line ph-bold ph-lg',
}, { }, {
key: 'liked', key: 'liked',
title: i18n.ts._play.liked, title: i18n.ts._play.liked,
@ -89,6 +89,6 @@ const headerTabs = $computed(() => [{
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: 'Play', title: 'Play',
icon: 'ph-play ph-bold pg-lg', icon: 'ph-play ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -18,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkButton v-if="flash.isLiked" v-tooltip="i18n.ts.unlike" asLike class="button" rounded primary @click="unlike()"><i class="ph-heart ph-bold ph-lg"></i><span v-if="flash.likedCount > 0" style="margin-left: 6px;">{{ flash.likedCount }}</span></MkButton> <MkButton v-if="flash.isLiked" v-tooltip="i18n.ts.unlike" asLike class="button" rounded primary @click="unlike()"><i class="ph-heart ph-bold ph-lg"></i><span v-if="flash.likedCount > 0" style="margin-left: 6px;">{{ flash.likedCount }}</span></MkButton>
<MkButton v-else v-tooltip="i18n.ts.like" asLike class="button" rounded @click="like()"><i class="ph-heart ph-bold ph-lg"></i><span v-if="flash.likedCount > 0" style="margin-left: 6px;">{{ flash.likedCount }}</span></MkButton> <MkButton v-else v-tooltip="i18n.ts.like" asLike class="button" rounded @click="like()"><i class="ph-heart ph-bold ph-lg"></i><span v-if="flash.likedCount > 0" style="margin-left: 6px;">{{ flash.likedCount }}</span></MkButton>
<MkButton v-tooltip="i18n.ts.shareWithNote" class="button" rounded @click="shareWithNote"><i class="ph-repeat ph-bold ph-lg ti-fw"></i></MkButton> <MkButton v-tooltip="i18n.ts.shareWithNote" class="button" rounded @click="shareWithNote"><i class="ph-repeat ph-bold ph-lg ti-fw"></i></MkButton>
<MkButton v-tooltip="i18n.ts.share" class="button" rounded @click="share"><i class="ph-share-network ph-bold pg-lg ti-fw"></i></MkButton> <MkButton v-tooltip="i18n.ts.share" class="button" rounded @click="share"><i class="ph-share-network ph-bold ph-lg ti-fw"></i></MkButton>
</div> </div>
</div> </div>
<div v-else :class="$style.ready"> <div v-else :class="$style.ready">
@ -33,7 +33,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
</Transition> </Transition>
<MkFolder :defaultOpen="false" :max-height="280" class="_margin"> <MkFolder :defaultOpen="false" :max-height="280" class="_margin">
<template #icon><i class="ph-code ph-bold pg-lg"></i></template> <template #icon><i class="ph-code ph-bold ph-lg"></i></template>
<template #label>{{ i18n.ts._play.viewSource }}</template> <template #label>{{ i18n.ts._play.viewSource }}</template>
<MkCode :code="flash.script" lang="is" :inline="false" class="_monospace"/> <MkCode :code="flash.script" lang="is" :inline="false" class="_monospace"/>

View file

@ -27,8 +27,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSwitch v-model="isSensitive">{{ i18n.ts.markAsSensitive }}</MkSwitch> <MkSwitch v-model="isSensitive">{{ i18n.ts.markAsSensitive }}</MkSwitch>
<div class="_buttons"> <div class="_buttons">
<MkButton v-if="postId" primary @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton v-if="postId" primary @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
<MkButton v-else primary @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.publish }}</MkButton> <MkButton v-else primary @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.publish }}</MkButton>
<MkButton v-if="postId" danger @click="del"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton> <MkButton v-if="postId" danger @click="del"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton>
</div> </div>

View file

@ -107,7 +107,7 @@ const headerActions = $computed(() => [{
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'explore', key: 'explore',
title: i18n.ts.gallery, title: i18n.ts.gallery,
icon: 'ph-images-square ph-bold pg-lg', icon: 'ph-images-square ph-bold ph-lg',
}, { }, {
key: 'liked', key: 'liked',
title: i18n.ts._gallery.liked, title: i18n.ts._gallery.liked,
@ -115,12 +115,12 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'my', key: 'my',
title: i18n.ts._gallery.my, title: i18n.ts._gallery.my,
icon: 'ph-pencil-line ph-bold pg-lg', icon: 'ph-pencil-line ph-bold ph-lg',
}]); }]);
definePageMetadata({ definePageMetadata({
title: i18n.ts.gallery, title: i18n.ts.gallery,
icon: 'ph-images-square ph-bold pg-lg', icon: 'ph-images-square ph-bold ph-lg',
}); });
</script> </script>

View file

@ -29,7 +29,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="other"> <div class="other">
<button v-if="$i && $i.id === post.user.id" v-tooltip="i18n.ts.edit" v-click-anime class="_button" @click="edit"><i class="ph-pencil ph-bold ph-lg ti-fw"></i></button> <button v-if="$i && $i.id === post.user.id" v-tooltip="i18n.ts.edit" v-click-anime class="_button" @click="edit"><i class="ph-pencil ph-bold ph-lg ti-fw"></i></button>
<button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-repeat ph-bold ph-lg ti-fw"></i></button> <button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-repeat ph-bold ph-lg ti-fw"></i></button>
<button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network ph-bold pg-lg ti-fw"></i></button> <button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network ph-bold ph-lg ti-fw"></i></button>
</div> </div>
</div> </div>
<div class="user"> <div class="user">

View file

@ -37,7 +37,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSwitch v-model="suspended" :disabled="!instance" @update:modelValue="toggleSuspend">{{ i18n.ts.stopActivityDelivery }}</MkSwitch> <MkSwitch v-model="suspended" :disabled="!instance" @update:modelValue="toggleSuspend">{{ i18n.ts.stopActivityDelivery }}</MkSwitch>
<MkSwitch v-model="isBlocked" :disabled="!meta || !instance" @update:modelValue="toggleBlock">{{ i18n.ts.blockThisInstance }}</MkSwitch> <MkSwitch v-model="isBlocked" :disabled="!meta || !instance" @update:modelValue="toggleBlock">{{ i18n.ts.blockThisInstance }}</MkSwitch>
<MkSwitch v-model="isSilenced" :disabled="!meta || !instance" @update:modelValue="toggleSilenced">{{ i18n.ts.silenceThisInstance }}</MkSwitch> <MkSwitch v-model="isSilenced" :disabled="!meta || !instance" @update:modelValue="toggleSilenced">{{ i18n.ts.silenceThisInstance }}</MkSwitch>
<MkButton @click="refreshMetadata"><i class="ph-arrows-counter-clockwise ph-bold pg-lg"></i> Refresh metadata</MkButton> <MkButton @click="refreshMetadata"><i class="ph-arrows-counter-clockwise ph-bold ph-lg"></i> Refresh metadata</MkButton>
</div> </div>
</FormSection> </FormSection>
@ -228,15 +228,15 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'chart', key: 'chart',
title: i18n.ts.charts, title: i18n.ts.charts,
icon: 'ph-chart-line ph-bold pg-lg', icon: 'ph-chart-line ph-bold ph-lg',
}, { }, {
key: 'users', key: 'users',
title: i18n.ts.users, title: i18n.ts.users,
icon: 'ph-users ph-bold pg-lg', icon: 'ph-users ph-bold ph-lg',
}, { }, {
key: 'raw', key: 'raw',
title: 'Raw', title: 'Raw',
icon: 'ph-code ph-bold pg-lg', icon: 'ph-code ph-bold ph-lg',
}]); }]);
definePageMetadata({ definePageMetadata({

View file

@ -101,7 +101,7 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => list ? { definePageMetadata(computed(() => list ? {
title: list.name, title: list.name,
icon: 'ph-list ph-bold pg-lg', icon: 'ph-list ph-bold ph-lg',
} : null)); } : null));
</script> </script>
<style lang="scss" module> <style lang="scss" module>

View file

@ -95,7 +95,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: 'MiAuth', title: 'MiAuth',
icon: 'ph-squares-four ph-bold pg-lg', icon: 'ph-squares-four ph-bold ph-lg',
}); });
</script> </script>

View file

@ -39,6 +39,6 @@ function onAntennaCreated() {
definePageMetadata({ definePageMetadata({
title: i18n.ts.manageAntennas, title: i18n.ts.manageAntennas,
icon: 'ph-flying-saucer ph-bold pg-lg', icon: 'ph-flying-saucer ph-bold ph-lg',
}); });
</script> </script>

View file

@ -36,6 +36,6 @@ os.api('antennas/show', { antennaId: props.antennaId }).then((antennaResponse) =
definePageMetadata({ definePageMetadata({
title: i18n.ts.manageAntennas, title: i18n.ts.manageAntennas,
icon: 'ph-flying-saucer ph-bold pg-lg', icon: 'ph-flying-saucer ph-bold ph-lg',
}); });
</script> </script>

View file

@ -41,7 +41,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSwitch v-model="notify">{{ i18n.ts.notifyAntenna }}</MkSwitch> <MkSwitch v-model="notify">{{ i18n.ts.notifyAntenna }}</MkSwitch>
</div> </div>
<div :class="$style.actions"> <div :class="$style.actions">
<MkButton inline primary @click="saveAntenna()"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton inline primary @click="saveAntenna()"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
<MkButton v-if="antenna.id != null" inline danger @click="deleteAntenna()"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton> <MkButton v-if="antenna.id != null" inline danger @click="deleteAntenna()"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton>
</div> </div>
</div> </div>

View file

@ -45,7 +45,7 @@ fetch();
const headerActions = $computed(() => [{ const headerActions = $computed(() => [{
asFullButton: true, asFullButton: true,
icon: 'ph-arrows-counter-clockwise ph-bold pg-lg', icon: 'ph-arrows-counter-clockwise ph-bold ph-lg',
text: i18n.ts.reload, text: i18n.ts.reload,
handler: () => { handler: () => {
antennasCache.delete(); antennasCache.delete();
@ -57,7 +57,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.manageAntennas, title: i18n.ts.manageAntennas,
icon: 'ph-flying-saucer ph-bold pg-lg', icon: 'ph-flying-saucer ph-bold ph-lg',
}); });
onActivated(() => { onActivated(() => {

View file

@ -59,7 +59,7 @@ async function create() {
const headerActions = $computed(() => [{ const headerActions = $computed(() => [{
asFullButton: true, asFullButton: true,
icon: 'ph-arrows-counter-clockwise ph-bold pg-lg', icon: 'ph-arrows-counter-clockwise ph-bold ph-lg',
text: i18n.ts.reload, text: i18n.ts.reload,
handler: () => { handler: () => {
userListsCache.delete(); userListsCache.delete();
@ -71,7 +71,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.manageLists, title: i18n.ts.manageLists,
icon: 'ph-list ph-bold pg-lg', icon: 'ph-list ph-bold ph-lg',
}); });
onActivated(() => { onActivated(() => {

View file

@ -185,7 +185,7 @@ const headerTabs = $computed(() => []);
definePageMetadata(computed(() => list ? { definePageMetadata(computed(() => list ? {
title: list.name, title: list.name,
icon: 'ph-list ph-bold pg-lg', icon: 'ph-list ph-bold ph-lg',
} : null)); } : null));
</script> </script>

View file

@ -80,7 +80,7 @@ const headerActions = $computed(() => [tab === 'all' ? {
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'all', key: 'all',
title: i18n.ts.all, title: i18n.ts.all,
icon: 'ph-circle ph-bold pg-lg', icon: 'ph-circle ph-bold ph-lg',
}, { }, {
key: 'mentions', key: 'mentions',
title: i18n.ts.mentions, title: i18n.ts.mentions,
@ -93,6 +93,6 @@ const headerTabs = $computed(() => [{
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: i18n.ts.notifications, title: i18n.ts.notifications,
icon: 'ph-bell ph-bold pg-lg', icon: 'ph-bell ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -53,7 +53,7 @@ function onLogin(res): void {
definePageMetadata({ definePageMetadata({
title: 'OAuth', title: 'OAuth',
icon: 'ph-squares-four ph-bold pg-lg', icon: 'ph-squares-four ph-bold ph-lg',
}); });
</script> </script>

View file

@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSpacer :contentMax="700"> <MkSpacer :contentMax="700">
<div class="jqqmcavi"> <div class="jqqmcavi">
<MkButton v-if="pageId" class="button" inline link :to="`/@${ author.username }/pages/${ currentName }`"><i class="ph-arrow-square-out ph-bold ph-lg"></i> {{ i18n.ts._pages.viewPage }}</MkButton> <MkButton v-if="pageId" class="button" inline link :to="`/@${ author.username }/pages/${ currentName }`"><i class="ph-arrow-square-out ph-bold ph-lg"></i> {{ i18n.ts._pages.viewPage }}</MkButton>
<MkButton v-if="!readonly" inline primary class="button" @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton v-if="!readonly" inline primary class="button" @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
<MkButton v-if="pageId" inline class="button" @click="duplicate"><i class="ph-copy ph-bold ph-lg"></i> {{ i18n.ts.duplicate }}</MkButton> <MkButton v-if="pageId" inline class="button" @click="duplicate"><i class="ph-copy ph-bold ph-lg"></i> {{ i18n.ts.duplicate }}</MkButton>
<MkButton v-if="pageId && !readonly" inline class="button" danger @click="del"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton> <MkButton v-if="pageId && !readonly" inline class="button" danger @click="del"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.delete }}</MkButton>
</div> </div>
@ -275,7 +275,7 @@ const headerActions = $computed(() => []);
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'settings', key: 'settings',
title: i18n.ts._pages.pageSetting, title: i18n.ts._pages.pageSetting,
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
}, { }, {
key: 'contents', key: 'contents',
title: i18n.ts._pages.contents, title: i18n.ts._pages.contents,

View file

@ -34,7 +34,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div class="other"> <div class="other">
<button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-rocket-launch ph-bold ph-lg ti-fw"></i></button> <button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-rocket-launch ph-bold ph-lg ti-fw"></i></button>
<button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network ph-bold pg-lg ti-fw"></i></button> <button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network ph-bold ph-lg ti-fw"></i></button>
</div> </div>
</div> </div>
<div class="user"> <div class="user">

View file

@ -74,11 +74,11 @@ const headerActions = $computed(() => [{
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'featured', key: 'featured',
title: i18n.ts._pages.featured, title: i18n.ts._pages.featured,
icon: 'ph-fire ph-bold pg-lg', icon: 'ph-fire ph-bold ph-lg',
}, { }, {
key: 'my', key: 'my',
title: i18n.ts._pages.my, title: i18n.ts._pages.my,
icon: 'ph-pencil-line ph-bold pg-lg', icon: 'ph-pencil-line ph-bold ph-lg',
}, { }, {
key: 'liked', key: 'liked',
title: i18n.ts._pages.liked, title: i18n.ts._pages.liked,

View file

@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts.value }} (JSON)</template> <template #label>{{ i18n.ts.value }} (JSON)</template>
</MkTextarea> </MkTextarea>
<MkButton primary @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
<MkKeyValue> <MkKeyValue>
<template #key>{{ i18n.ts.updatedAt }}</template> <template #key>{{ i18n.ts.updatedAt }}</template>

View file

@ -74,7 +74,7 @@ const users = $computed(() => ({
const headerTabs = $computed(() => [{ const headerTabs = $computed(() => [{
key: 'users', key: 'users',
icon: 'ph-users ph-bold pg-lg', icon: 'ph-users ph-bold ph-lg',
title: i18n.ts.users, title: i18n.ts.users,
}, { }, {
key: 'timeline', key: 'timeline',
@ -84,7 +84,7 @@ const headerTabs = $computed(() => [{
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: role?.name, title: role?.name,
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -47,7 +47,7 @@ const headerTabs = $computed(() => [{
}, { }, {
key: 'user', key: 'user',
title: i18n.ts.users, title: i18n.ts.users,
icon: 'ph-users ph-bold pg-lg', icon: 'ph-users ph-bold ph-lg',
}]); }]);
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({

View file

@ -42,7 +42,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div class="_buttonsCenter" style="margin-top: 16px;"> <div class="_buttonsCenter" style="margin-top: 16px;">
<MkButton rounded @click="cancel">{{ i18n.ts.cancel }}</MkButton> <MkButton rounded @click="cancel">{{ i18n.ts.cancel }}</MkButton>
<MkButton primary rounded gradate @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton primary rounded gradate @click="page++">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
</MkSpacer> </MkSpacer>
</div> </div>
@ -56,8 +56,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<div>{{ i18n.ts._2fa.step3 }}</div> <div>{{ i18n.ts._2fa.step3 }}</div>
</div> </div>
<div class="_buttonsCenter" style="margin-top: 16px;"> <div class="_buttonsCenter" style="margin-top: 16px;">
<MkButton rounded @click="page--"><i class="ph-arrow-left ph-bold pg-lg"></i> {{ i18n.ts.goBack }}</MkButton> <MkButton rounded @click="page--"><i class="ph-arrow-left ph-bold ph-lg"></i> {{ i18n.ts.goBack }}</MkButton>
<MkButton primary rounded gradate @click="tokenDone">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold pg-lg"></i></MkButton> <MkButton primary rounded gradate @click="tokenDone">{{ i18n.ts.continue }} <i class="ph-arrow-right ph-bold ph-lg"></i></MkButton>
</div> </div>
</MkSpacer> </MkSpacer>
</div> </div>

View file

@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="_gaps"> <div class="_gaps">
<div class="_buttons"> <div class="_buttons">
<MkButton primary @click="addAccount"><i class="ph-plus ph-bold ph-lg"></i> {{ i18n.ts.addAccount }}</MkButton> <MkButton primary @click="addAccount"><i class="ph-plus ph-bold ph-lg"></i> {{ i18n.ts.addAccount }}</MkButton>
<MkButton @click="init"><i class="ph-arrows-counter-clockwise ph-bold pg-lg"></i> {{ i18n.ts.reloadAccountsList }}</MkButton> <MkButton @click="init"><i class="ph-arrows-counter-clockwise ph-bold ph-lg"></i> {{ i18n.ts.reloadAccountsList }}</MkButton>
</div> </div>
<MkUserCardMini v-for="user in accounts" :key="user.id" :user="user" :class="$style.user" @click.prevent="menu(user, $event)"/> <MkUserCardMini v-for="user in accounts" :key="user.id" :user="user" :class="$style.user" @click.prevent="menu(user, $event)"/>
@ -107,7 +107,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.accounts, title: i18n.ts.accounts,
icon: 'ph-users ph-bold pg-lg', icon: 'ph-users ph-bold ph-lg',
}); });
</script> </script>

View file

@ -46,6 +46,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: 'API', title: 'API',
icon: 'ph-webhooks-logo ph-bold pg-lg', icon: 'ph-webhooks-logo ph-bold ph-lg',
}); });
</script> </script>

View file

@ -47,6 +47,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.customCss, title: i18n.ts.customCss,
icon: 'ph-code ph-bold pg-lg', icon: 'ph-code ph-bold ph-lg',
}); });
</script> </script>

View file

@ -189,7 +189,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
</MkFolder> </MkFolder>
<FormLink to="/settings/deck">{{ i18n.ts.deck }}</FormLink> <FormLink to="/settings/deck">{{ i18n.ts.deck }}</FormLink>
<FormLink to="/settings/custom-css"><template #icon><i class="ph-code ph-bold pg-lg"></i></template>{{ i18n.ts.customCss }}</FormLink> <FormLink to="/settings/custom-css"><template #icon><i class="ph-code ph-bold ph-lg"></i></template>{{ i18n.ts.customCss }}</FormLink>
</div> </div>
</FormSection> </FormSection>
</div> </div>

View file

@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder> </MkFolder>
</FormSection> </FormSection>
<FormSection> <FormSection>
<template #label><i class="ph-star ph-bold pg-lg"></i> {{ i18n.ts._exportOrImport.favoritedNotes }}</template> <template #label><i class="ph-star ph-bold ph-lg"></i> {{ i18n.ts._exportOrImport.favoritedNotes }}</template>
<MkFolder> <MkFolder>
<template #label>{{ i18n.ts.export }}</template> <template #label>{{ i18n.ts.export }}</template>
<template #icon><i class="ph-download ph-bold ph-lg"></i></template> <template #icon><i class="ph-download ph-bold ph-lg"></i></template>
@ -22,7 +22,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder> </MkFolder>
</FormSection> </FormSection>
<FormSection> <FormSection>
<template #label><i class="ph-users ph-bold pg-lg"></i> {{ i18n.ts._exportOrImport.followingList }}</template> <template #label><i class="ph-users ph-bold ph-lg"></i> {{ i18n.ts._exportOrImport.followingList }}</template>
<div class="_gaps_s"> <div class="_gaps_s">
<MkFolder> <MkFolder>
<template #label>{{ i18n.ts.export }}</template> <template #label>{{ i18n.ts.export }}</template>
@ -48,7 +48,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
</FormSection> </FormSection>
<FormSection> <FormSection>
<template #label><i class="ph-users ph-bold pg-lg"></i> {{ i18n.ts._exportOrImport.userLists }}</template> <template #label><i class="ph-users ph-bold ph-lg"></i> {{ i18n.ts._exportOrImport.userLists }}</template>
<div class="_gaps_s"> <div class="_gaps_s">
<MkFolder> <MkFolder>
<template #label>{{ i18n.ts.export }}</template> <template #label>{{ i18n.ts.export }}</template>
@ -93,7 +93,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
</FormSection> </FormSection>
<FormSection> <FormSection>
<template #label><i class="ph-flying-saucer ph-bold pg-lg"></i> {{ i18n.ts.antennas }}</template> <template #label><i class="ph-flying-saucer ph-bold ph-lg"></i> {{ i18n.ts.antennas }}</template>
<div class="_gaps_s"> <div class="_gaps_s">
<MkFolder> <MkFolder>
<template #label>{{ i18n.ts.export }}</template> <template #label>{{ i18n.ts.export }}</template>

View file

@ -42,7 +42,7 @@ import { fetchCustomEmojis } from '@/custom-emojis.js';
const indexInfo = { const indexInfo = {
title: i18n.ts.settings, title: i18n.ts.settings,
icon: 'ph-gear ph-bold pg-lg', icon: 'ph-gear ph-bold ph-lg',
hideHeader: true, hideHeader: true,
}; };
const INFO = ref(indexInfo); const INFO = ref(indexInfo);
@ -84,7 +84,7 @@ const menuDef = computed(() => [{
to: '/settings/drive', to: '/settings/drive',
active: currentPage?.route.name === 'drive', active: currentPage?.route.name === 'drive',
}, { }, {
icon: 'ph-bell ph-bold pg-lg', icon: 'ph-bell ph-bold ph-lg',
text: i18n.ts.notifications, text: i18n.ts.notifications,
to: '/settings/notifications', to: '/settings/notifications',
active: currentPage?.route.name === 'notifications', active: currentPage?.route.name === 'notifications',
@ -122,7 +122,7 @@ const menuDef = computed(() => [{
to: '/settings/statusbar', to: '/settings/statusbar',
active: currentPage?.route.name === 'statusbar', active: currentPage?.route.name === 'statusbar',
}, { }, {
icon: 'ph-music-notes ph-bold pg-lg', icon: 'ph-music-notes ph-bold ph-lg',
text: i18n.ts.sounds, text: i18n.ts.sounds,
to: '/settings/sounds', to: '/settings/sounds',
active: currentPage?.route.name === 'sounds', active: currentPage?.route.name === 'sounds',
@ -135,7 +135,7 @@ const menuDef = computed(() => [{
}, { }, {
title: i18n.ts.otherSettings, title: i18n.ts.otherSettings,
items: [{ items: [{
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
text: i18n.ts.roles, text: i18n.ts.roles,
to: '/settings/roles', to: '/settings/roles',
active: currentPage?.route.name === 'roles', active: currentPage?.route.name === 'roles',
@ -145,7 +145,7 @@ const menuDef = computed(() => [{
to: '/settings/mute-block', to: '/settings/mute-block',
active: currentPage?.route.name === 'mute-block', active: currentPage?.route.name === 'mute-block',
}, { }, {
icon: 'ph-key ph-bold pg-lg', icon: 'ph-key ph-bold ph-lg',
text: 'API', text: 'API',
to: '/settings/api', to: '/settings/api',
active: currentPage?.route.name === 'api', active: currentPage?.route.name === 'api',
@ -172,7 +172,7 @@ const menuDef = computed(() => [{
}], }],
}, { }, {
items: [{ items: [{
icon: 'ph-floppy-disk ph-bold pg-lg', icon: 'ph-floppy-disk ph-bold ph-lg',
text: i18n.ts.preferencesBackups, text: i18n.ts.preferencesBackups,
to: '/settings/preferences-backups', to: '/settings/preferences-backups',
active: currentPage?.route.name === 'preferences-backups', active: currentPage?.route.name === 'preferences-backups',

View file

@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts._instanceMute.heading }}</template> <template #label>{{ i18n.ts._instanceMute.heading }}</template>
<template #caption>{{ i18n.ts._instanceMute.instanceMuteDescription }}<br>{{ i18n.ts._instanceMute.instanceMuteDescription2 }}</template> <template #caption>{{ i18n.ts._instanceMute.instanceMuteDescription }}<br>{{ i18n.ts._instanceMute.instanceMuteDescription2 }}</template>
</MkTextarea> </MkTextarea>
<MkButton primary :disabled="!changed" @click="save()"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary :disabled="!changed" @click="save()"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</template> </template>

View file

@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #caption>{{ i18n.ts._wordMute.muteWordsDescription }}<br>{{ i18n.ts._wordMute.muteWordsDescription2 }}</template> <template #caption>{{ i18n.ts._wordMute.muteWordsDescription }}<br>{{ i18n.ts._wordMute.muteWordsDescription2 }}</template>
</MkTextarea> </MkTextarea>
</div> </div>
<MkButton primary inline :disabled="!changed" @click="save()"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary inline :disabled="!changed" @click="save()"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</template> </template>

View file

@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="_buttons"> <div class="_buttons">
<MkButton @click="addItem"><i class="ph-plus ph-bold ph-lg"></i> {{ i18n.ts.addItem }}</MkButton> <MkButton @click="addItem"><i class="ph-plus ph-bold ph-lg"></i> {{ i18n.ts.addItem }}</MkButton>
<MkButton danger @click="reset"><i class="ph-arrow-clockwise ph-bold ph-lg"></i> {{ i18n.ts.default }}</MkButton> <MkButton danger @click="reset"><i class="ph-arrow-clockwise ph-bold ph-lg"></i> {{ i18n.ts.default }}</MkButton>
<MkButton primary class="save" @click="save"><i class="ph-floppy-disk ph-bold pg-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary class="save" @click="save"><i class="ph-floppy-disk ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
<MkRadios v-model="menuDisplay"> <MkRadios v-model="menuDisplay">
@ -121,7 +121,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.navbar, title: i18n.ts.navbar,
icon: 'ph-list ph-bold pg-lg', icon: 'ph-list ph-bold ph-lg',
}); });
</script> </script>

View file

@ -114,6 +114,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.notifications, title: i18n.ts.notifications,
icon: 'ph-bell ph-bold pg-lg', icon: 'ph-bell ph-bold ph-lg',
}); });
</script> </script>

View file

@ -58,7 +58,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder> </MkFolder>
<MkFolder> <MkFolder>
<template #icon><i class="ph-code ph-bold pg-lg"></i></template> <template #icon><i class="ph-code ph-bold ph-lg"></i></template>
<template #label>{{ i18n.ts.developer }}</template> <template #label>{{ i18n.ts.developer }}</template>
<div class="_gaps_m"> <div class="_gaps_m">

View file

@ -37,12 +37,12 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div class="_buttons"> <div class="_buttons">
<MkButton v-if="plugin.config" inline @click="config(plugin)"><i class="ph-gear ph-bold pg-lg"></i> {{ i18n.ts.settings }}</MkButton> <MkButton v-if="plugin.config" inline @click="config(plugin)"><i class="ph-gear ph-bold ph-lg"></i> {{ i18n.ts.settings }}</MkButton>
<MkButton inline danger @click="uninstall(plugin)"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.uninstall }}</MkButton> <MkButton inline danger @click="uninstall(plugin)"><i class="ph-trash ph-bold ph-lg"></i> {{ i18n.ts.uninstall }}</MkButton>
</div> </div>
<MkFolder> <MkFolder>
<template #icon><i class="ph-code ph-bold pg-lg"></i></template> <template #icon><i class="ph-code ph-bold ph-lg"></i></template>
<template #label>{{ i18n.ts._plugin.viewSource }}</template> <template #label>{{ i18n.ts._plugin.viewSource }}</template>
<div class="_gaps_s"> <div class="_gaps_s">

View file

@ -400,7 +400,7 @@ function menu(ev: MouseEvent, profileId: string) {
action: () => rename(profileId), action: () => rename(profileId),
}, { }, {
text: ts._preferencesBackups.save, text: ts._preferencesBackups.save,
icon: 'ph-floppy-disk ph-bold pg-lg', icon: 'ph-floppy-disk ph-bold ph-lg',
action: () => save(profileId), action: () => save(profileId),
}, null, { }, null, {
text: ts.delete, text: ts.delete,
@ -426,7 +426,7 @@ onUnmounted(() => {
definePageMetadata(computed(() => ({ definePageMetadata(computed(() => ({
title: ts.preferencesBackups, title: ts.preferencesBackups,
icon: 'ph-floppy-disk ph-bold pg-lg', icon: 'ph-floppy-disk ph-bold ph-lg',
}))); })));
</script> </script>

View file

@ -45,7 +45,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<FormSlot> <FormSlot>
<MkFolder> <MkFolder>
<template #icon><i class="ph-list ph-bold pg-lg"></i></template> <template #icon><i class="ph-list ph-bold ph-lg"></i></template>
<template #label>{{ i18n.ts._profile.metadataEdit }}</template> <template #label>{{ i18n.ts._profile.metadataEdit }}</template>
<div :class="$style.metadataRoot"> <div :class="$style.metadataRoot">
@ -90,7 +90,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</FormSlot> </FormSlot>
<MkFolder> <MkFolder>
<template #icon><i class="ph-sparkle ph-bold pg-lg"></i></template> <template #icon><i class="ph-sparkle ph-bold ph-lg"></i></template>
<template #label>{{ i18n.ts.avatarDecorations }}</template> <template #label>{{ i18n.ts.avatarDecorations }}</template>
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); grid-gap: 12px;"> <div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); grid-gap: 12px;">

View file

@ -52,7 +52,7 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.roles, title: i18n.ts.roles,
icon: 'ph-seal-check ph-bold pg-lg', icon: 'ph-seal-check ph-bold ph-lg',
}); });
</script> </script>

View file

@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<FormSection> <FormSection>
<FormSlot> <FormSlot>
<MkButton danger @click="regenerateToken"><i class="ph-arrows-counter-clockwise ph-bold pg-lg"></i> {{ i18n.ts.regenerateLoginToken }}</MkButton> <MkButton danger @click="regenerateToken"><i class="ph-arrows-counter-clockwise ph-bold ph-lg"></i> {{ i18n.ts.regenerateLoginToken }}</MkButton>
<template #caption>{{ i18n.ts.regenerateLoginTokenDescription }}</template> <template #caption>{{ i18n.ts.regenerateLoginTokenDescription }}</template>
</FormSlot> </FormSlot>
</FormSection> </FormSection>

View file

@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkRange> </MkRange>
<div class="_buttons"> <div class="_buttons">
<MkButton inline @click="listen"><i class="ph-play ph-bold pg-lg"></i> {{ i18n.ts.listen }}</MkButton> <MkButton inline @click="listen"><i class="ph-play ph-bold ph-lg"></i> {{ i18n.ts.listen }}</MkButton>
<MkButton inline primary @click="save"><i class="ph-check ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton> <MkButton inline primary @click="save"><i class="ph-check ph-bold ph-lg"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</div> </div>

View file

@ -72,6 +72,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.sounds, title: i18n.ts.sounds,
icon: 'ph-music-notes ph-bold pg-lg', icon: 'ph-music-notes ph-bold ph-lg',
}); });
</script> </script>

View file

@ -51,6 +51,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.statusbar, title: i18n.ts.statusbar,
icon: 'ph-list ph-bold pg-lg', icon: 'ph-list ph-bold ph-lg',
}); });
</script> </script>

View file

@ -168,6 +168,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({ definePageMetadata({
title: i18n.ts.share, title: i18n.ts.share,
icon: 'ph-share-network ph-bold pg-lg', icon: 'ph-share-network ph-bold ph-lg',
}); });
</script> </script>

View file

@ -47,7 +47,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder> </MkFolder>
<MkFolder :defaultOpen="false"> <MkFolder :defaultOpen="false">
<template #icon><i class="ph-code ph-bold pg-lg"></i></template> <template #icon><i class="ph-code ph-bold ph-lg"></i></template>
<template #label>{{ i18n.ts.editCode }}</template> <template #label>{{ i18n.ts.editCode }}</template>
<div class="_gaps_m"> <div class="_gaps_m">

Some files were not shown because too many files have changed in this diff Show more