more fixes
This commit is contained in:
parent
7dbc0b5529
commit
87739b77d5
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "calckey",
|
"name": "calckey",
|
||||||
"version": "12.119.0-calc.8.4",
|
"version": "12.119.0-calc.8-b.1",
|
||||||
"codename": "aqua",
|
"codename": "aqua",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<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>
|
</template>
|
||||||
</button>
|
</button>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<div class="name"><i class="ph-television-bold"></i> {{ channel.name }}</div>
|
<div class="name"><i class="ph-television-bold"></i> {{ channel.name }}</div>
|
||||||
<div class="status">
|
<div class="status">
|
||||||
<div>
|
<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;">
|
<I18n :src="i18n.ts._channel.usersCount" tag="span" style="margin-left: 4px;">
|
||||||
<template #n>
|
<template #n>
|
||||||
<b>{{ channel.usersCount }}</b>
|
<b>{{ channel.usersCount }}</b>
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
</I18n>
|
</I18n>
|
||||||
</div>
|
</div>
|
||||||
<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;">
|
<I18n :src="i18n.ts._channel.notesCount" tag="span" style="margin-left: 4px;">
|
||||||
<template #n>
|
<template #n>
|
||||||
<b>{{ channel.notesCount }}</b>
|
<b>{{ channel.notesCount }}</b>
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
@dragend="onDragend"
|
@dragend="onDragend"
|
||||||
>
|
>
|
||||||
<p class="name">
|
<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-open-bold ph-fw"></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-bold ph-fw"></i></template>
|
||||||
{{ folder.name }}
|
{{ folder.name }}
|
||||||
</p>
|
</p>
|
||||||
<p v-if="defaultStore.state.uploadFolder == folder.id" class="upload">
|
<p v-if="defaultStore.state.uploadFolder == folder.id" class="upload">
|
||||||
|
|
|
@ -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="separator"><i class="ph-caret-right-bold"></i></span>
|
||||||
<span v-if="folder != null" class="folder current">{{ folder.name }}</span>
|
<span v-if="folder != null" class="folder current">{{ folder.name }}</span>
|
||||||
</div>
|
</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>
|
</nav>
|
||||||
<div
|
<div
|
||||||
ref="main" class="main"
|
ref="main" class="main"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<!-- このコンポーネントの要素のclassは親から利用されるのでむやみに弄らないこと -->
|
<!-- このコンポーネントの要素のclassは親から利用されるのでむやみに弄らないこと -->
|
||||||
<section>
|
<section>
|
||||||
<header class="_acrylic" @click="shown = !shown">
|
<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>
|
</header>
|
||||||
<div v-if="shown" class="body">
|
<div v-if="shown" class="body">
|
||||||
<button
|
<button
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<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">
|
<div class="body">
|
||||||
<button
|
<button
|
||||||
v-for="emoji in recentlyUsedEmojis"
|
v-for="emoji in recentlyUsedEmojis"
|
||||||
|
@ -69,10 +69,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs">
|
<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 === '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-bold"></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-bold"></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-bold"></i></button>
|
<button class="_button tab" :class="{ active: tab === 'tags' }" @click="tab = 'tags'"><i class="ph-hash-bold ph-fw"></i></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<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>
|
</template>
|
||||||
</button>
|
</button>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
<span><MkEllipsis/></span>
|
<span><MkEllipsis/></span>
|
||||||
</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)">
|
<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"/>
|
<MkAvatar v-if="item.avatar" :user="item.avatar" class="avatar"/>
|
||||||
<span>{{ item.text }}</span>
|
<span>{{ item.text }}</span>
|
||||||
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
|
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
|
||||||
</MkA>
|
</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)">
|
<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>{{ item.text }}</span>
|
||||||
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
|
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -34,12 +34,12 @@
|
||||||
<FormSwitch v-model="item.ref" :disabled="item.disabled" class="form-switch">{{ item.text }}</FormSwitch>
|
<FormSwitch v-model="item.ref" :disabled="item.disabled" class="form-switch">{{ item.text }}</FormSwitch>
|
||||||
</span>
|
</span>
|
||||||
<button v-else-if="item.type === 'parent'" :tabindex="i" class="_button item parent" :class="{ childShowing: childShowingItem === item }" @mouseenter="showChildren(item, $event)">
|
<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>{{ 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>
|
||||||
<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)">
|
<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"/>
|
<MkAvatar v-if="item.avatar" :user="item.avatar" class="avatar"/>
|
||||||
<span>{{ item.text }}</span>
|
<span>{{ item.text }}</span>
|
||||||
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
|
<span v-if="item.indicate" class="indicator"><i class="ph-circle-bold"></i></span>
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
</I18n>
|
</I18n>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<button ref="renoteTime" class="_button time" @click="showRenoteMenu()">
|
<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"/>
|
<MkTime :time="note.createdAt"/>
|
||||||
</button>
|
</button>
|
||||||
<MkVisibility :note="note"/>
|
<MkVisibility :note="note"/>
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
</button>
|
</button>
|
||||||
<XQuoteButton class="button" :note="appearNote"/>
|
<XQuoteButton class="button" :note="appearNote"/>
|
||||||
<button ref="menuButton" class="button _button" @click="menu()">
|
<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>
|
</button>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
</I18n>
|
</I18n>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<button ref="renoteTime" class="_button time" @click="showRenoteMenu()">
|
<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"/>
|
<MkTime :time="note.createdAt"/>
|
||||||
</button>
|
</button>
|
||||||
<MkVisibility :note="note"/>
|
<MkVisibility :note="note"/>
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
</button>
|
</button>
|
||||||
<XQuoteButton class="button" :note="appearNote"/>
|
<XQuoteButton class="button" :note="appearNote"/>
|
||||||
<button ref="menuButton" class="button _button" @click="menu()">
|
<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>
|
</button>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
<MkAcct :user="u"/>
|
<MkAcct :user="u"/>
|
||||||
<button class="_button" @click="removeVisibleUser(u)"><i class="ph-x-bold"></i></button>
|
<button class="_button" @click="removeVisibleUser(u)"><i class="ph-x-bold"></i></button>
|
||||||
</span>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
<MkInfo v-if="hasNotSpecifiedMentions" warn class="hasNotSpecifiedMentions">{{ i18n.ts.notSpecifiedMentionWarning }} - <button class="_textButton" @click="addMissingMention()">{{ i18n.ts.add }}</button></MkInfo>
|
<MkInfo v-if="hasNotSpecifiedMentions" warn class="hasNotSpecifiedMentions">{{ i18n.ts.notSpecifiedMentionWarning }} - <button class="_textButton" @click="addMissingMention()">{{ i18n.ts.add }}</button></MkInfo>
|
||||||
|
|
|
@ -9,45 +9,45 @@
|
||||||
<template #prefix>@</template>
|
<template #prefix>@</template>
|
||||||
<template #suffix>@{{ host }}</template>
|
<template #suffix>@{{ host }}</template>
|
||||||
<template #caption>
|
<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-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-bold"></i> {{ i18n.ts.available }}</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-bold"></i> {{ i18n.ts.unavailable }}</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-bold"></i> {{ i18n.ts.error }}</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-bold"></i> {{ i18n.ts.usernameInvalidFormat }}</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-bold"></i> {{ i18n.ts.tooShort }}</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-bold"></i> {{ i18n.ts.tooLong }}</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>
|
</template>
|
||||||
</MkInput>
|
</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">
|
<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 #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 #prefix><i class="ph-envelope-simple-open-bold"></i></template>
|
||||||
<template #caption>
|
<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-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-bold"></i> {{ i18n.ts.available }}</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-bold"></i> {{ i18n.ts._emailUnavailable.used }}</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-bold"></i> {{ i18n.ts._emailUnavailable.format }}</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-bold"></i> {{ i18n.ts._emailUnavailable.disposable }}</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-bold"></i> {{ i18n.ts._emailUnavailable.mx }}</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-bold"></i> {{ i18n.ts._emailUnavailable.smtp }}</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-bold"></i> {{ i18n.ts.unavailable }}</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-bold"></i> {{ i18n.ts.error }}</span>
|
<span v-else-if="emailState === 'error'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.error }}</span>
|
||||||
</template>
|
</template>
|
||||||
</MkInput>
|
</MkInput>
|
||||||
<MkInput v-model="password" class="_formBlock" type="password" autocomplete="new-password" required data-cy-signup-password @update:modelValue="onChangePassword">
|
<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 #label>{{ i18n.ts.password }}</template>
|
||||||
<template #prefix><i class="ph-lock-bold"></i></template>
|
<template #prefix><i class="ph-lock-bold"></i></template>
|
||||||
<template #caption>
|
<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 == '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-bold"></i> {{ i18n.ts.normalPassword }}</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-bold"></i> {{ i18n.ts.strongPassword }}</span>
|
<span v-if="passwordStrength == 'high'" style="color: var(--success)"><i class="ph-check-bold ph-fw"></i> {{ i18n.ts.strongPassword }}</span>
|
||||||
</template>
|
</template>
|
||||||
</MkInput>
|
</MkInput>
|
||||||
<MkInput v-model="retypedPassword" class="_formBlock" type="password" autocomplete="new-password" required data-cy-signup-password-retype @update:modelValue="onChangePasswordRetype">
|
<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 #label>{{ i18n.ts.password }} ({{ i18n.ts.retype }})</template>
|
||||||
<template #prefix><i class="ph-lock-bold"></i></template>
|
<template #prefix><i class="ph-lock-bold"></i></template>
|
||||||
<template #caption>
|
<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 == '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-bold"></i> {{ i18n.ts.passwordNotMatched }}</span>
|
<span v-if="passwordRetypeState == 'not-match'" style="color: var(--error)"><i class="ph-warning-bold ph-fw"></i> {{ i18n.ts.passwordNotMatched }}</span>
|
||||||
</template>
|
</template>
|
||||||
</MkInput>
|
</MkInput>
|
||||||
<MkSwitch v-if="instance.tosUrl" v-model="ToSAgreement" class="_formBlock tou">
|
<MkSwitch v-if="instance.tosUrl" v-model="ToSAgreement" class="_formBlock tou">
|
||||||
|
|
|
@ -6,15 +6,15 @@
|
||||||
<div class="items">
|
<div class="items">
|
||||||
<template v-for="(item, i) in group.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 }">
|
<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>
|
<span class="text">{{ item.text }}</span>
|
||||||
</a>
|
</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)">
|
<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>
|
<span class="text">{{ item.text }}</span>
|
||||||
</button>
|
</button>
|
||||||
<MkA v-else :to="item.to" :tabindex="i" class="_button item" :class="{ danger: item.danger, active: item.active }">
|
<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>
|
<span class="text">{{ item.text }}</span>
|
||||||
</MkA>
|
</MkA>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -277,7 +277,7 @@ const headerActions = $computed(() => [{
|
||||||
text: i18n.ts.addEmoji,
|
text: i18n.ts.addEmoji,
|
||||||
handler: add,
|
handler: add,
|
||||||
}, {
|
}, {
|
||||||
icon: 'ph-three-dots-outline-bold',
|
icon: 'ph-dots-three-outline-bold',
|
||||||
handler: menu,
|
handler: menu,
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div :style="{ backgroundImage: channel.bannerUrl ? `url(${channel.bannerUrl})` : null }" class="banner">
|
<div :style="{ backgroundImage: channel.bannerUrl ? `url(${channel.bannerUrl})` : null }" class="banner">
|
||||||
<div class="status">
|
<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-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-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-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>
|
||||||
<div class="fade"></div>
|
<div class="fade"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,26 +7,26 @@
|
||||||
<div v-if="origin === 'local'">
|
<div v-if="origin === 'local'">
|
||||||
<template v-if="tag == null">
|
<template v-if="tag == null">
|
||||||
<MkFolder v-if="pinnedUsers.length > 0" class="_gap" persist-key="explore-pinned-users">
|
<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"/>
|
<XUserList :pagination="pinnedUsers"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
<MkFolder class="_gap" persist-key="explore-popular-users">
|
<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"/>
|
<XUserList :pagination="popularUsers"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
<MkFolder class="_gap" persist-key="explore-recently-updated-users">
|
<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"/>
|
<XUserList :pagination="recentlyUpdatedUsers"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
<MkFolder class="_gap" persist-key="explore-recently-registered-users">
|
<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"/>
|
<XUserList :pagination="recentlyRegisteredUsers"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<MkFolder ref="tagsEl" :foldable="true" :expanded="false" class="_gap">
|
<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">
|
<div class="vxjfqztj">
|
||||||
<MkA v-for="tag in tagsLocal" :key="'local:' + tag.tag" :to="`/explore/tags/${tag.tag}`" class="local">{{ tag.tag }}</MkA>
|
<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>
|
||||||
|
|
||||||
<MkFolder v-if="tag != null" :key="`${tag}`" class="_gap">
|
<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"/>
|
<XUserList :pagination="tagUsers"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
|
|
||||||
<template v-if="tag == null">
|
<template v-if="tag == null">
|
||||||
<MkFolder class="_gap">
|
<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"/>
|
<XUserList :pagination="popularUsersF"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
<MkFolder class="_gap">
|
<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"/>
|
<XUserList :pagination="recentlyUpdatedUsersF"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
<MkFolder class="_gap">
|
<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"/>
|
<XUserList :pagination="recentlyRegisteredUsersF"/>
|
||||||
</MkFolder>
|
</MkFolder>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -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>
|
<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>
|
||||||
<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-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-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-bold"></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>
|
</div>
|
||||||
<div class="user">
|
<div class="user">
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<button class="_button" @click="chooseFile"><i class="ph-upload-bold"></i></button>
|
<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="_button" @click="insertEmoji"><i class="ph-smiley-wink-bold"></i></button>
|
||||||
<button class="send _button" :disabled="!canSend || sending" :title="i18n.ts.send" @click="send">
|
<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>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
</div>
|
</div>
|
||||||
<transition :name="animation ? 'fade' : ''">
|
<transition :name="animation ? 'fade' : ''">
|
||||||
<div v-show="showIndicator" class="new-message">
|
<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>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
<XForm v-if="!fetching" ref="formEl" :user="user" :group="group" class="form"/>
|
<XForm v-if="!fetching" ref="formEl" :user="user" :group="group" class="form"/>
|
||||||
|
|
|
@ -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>
|
<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>
|
||||||
<div class="other">
|
<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.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-bold"></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>
|
</div>
|
||||||
<div class="user">
|
<div class="user">
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
<ol v-if="registration && !registration.error">
|
<ol v-if="registration && !registration.error">
|
||||||
<li v-if="registration.stage >= 0">
|
<li v-if="registration.stage >= 0">
|
||||||
{{ i18n.ts.tapSecurityKey }}
|
{{ 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>
|
||||||
<li v-if="registration.stage >= 1">
|
<li v-if="registration.stage >= 1">
|
||||||
<MkForm :disabled="registration.stage != 1 || registration.saving">
|
<MkForm :disabled="registration.stage != 1 || registration.saving">
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
<template #label>{{ i18n.ts.securityKeyName }}</template>
|
<template #label>{{ i18n.ts.securityKeyName }}</template>
|
||||||
</MkInput>
|
</MkInput>
|
||||||
<MkButton :disabled="keyName.length == 0" @click="registerKey">{{ i18n.ts.registerSecurityKey }}</MkButton>
|
<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>
|
</MkForm>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
|
@ -164,7 +164,7 @@ const menuDef = computed(() => [{
|
||||||
to: '/settings/webhook',
|
to: '/settings/webhook',
|
||||||
active: currentPage?.route.name === 'webhook',
|
active: currentPage?.route.name === 'webhook',
|
||||||
}, {
|
}, {
|
||||||
icon: 'ph-three-dots-outline-bold',
|
icon: 'ph-dots-three-outline-bold',
|
||||||
text: i18n.ts.other,
|
text: i18n.ts.other,
|
||||||
to: '/settings/other',
|
to: '/settings/other',
|
||||||
active: currentPage?.route.name === 'other',
|
active: currentPage?.route.name === 'other',
|
||||||
|
|
|
@ -42,6 +42,6 @@ const headerTabs = $computed(() => []);
|
||||||
|
|
||||||
definePageMetadata({
|
definePageMetadata({
|
||||||
title: i18n.ts.other,
|
title: i18n.ts.other,
|
||||||
icon: 'ph-three-dots-outline-bold',
|
icon: 'ph-dots-three-outline-bold',
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -240,7 +240,7 @@ const headerTabs = $computed(() => [
|
||||||
{
|
{
|
||||||
key: 'social',
|
key: 'social',
|
||||||
title: i18n.ts._timelines.social,
|
title: i18n.ts._timelines.social,
|
||||||
icon: 'ph-handshake-simple-bold',
|
icon: 'ph-handshake-bold',
|
||||||
iconOnly: true,
|
iconOnly: true,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -264,7 +264,7 @@ definePageMetadata(
|
||||||
src === 'local'
|
src === 'local'
|
||||||
? 'ph-users-bold'
|
? 'ph-users-bold'
|
||||||
: src === 'social'
|
: src === 'social'
|
||||||
? 'ph-handshake-simple-bold'
|
? 'ph-handshake-bold'
|
||||||
: src === 'recommended'
|
: src === 'recommended'
|
||||||
? 'ph-thumbs-up-bold'
|
? 'ph-thumbs-up-bold'
|
||||||
: src === 'global'
|
: src === 'global'
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
</div>
|
</div>
|
||||||
<span v-if="$i && $i.id != user.id && user.isFollowed" class="followed">{{ i18n.ts.followsYou }}</span>
|
<span v-if="$i && $i.id != user.id && user.isFollowed" class="followed">{{ i18n.ts.followsYou }}</span>
|
||||||
<div v-if="$i" class="actions">
|
<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"/>
|
<MkFollowButton v-if="$i.id != user.id" :user="user" :inline="true" :transparent="false" :full="true" class="koudoku"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -46,15 +46,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="fields system">
|
<div class="fields system">
|
||||||
<dl v-if="user.location" class="field">
|
<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>
|
<dd class="value">{{ user.location }}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl v-if="user.birthday" class="field">
|
<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>
|
<dd class="value">{{ user.birthday.replace('-', '/').replace('-', '/') }} ({{ $t('yearsOld', { age }) }})</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="field">
|
<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>
|
<dd class="value">{{ new Date(user.createdAt).toLocaleString() }} (<MkTime :time="user.createdAt"/>)</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<template #header><i class="ph-chart-bar-bold" style="margin-right: 0.5em;"></i>{{ $ts.activity }}</template>
|
<template #header><i class="ph-chart-bar-bold" style="margin-right: 0.5em;"></i>{{ $ts.activity }}</template>
|
||||||
<template #func>
|
<template #func>
|
||||||
<button class="_button" @click="showMenu">
|
<button class="_button" @click="showMenu">
|
||||||
<i class="ph-three-dots-outline-bold"></i>
|
<i class="ph-dots-three-outline-bold"></i>
|
||||||
</button>
|
</button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/>
|
<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">
|
<div class="fg">
|
||||||
<h1>
|
<h1>
|
||||||
<!-- 背景色によってはロゴが見えなくなるのでとりあえず無効に -->
|
<!-- 背景色によってはロゴが見えなくなるのでとりあえず無効に -->
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
<template #n><b>{{ onlineUsersCount }}</b></template>
|
<template #n><b>{{ onlineUsersCount }}</b></template>
|
||||||
</I18n>
|
</I18n>
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
|
|
|
@ -9,30 +9,30 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="middle">
|
<div class="middle">
|
||||||
<MkA v-click-anime class="item index" active-class="active" to="/" exact>
|
<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>
|
</MkA>
|
||||||
<template v-for="item in menu">
|
<template v-for="item in menu">
|
||||||
<div v-if="item === '-'" class="divider"></div>
|
<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 } : {}">
|
<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>
|
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
|
||||||
</component>
|
</component>
|
||||||
</template>
|
</template>
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin">
|
<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>
|
</MkA>
|
||||||
<button v-click-anime class="item _button" @click="more">
|
<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>
|
<span v-if="otherMenuItemIndicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
|
||||||
</button>
|
</button>
|
||||||
<MkA v-click-anime class="item" active-class="active" to="/settings">
|
<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>
|
</MkA>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<button class="item _button post" data-cy-open-post-form @click="os.post">
|
<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>
|
||||||
<button v-click-anime v-tooltip.noDelay.right="$instance.name ?? i18n.ts.instance" class="item _button instance" @click="openInstanceMenu">
|
<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"/>
|
<img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="middle">
|
<div class="middle">
|
||||||
<MkA v-click-anime v-tooltip.noDelay.right="i18n.ts.timeline" class="item index" active-class="active" to="/" exact>
|
<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>
|
</MkA>
|
||||||
<template v-for="item in menu">
|
<template v-for="item in menu">
|
||||||
<div v-if="item === '-'" class="divider"></div>
|
<div v-if="item === '-'" class="divider"></div>
|
||||||
|
@ -24,25 +24,25 @@
|
||||||
:to="navbarItemDef[item].to"
|
:to="navbarItemDef[item].to"
|
||||||
v-on="navbarItemDef[item].action ? { click: navbarItemDef[item].action } : {}"
|
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>
|
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
|
||||||
</component>
|
</component>
|
||||||
</template>
|
</template>
|
||||||
<div class="divider"></div>
|
<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">
|
<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>
|
</MkA>
|
||||||
<button v-click-anime class="item _button" @click="more">
|
<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>
|
<span v-if="otherMenuItemIndicated" class="indicator"><i class="icon ph-circle-bold"></i></span>
|
||||||
</button>
|
</button>
|
||||||
<MkA v-click-anime v-tooltip.noDelay.right="i18n.ts.settings" class="item" active-class="active" to="/settings">
|
<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>
|
</MkA>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<button v-tooltip.noDelay.right="i18n.ts.note" class="item _button post" data-cy-open-post-form @click="os.post">
|
<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>
|
||||||
<button v-click-anime v-tooltip.noDelay.right="$instance.name ?? i18n.ts.instance" class="item _button instance" @click="openInstanceMenu">
|
<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"/>
|
<img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/>
|
||||||
|
|
|
@ -3,34 +3,34 @@
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<MkA v-click-anime v-tooltip="$ts.timeline" class="item index" active-class="active" to="/" exact>
|
<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>
|
</MkA>
|
||||||
<template v-for="item in menu">
|
<template v-for="item in menu">
|
||||||
<div v-if="item === '-'" class="divider"></div>
|
<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 } : {}">
|
<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>
|
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="ph-circle-bold"></i></span>
|
||||||
</component>
|
</component>
|
||||||
</template>
|
</template>
|
||||||
<div class="divider"></div>
|
<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">
|
<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>
|
</MkA>
|
||||||
<button v-click-anime class="item _button" @click="more">
|
<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>
|
<span v-if="otherNavItemIndicated" class="indicator"><i class="ph-circle-bold"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<MkA v-click-anime v-tooltip="$ts.settings" class="item" active-class="active" to="/settings" :behavior="settingsWindowed ? 'modalWindow' : null">
|
<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>
|
</MkA>
|
||||||
<button v-click-anime class="item _button account" @click="openAccountMenu">
|
<button v-click-anime class="item _button account" @click="openAccountMenu">
|
||||||
<MkAvatar :user="$i" class="avatar"/><MkAcct class="acct" :user="$i"/>
|
<MkAvatar :user="$i" class="avatar"/><MkAcct class="acct" :user="$i"/>
|
||||||
</button>
|
</button>
|
||||||
<div class="post" @click="post">
|
<div class="post" @click="post">
|
||||||
<MkButton class="button" gradate full rounded>
|
<MkButton class="button" gradate full rounded>
|
||||||
<i class="ph-pencil-bold ph-fw-bold"></i>
|
<i class="ph-pencil-bold ph-fw"></i>
|
||||||
</MkButton>
|
</MkButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,30 +5,30 @@
|
||||||
</button>
|
</button>
|
||||||
<div class="post" data-cy-open-post-form @click="post">
|
<div class="post" data-cy-open-post-form @click="post">
|
||||||
<MkButton class="button" gradate full rounded>
|
<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>
|
</MkButton>
|
||||||
</div>
|
</div>
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
<MkA v-click-anime class="item index" active-class="active" to="/" exact>
|
<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>
|
</MkA>
|
||||||
<template v-for="item in menu">
|
<template v-for="item in menu">
|
||||||
<div v-if="item === '-'" class="divider"></div>
|
<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 } : {}">
|
<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>
|
<span v-if="navbarItemDef[item].indicated" class="indicator"><i class="ph-circle-bold"></i></span>
|
||||||
</component>
|
</component>
|
||||||
</template>
|
</template>
|
||||||
<div class="divider"></div>
|
<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">
|
<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>
|
</MkA>
|
||||||
<button v-click-anime class="item _button" @click="more">
|
<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>
|
<span v-if="otherNavItemIndicated" class="indicator"><i class="ph-circle-bold"></i></span>
|
||||||
</button>
|
</button>
|
||||||
<MkA v-click-anime class="item" active-class="active" to="/settings" :behavior="settingsWindowed ? 'modalWindow' : null">
|
<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>
|
</MkA>
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
<div class="about">
|
<div class="about">
|
||||||
|
|
Loading…
Reference in New Issue