more fixes

This commit is contained in:
ThatOneCalculator 2022-11-06 18:38:35 -08:00
parent 7dbc0b5529
commit 87739b77d5
33 changed files with 104 additions and 104 deletions

View file

@ -1,6 +1,6 @@
{
"name": "calckey",
"version": "12.119.0-calc.8.4",
"version": "12.119.0-calc.8-b.1",
"codename": "aqua",
"repository": {
"type": "git",

View file

@ -13,7 +13,7 @@
</template>
</template>
<template v-else>
<span v-if="full">{{ i18n.ts.processing }}</span><i class="ph-circle-notch-bold fa-pulse ph-fw-bold"></i>
<span v-if="full">{{ i18n.ts.processing }}</span><i class="ph-circle-notch-bold fa-pulse ph-fw"></i>
</template>
</button>
</template>

View file

@ -5,7 +5,7 @@
<div class="name"><i class="ph-television-bold"></i> {{ channel.name }}</div>
<div class="status">
<div>
<i class="ph-users-bold ph-fw-bold"></i>
<i class="ph-users-bold ph-fw"></i>
<I18n :src="i18n.ts._channel.usersCount" tag="span" style="margin-left: 4px;">
<template #n>
<b>{{ channel.usersCount }}</b>
@ -13,7 +13,7 @@
</I18n>
</div>
<div>
<i class="ph-pencil-bold ph-fw-bold"></i>
<i class="ph-pencil-bold ph-fw"></i>
<I18n :src="i18n.ts._channel.notesCount" tag="span" style="margin-left: 4px;">
<template #n>
<b>{{ channel.notesCount }}</b>

View file

@ -16,8 +16,8 @@
@dragend="onDragend"
>
<p class="name">
<template v-if="hover"><i class="ph-folder-notch-open-bold ph-fw-bold"></i></template>
<template v-if="!hover"><i class="ph-folder-notch-bold ph-fw-bold"></i></template>
<template v-if="hover"><i class="ph-folder-notch-open-bold ph-fw"></i></template>
<template v-if="!hover"><i class="ph-folder-notch-bold ph-fw"></i></template>
{{ folder.name }}
</p>
<p v-if="defaultStore.state.uploadFolder == folder.id" class="upload">

View file

@ -24,7 +24,7 @@
<span v-if="folder != null" class="separator"><i class="ph-caret-right-bold"></i></span>
<span v-if="folder != null" class="folder current">{{ folder.name }}</span>
</div>
<button class="menu _button" @click="showMenu"><i class="ph-three-dots-outline-bold"></i></button>
<button class="menu _button" @click="showMenu"><i class="ph-dots-three-outline-bold"></i></button>
</nav>
<div
ref="main" class="main"

View file

@ -2,7 +2,7 @@
<!-- このコンポーネントの要素のclassは親から利用されるのでむやみに弄らないこと -->
<section>
<header class="_acrylic" @click="shown = !shown">
<i class="toggle ph-fw-bold" :class="shown ? 'ph-caret-down-bold' : 'ph-caret-up-bold'"></i> <slot></slot> ({{ emojis.length }})
<i class="toggle ph-fw" :class="shown ? 'ph-caret-down-bold' : 'ph-caret-up-bold'"></i> <slot></slot> ({{ emojis.length }})
</header>
<div v-if="shown" class="body">
<button

View file

@ -46,7 +46,7 @@
</section>
<section>
<header><i class="far fa-clock ph-fw-bold"></i> {{ i18n.ts.recentUsed }}</header>
<header><i class="far fa-clock ph-fw"></i> {{ i18n.ts.recentUsed }}</header>
<div class="body">
<button
v-for="emoji in recentlyUsedEmojis"
@ -69,10 +69,10 @@
</div>
</div>
<div class="tabs">
<button class="_button tab" :class="{ active: tab === 'index' }" @click="tab = 'index'"><i class="ph-asterisk-bold ph-fw-bold"></i></button>
<button class="_button tab" :class="{ active: tab === 'custom' }" @click="tab = 'custom'"><i class="ph-smiley-wink-bold ph-fw-bold"></i></button>
<button class="_button tab" :class="{ active: tab === 'unicode' }" @click="tab = 'unicode'"><i class="ph-leaf-bold ph-fw-bold"></i></button>
<button class="_button tab" :class="{ active: tab === 'tags' }" @click="tab = 'tags'"><i class="ph-hash-bold ph-fw-bold"></i></button>
<button class="_button tab" :class="{ active: tab === 'index' }" @click="tab = 'index'"><i class="ph-asterisk-bold ph-fw"></i></button>
<button class="_button tab" :class="{ active: tab === 'custom' }" @click="tab = 'custom'"><i class="ph-smiley-wink-bold ph-fw"></i></button>
<button class="_button tab" :class="{ active: tab === 'unicode' }" @click="tab = 'unicode'"><i class="ph-leaf-bold ph-fw"></i></button>
<button class="_button tab" :class="{ active: tab === 'tags' }" @click="tab = 'tags'"><i class="ph-hash-bold ph-fw"></i></button>
</div>
</div>
</template>

View file

@ -22,7 +22,7 @@
</template>
</template>
<template v-else>
<span v-if="full">{{ i18n.ts.processing }}</span><i class="ph-circle-notch-bold fa-pulse ph-fw-bold"></i>
<span v-if="full">{{ i18n.ts.processing }}</span><i class="ph-circle-notch-bold fa-pulse ph-fw"></i>
</template>
</button>
</template>

View file

@ -16,13 +16,13 @@
<span><MkEllipsis/></span>
</span>
<MkA v-else-if="item.type === 'link'" :to="item.to" :tabindex="i" class="_button item" @click.passive="close(true)" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
<i v-if="item.icon" class="ph-fw-bold" :class="item.icon"></i>
<i v-if="item.icon" class="ph-fw" :class="item.icon"></i>
<MkAvatar v-if="item.avatar" :user="item.avatar" class="avatar"/>
<span>{{ item.text }}</span>
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
</MkA>
<a v-else-if="item.type === 'a'" :href="item.href" :target="item.target" :download="item.download" :tabindex="i" class="_button item" @click="close(true)" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
<i v-if="item.icon" class="ph-fw-bold" :class="item.icon"></i>
<i v-if="item.icon" class="ph-fw" :class="item.icon"></i>
<span>{{ item.text }}</span>
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
</a>
@ -34,12 +34,12 @@
<FormSwitch v-model="item.ref" :disabled="item.disabled" class="form-switch">{{ item.text }}</FormSwitch>
</span>
<button v-else-if="item.type === 'parent'" :tabindex="i" class="_button item parent" :class="{ childShowing: childShowingItem === item }" @mouseenter="showChildren(item, $event)">
<i v-if="item.icon" class="ph-fw-bold" :class="item.icon"></i>
<i v-if="item.icon" class="ph-fw" :class="item.icon"></i>
<span>{{ item.text }}</span>
<span class="caret"><i class="ph-caret-right-bold ph-fw-bold"></i></span>
<span class="caret"><i class="ph-caret-right-bold ph-fw"></i></span>
</button>
<button v-else :tabindex="i" class="_button item" :class="{ danger: item.danger, active: item.active }" :disabled="item.active" @click="clicked(item.action, $event)" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
<i v-if="item.icon" class="ph-fw-bold" :class="item.icon"></i>
<i v-if="item.icon" class="ph-fw" :class="item.icon"></i>
<MkAvatar v-if="item.avatar" :user="item.avatar" class="avatar"/>
<span>{{ item.text }}</span>
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>

View file

@ -25,7 +25,7 @@
</I18n>
<div class="info">
<button ref="renoteTime" class="_button time" @click="showRenoteMenu()">
<i v-if="isMyRenote" class="ph-three-dots-outline-bold dropdownIcon"></i>
<i v-if="isMyRenote" class="ph-dots-three-outline-bold dropdownIcon"></i>
<MkTime :time="note.createdAt"/>
</button>
<MkVisibility :note="note"/>
@ -86,7 +86,7 @@
</button>
<XQuoteButton class="button" :note="appearNote"/>
<button ref="menuButton" class="button _button" @click="menu()">
<i class="ph-three-dots-outline-bold"></i>
<i class="ph-dots-three-outline-bold"></i>
</button>
</footer>
</div>

View file

@ -23,7 +23,7 @@
</I18n>
<div class="info">
<button ref="renoteTime" class="_button time" @click="showRenoteMenu()">
<i v-if="isMyRenote" class="ph-three-dots-outline-bold dropdownIcon"></i>
<i v-if="isMyRenote" class="ph-dots-three-outline-bold dropdownIcon"></i>
<MkTime :time="note.createdAt"/>
</button>
<MkVisibility :note="note"/>
@ -96,7 +96,7 @@
</button>
<XQuoteButton class="button" :note="appearNote"/>
<button ref="menuButton" class="button _button" @click="menu()">
<i class="ph-three-dots-outline-bold"></i>
<i class="ph-dots-three-outline-bold"></i>
</button>
</footer>
</div>

View file

@ -36,7 +36,7 @@
<MkAcct :user="u"/>
<button class="_button" @click="removeVisibleUser(u)"><i class="ph-x-bold"></i></button>
</span>
<button class="_buttonPrimary" @click="addVisibleUser"><i class="ph-plus-bold ph-fw-bold"></i></button>
<button class="_buttonPrimary" @click="addVisibleUser"><i class="ph-plus-bold ph-fw"></i></button>
</div>
</div>
<MkInfo v-if="hasNotSpecifiedMentions" warn class="hasNotSpecifiedMentions">{{ i18n.ts.notSpecifiedMentionWarning }} - <button class="_textButton" @click="addMissingMention()">{{ i18n.ts.add }}</button></MkInfo>

View file

@ -9,45 +9,45 @@
<template #prefix>@</template>
<template #suffix>@{{ host }}</template>
<template #caption>
<span v-if="usernameState === 'wait'" style="color:#999"><i class="ph-circle-notch-bold fa-pulse ph-fw-bold"></i> {{ i18n.ts.checking }}</span>
<span v-else-if="usernameState === 'ok'" style="color: var(--success)"><i class="ph-check-bold ph-fw-bold"></i> {{ i18n.ts.available }}</span>
<span v-else-if="usernameState === 'unavailable'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.unavailable }}</span>
<span v-else-if="usernameState === 'error'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.error }}</span>
<span v-else-if="usernameState === 'invalid-format'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.usernameInvalidFormat }}</span>
<span v-else-if="usernameState === 'min-range'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.tooShort }}</span>
<span v-else-if="usernameState === 'max-range'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.tooLong }}</span>
<span v-if="usernameState === 'wait'" style="color:#999"><i class="ph-circle-notch-bold fa-pulse ph-fw"></i> {{ i18n.ts.checking }}</span>
<span v-else-if="usernameState === 'ok'" style="color: var(--success)"><i class="ph-check-bold ph-fw"></i> {{ i18n.ts.available }}</span>
<span v-else-if="usernameState === 'unavailable'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.unavailable }}</span>
<span v-else-if="usernameState === 'error'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.error }}</span>
<span v-else-if="usernameState === 'invalid-format'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.usernameInvalidFormat }}</span>
<span v-else-if="usernameState === 'min-range'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.tooShort }}</span>
<span v-else-if="usernameState === 'max-range'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.tooLong }}</span>
</template>
</MkInput>
<MkInput v-if="instance.emailRequiredForSignup" v-model="email" class="_formBlock" :debounce="true" type="email" :spellcheck="false" required data-cy-signup-email @update:modelValue="onChangeEmail">
<template #label>{{ i18n.ts.emailAddress }} <div v-tooltip:dialog="i18n.ts._signup.emailAddressInfo" class="_button _help"><i class="far fa-question-circle"></i></div></template>
<template #prefix><i class="ph-envelope-simple-open-bold"></i></template>
<template #caption>
<span v-if="emailState === 'wait'" style="color:#999"><i class="ph-circle-notch-bold fa-pulse ph-fw-bold"></i> {{ i18n.ts.checking }}</span>
<span v-else-if="emailState === 'ok'" style="color: var(--success)"><i class="ph-check-bold ph-fw-bold"></i> {{ i18n.ts.available }}</span>
<span v-else-if="emailState === 'unavailable:used'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts._emailUnavailable.used }}</span>
<span v-else-if="emailState === 'unavailable:format'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts._emailUnavailable.format }}</span>
<span v-else-if="emailState === 'unavailable:disposable'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts._emailUnavailable.disposable }}</span>
<span v-else-if="emailState === 'unavailable:mx'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts._emailUnavailable.mx }}</span>
<span v-else-if="emailState === 'unavailable:smtp'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts._emailUnavailable.smtp }}</span>
<span v-else-if="emailState === 'unavailable'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.unavailable }}</span>
<span v-else-if="emailState === 'error'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.error }}</span>
<span v-if="emailState === 'wait'" style="color:#999"><i class="ph-circle-notch-bold fa-pulse ph-fw"></i> {{ i18n.ts.checking }}</span>
<span v-else-if="emailState === 'ok'" style="color: var(--success)"><i class="ph-check-bold ph-fw"></i> {{ i18n.ts.available }}</span>
<span v-else-if="emailState === 'unavailable:used'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts._emailUnavailable.used }}</span>
<span v-else-if="emailState === 'unavailable:format'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts._emailUnavailable.format }}</span>
<span v-else-if="emailState === 'unavailable:disposable'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts._emailUnavailable.disposable }}</span>
<span v-else-if="emailState === 'unavailable:mx'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts._emailUnavailable.mx }}</span>
<span v-else-if="emailState === 'unavailable:smtp'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts._emailUnavailable.smtp }}</span>
<span v-else-if="emailState === 'unavailable'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.unavailable }}</span>
<span v-else-if="emailState === 'error'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.error }}</span>
</template>
</MkInput>
<MkInput v-model="password" class="_formBlock" type="password" autocomplete="new-password" required data-cy-signup-password @update:modelValue="onChangePassword">
<template #label>{{ i18n.ts.password }}</template>
<template #prefix><i class="ph-lock-bold"></i></template>
<template #caption>
<span v-if="passwordStrength == 'low'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.weakPassword }}</span>
<span v-if="passwordStrength == 'medium'" style="color: var(--warn)"><i class="ph-check-bold ph-fw-bold"></i> {{ i18n.ts.normalPassword }}</span>
<span v-if="passwordStrength == 'high'" style="color: var(--success)"><i class="ph-check-bold ph-fw-bold"></i> {{ i18n.ts.strongPassword }}</span>
<span v-if="passwordStrength == 'low'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.weakPassword }}</span>
<span v-if="passwordStrength == 'medium'" style="color: var(--warn)"><i class="ph-check-bold ph-fw"></i> {{ i18n.ts.normalPassword }}</span>
<span v-if="passwordStrength == 'high'" style="color: var(--success)"><i class="ph-check-bold ph-fw"></i> {{ i18n.ts.strongPassword }}</span>
</template>
</MkInput>
<MkInput v-model="retypedPassword" class="_formBlock" type="password" autocomplete="new-password" required data-cy-signup-password-retype @update:modelValue="onChangePasswordRetype">
<template #label>{{ i18n.ts.password }} ({{ i18n.ts.retype }})</template>
<template #prefix><i class="ph-lock-bold"></i></template>
<template #caption>
<span v-if="passwordRetypeState == 'match'" style="color: var(--success)"><i class="ph-check-bold ph-fw-bold"></i> {{ i18n.ts.passwordMatched }}</span>
<span v-if="passwordRetypeState == 'not-match'" style="color: var(--error)"><i class="ph-warning-bold ph-fw-bold"></i> {{ i18n.ts.passwordNotMatched }}</span>
<span v-if="passwordRetypeState == 'match'" style="color: var(--success)"><i class="ph-check-bold ph-fw"></i> {{ i18n.ts.passwordMatched }}</span>
<span v-if="passwordRetypeState == 'not-match'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.passwordNotMatched }}</span>
</template>
</MkInput>
<MkSwitch v-if="instance.tosUrl" v-model="ToSAgreement" class="_formBlock tou">

View file

@ -6,15 +6,15 @@
<div class="items">
<template v-for="(item, i) in group.items">
<a v-if="item.type === 'a'" :href="item.href" :target="item.target" :tabindex="i" class="_button item" :class="{ danger: item.danger, active: item.active }">
<i v-if="item.icon" class="icon ph-fw-bold" :class="item.icon"></i>
<i v-if="item.icon" class="icon ph-fw" :class="item.icon"></i>
<span class="text">{{ item.text }}</span>
</a>
<button v-else-if="item.type === 'button'" :tabindex="i" class="_button item" :class="{ danger: item.danger, active: item.active }" :disabled="item.active" @click="ev => item.action(ev)">
<i v-if="item.icon" class="icon ph-fw-bold" :class="item.icon"></i>
<i v-if="item.icon" class="icon ph-fw" :class="item.icon"></i>
<span class="text">{{ item.text }}</span>
</button>
<MkA v-else :to="item.to" :tabindex="i" class="_button item" :class="{ danger: item.danger, active: item.active }">
<i v-if="item.icon" class="icon ph-fw-bold" :class="item.icon"></i>
<i v-if="item.icon" class="icon ph-fw" :class="item.icon"></i>
<span class="text">{{ item.text }}</span>
</MkA>
</template>

View file

@ -277,7 +277,7 @@ const headerActions = $computed(() => [{
text: i18n.ts.addEmoji,
handler: add,
}, {
icon: 'ph-three-dots-outline-bold',
icon: 'ph-dots-three-outline-bold',
handler: menu,
}]);

View file

@ -13,8 +13,8 @@
</div>
<div :style="{ backgroundImage: channel.bannerUrl ? `url(${channel.bannerUrl})` : null }" class="banner">
<div class="status">
<div><i class="ph-users-bold ph-fw-bold"></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-bold ph-fw-bold"></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-users-bold ph-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-bold ph-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 class="fade"></div>
</div>

View file

@ -7,26 +7,26 @@
<div v-if="origin === 'local'">
<template v-if="tag == null">
<MkFolder v-if="pinnedUsers.length > 0" class="_gap" persist-key="explore-pinned-users">
<template #header><i class="ph-bookmark-simple-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.pinnedUsers }}</template>
<template #header><i class="ph-bookmark-simple-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.pinnedUsers }}</template>
<XUserList :pagination="pinnedUsers"/>
</MkFolder>
<MkFolder class="_gap" persist-key="explore-popular-users">
<template #header><i class="ph-chart-line-up-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template>
<template #header><i class="ph-chart-line-up-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template>
<XUserList :pagination="popularUsers"/>
</MkFolder>
<MkFolder class="_gap" persist-key="explore-recently-updated-users">
<template #header><i class="ph-chat-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyUpdatedUsers }}</template>
<template #header><i class="ph-chat-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyUpdatedUsers }}</template>
<XUserList :pagination="recentlyUpdatedUsers"/>
</MkFolder>
<MkFolder class="_gap" persist-key="explore-recently-registered-users">
<template #header><i class="ph-plus-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyRegisteredUsers }}</template>
<template #header><i class="ph-plus-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyRegisteredUsers }}</template>
<XUserList :pagination="recentlyRegisteredUsers"/>
</MkFolder>
</template>
</div>
<div v-else>
<MkFolder ref="tagsEl" :foldable="true" :expanded="false" class="_gap">
<template #header><i class="ph-hash-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularTags }}</template>
<template #header><i class="ph-hash-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularTags }}</template>
<div class="vxjfqztj">
<MkA v-for="tag in tagsLocal" :key="'local:' + tag.tag" :to="`/explore/tags/${tag.tag}`" class="local">{{ tag.tag }}</MkA>
@ -35,21 +35,21 @@
</MkFolder>
<MkFolder v-if="tag != null" :key="`${tag}`" class="_gap">
<template #header><i class="ph-hash-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ tag }}</template>
<template #header><i class="ph-hash-bold ph-fw" style="margin-right: 0.5em;"></i>{{ tag }}</template>
<XUserList :pagination="tagUsers"/>
</MkFolder>
<template v-if="tag == null">
<MkFolder class="_gap">
<template #header><i class="ph-chart-line-up-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template>
<template #header><i class="ph-chart-line-up-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.popularUsers }}</template>
<XUserList :pagination="popularUsersF"/>
</MkFolder>
<MkFolder class="_gap">
<template #header><i class="ph-chat-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyUpdatedUsers }}</template>
<template #header><i class="ph-chat-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyUpdatedUsers }}</template>
<XUserList :pagination="recentlyUpdatedUsersF"/>
</MkFolder>
<MkFolder class="_gap">
<template #header><i class="ph-rocket-launch-bold ph-fw-bold" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyDiscoveredUsers }}</template>
<template #header><i class="ph-rocket-launch-bold ph-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.recentlyDiscoveredUsers }}</template>
<XUserList :pagination="recentlyRegisteredUsersF"/>
</MkFolder>
</template>

View file

@ -22,9 +22,9 @@
<MkButton v-else v-tooltip="i18n.ts._gallery.like" class="button" @click="like()"><i class="far fa-heart"></i><span v-if="post.likedCount > 0" class="count">{{ post.likedCount }}</span></MkButton>
</div>
<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-bold ph-fw-bold"></i></button>
<button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-repeat-bold ph-fw-bold"></i></button>
<button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network-bold ph-fw-bold"></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-bold ph-fw"></i></button>
<button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-repeat-bold ph-fw"></i></button>
<button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network-bold ph-fw"></i></button>
</div>
</div>
<div class="user">

View file

@ -18,7 +18,7 @@
<button class="_button" @click="chooseFile"><i class="ph-upload-bold"></i></button>
<button class="_button" @click="insertEmoji"><i class="ph-smiley-wink-bold"></i></button>
<button class="send _button" :disabled="!canSend || sending" :title="i18n.ts.send" @click="send">
<template v-if="!sending"><i class="ph-paper-plane-tilt-bold"></i></template><template v-if="sending"><i class="ph-circle-notch-bold fa-pulse ph-fw-bold"></i></template>
<template v-if="!sending"><i class="ph-paper-plane-tilt-bold"></i></template><template v-if="sending"><i class="ph-circle-notch-bold fa-pulse ph-fw"></i></template>
</button>
</div>
</footer>

View file

@ -40,7 +40,7 @@
</div>
<transition :name="animation ? 'fade' : ''">
<div v-show="showIndicator" class="new-message">
<button class="_buttonPrimary" @click="onIndicatorClick"><i class="fas ph-fw-bold ph-arrow-circle-down-bold"></i>{{ i18n.ts.newMessageExists }}</button>
<button class="_buttonPrimary" @click="onIndicatorClick"><i class="fas ph-fw ph-arrow-circle-down-bold"></i>{{ i18n.ts.newMessageExists }}</button>
</div>
</transition>
<XForm v-if="!fetching" ref="formEl" :user="user" :group="group" class="form"/>

View file

@ -22,8 +22,8 @@
<MkButton v-else v-tooltip="i18n.ts._pages.like" class="button" @click="like()"><i class="far fa-heart"></i><span v-if="page.likedCount > 0" class="count">{{ page.likedCount }}</span></MkButton>
</div>
<div class="other">
<button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-repeat-bold ph-fw-bold"></i></button>
<button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network-bold ph-fw-bold"></i></button>
<button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ph-repeat-bold ph-fw"></i></button>
<button v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ph-share-network-bold ph-fw"></i></button>
</div>
</div>
<div class="user">

View file

@ -26,7 +26,7 @@
<ol v-if="registration && !registration.error">
<li v-if="registration.stage >= 0">
{{ i18n.ts.tapSecurityKey }}
<i v-if="registration.saving && registration.stage == 0" class="ph-circle-notch-bold fa-pulse ph-fw-bold"></i>
<i v-if="registration.saving && registration.stage == 0" class="ph-circle-notch-bold fa-pulse ph-fw"></i>
</li>
<li v-if="registration.stage >= 1">
<MkForm :disabled="registration.stage != 1 || registration.saving">
@ -34,7 +34,7 @@
<template #label>{{ i18n.ts.securityKeyName }}</template>
</MkInput>
<MkButton :disabled="keyName.length == 0" @click="registerKey">{{ i18n.ts.registerSecurityKey }}</MkButton>
<i v-if="registration.saving && registration.stage == 1" class="ph-circle-notch-bold fa-pulse ph-fw-bold"></i>
<i v-if="registration.saving && registration.stage == 1" class="ph-circle-notch-bold fa-pulse ph-fw"></i>
</MkForm>
</li>
</ol>

View file

@ -164,7 +164,7 @@ const menuDef = computed(() => [{
to: '/settings/webhook',
active: currentPage?.route.name === 'webhook',
}, {
icon: 'ph-three-dots-outline-bold',
icon: 'ph-dots-three-outline-bold',
text: i18n.ts.other,
to: '/settings/other',
active: currentPage?.route.name === 'other',

View file

@ -42,6 +42,6 @@ const headerTabs = $computed(() => []);
definePageMetadata({
title: i18n.ts.other,
icon: 'ph-three-dots-outline-bold',
icon: 'ph-dots-three-outline-bold',
});
</script>

View file

@ -240,7 +240,7 @@ const headerTabs = $computed(() => [
{
key: 'social',
title: i18n.ts._timelines.social,
icon: 'ph-handshake-simple-bold',
icon: 'ph-handshake-bold',
iconOnly: true,
},
]
@ -264,7 +264,7 @@ definePageMetadata(
src === 'local'
? 'ph-users-bold'
: src === 'social'
? 'ph-handshake-simple-bold'
? 'ph-handshake-bold'
: src === 'recommended'
? 'ph-thumbs-up-bold'
: src === 'global'

View file

@ -25,7 +25,7 @@
</div>
<span v-if="$i && $i.id != user.id && user.isFollowed" class="followed">{{ i18n.ts.followsYou }}</span>
<div v-if="$i" class="actions">
<button class="menu _button" @click="menu"><i class="ph-three-dots-outline-bold"></i></button>
<button class="menu _button" @click="menu"><i class="ph-dots-three-outline-bold"></i></button>
<MkFollowButton v-if="$i.id != user.id" :user="user" :inline="true" :transparent="false" :full="true" class="koudoku"/>
</div>
</div>
@ -46,15 +46,15 @@
</div>
<div class="fields system">
<dl v-if="user.location" class="field">
<dt class="name"><i class="ph-map-pin-bold ph-fw-bold"></i> {{ i18n.ts.location }}</dt>
<dt class="name"><i class="ph-map-pin-bold ph-fw"></i> {{ i18n.ts.location }}</dt>
<dd class="value">{{ user.location }}</dd>
</dl>
<dl v-if="user.birthday" class="field">
<dt class="name"><i class="ph-cake-bold ph-fw-bold"></i> {{ i18n.ts.birthday }}</dt>
<dt class="name"><i class="ph-cake-bold ph-fw"></i> {{ i18n.ts.birthday }}</dt>
<dd class="value">{{ user.birthday.replace('-', '/').replace('-', '/') }} ({{ $t('yearsOld', { age }) }})</dd>
</dl>
<dl class="field">
<dt class="name"><i class="ph-calendar-blank-bold ph-fw-bold"></i> {{ i18n.ts.registeredDate }}</dt>
<dt class="name"><i class="ph-calendar-blank-bold ph-fw"></i> {{ i18n.ts.registeredDate }}</dt>
<dd class="value">{{ new Date(user.createdAt).toLocaleString() }} (<MkTime :time="user.createdAt"/>)</dd>
</dl>
</div>

View file

@ -3,7 +3,7 @@
<template #header><i class="ph-chart-bar-bold" style="margin-right: 0.5em;"></i>{{ $ts.activity }}</template>
<template #func>
<button class="_button" @click="showMenu">
<i class="ph-three-dots-outline-bold"></i>
<i class="ph-dots-three-outline-bold"></i>
</button>
</template>

View file

@ -21,7 +21,7 @@
</div>
<div class="main">
<img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/>
<button class="_button _acrylic menu" @click="showMenu"><i class="ph-three-dots-outline-bold"></i></button>
<button class="_button _acrylic menu" @click="showMenu"><i class="ph-dots-three-outline-bold"></i></button>
<div class="fg">
<h1>
<!-- 背景色によってはロゴが見えなくなるのでとりあえず無効に -->

View file

@ -41,7 +41,7 @@
<template #n><b>{{ onlineUsersCount }}</b></template>
</I18n>
</div>
<button class="_button _acrylic menu" @click="showMenu"><i class="ph-three-dots-outline-bold"></i></button>
<button class="_button _acrylic menu" @click="showMenu"><i class="ph-dots-three-outline-bold"></i></button>
</div>
</div>
<nav class="nav">

View file

@ -9,30 +9,30 @@
</div>
<div class="middle">
<MkA v-click-anime class="item index" active-class="active" to="/" exact>
<i class="icon ph-house-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.timeline }}</span>
<i class="icon ph-house-bold ph-fw"></i><span class="text">{{ i18n.ts.timeline }}</span>
</MkA>
<template v-for="item in menu">
<div v-if="item === '-'" class="divider"></div>
<component :is="navbarItemDef[item].to ? 'MkA' : 'button'" v-else-if="navbarItemDef[item] && (navbarItemDef[item].show !== false)" v-click-anime class="item _button" :class="[item, { active: navbarItemDef[item].active }]" active-class="active" :to="navbarItemDef[item].to" v-on="navbarItemDef[item].action ? { click: navbarItemDef[item].action } : {}">
<i class="icon ph-fw-bold" :class="navbarItemDef[item].icon"></i><span class="text">{{ i18n.ts[navbarItemDef[item].title] }}</span>
<i class="icon ph-fw" :class="navbarItemDef[item].icon"></i><span class="text">{{ i18n.ts[navbarItemDef[item].title] }}</span>
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
</component>
</template>
<div class="divider"></div>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin">
<i class="icon ph-door-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.controlPanel }}</span>
<i class="icon ph-door-bold ph-fw"></i><span class="text">{{ i18n.ts.controlPanel }}</span>
</MkA>
<button v-click-anime class="item _button" @click="more">
<i class="icon ph-dots-three-outline-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.more }}</span>
<i class="icon ph-dots-three-outline-bold ph-fw"></i><span class="text">{{ i18n.ts.more }}</span>
<span v-if="otherMenuItemIndicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
</button>
<MkA v-click-anime class="item" active-class="active" to="/settings">
<i class="icon ph-gear-six-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.settings }}</span>
<i class="icon ph-gear-six-bold ph-fw"></i><span class="text">{{ i18n.ts.settings }}</span>
</MkA>
</div>
<div class="bottom">
<button class="item _button post" data-cy-open-post-form @click="os.post">
<i class="icon ph-pencil-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.note }}</span>
<i class="icon ph-pencil-bold ph-fw"></i><span class="text">{{ i18n.ts.note }}</span>
</button>
<button v-click-anime v-tooltip.noDelay.right="$instance.name ?? i18n.ts.instance" class="item _button instance" @click="openInstanceMenu">
<img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/>

View file

@ -9,7 +9,7 @@
</div>
<div class="middle">
<MkA v-click-anime v-tooltip.noDelay.right="i18n.ts.timeline" class="item index" active-class="active" to="/" exact>
<i class="icon ph-house-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.timeline }}</span>
<i class="icon ph-house-bold ph-fw"></i><span class="text">{{ i18n.ts.timeline }}</span>
</MkA>
<template v-for="item in menu">
<div v-if="item === '-'" class="divider"></div>
@ -24,25 +24,25 @@
:to="navbarItemDef[item].to"
v-on="navbarItemDef[item].action ? { click: navbarItemDef[item].action } : {}"
>
<i class="icon ph-fw-bold" :class="navbarItemDef[item].icon"></i><span class="text">{{ i18n.ts[navbarItemDef[item].title] }}</span>
<i class="icon ph-fw" :class="navbarItemDef[item].icon"></i><span class="text">{{ i18n.ts[navbarItemDef[item].title] }}</span>
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
</component>
</template>
<div class="divider"></div>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime v-tooltip.noDelay.right="i18n.ts.controlPanel" class="item" active-class="active" to="/admin">
<span v-if="thereIsUnresolvedAbuseReport || noMaintainerInformation || noBotProtection || noEmailServer || updateAvailable" class="indicator"></span><i class="icon ph-door-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.controlPanel }}</span>
<span v-if="thereIsUnresolvedAbuseReport || noMaintainerInformation || noBotProtection || noEmailServer || updateAvailable" class="indicator"></span><i class="icon ph-door-bold ph-fw"></i><span class="text">{{ i18n.ts.controlPanel }}</span>
</MkA>
<button v-click-anime class="item _button" @click="more">
<i class="icon ph-dots-three-outline-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.more }}</span>
<i class="icon ph-dots-three-outline-bold ph-fw"></i><span class="text">{{ i18n.ts.more }}</span>
<span v-if="otherMenuItemIndicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
</button>
<MkA v-click-anime v-tooltip.noDelay.right="i18n.ts.settings" class="item" active-class="active" to="/settings">
<i class="icon ph-gear-six-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.settings }}</span>
<i class="icon ph-gear-six-bold ph-fw"></i><span class="text">{{ i18n.ts.settings }}</span>
</MkA>
</div>
<div class="bottom">
<button v-tooltip.noDelay.right="i18n.ts.note" class="item _button post" data-cy-open-post-form @click="os.post">
<i class="icon ph-pencil-bold ph-fw-bold"></i><span class="text">{{ i18n.ts.note }}</span>
<i class="icon ph-pencil-bold ph-fw"></i><span class="text">{{ i18n.ts.note }}</span>
</button>
<button v-click-anime v-tooltip.noDelay.right="$instance.name ?? i18n.ts.instance" class="item _button instance" @click="openInstanceMenu">
<img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/>

View file

@ -3,34 +3,34 @@
<div class="body">
<div class="left">
<MkA v-click-anime v-tooltip="$ts.timeline" class="item index" active-class="active" to="/" exact>
<i class="ph-house-bold ph-fw-bold"></i>
<i class="ph-house-bold ph-fw"></i>
</MkA>
<template v-for="item in menu">
<div v-if="item === '-'" class="divider"></div>
<component :is="navbarItemDef[item].to ? 'MkA' : 'button'" v-else-if="navbarItemDef[item] && (navbarItemDef[item].show !== false)" v-click-anime v-tooltip="$ts[navbarItemDef[item].title]" class="item _button" :class="item" active-class="active" :to="navbarItemDef[item].to" v-on="navbarItemDef[item].action ? { click: navbarItemDef[item].action } : {}">
<i class="ph-fw-bold" :class="navbarItemDef[item].icon"></i>
<i class="ph-fw" :class="navbarItemDef[item].icon"></i>
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="ph-circle-bold"></i></span>
</component>
</template>
<div class="divider"></div>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime v-tooltip="$ts.controlPanel" class="item" active-class="active" to="/admin" :behavior="settingsWindowed ? 'modalWindow' : null">
<i class="ph-door-bold ph-fw-bold"></i>
<i class="ph-door-bold ph-fw"></i>
</MkA>
<button v-click-anime class="item _button" @click="more">
<i class="ph-three-dots-outline-bold ph-fw-bold"></i>
<i class="ph-dots-three-outline-bold ph-fw"></i>
<span v-if="otherNavItemIndicated" class="indicator"><i class="ph-circle-bold"></i></span>
</button>
</div>
<div class="right">
<MkA v-click-anime v-tooltip="$ts.settings" class="item" active-class="active" to="/settings" :behavior="settingsWindowed ? 'modalWindow' : null">
<i class="ph-gear-six-bold ph-fw-bold"></i>
<i class="ph-gear-six-bold ph-fw"></i>
</MkA>
<button v-click-anime class="item _button account" @click="openAccountMenu">
<MkAvatar :user="$i" class="avatar"/><MkAcct class="acct" :user="$i"/>
</button>
<div class="post" @click="post">
<MkButton class="button" gradate full rounded>
<i class="ph-pencil-bold ph-fw-bold"></i>
<i class="ph-pencil-bold ph-fw"></i>
</MkButton>
</div>
</div>

View file

@ -5,30 +5,30 @@
</button>
<div class="post" data-cy-open-post-form @click="post">
<MkButton class="button" gradate full rounded>
<i class="ph-pencil-bold ph-fw-bold"></i><span v-if="!iconOnly" class="text">{{ $ts.note }}</span>
<i class="ph-pencil-bold ph-fw"></i><span v-if="!iconOnly" class="text">{{ $ts.note }}</span>
</MkButton>
</div>
<div class="divider"></div>
<MkA v-click-anime class="item index" active-class="active" to="/" exact>
<i class="ph-house-bold ph-fw-bold"></i><span class="text">{{ $ts.timeline }}</span>
<i class="ph-house-bold ph-fw"></i><span class="text">{{ $ts.timeline }}</span>
</MkA>
<template v-for="item in menu">
<div v-if="item === '-'" class="divider"></div>
<component :is="navbarItemDef[item].to ? 'MkA' : 'button'" v-else-if="navbarItemDef[item] && (navbarItemDef[item].show !== false)" v-click-anime class="item _button" :class="item" active-class="active" :to="navbarItemDef[item].to" v-on="navbarItemDef[item].action ? { click: navbarItemDef[item].action } : {}">
<i class="ph-fw-bold" :class="navbarItemDef[item].icon"></i><span class="text">{{ $ts[navbarItemDef[item].title] }}</span>
<i class="ph-fw" :class="navbarItemDef[item].icon"></i><span class="text">{{ $ts[navbarItemDef[item].title] }}</span>
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="ph-circle-bold"></i></span>
</component>
</template>
<div class="divider"></div>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin" :behavior="settingsWindowed ? 'modalWindow' : null">
<i class="ph-door-bold ph-fw-bold"></i><span class="text">{{ $ts.controlPanel }}</span>
<i class="ph-door-bold ph-fw"></i><span class="text">{{ $ts.controlPanel }}</span>
</MkA>
<button v-click-anime class="item _button" @click="more">
<i class="ph-three-dots-outline-bold ph-fw-bold"></i><span class="text">{{ $ts.more }}</span>
<i class="ph-dots-three-outline-bold ph-fw"></i><span class="text">{{ $ts.more }}</span>
<span v-if="otherNavItemIndicated" class="indicator"><i class="ph-circle-bold"></i></span>
</button>
<MkA v-click-anime class="item" active-class="active" to="/settings" :behavior="settingsWindowed ? 'modalWindow' : null">
<i class="ph-gear-six-bold ph-fw-bold"></i><span class="text">{{ $ts.settings }}</span>
<i class="ph-gear-six-bold ph-fw"></i><span class="text">{{ $ts.settings }}</span>
</MkA>
<div class="divider"></div>
<div class="about">