feat(settings): add bot option for profile appearance

This commit is contained in:
三咲智子 2023-01-08 22:08:11 +08:00
parent fcae855eea
commit 5f07fd2515
No known key found for this signature in database
GPG key ID: 69992F2250DFD93E
4 changed files with 20 additions and 8 deletions

View file

@ -8,8 +8,9 @@ defineProps<{
<div <div
flex="~ gap1" items-center flex="~ gap1" items-center
:class="{ 'border border-base rounded-md px-1': showLabel }" :class="{ 'border border-base rounded-md px-1': showLabel }"
text-secondary-light text-xs text-secondary-light
> >
<slot name="prepend" />
<CommonTooltip :content="$t('account.bot')" :disabled="showLabel"> <CommonTooltip :content="$t('account.bot')" :disabled="showLabel">
<div i-ri:robot-line /> <div i-ri:robot-line />
</CommonTooltip> </CommonTooltip>

View file

@ -23,7 +23,7 @@ defineOptions({
<div flex="~ col" shrink pt-1 h-full overflow-hidden justify-center leading-none> <div flex="~ col" shrink pt-1 h-full overflow-hidden justify-center leading-none>
<div flex="~" gap-2> <div flex="~" gap-2>
<AccountDisplayName :account="account" font-bold line-clamp-1 ws-pre-wrap break-all text-lg /> <AccountDisplayName :account="account" font-bold line-clamp-1 ws-pre-wrap break-all text-lg />
<AccountBotIndicator v-if="account.bot" /> <AccountBotIndicator v-if="account.bot" text-xs />
</div> </div>
<AccountHandle :account="account" text-secondary-light /> <AccountHandle :account="account" text-secondary-light />
</div> </div>

View file

@ -12,7 +12,7 @@ defineProps<{
<div flex="~ col gap1" shrink h-full overflow-hidden leading-none> <div flex="~ col gap1" shrink h-full overflow-hidden leading-none>
<div flex="~" gap-2> <div flex="~" gap-2>
<AccountDisplayName :account="account" line-clamp-1 ws-pre-wrap break-all text-base /> <AccountDisplayName :account="account" line-clamp-1 ws-pre-wrap break-all text-base />
<AccountBotIndicator v-if="account.bot" /> <AccountBotIndicator v-if="account.bot" text-xs />
</div> </div>
<AccountHandle text-sm :account="account" text-secondary-light /> <AccountHandle text-sm :account="account" text-secondary-light />
</div> </div>

View file

@ -1,5 +1,6 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { mastodon } from 'masto' import type { mastodon } from 'masto'
import { satisfies } from 'semver'
import { useForm } from 'slimeform' import { useForm } from 'slimeform'
import { parse } from 'ultrahtml' import { parse } from 'ultrahtml'
@ -41,9 +42,10 @@ const { form, reset, submitter, dirtyFields, isError } = useForm({
fieldsAttributes, fieldsAttributes,
bot: account?.bot ?? false,
// These look more like account and privacy settings than appearance settings // These look more like account and privacy settings than appearance settings
// discoverable: false, // discoverable: false,
// bot: false,
// locked: false, // locked: false,
} }
}, },
@ -114,10 +116,19 @@ onReactivated(refreshInfo)
<CommonCropImage v-model="form.avatar" /> <CommonCropImage v-model="form.avatar" />
<div px4> <div px4>
<div flex justify-between>
<AccountDisplayName <AccountDisplayName
:account="{ ...account, displayName: form.displayName }" :account="{ ...account, displayName: form.displayName }"
font-bold sm:text-2xl text-xl font-bold sm:text-2xl text-xl
/> />
<label>
<AccountBotIndicator show-label px2 py1>
<template #prepend>
<input v-model="form.bot" type="checkbox">
</template>
</AccountBotIndicator>
</label>
</div>
<AccountHandle :account="account" /> <AccountHandle :account="account" />
</div> </div>
</div> </div>