mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-21 09:27:31 -07:00
prelim
This commit is contained in:
parent
262c7a1556
commit
1c16b749c3
3 changed files with 123 additions and 1 deletions
|
@ -165,7 +165,7 @@ cacheRemoteFiles: "Cache remote files"
|
||||||
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded
|
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded
|
||||||
directly from the remote server. Disabling this will decrease storage usage, but
|
directly from the remote server. Disabling this will decrease storage usage, but
|
||||||
increase traffic, as thumbnails will not be generated."
|
increase traffic, as thumbnails will not be generated."
|
||||||
flagAsBot: "Mark this account as a bot 🤖"
|
flagAsBot: "Mark this account as a bot"
|
||||||
flagAsBotDescription: "Enable this option if this account is controlled by a program.
|
flagAsBotDescription: "Enable this option if this account is controlled by a program.
|
||||||
If enabled, it will act as a flag for other developers to prevent endless interaction
|
If enabled, it will act as a flag for other developers to prevent endless interaction
|
||||||
chains with other bots and adjust Iceshrimp's internal systems to treat this account
|
chains with other bots and adjust Iceshrimp's internal systems to treat this account
|
||||||
|
@ -174,6 +174,10 @@ flagAsCat: "Are you a cat? 😺"
|
||||||
flagAsCatDescription: "You'll get cat ears and speak like a cat!"
|
flagAsCatDescription: "You'll get cat ears and speak like a cat!"
|
||||||
flagSpeakAsCat: "Speak as a cat"
|
flagSpeakAsCat: "Speak as a cat"
|
||||||
flagSpeakAsCatDescription: "Your beeps will get nyanified when in cat mode"
|
flagSpeakAsCatDescription: "Your beeps will get nyanified when in cat mode"
|
||||||
|
flagAsRobo: "Are you a robot? 🤖"
|
||||||
|
flagAsRoboDescription: "You'll get an antenna and speak like a robot!"
|
||||||
|
flagSpeakAsRobo: "Speak as a robot"
|
||||||
|
flagSpeakAsRoboDescription: "Your beeps will get robofied when in robot mode"
|
||||||
flagShowTimelineReplies: "Show replies in timeline"
|
flagShowTimelineReplies: "Show replies in timeline"
|
||||||
flagShowTimelineRepliesDescription: "Shows replies of users to beeps of other users
|
flagShowTimelineRepliesDescription: "Shows replies of users to beeps of other users
|
||||||
in the timeline if turned on."
|
in the timeline if turned on."
|
||||||
|
|
|
@ -35,6 +35,43 @@
|
||||||
</MkA>
|
</MkA>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<span
|
||||||
|
v-if="disableLink"
|
||||||
|
v-user-preview="disablePreview ? undefined : user.id"
|
||||||
|
class="robomode _noSelect"
|
||||||
|
:class="{ cat: user.isRobo, square: $store.state.squareAvatars }"
|
||||||
|
:style="{ color }"
|
||||||
|
:title="acct(user)"
|
||||||
|
@click="onClick"
|
||||||
|
>
|
||||||
|
<img class="inner" :src="url" loading="lazy" decoding="async" />
|
||||||
|
<MkUserOnlineIndicator
|
||||||
|
v-if="showIndicator && user.instance == null"
|
||||||
|
class="indicator"
|
||||||
|
:user="user"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
<MkA
|
||||||
|
v-else
|
||||||
|
v-user-preview="disablePreview ? undefined : user.id"
|
||||||
|
class="robomode _noSelect"
|
||||||
|
:class="{ cat: user.isRobo, square: $store.state.squareAvatars }"
|
||||||
|
:style="{ color }"
|
||||||
|
:to="userPage(user)"
|
||||||
|
:title="acct(user)"
|
||||||
|
:target="target"
|
||||||
|
@click.stop
|
||||||
|
>
|
||||||
|
<img class="inner" :src="url" loading="lazy" decoding="async" />
|
||||||
|
<MkUserOnlineIndicator
|
||||||
|
v-if="showIndicator && user.instance == null"
|
||||||
|
class="indicator"
|
||||||
|
:user="user"
|
||||||
|
/>
|
||||||
|
</MkA>
|
||||||
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { onMounted, watch } from "vue";
|
import { onMounted, watch } from "vue";
|
||||||
import type * as misskey from "iceshrimp-js";
|
import type * as misskey from "iceshrimp-js";
|
||||||
|
@ -196,4 +233,77 @@ watch(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.robomode {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: bottom;
|
||||||
|
flex-shrink: 0;
|
||||||
|
border-radius: 100%;
|
||||||
|
line-height: 30px;
|
||||||
|
|
||||||
|
> .inner {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
border-radius: 100%;
|
||||||
|
z-index: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
object-fit: cover;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
> .indicator {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 18%;
|
||||||
|
height: 18%;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.square {
|
||||||
|
border-radius: 20%;
|
||||||
|
|
||||||
|
> .inner {
|
||||||
|
border-radius: 20%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.cat {
|
||||||
|
&:before,
|
||||||
|
&:after {
|
||||||
|
background: #ebbcba;
|
||||||
|
border: solid 4px currentColor;
|
||||||
|
box-sizing: border-box;
|
||||||
|
content: "";
|
||||||
|
display: inline-block;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
border-radius: 0 75% 75%;
|
||||||
|
transform: rotate(37.5deg) skew(30deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
border-radius: 75% 0 75% 75%;
|
||||||
|
transform: rotate(-37.5deg) skew(-30deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
&:before {
|
||||||
|
animation: earwiggleleft 1s infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
animation: earwiggleright 1s infinite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -149,6 +149,12 @@
|
||||||
i18n.ts.flagSpeakAsCatDescription
|
i18n.ts.flagSpeakAsCatDescription
|
||||||
}}</template></FormSwitch
|
}}</template></FormSwitch
|
||||||
>
|
>
|
||||||
|
<FormSwitch v-model="profile.isRobo" class="_formBlock"
|
||||||
|
>{{ i18n.ts.flagAsRobo
|
||||||
|
}}<template #caption>{{
|
||||||
|
i18n.ts.flagAsRoboDescription
|
||||||
|
}}</template></FormSwitch
|
||||||
|
>
|
||||||
<FormSwitch v-model="profile.isBot" class="_formBlock"
|
<FormSwitch v-model="profile.isBot" class="_formBlock"
|
||||||
>{{ i18n.ts.flagAsBot
|
>{{ i18n.ts.flagAsBot
|
||||||
}}<template #caption>{{
|
}}<template #caption>{{
|
||||||
|
@ -186,6 +192,7 @@ const profile = reactive({
|
||||||
birthday: $i?.birthday,
|
birthday: $i?.birthday,
|
||||||
lang: $i?.lang,
|
lang: $i?.lang,
|
||||||
isBot: $i?.isBot,
|
isBot: $i?.isBot,
|
||||||
|
isRobo: $i?.isRobo,
|
||||||
isCat: $i?.isCat,
|
isCat: $i?.isCat,
|
||||||
speakAsCat: $i?.speakAsCat,
|
speakAsCat: $i?.speakAsCat,
|
||||||
});
|
});
|
||||||
|
@ -240,6 +247,7 @@ function save() {
|
||||||
birthday: profile.birthday || null,
|
birthday: profile.birthday || null,
|
||||||
lang: profile.lang || null,
|
lang: profile.lang || null,
|
||||||
isBot: !!profile.isBot,
|
isBot: !!profile.isBot,
|
||||||
|
isRobo: !!profile.isRobo,
|
||||||
isCat: !!profile.isCat,
|
isCat: !!profile.isCat,
|
||||||
speakAsCat: !!profile.speakAsCat,
|
speakAsCat: !!profile.speakAsCat,
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue