73 lines
2.6 KiB
Vue
73 lines
2.6 KiB
Vue
<!--
|
|
SPDX-FileCopyrightText: syuilo and other misskey contributors
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
-->
|
|
|
|
<template>
|
|
<div class="_gaps">
|
|
<MkInfo>{{ i18n.ts._initialAccountSetting.theseSettingsCanEditLater }}</MkInfo>
|
|
|
|
<MkFolder>
|
|
<template #label>{{ i18n.ts.makeFollowManuallyApprove }}</template>
|
|
<template #icon><i class="ph-lock ph-bold ph-lg"></i></template>
|
|
<template #suffix>{{ isLocked ? i18n.ts.on : i18n.ts.off }}</template>
|
|
|
|
<MkSwitch v-model="isLocked">{{ i18n.ts.makeFollowManuallyApprove }}<template #caption>{{ i18n.ts.lockedAccountInfo }}</template></MkSwitch>
|
|
</MkFolder>
|
|
|
|
<MkFolder>
|
|
<template #label>{{ i18n.ts.hideOnlineStatus }}</template>
|
|
<template #icon><i class="ph-eye-slash ph-bold ph-lg"></i></template>
|
|
<template #suffix>{{ hideOnlineStatus ? i18n.ts.on : i18n.ts.off }}</template>
|
|
|
|
<MkSwitch v-model="hideOnlineStatus">{{ i18n.ts.hideOnlineStatus }}<template #caption>{{ i18n.ts.hideOnlineStatusDescription }}</template></MkSwitch>
|
|
</MkFolder>
|
|
|
|
<MkFolder>
|
|
<template #label>{{ i18n.ts.noCrawle }}</template>
|
|
<template #icon><i class="ph-planet ph-bold ph-lg"></i></template>
|
|
<template #suffix>{{ noCrawle ? i18n.ts.on : i18n.ts.off }}</template>
|
|
|
|
<MkSwitch v-model="noCrawle">{{ i18n.ts.noCrawle }}<template #caption>{{ i18n.ts.noCrawleDescription }}</template></MkSwitch>
|
|
</MkFolder>
|
|
|
|
<MkFolder>
|
|
<template #label>{{ i18n.ts.preventAiLearning }}</template>
|
|
<template #icon><i class="ph-image-square ph-bold ph-lg-shield"></i></template>
|
|
<template #suffix>{{ preventAiLearning ? i18n.ts.on : i18n.ts.off }}</template>
|
|
|
|
<MkSwitch v-model="preventAiLearning">{{ i18n.ts.preventAiLearning }}<template #caption>{{ i18n.ts.preventAiLearningDescription }}</template></MkSwitch>
|
|
</MkFolder>
|
|
|
|
<MkInfo>{{ i18n.ts._initialAccountSetting.youCanEditMoreSettingsInSettingsPageLater }}</MkInfo>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { computed, ref, watch } from 'vue';
|
|
import { instance } from '@/instance.js';
|
|
import { i18n } from '@/i18n.js';
|
|
import MkSwitch from '@/components/MkSwitch.vue';
|
|
import MkInfo from '@/components/MkInfo.vue';
|
|
import MkFolder from '@/components/MkFolder.vue';
|
|
import * as os from '@/os.js';
|
|
import { $i } from '@/account.js';
|
|
|
|
let isLocked = ref(false);
|
|
let hideOnlineStatus = ref(false);
|
|
let noCrawle = ref(false);
|
|
let preventAiLearning = ref(true);
|
|
|
|
watch([isLocked, hideOnlineStatus, noCrawle, preventAiLearning], () => {
|
|
os.api('i/update', {
|
|
isLocked: !!isLocked.value,
|
|
hideOnlineStatus: !!hideOnlineStatus.value,
|
|
noCrawle: !!noCrawle.value,
|
|
preventAiLearning: !!preventAiLearning.value,
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<style lang="scss" module>
|
|
|
|
</style>
|