This commit is contained in:
syuilo 2023-01-07 14:59:54 +09:00
parent cac784af8a
commit d09e1f4925
44 changed files with 174 additions and 174 deletions

View File

@ -37,7 +37,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import MkKeyValue from '@/components/MkKeyValue.vue'; import MkKeyValue from '@/components/MkKeyValue.vue';
import { acct, userPage } from '@/filters/user'; import { acct, userPage } from '@/filters/user';
import * as os from '@/os'; import * as os from '@/os';

View File

@ -52,7 +52,7 @@ import { computed, defineAsyncComponent, onMounted, onUnmounted, Ref } from 'vue
import * as os from '@/os'; import * as os from '@/os';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import MkTextarea from '@/components/form/textarea.vue'; import MkTextarea from '@/components/form/textarea.vue';
import MkSelect from '@/components/form/select.vue'; import MkSelect from '@/components/form/select.vue';
import { AsUiComponent } from '@/scripts/aiscript/ui'; import { AsUiComponent } from '@/scripts/aiscript/ui';

View File

@ -29,10 +29,10 @@
<template #label><span v-text="form[item].label || item"></span><span v-if="form[item].required === false"> ({{ $ts.optional }})</span></template> <template #label><span v-text="form[item].label || item"></span><span v-if="form[item].required === false"> ({{ $ts.optional }})</span></template>
<template v-if="form[item].description" #caption>{{ form[item].description }}</template> <template v-if="form[item].description" #caption>{{ form[item].description }}</template>
</FormTextarea> </FormTextarea>
<FormSwitch v-else-if="form[item].type === 'boolean'" v-model="values[item]"> <MkSwitch v-else-if="form[item].type === 'boolean'" v-model="values[item]">
<span v-text="form[item].label || item"></span> <span v-text="form[item].label || item"></span>
<template v-if="form[item].description" #caption>{{ form[item].description }}</template> <template v-if="form[item].description" #caption>{{ form[item].description }}</template>
</FormSwitch> </MkSwitch>
<FormSelect v-else-if="form[item].type === 'enum'" v-model="values[item]"> <FormSelect v-else-if="form[item].type === 'enum'" v-model="values[item]">
<template #label><span v-text="form[item].label || item"></span><span v-if="form[item].required === false"> ({{ $ts.optional }})</span></template> <template #label><span v-text="form[item].label || item"></span><span v-if="form[item].required === false"> ({{ $ts.optional }})</span></template>
<option v-for="item in form[item].enum" :key="item.value" :value="item.value">{{ item.label }}</option> <option v-for="item in form[item].enum" :key="item.value" :value="item.value">{{ item.label }}</option>
@ -58,7 +58,7 @@
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
import FormInput from './form/input.vue'; import FormInput from './form/input.vue';
import FormTextarea from './form/textarea.vue'; import FormTextarea from './form/textarea.vue';
import FormSwitch from './form/switch.vue'; import MkSwitch from './MkSwitch.vue';
import FormSelect from './form/select.vue'; import FormSelect from './form/select.vue';
import FormRange from './form/range.vue'; import FormRange from './form/range.vue';
import MkButton from './MkButton.vue'; import MkButton from './MkButton.vue';
@ -70,7 +70,7 @@ export default defineComponent({
MkModalWindow, MkModalWindow,
FormInput, FormInput,
FormTextarea, FormTextarea,
FormSwitch, MkSwitch,
FormSelect, FormSelect,
FormRange, FormRange,
MkButton, MkButton,

View File

@ -31,7 +31,7 @@
<span v-if="item.indicate" class="indicator"><i class="_indicatorCircle"></i></span> <span v-if="item.indicate" class="indicator"><i class="_indicatorCircle"></i></span>
</button> </button>
<span v-else-if="item.type === 'switch'" :tabindex="i" class="item" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)"> <span v-else-if="item.type === 'switch'" :tabindex="i" class="item" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
<FormSwitch v-model="item.ref" :disabled="item.disabled" class="form-switch">{{ item.text }}</FormSwitch> <MkSwitch v-model="item.ref" :disabled="item.disabled" class="form-switch">{{ item.text }}</MkSwitch>
</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="ti-fw" :class="item.icon"></i> <i v-if="item.icon" class="ti-fw" :class="item.icon"></i>
@ -58,7 +58,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { defineAsyncComponent, nextTick, onBeforeUnmount, onMounted, onUnmounted, Ref, ref, watch } from 'vue'; import { defineAsyncComponent, nextTick, onBeforeUnmount, onMounted, onUnmounted, Ref, ref, watch } from 'vue';
import { focusPrev, focusNext } from '@/scripts/focus'; import { focusPrev, focusNext } from '@/scripts/focus';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import { MenuItem, InnerMenuItem, MenuPending, MenuAction } from '@/types/menu'; import { MenuItem, InnerMenuItem, MenuPending, MenuAction } from '@/types/menu';
import * as os from '@/os'; import * as os from '@/os';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -35,7 +35,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { } from 'vue'; import { } from 'vue';
import { notificationTypes } from 'misskey-js'; import { notificationTypes } from 'misskey-js';
import MkSwitch from './form/switch.vue'; import MkSwitch from './MkSwitch.vue';
import MkInfo from './MkInfo.vue'; import MkInfo from './MkInfo.vue';
import MkButton from './MkButton.vue'; import MkButton from './MkButton.vue';
import MkModalWindow from '@/components/MkModalWindow.vue'; import MkModalWindow from '@/components/MkModalWindow.vue';

View File

@ -51,7 +51,7 @@
import { ref, watch } from 'vue'; import { ref, watch } from 'vue';
import MkInput from './form/input.vue'; import MkInput from './form/input.vue';
import MkSelect from './form/select.vue'; import MkSelect from './form/select.vue';
import MkSwitch from './form/switch.vue'; import MkSwitch from './MkSwitch.vue';
import MkButton from './MkButton.vue'; import MkButton from './MkButton.vue';
import { formatDateTimeString } from '@/scripts/format-time-string'; import { formatDateTimeString } from '@/scripts/format-time-string';
import { addTime } from '@/scripts/time'; import { addTime } from '@/scripts/time';

View File

@ -31,7 +31,7 @@
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import MkTextarea from '@/components/form/textarea.vue'; import MkTextarea from '@/components/form/textarea.vue';
import MkRadio from '@/components/form/radio.vue'; import MkRadio from '@/components/form/radio.vue';
import * as os from '@/os'; import * as os from '@/os';

View File

@ -70,7 +70,7 @@ import getPasswordStrength from 'syuilo-password-strength';
import { toUnicode } from 'punycode/'; import { toUnicode } from 'punycode/';
import MkButton from './MkButton.vue'; import MkButton from './MkButton.vue';
import MkInput from './form/input.vue'; import MkInput from './form/input.vue';
import MkSwitch from './form/switch.vue'; import MkSwitch from './MkSwitch.vue';
import MkCaptcha from '@/components/MkCaptcha.vue'; import MkCaptcha from '@/components/MkCaptcha.vue';
import * as config from '@/config'; import * as config from '@/config';
import * as os from '@/os'; import * as os from '@/os';

View File

@ -37,7 +37,7 @@
import { } from 'vue'; import { } from 'vue';
import { permissions as kinds } from 'misskey-js'; import { permissions as kinds } from 'misskey-js';
import MkInput from './form/input.vue'; import MkInput from './form/input.vue';
import MkSwitch from './form/switch.vue'; import MkSwitch from './MkSwitch.vue';
import MkButton from './MkButton.vue'; import MkButton from './MkButton.vue';
import MkInfo from './MkInfo.vue'; import MkInfo from './MkInfo.vue';
import MkModalWindow from '@/components/MkModalWindow.vue'; import MkModalWindow from '@/components/MkModalWindow.vue';

View File

@ -6,7 +6,7 @@
<script lang="ts"> <script lang="ts">
import { computed, defineComponent, PropType } from 'vue'; import { computed, defineComponent, PropType } from 'vue';
import MkSwitch from '../form/switch.vue'; import MkSwitch from '../MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { Hpml } from '@/scripts/hpml/evaluator'; import { Hpml } from '@/scripts/hpml/evaluator';
import { SwitchVarBlock } from '@/scripts/hpml/block'; import { SwitchVarBlock } from '@/scripts/hpml/block';

View File

@ -64,7 +64,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { computed } from 'vue'; import { computed } from 'vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import MkObjectView from '@/components/MkObjectView.vue'; import MkObjectView from '@/components/MkObjectView.vue';
import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue'; import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue';
import MkKeyValue from '@/components/MkKeyValue.vue'; import MkKeyValue from '@/components/MkKeyValue.vue';

View File

@ -4,10 +4,10 @@
<MkSpacer :content-max="700" :margin-min="16" :margin-max="32"> <MkSpacer :content-max="700" :margin-min="16" :margin-max="32">
<FormSuspense :p="init"> <FormSuspense :p="init">
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="enableEmail"> <MkSwitch v-model="enableEmail">
<template #label>{{ i18n.ts.enableEmail }} ({{ i18n.ts.recommended }})</template> <template #label>{{ i18n.ts.enableEmail }} ({{ i18n.ts.recommended }})</template>
<template #caption>{{ i18n.ts.emailConfigInfo }}</template> <template #caption>{{ i18n.ts.emailConfigInfo }}</template>
</FormSwitch> </MkSwitch>
<template v-if="enableEmail"> <template v-if="enableEmail">
<FormInput v-model="email" type="email"> <FormInput v-model="email" type="email">
@ -35,10 +35,10 @@
</FormInput> </FormInput>
</FormSplit> </FormSplit>
<FormInfo>{{ i18n.ts.emptyToDisableSmtpAuth }}</FormInfo> <FormInfo>{{ i18n.ts.emptyToDisableSmtpAuth }}</FormInfo>
<FormSwitch v-model="smtpSecure"> <MkSwitch v-model="smtpSecure">
<template #label>{{ i18n.ts.smtpSecure }}</template> <template #label>{{ i18n.ts.smtpSecure }}</template>
<template #caption>{{ i18n.ts.smtpSecureInfo }}</template> <template #caption>{{ i18n.ts.smtpSecureInfo }}</template>
</FormSwitch> </MkSwitch>
</div> </div>
</FormSection> </FormSection>
</template> </template>
@ -51,7 +51,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { } from 'vue'; import { } from 'vue';
import XHeader from './_header_.vue'; import XHeader from './_header_.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormInfo from '@/components/MkInfo.vue'; import FormInfo from '@/components/MkInfo.vue';
import FormSuspense from '@/components/form/suspense.vue'; import FormSuspense from '@/components/form/suspense.vue';

View File

@ -74,7 +74,7 @@ import MkButton from '@/components/MkButton.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkPagination from '@/components/MkPagination.vue'; import MkPagination from '@/components/MkPagination.vue';
import MkTab from '@/components/MkTab.vue'; import MkTab from '@/components/MkTab.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSplit from '@/components/form/split.vue'; import FormSplit from '@/components/form/split.vue';
import { selectFile, selectFiles } from '@/scripts/select-file'; import { selectFile, selectFiles } from '@/scripts/select-file';
import * as os from '@/os'; import * as os from '@/os';

View File

@ -1,9 +1,9 @@
<template> <template>
<FormSuspense :p="init"> <FormSuspense :p="init">
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="enableDiscordIntegration"> <MkSwitch v-model="enableDiscordIntegration">
<template #label>{{ i18n.ts.enable }}</template> <template #label>{{ i18n.ts.enable }}</template>
</FormSwitch> </MkSwitch>
<template v-if="enableDiscordIntegration"> <template v-if="enableDiscordIntegration">
<FormInfo>Callback URL: {{ `${uri}/api/dc/cb` }}</FormInfo> <FormInfo>Callback URL: {{ `${uri}/api/dc/cb` }}</FormInfo>
@ -26,7 +26,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { } from 'vue'; import { } from 'vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormInfo from '@/components/MkInfo.vue'; import FormInfo from '@/components/MkInfo.vue';

View File

@ -1,9 +1,9 @@
<template> <template>
<FormSuspense :p="init"> <FormSuspense :p="init">
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="enableGithubIntegration"> <MkSwitch v-model="enableGithubIntegration">
<template #label>{{ i18n.ts.enable }}</template> <template #label>{{ i18n.ts.enable }}</template>
</FormSwitch> </MkSwitch>
<template v-if="enableGithubIntegration"> <template v-if="enableGithubIntegration">
<FormInfo>Callback URL: {{ `${uri}/api/gh/cb` }}</FormInfo> <FormInfo>Callback URL: {{ `${uri}/api/gh/cb` }}</FormInfo>
@ -26,7 +26,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { } from 'vue'; import { } from 'vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormInfo from '@/components/MkInfo.vue'; import FormInfo from '@/components/MkInfo.vue';

View File

@ -1,9 +1,9 @@
<template> <template>
<FormSuspense :p="init"> <FormSuspense :p="init">
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="enableTwitterIntegration"> <MkSwitch v-model="enableTwitterIntegration">
<template #label>{{ i18n.ts.enable }}</template> <template #label>{{ i18n.ts.enable }}</template>
</FormSwitch> </MkSwitch>
<template v-if="enableTwitterIntegration"> <template v-if="enableTwitterIntegration">
<FormInfo>Callback URL: {{ `${uri}/api/tw/cb` }}</FormInfo> <FormInfo>Callback URL: {{ `${uri}/api/tw/cb` }}</FormInfo>
@ -26,7 +26,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormInfo from '@/components/MkInfo.vue'; import FormInfo from '@/components/MkInfo.vue';

View File

@ -4,7 +4,7 @@
<MkSpacer :content-max="700" :margin-min="16" :margin-max="32"> <MkSpacer :content-max="700" :margin-min="16" :margin-max="32">
<FormSuspense :p="init"> <FormSuspense :p="init">
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="useObjectStorage">{{ i18n.ts.useObjectStorage }}</FormSwitch> <MkSwitch v-model="useObjectStorage">{{ i18n.ts.useObjectStorage }}</MkSwitch>
<template v-if="useObjectStorage"> <template v-if="useObjectStorage">
<FormInput v-model="objectStorageBaseUrl"> <FormInput v-model="objectStorageBaseUrl">
@ -44,23 +44,23 @@
</FormInput> </FormInput>
</FormSplit> </FormSplit>
<FormSwitch v-model="objectStorageUseSSL"> <MkSwitch v-model="objectStorageUseSSL">
<template #label>{{ i18n.ts.objectStorageUseSSL }}</template> <template #label>{{ i18n.ts.objectStorageUseSSL }}</template>
<template #caption>{{ i18n.ts.objectStorageUseSSLDesc }}</template> <template #caption>{{ i18n.ts.objectStorageUseSSLDesc }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="objectStorageUseProxy"> <MkSwitch v-model="objectStorageUseProxy">
<template #label>{{ i18n.ts.objectStorageUseProxy }}</template> <template #label>{{ i18n.ts.objectStorageUseProxy }}</template>
<template #caption>{{ i18n.ts.objectStorageUseProxyDesc }}</template> <template #caption>{{ i18n.ts.objectStorageUseProxyDesc }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="objectStorageSetPublicRead"> <MkSwitch v-model="objectStorageSetPublicRead">
<template #label>{{ i18n.ts.objectStorageSetPublicRead }}</template> <template #label>{{ i18n.ts.objectStorageSetPublicRead }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="objectStorageS3ForcePathStyle"> <MkSwitch v-model="objectStorageS3ForcePathStyle">
<template #label>s3ForcePathStyle</template> <template #label>s3ForcePathStyle</template>
</FormSwitch> </MkSwitch>
</template> </template>
</div> </div>
</FormSuspense> </FormSuspense>
@ -71,7 +71,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { } from 'vue'; import { } from 'vue';
import XHeader from './_header_.vue'; import XHeader from './_header_.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormSuspense from '@/components/form/suspense.vue'; import FormSuspense from '@/components/form/suspense.vue';
import FormSplit from '@/components/form/split.vue'; import FormSplit from '@/components/form/split.vue';

View File

@ -38,20 +38,20 @@
<template #caption>{{ i18n.ts._sensitiveMediaDetection.sensitivityDescription }}</template> <template #caption>{{ i18n.ts._sensitiveMediaDetection.sensitivityDescription }}</template>
</FormRange> </FormRange>
<FormSwitch v-model="enableSensitiveMediaDetectionForVideos"> <MkSwitch v-model="enableSensitiveMediaDetectionForVideos">
<template #label>{{ i18n.ts._sensitiveMediaDetection.analyzeVideos }}<span class="_beta">{{ i18n.ts.beta }}</span></template> <template #label>{{ i18n.ts._sensitiveMediaDetection.analyzeVideos }}<span class="_beta">{{ i18n.ts.beta }}</span></template>
<template #caption>{{ i18n.ts._sensitiveMediaDetection.analyzeVideosDescription }}</template> <template #caption>{{ i18n.ts._sensitiveMediaDetection.analyzeVideosDescription }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="setSensitiveFlagAutomatically"> <MkSwitch v-model="setSensitiveFlagAutomatically">
<template #label>{{ i18n.ts._sensitiveMediaDetection.setSensitiveFlagAutomatically }} ({{ i18n.ts.notRecommended }})</template> <template #label>{{ i18n.ts._sensitiveMediaDetection.setSensitiveFlagAutomatically }} ({{ i18n.ts.notRecommended }})</template>
<template #caption>{{ i18n.ts._sensitiveMediaDetection.setSensitiveFlagAutomaticallyDescription }}</template> <template #caption>{{ i18n.ts._sensitiveMediaDetection.setSensitiveFlagAutomaticallyDescription }}</template>
</FormSwitch> </MkSwitch>
<!-- 現状 false positive が多すぎて実用に耐えない <!-- 現状 false positive が多すぎて実用に耐えない
<FormSwitch v-model="disallowUploadWhenPredictedAsPorn"> <MkSwitch v-model="disallowUploadWhenPredictedAsPorn">
<template #label>{{ i18n.ts._sensitiveMediaDetection.disallowUploadWhenPredictedAsPorn }}</template> <template #label>{{ i18n.ts._sensitiveMediaDetection.disallowUploadWhenPredictedAsPorn }}</template>
</FormSwitch> </MkSwitch>
--> -->
<MkButton primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.save }}</MkButton>
@ -65,9 +65,9 @@
<div class="_gaps_m"> <div class="_gaps_m">
<span>{{ i18n.ts.activeEmailValidationDescription }}</span> <span>{{ i18n.ts.activeEmailValidationDescription }}</span>
<FormSwitch v-model="enableActiveEmailValidation" @update:model-value="save"> <MkSwitch v-model="enableActiveEmailValidation" @update:model-value="save">
<template #label>Enable</template> <template #label>Enable</template>
</FormSwitch> </MkSwitch>
</div> </div>
</FormFolder> </FormFolder>
@ -77,9 +77,9 @@
<template v-else #suffix>Disabled</template> <template v-else #suffix>Disabled</template>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="enableIpLogging" @update:model-value="save"> <MkSwitch v-model="enableIpLogging" @update:model-value="save">
<template #label>Enable</template> <template #label>Enable</template>
</FormSwitch> </MkSwitch>
</div> </div>
</FormFolder> </FormFolder>
@ -107,7 +107,7 @@ import XBotProtection from './bot-protection.vue';
import XHeader from './_header_.vue'; import XHeader from './_header_.vue';
import FormFolder from '@/components/form/folder.vue'; import FormFolder from '@/components/form/folder.vue';
import FormRadios from '@/components/form/radios.vue'; import FormRadios from '@/components/form/radios.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormInfo from '@/components/MkInfo.vue'; import FormInfo from '@/components/MkInfo.vue';
import FormSuspense from '@/components/form/suspense.vue'; import FormSuspense from '@/components/form/suspense.vue';
import FormRange from '@/components/form/range.vue'; import FormRange from '@/components/form/range.vue';

View File

@ -36,20 +36,20 @@
<FormSection> <FormSection>
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="enableRegistration"> <MkSwitch v-model="enableRegistration">
<template #label>{{ i18n.ts.enableRegistration }}</template> <template #label>{{ i18n.ts.enableRegistration }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="emailRequiredForSignup"> <MkSwitch v-model="emailRequiredForSignup">
<template #label>{{ i18n.ts.emailRequiredForSignup }}</template> <template #label>{{ i18n.ts.emailRequiredForSignup }}</template>
</FormSwitch> </MkSwitch>
</div> </div>
</FormSection> </FormSection>
<FormSection> <FormSection>
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="enableLocalTimeline">{{ i18n.ts.enableLocalTimeline }}</FormSwitch> <MkSwitch v-model="enableLocalTimeline">{{ i18n.ts.enableLocalTimeline }}</MkSwitch>
<FormSwitch v-model="enableGlobalTimeline">{{ i18n.ts.enableGlobalTimeline }}</FormSwitch> <MkSwitch v-model="enableGlobalTimeline">{{ i18n.ts.enableGlobalTimeline }}</MkSwitch>
<FormInfo>{{ i18n.ts.disablingTimelinesInfo }}</FormInfo> <FormInfo>{{ i18n.ts.disablingTimelinesInfo }}</FormInfo>
</div> </div>
</FormSection> </FormSection>
@ -95,10 +95,10 @@
<template #label>{{ i18n.ts.files }}</template> <template #label>{{ i18n.ts.files }}</template>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="cacheRemoteFiles"> <MkSwitch v-model="cacheRemoteFiles">
<template #label>{{ i18n.ts.cacheRemoteFiles }}</template> <template #label>{{ i18n.ts.cacheRemoteFiles }}</template>
<template #caption>{{ i18n.ts.cacheRemoteFilesDescription }}</template> <template #caption>{{ i18n.ts.cacheRemoteFilesDescription }}</template>
</FormSwitch> </MkSwitch>
<FormSplit :min-width="280"> <FormSplit :min-width="280">
<FormInput v-model="localDriveCapacityMb" type="number"> <FormInput v-model="localDriveCapacityMb" type="number">
@ -120,10 +120,10 @@
<template #label>ServiceWorker</template> <template #label>ServiceWorker</template>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="enableServiceWorker"> <MkSwitch v-model="enableServiceWorker">
<template #label>{{ i18n.ts.enableServiceworker }}</template> <template #label>{{ i18n.ts.enableServiceworker }}</template>
<template #caption>{{ i18n.ts.serviceworkerInfo }}</template> <template #caption>{{ i18n.ts.serviceworkerInfo }}</template>
</FormSwitch> </MkSwitch>
<template v-if="enableServiceWorker"> <template v-if="enableServiceWorker">
<FormInput v-model="swPublicKey"> <FormInput v-model="swPublicKey">
@ -147,9 +147,9 @@
<template #prefix><i class="ti ti-key"></i></template> <template #prefix><i class="ti ti-key"></i></template>
<template #label>DeepL Auth Key</template> <template #label>DeepL Auth Key</template>
</FormInput> </FormInput>
<FormSwitch v-model="deeplIsPro"> <MkSwitch v-model="deeplIsPro">
<template #label>Pro account</template> <template #label>Pro account</template>
</FormSwitch> </MkSwitch>
</div> </div>
</FormSection> </FormSection>
</div> </div>
@ -162,7 +162,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { } from 'vue'; import { } from 'vue';
import XHeader from './_header_.vue'; import XHeader from './_header_.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormTextarea from '@/components/form/textarea.vue'; import FormTextarea from '@/components/form/textarea.vue';
import FormInfo from '@/components/MkInfo.vue'; import FormInfo from '@/components/MkInfo.vue';

View File

@ -35,7 +35,7 @@ import { Endpoints } from 'misskey-js';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkTextarea from '@/components/form/textarea.vue'; import MkTextarea from '@/components/form/textarea.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { definePageMetadata } from '@/scripts/page-metadata'; import { definePageMetadata } from '@/scripts/page-metadata';

View File

@ -19,7 +19,7 @@
<MkButton primary @click="selectFile"><i class="ti ti-plus"></i> {{ i18n.ts.attachFile }}</MkButton> <MkButton primary @click="selectFile"><i class="ti ti-plus"></i> {{ i18n.ts.attachFile }}</MkButton>
</div> </div>
<FormSwitch v-model="isSensitive">{{ i18n.ts.markAsSensitive }}</FormSwitch> <MkSwitch v-model="isSensitive">{{ i18n.ts.markAsSensitive }}</MkSwitch>
<MkButton v-if="postId" primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.save }}</MkButton> <MkButton v-if="postId" primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.save }}</MkButton>
<MkButton v-else primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.publish }}</MkButton> <MkButton v-else primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.publish }}</MkButton>
@ -35,7 +35,7 @@ import { computed, inject, watch } from 'vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormTextarea from '@/components/form/textarea.vue'; import FormTextarea from '@/components/form/textarea.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSuspense from '@/components/form/suspense.vue'; import FormSuspense from '@/components/form/suspense.vue';
import { selectFiles } from '@/scripts/select-file'; import { selectFiles } from '@/scripts/select-file';
import * as os from '@/os'; import * as os from '@/os';

View File

@ -29,8 +29,8 @@
<FormSection v-if="iAmModerator"> <FormSection v-if="iAmModerator">
<template #label>Moderation</template> <template #label>Moderation</template>
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="suspended" @update:model-value="toggleSuspend">{{ i18n.ts.stopActivityDelivery }}</FormSwitch> <MkSwitch v-model="suspended" @update:model-value="toggleSuspend">{{ i18n.ts.stopActivityDelivery }}</MkSwitch>
<FormSwitch v-model="isBlocked" @update:model-value="toggleBlock">{{ i18n.ts.blockThisInstance }}</FormSwitch> <MkSwitch v-model="isBlocked" @update:model-value="toggleBlock">{{ i18n.ts.blockThisInstance }}</MkSwitch>
<MkButton @click="refreshMetadata"><i class="ti ti-refresh"></i> Refresh metadata</MkButton> <MkButton @click="refreshMetadata"><i class="ti ti-refresh"></i> Refresh metadata</MkButton>
</div> </div>
</FormSection> </FormSection>
@ -121,7 +121,7 @@ import MkButton from '@/components/MkButton.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import MkKeyValue from '@/components/MkKeyValue.vue'; import MkKeyValue from '@/components/MkKeyValue.vue';
import MkSelect from '@/components/form/select.vue'; import MkSelect from '@/components/form/select.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import number from '@/filters/number'; import number from '@/filters/number';
import bytes from '@/filters/bytes'; import bytes from '@/filters/bytes';

View File

@ -53,7 +53,7 @@ import MkButton from '@/components/MkButton.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkTextarea from '@/components/form/textarea.vue'; import MkTextarea from '@/components/form/textarea.vue';
import MkSelect from '@/components/form/select.vue'; import MkSelect from '@/components/form/select.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -21,7 +21,7 @@
import { watch } from 'vue'; import { watch } from 'vue';
import XContainer from '../page-editor.container.vue'; import XContainer from '../page-editor.container.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import XNote from '@/components/MkNote.vue'; import XNote from '@/components/MkNote.vue';
import XNoteDetailed from '@/components/MkNoteDetailed.vue'; import XNoteDetailed from '@/components/MkNoteDetailed.vue';
import * as os from '@/os'; import * as os from '@/os';

View File

@ -62,7 +62,7 @@ import XBlocks from './page-editor.blocks.vue';
import MkTextarea from '@/components/form/textarea.vue'; import MkTextarea from '@/components/form/textarea.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkSelect from '@/components/form/select.vue'; import MkSelect from '@/components/form/select.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import { url } from '@/config'; import { url } from '@/config';
import * as os from '@/os'; import * as os from '@/os';

View File

@ -71,7 +71,7 @@ import { byteify, hexify, stringify } from '@/scripts/2fa';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkInfo from '@/components/MkInfo.vue'; import MkInfo from '@/components/MkInfo.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { $i } from '@/account'; import { $i } from '@/account';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="navWindow">{{ i18n.ts.defaultNavigationBehaviour }}: {{ i18n.ts.openInWindow }}</FormSwitch> <MkSwitch v-model="navWindow">{{ i18n.ts.defaultNavigationBehaviour }}: {{ i18n.ts.openInWindow }}</MkSwitch>
<FormSwitch v-model="alwaysShowMainColumn">{{ i18n.ts._deck.alwaysShowMainColumn }}</FormSwitch> <MkSwitch v-model="alwaysShowMainColumn">{{ i18n.ts._deck.alwaysShowMainColumn }}</MkSwitch>
<FormRadios v-model="columnAlign"> <FormRadios v-model="columnAlign">
<template #label>{{ i18n.ts._deck.columnAlign }}</template> <template #label>{{ i18n.ts._deck.columnAlign }}</template>
@ -14,7 +14,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { computed, watch } from 'vue'; import { computed, watch } from 'vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormLink from '@/components/form/link.vue'; import FormLink from '@/components/form/link.vue';
import FormRadios from '@/components/form/radios.vue'; import FormRadios from '@/components/form/radios.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';

View File

@ -32,17 +32,17 @@
<template #suffix>{{ uploadFolder ? uploadFolder.name : '-' }}</template> <template #suffix>{{ uploadFolder ? uploadFolder.name : '-' }}</template>
<template #suffixIcon><i class="fas fa-folder-open"></i></template> <template #suffixIcon><i class="fas fa-folder-open"></i></template>
</FormLink> </FormLink>
<FormSwitch v-model="keepOriginalUploading"> <MkSwitch v-model="keepOriginalUploading">
<template #label>{{ i18n.ts.keepOriginalUploading }}</template> <template #label>{{ i18n.ts.keepOriginalUploading }}</template>
<template #caption>{{ i18n.ts.keepOriginalUploadingDescription }}</template> <template #caption>{{ i18n.ts.keepOriginalUploadingDescription }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="alwaysMarkNsfw" @update:model-value="saveProfile()"> <MkSwitch v-model="alwaysMarkNsfw" @update:model-value="saveProfile()">
<template #label>{{ i18n.ts.alwaysMarkSensitive }}</template> <template #label>{{ i18n.ts.alwaysMarkSensitive }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="autoSensitive" @update:model-value="saveProfile()"> <MkSwitch v-model="autoSensitive" @update:model-value="saveProfile()">
<template #label>{{ i18n.ts.enableAutoSensitive }}<span class="_beta">{{ i18n.ts.beta }}</span></template> <template #label>{{ i18n.ts.enableAutoSensitive }}<span class="_beta">{{ i18n.ts.beta }}</span></template>
<template #caption>{{ i18n.ts.enableAutoSensitiveDescription }}</template> <template #caption>{{ i18n.ts.enableAutoSensitiveDescription }}</template>
</FormSwitch> </MkSwitch>
</div> </div>
</FormSection> </FormSection>
</div> </div>
@ -52,7 +52,7 @@
import { computed, ref } from 'vue'; import { computed, ref } from 'vue';
import tinycolor from 'tinycolor2'; import tinycolor from 'tinycolor2';
import FormLink from '@/components/form/link.vue'; import FormLink from '@/components/form/link.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import MkKeyValue from '@/components/MkKeyValue.vue'; import MkKeyValue from '@/components/MkKeyValue.vue';
import FormSplit from '@/components/form/split.vue'; import FormSplit from '@/components/form/split.vue';

View File

@ -10,33 +10,33 @@
</FormSection> </FormSection>
<FormSection> <FormSection>
<FormSwitch :model-value="$i.receiveAnnouncementEmail" @update:model-value="onChangeReceiveAnnouncementEmail"> <MkSwitch :model-value="$i.receiveAnnouncementEmail" @update:model-value="onChangeReceiveAnnouncementEmail">
{{ i18n.ts.receiveAnnouncementFromInstance }} {{ i18n.ts.receiveAnnouncementFromInstance }}
</FormSwitch> </MkSwitch>
</FormSection> </FormSection>
<FormSection> <FormSection>
<template #label>{{ i18n.ts.emailNotification }}</template> <template #label>{{ i18n.ts.emailNotification }}</template>
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="emailNotification_mention"> <MkSwitch v-model="emailNotification_mention">
{{ i18n.ts._notification._types.mention }} {{ i18n.ts._notification._types.mention }}
</FormSwitch> </MkSwitch>
<FormSwitch v-model="emailNotification_reply"> <MkSwitch v-model="emailNotification_reply">
{{ i18n.ts._notification._types.reply }} {{ i18n.ts._notification._types.reply }}
</FormSwitch> </MkSwitch>
<FormSwitch v-model="emailNotification_quote"> <MkSwitch v-model="emailNotification_quote">
{{ i18n.ts._notification._types.quote }} {{ i18n.ts._notification._types.quote }}
</FormSwitch> </MkSwitch>
<FormSwitch v-model="emailNotification_follow"> <MkSwitch v-model="emailNotification_follow">
{{ i18n.ts._notification._types.follow }} {{ i18n.ts._notification._types.follow }}
</FormSwitch> </MkSwitch>
<FormSwitch v-model="emailNotification_receiveFollowRequest"> <MkSwitch v-model="emailNotification_receiveFollowRequest">
{{ i18n.ts._notification._types.receiveFollowRequest }} {{ i18n.ts._notification._types.receiveFollowRequest }}
</FormSwitch> </MkSwitch>
<FormSwitch v-model="emailNotification_groupInvited"> <MkSwitch v-model="emailNotification_groupInvited">
{{ i18n.ts._notification._types.groupInvited }} {{ i18n.ts._notification._types.groupInvited }}
</FormSwitch> </MkSwitch>
</div> </div>
</FormSection> </FormSection>
</div> </div>
@ -46,7 +46,7 @@
import { onMounted, ref, watch } from 'vue'; import { onMounted, ref, watch } from 'vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { $i } from '@/account'; import { $i } from '@/account';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -20,16 +20,16 @@
<option value="desktop"><i class="ti ti-device-desktop"/> {{ i18n.ts.desktop }}</option> <option value="desktop"><i class="ti ti-device-desktop"/> {{ i18n.ts.desktop }}</option>
</FormRadios> </FormRadios>
<FormSwitch v-model="showFixedPostForm">{{ i18n.ts.showFixedPostForm }}</FormSwitch> <MkSwitch v-model="showFixedPostForm">{{ i18n.ts.showFixedPostForm }}</MkSwitch>
<FormSection> <FormSection>
<template #label>{{ i18n.ts.behavior }}</template> <template #label>{{ i18n.ts.behavior }}</template>
<div class="_gaps_m"> <div class="_gaps_m">
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="imageNewTab">{{ i18n.ts.openImageInNewTab }}</FormSwitch> <MkSwitch v-model="imageNewTab">{{ i18n.ts.openImageInNewTab }}</MkSwitch>
<FormSwitch v-model="enableInfiniteScroll">{{ i18n.ts.enableInfiniteScroll }}</FormSwitch> <MkSwitch v-model="enableInfiniteScroll">{{ i18n.ts.enableInfiniteScroll }}</MkSwitch>
<FormSwitch v-model="useReactionPickerForContextMenu">{{ i18n.ts.useReactionPickerForContextMenu }}</FormSwitch> <MkSwitch v-model="useReactionPickerForContextMenu">{{ i18n.ts.useReactionPickerForContextMenu }}</MkSwitch>
</div> </div>
<FormSelect v-model="serverDisconnectedBehavior"> <FormSelect v-model="serverDisconnectedBehavior">
<template #label>{{ i18n.ts.whenServerDisconnected }}</template> <template #label>{{ i18n.ts.whenServerDisconnected }}</template>
@ -45,16 +45,16 @@
<div class="_gaps_m"> <div class="_gaps_m">
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="disableAnimatedMfm">{{ i18n.ts.disableAnimatedMfm }}</FormSwitch> <MkSwitch v-model="disableAnimatedMfm">{{ i18n.ts.disableAnimatedMfm }}</MkSwitch>
<FormSwitch v-model="reduceAnimation">{{ i18n.ts.reduceUiAnimation }}</FormSwitch> <MkSwitch v-model="reduceAnimation">{{ i18n.ts.reduceUiAnimation }}</MkSwitch>
<FormSwitch v-model="useBlurEffect">{{ i18n.ts.useBlurEffect }}</FormSwitch> <MkSwitch v-model="useBlurEffect">{{ i18n.ts.useBlurEffect }}</MkSwitch>
<FormSwitch v-model="useBlurEffectForModal">{{ i18n.ts.useBlurEffectForModal }}</FormSwitch> <MkSwitch v-model="useBlurEffectForModal">{{ i18n.ts.useBlurEffectForModal }}</MkSwitch>
<FormSwitch v-model="showGapBetweenNotesInTimeline">{{ i18n.ts.showGapBetweenNotesInTimeline }}</FormSwitch> <MkSwitch v-model="showGapBetweenNotesInTimeline">{{ i18n.ts.showGapBetweenNotesInTimeline }}</MkSwitch>
<FormSwitch v-model="loadRawImages">{{ i18n.ts.loadRawImages }}</FormSwitch> <MkSwitch v-model="loadRawImages">{{ i18n.ts.loadRawImages }}</MkSwitch>
<FormSwitch v-model="disableShowingAnimatedImages">{{ i18n.ts.disableShowingAnimatedImages }}</FormSwitch> <MkSwitch v-model="disableShowingAnimatedImages">{{ i18n.ts.disableShowingAnimatedImages }}</MkSwitch>
<FormSwitch v-model="squareAvatars">{{ i18n.ts.squareAvatars }}</FormSwitch> <MkSwitch v-model="squareAvatars">{{ i18n.ts.squareAvatars }}</MkSwitch>
<FormSwitch v-model="useSystemFont">{{ i18n.ts.useSystemFont }}</FormSwitch> <MkSwitch v-model="useSystemFont">{{ i18n.ts.useSystemFont }}</MkSwitch>
<FormSwitch v-model="disableDrawer">{{ i18n.ts.disableDrawer }}</FormSwitch> <MkSwitch v-model="disableDrawer">{{ i18n.ts.disableDrawer }}</MkSwitch>
</div> </div>
<div> <div>
<FormRadios v-model="emojiStyle"> <FormRadios v-model="emojiStyle">
@ -77,7 +77,7 @@
</FormSection> </FormSection>
<FormSection> <FormSection>
<FormSwitch v-model="aiChanMode">{{ i18n.ts.aiChanMode }}</FormSwitch> <MkSwitch v-model="aiChanMode">{{ i18n.ts.aiChanMode }}</MkSwitch>
</FormSection> </FormSection>
<FormSelect v-model="instanceTicker"> <FormSelect v-model="instanceTicker">
@ -107,7 +107,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { computed, ref, watch } from 'vue'; import { computed, ref, watch } from 'vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSelect from '@/components/form/select.vue'; import FormSelect from '@/components/form/select.vue';
import FormRadios from '@/components/form/radios.vue'; import FormRadios from '@/components/form/radios.vue';
import FormRange from '@/components/form/range.vue'; import FormRange from '@/components/form/range.vue';

View File

@ -23,12 +23,12 @@
<template #label>{{ i18n.ts.export }}</template> <template #label>{{ i18n.ts.export }}</template>
<template #icon><i class="ti ti-download"></i></template> <template #icon><i class="ti ti-download"></i></template>
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="excludeMutingUsers"> <MkSwitch v-model="excludeMutingUsers">
{{ i18n.ts._exportOrImport.excludeMutingUsers }} {{ i18n.ts._exportOrImport.excludeMutingUsers }}
</FormSwitch> </MkSwitch>
<FormSwitch v-model="excludeInactiveUsers"> <MkSwitch v-model="excludeInactiveUsers">
{{ i18n.ts._exportOrImport.excludeInactiveUsers }} {{ i18n.ts._exportOrImport.excludeInactiveUsers }}
</FormSwitch> </MkSwitch>
<MkButton primary :class="$style.button" inline @click="exportFollowing()"><i class="ti ti-download"></i> {{ i18n.ts.export }}</MkButton> <MkButton primary :class="$style.button" inline @click="exportFollowing()"><i class="ti ti-download"></i> {{ i18n.ts.export }}</MkButton>
</div> </div>
</FormFolder> </FormFolder>
@ -92,7 +92,7 @@ import { ref } from 'vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormFolder from '@/components/form/folder.vue'; import FormFolder from '@/components/form/folder.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { selectFile } from '@/scripts/select-file'; import { selectFile } from '@/scripts/select-file';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -13,14 +13,14 @@
<div class="_gaps_m"> <div class="_gaps_m">
<MkPushNotificationAllowButton ref="allowButton"/> <MkPushNotificationAllowButton ref="allowButton"/>
<FormSwitch :disabled="!pushRegistrationInServer" :model-value="sendReadMessage" @update:model-value="onChangeSendReadMessage"> <MkSwitch :disabled="!pushRegistrationInServer" :model-value="sendReadMessage" @update:model-value="onChangeSendReadMessage">
<template #label>{{ i18n.ts.sendPushNotificationReadMessage }}</template> <template #label>{{ i18n.ts.sendPushNotificationReadMessage }}</template>
<template #caption> <template #caption>
<I18n :src="i18n.ts.sendPushNotificationReadMessageCaption"> <I18n :src="i18n.ts.sendPushNotificationReadMessageCaption">
<template #emptyPushNotificationMessage>{{ i18n.ts._notification.emptyPushNotificationMessage }}</template> <template #emptyPushNotificationMessage>{{ i18n.ts._notification.emptyPushNotificationMessage }}</template>
</I18n> </I18n>
</template> </template>
</FormSwitch> </MkSwitch>
</div> </div>
</FormSection> </FormSection>
</div> </div>
@ -32,7 +32,7 @@ import { notificationTypes } from 'misskey-js';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormLink from '@/components/form/link.vue'; import FormLink from '@/components/form/link.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { $i } from '@/account'; import { $i } from '@/account';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -1,11 +1,11 @@
<template> <template>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="$i.injectFeaturedNote" @update:model-value="onChangeInjectFeaturedNote"> <MkSwitch v-model="$i.injectFeaturedNote" @update:model-value="onChangeInjectFeaturedNote">
{{ i18n.ts.showFeaturedNotesInTimeline }} {{ i18n.ts.showFeaturedNotesInTimeline }}
</FormSwitch> </MkSwitch>
<!-- <!--
<FormSwitch v-model="reportError">{{ i18n.ts.sendErrorReports }}<template #caption>{{ i18n.ts.sendErrorReportsDescription }}</template></FormSwitch> <MkSwitch v-model="reportError">{{ i18n.ts.sendErrorReports }}<template #caption>{{ i18n.ts.sendErrorReportsDescription }}</template></MkSwitch>
--> -->
<FormLink to="/settings/account-info">{{ i18n.ts.accountInfo }}</FormLink> <FormLink to="/settings/account-info">{{ i18n.ts.accountInfo }}</FormLink>
@ -18,7 +18,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { computed } from 'vue'; import { computed } from 'vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormLink from '@/components/form/link.vue'; import FormLink from '@/components/form/link.vue';
import * as os from '@/os'; import * as os from '@/os';
import { defaultStore } from '@/store'; import { defaultStore } from '@/store';

View File

@ -7,7 +7,7 @@
<div v-for="plugin in plugins" :key="plugin.id" class="_panel _gaps_s" style="padding: 20px;"> <div v-for="plugin in plugins" :key="plugin.id" class="_panel _gaps_s" style="padding: 20px;">
<span style="display: flex;"><b>{{ plugin.name }}</b><span style="margin-left: auto;">v{{ plugin.version }}</span></span> <span style="display: flex;"><b>{{ plugin.name }}</b><span style="margin-left: auto;">v{{ plugin.version }}</span></span>
<FormSwitch :model-value="plugin.active" @update:model-value="changeActive(plugin, $event)">{{ i18n.ts.makeActive }}</FormSwitch> <MkSwitch :model-value="plugin.active" @update:model-value="changeActive(plugin, $event)">{{ i18n.ts.makeActive }}</MkSwitch>
<MkKeyValue> <MkKeyValue>
<template #key>{{ i18n.ts.author }}</template> <template #key>{{ i18n.ts.author }}</template>
@ -34,7 +34,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { nextTick, ref } from 'vue'; import { nextTick, ref } from 'vue';
import FormLink from '@/components/form/link.vue'; import FormLink from '@/components/form/link.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkKeyValue from '@/components/MkKeyValue.vue'; import MkKeyValue from '@/components/MkKeyValue.vue';

View File

@ -1,12 +1,12 @@
<template> <template>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="isLocked" @update:model-value="save()">{{ i18n.ts.makeFollowManuallyApprove }}<template #caption>{{ i18n.ts.lockedAccountInfo }}</template></FormSwitch> <MkSwitch v-model="isLocked" @update:model-value="save()">{{ i18n.ts.makeFollowManuallyApprove }}<template #caption>{{ i18n.ts.lockedAccountInfo }}</template></MkSwitch>
<FormSwitch v-if="isLocked" v-model="autoAcceptFollowed" @update:model-value="save()">{{ i18n.ts.autoAcceptFollowed }}</FormSwitch> <MkSwitch v-if="isLocked" v-model="autoAcceptFollowed" @update:model-value="save()">{{ i18n.ts.autoAcceptFollowed }}</MkSwitch>
<FormSwitch v-model="publicReactions" @update:model-value="save()"> <MkSwitch v-model="publicReactions" @update:model-value="save()">
{{ i18n.ts.makeReactionsPublic }} {{ i18n.ts.makeReactionsPublic }}
<template #caption>{{ i18n.ts.makeReactionsPublicDescription }}</template> <template #caption>{{ i18n.ts.makeReactionsPublicDescription }}</template>
</FormSwitch> </MkSwitch>
<FormSelect v-model="ffVisibility" @update:model-value="save()"> <FormSelect v-model="ffVisibility" @update:model-value="save()">
<template #label>{{ i18n.ts.ffVisibility }}</template> <template #label>{{ i18n.ts.ffVisibility }}</template>
@ -16,22 +16,22 @@
<template #caption>{{ i18n.ts.ffVisibilityDescription }}</template> <template #caption>{{ i18n.ts.ffVisibilityDescription }}</template>
</FormSelect> </FormSelect>
<FormSwitch v-model="hideOnlineStatus" @update:model-value="save()"> <MkSwitch v-model="hideOnlineStatus" @update:model-value="save()">
{{ i18n.ts.hideOnlineStatus }} {{ i18n.ts.hideOnlineStatus }}
<template #caption>{{ i18n.ts.hideOnlineStatusDescription }}</template> <template #caption>{{ i18n.ts.hideOnlineStatusDescription }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="noCrawle" @update:model-value="save()"> <MkSwitch v-model="noCrawle" @update:model-value="save()">
{{ i18n.ts.noCrawle }} {{ i18n.ts.noCrawle }}
<template #caption>{{ i18n.ts.noCrawleDescription }}</template> <template #caption>{{ i18n.ts.noCrawleDescription }}</template>
</FormSwitch> </MkSwitch>
<FormSwitch v-model="isExplorable" @update:model-value="save()"> <MkSwitch v-model="isExplorable" @update:model-value="save()">
{{ i18n.ts.makeExplorable }} {{ i18n.ts.makeExplorable }}
<template #caption>{{ i18n.ts.makeExplorableDescription }}</template> <template #caption>{{ i18n.ts.makeExplorableDescription }}</template>
</FormSwitch> </MkSwitch>
<FormSection> <FormSection>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="rememberNoteVisibility" @update:model-value="save()">{{ i18n.ts.rememberNoteVisibility }}</FormSwitch> <MkSwitch v-model="rememberNoteVisibility" @update:model-value="save()">{{ i18n.ts.rememberNoteVisibility }}</MkSwitch>
<FormFolder v-if="!rememberNoteVisibility"> <FormFolder v-if="!rememberNoteVisibility">
<template #label>{{ i18n.ts.defaultNoteVisibility }}</template> <template #label>{{ i18n.ts.defaultNoteVisibility }}</template>
<template v-if="defaultNoteVisibility === 'public'" #suffix>{{ i18n.ts._visibility.public }}</template> <template v-if="defaultNoteVisibility === 'public'" #suffix>{{ i18n.ts._visibility.public }}</template>
@ -46,19 +46,19 @@
<option value="followers">{{ i18n.ts._visibility.followers }}</option> <option value="followers">{{ i18n.ts._visibility.followers }}</option>
<option value="specified">{{ i18n.ts._visibility.specified }}</option> <option value="specified">{{ i18n.ts._visibility.specified }}</option>
</FormSelect> </FormSelect>
<FormSwitch v-model="defaultNoteLocalOnly">{{ i18n.ts._visibility.localOnly }}</FormSwitch> <MkSwitch v-model="defaultNoteLocalOnly">{{ i18n.ts._visibility.localOnly }}</MkSwitch>
</div> </div>
</FormFolder> </FormFolder>
</div> </div>
</FormSection> </FormSection>
<FormSwitch v-model="keepCw" @update:model-value="save()">{{ i18n.ts.keepCw }}</FormSwitch> <MkSwitch v-model="keepCw" @update:model-value="save()">{{ i18n.ts.keepCw }}</MkSwitch>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { } from 'vue'; import { } from 'vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSelect from '@/components/form/select.vue'; import FormSelect from '@/components/form/select.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormFolder from '@/components/form/folder.vue'; import FormFolder from '@/components/form/folder.vue';

View File

@ -59,12 +59,12 @@
<template #label>{{ i18n.ts.advancedSettings }}</template> <template #label>{{ i18n.ts.advancedSettings }}</template>
<div class="_gaps_m"> <div class="_gaps_m">
<FormSwitch v-model="profile.isCat">{{ i18n.ts.flagAsCat }}<template #caption>{{ i18n.ts.flagAsCatDescription }}</template></FormSwitch> <MkSwitch v-model="profile.isCat">{{ i18n.ts.flagAsCat }}<template #caption>{{ i18n.ts.flagAsCatDescription }}</template></MkSwitch>
<FormSwitch v-model="profile.isBot">{{ i18n.ts.flagAsBot }}<template #caption>{{ i18n.ts.flagAsBotDescription }}</template></FormSwitch> <MkSwitch v-model="profile.isBot">{{ i18n.ts.flagAsBot }}<template #caption>{{ i18n.ts.flagAsBotDescription }}</template></MkSwitch>
</div> </div>
</FormFolder> </FormFolder>
<FormSwitch v-model="profile.showTimelineReplies">{{ i18n.ts.flagShowTimelineReplies }}<template #caption>{{ i18n.ts.flagShowTimelineRepliesDescription }} {{ i18n.ts.reflectMayTakeTime }}</template></FormSwitch> <MkSwitch v-model="profile.showTimelineReplies">{{ i18n.ts.flagShowTimelineReplies }}<template #caption>{{ i18n.ts.flagShowTimelineRepliesDescription }} {{ i18n.ts.reflectMayTakeTime }}</template></MkSwitch>
</div> </div>
</template> </template>
@ -73,7 +73,7 @@ import { reactive, watch } from 'vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormTextarea from '@/components/form/textarea.vue'; import FormTextarea from '@/components/form/textarea.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSelect from '@/components/form/select.vue'; import FormSelect from '@/components/form/select.vue';
import FormSplit from '@/components/form/split.vue'; import FormSplit from '@/components/form/split.vue';
import FormFolder from '@/components/form/folder.vue'; import FormFolder from '@/components/form/folder.vue';

View File

@ -39,10 +39,10 @@
<option :value="4">{{ i18n.ts.large }}+</option> <option :value="4">{{ i18n.ts.large }}+</option>
</FormRadios> </FormRadios>
<FormSwitch v-model="reactionPickerUseDrawerForMobile"> <MkSwitch v-model="reactionPickerUseDrawerForMobile">
{{ i18n.ts.useDrawerReactionPickerForMobile }} {{ i18n.ts.useDrawerReactionPickerForMobile }}
<template #caption>{{ i18n.ts.needReloadToApply }}</template> <template #caption>{{ i18n.ts.needReloadToApply }}</template>
</FormSwitch> </MkSwitch>
<FormSection> <FormSection>
<div class="_buttons"> <div class="_buttons">
@ -61,7 +61,7 @@ import FormRadios from '@/components/form/radios.vue';
import FromSlot from '@/components/form/slot.vue'; import FromSlot from '@/components/form/slot.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import * as os from '@/os'; import * as os from '@/os';
import { defaultStore } from '@/store'; import { defaultStore } from '@/store';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -84,7 +84,7 @@
import { computed, reactive, ref, watch } from 'vue'; import { computed, reactive, ref, watch } from 'vue';
import FormSelect from '@/components/form/select.vue'; import FormSelect from '@/components/form/select.vue';
import MkInput from '@/components/form/input.vue'; import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormRadios from '@/components/form/radios.vue'; import FormRadios from '@/components/form/radios.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import FormRange from '@/components/form/range.vue'; import FormRange from '@/components/form/range.vue';

View File

@ -22,7 +22,7 @@
</div> </div>
</div> </div>
<div class="sync"> <div class="sync">
<FormSwitch v-model="syncDeviceDarkMode">{{ i18n.ts.syncDeviceDarkMode }}</FormSwitch> <MkSwitch v-model="syncDeviceDarkMode">{{ i18n.ts.syncDeviceDarkMode }}</MkSwitch>
</div> </div>
</div> </div>
@ -68,7 +68,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { computed, onActivated, ref, watch } from 'vue'; import { computed, onActivated, ref, watch } from 'vue';
import JSON5 from 'json5'; import JSON5 from 'json5';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormSelect from '@/components/form/select.vue'; import FormSelect from '@/components/form/select.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormLink from '@/components/form/link.vue'; import FormLink from '@/components/form/link.vue';

View File

@ -17,17 +17,17 @@
<template #label>Events</template> <template #label>Events</template>
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="event_follow">Follow</FormSwitch> <MkSwitch v-model="event_follow">Follow</MkSwitch>
<FormSwitch v-model="event_followed">Followed</FormSwitch> <MkSwitch v-model="event_followed">Followed</MkSwitch>
<FormSwitch v-model="event_note">Note</FormSwitch> <MkSwitch v-model="event_note">Note</MkSwitch>
<FormSwitch v-model="event_reply">Reply</FormSwitch> <MkSwitch v-model="event_reply">Reply</MkSwitch>
<FormSwitch v-model="event_renote">Renote</FormSwitch> <MkSwitch v-model="event_renote">Renote</MkSwitch>
<FormSwitch v-model="event_reaction">Reaction</FormSwitch> <MkSwitch v-model="event_reaction">Reaction</MkSwitch>
<FormSwitch v-model="event_mention">Mention</FormSwitch> <MkSwitch v-model="event_mention">Mention</MkSwitch>
</div> </div>
</FormSection> </FormSection>
<FormSwitch v-model="active">Active</FormSwitch> <MkSwitch v-model="active">Active</MkSwitch>
<div class="_buttons"> <div class="_buttons">
<MkButton primary inline @click="save"><i class="ti ti-check"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary inline @click="save"><i class="ti ti-check"></i> {{ i18n.ts.save }}</MkButton>
@ -39,7 +39,7 @@
import { } from 'vue'; import { } from 'vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import * as os from '@/os'; import * as os from '@/os';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -17,13 +17,13 @@
<template #label>Events</template> <template #label>Events</template>
<div class="_gaps_s"> <div class="_gaps_s">
<FormSwitch v-model="event_follow">Follow</FormSwitch> <MkSwitch v-model="event_follow">Follow</MkSwitch>
<FormSwitch v-model="event_followed">Followed</FormSwitch> <MkSwitch v-model="event_followed">Followed</MkSwitch>
<FormSwitch v-model="event_note">Note</FormSwitch> <MkSwitch v-model="event_note">Note</MkSwitch>
<FormSwitch v-model="event_reply">Reply</FormSwitch> <MkSwitch v-model="event_reply">Reply</MkSwitch>
<FormSwitch v-model="event_renote">Renote</FormSwitch> <MkSwitch v-model="event_renote">Renote</MkSwitch>
<FormSwitch v-model="event_reaction">Reaction</FormSwitch> <MkSwitch v-model="event_reaction">Reaction</MkSwitch>
<FormSwitch v-model="event_mention">Mention</FormSwitch> <MkSwitch v-model="event_mention">Mention</MkSwitch>
</div> </div>
</FormSection> </FormSection>
@ -37,7 +37,7 @@
import { } from 'vue'; import { } from 'vue';
import FormInput from '@/components/form/input.vue'; import FormInput from '@/components/form/input.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import * as os from '@/os'; import * as os from '@/os';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';

View File

@ -87,9 +87,9 @@
</FormSection> </FormSection>
</div> </div>
<div v-else-if="tab === 'moderation'" class="_gaps_m"> <div v-else-if="tab === 'moderation'" class="_gaps_m">
<FormSwitch v-if="user.host == null && $i.isAdmin && (moderator || !user.isAdmin)" v-model="moderator" @update:model-value="toggleModerator">{{ i18n.ts.moderator }}</FormSwitch> <MkSwitch v-if="user.host == null && $i.isAdmin && (moderator || !user.isAdmin)" v-model="moderator" @update:model-value="toggleModerator">{{ i18n.ts.moderator }}</MkSwitch>
<FormSwitch v-model="silenced" @update:model-value="toggleSilence">{{ i18n.ts.silence }}</FormSwitch> <MkSwitch v-model="silenced" @update:model-value="toggleSilence">{{ i18n.ts.silence }}</MkSwitch>
<FormSwitch v-model="suspended" @update:model-value="toggleSuspend">{{ i18n.ts.suspend }}</FormSwitch> <MkSwitch v-model="suspended" @update:model-value="toggleSuspend">{{ i18n.ts.suspend }}</MkSwitch>
{{ i18n.ts.reflectMayTakeTime }} {{ i18n.ts.reflectMayTakeTime }}
<div> <div>
<MkButton v-if="user.host == null && iAmModerator" inline style="margin-right: 8px;" @click="resetPassword"><i class="ti ti-key"></i> {{ i18n.ts.resetPassword }}</MkButton> <MkButton v-if="user.host == null && iAmModerator" inline style="margin-right: 8px;" @click="resetPassword"><i class="ti ti-key"></i> {{ i18n.ts.resetPassword }}</MkButton>
@ -159,7 +159,7 @@ import * as misskey from 'misskey-js';
import MkChart from '@/components/MkChart.vue'; import MkChart from '@/components/MkChart.vue';
import MkObjectView from '@/components/MkObjectView.vue'; import MkObjectView from '@/components/MkObjectView.vue';
import FormTextarea from '@/components/form/textarea.vue'; import FormTextarea from '@/components/form/textarea.vue';
import FormSwitch from '@/components/form/switch.vue'; import MkSwitch from '@/components/MkSwitch.vue';
import FormLink from '@/components/form/link.vue'; import FormLink from '@/components/form/link.vue';
import FormSection from '@/components/form/section.vue'; import FormSection from '@/components/form/section.vue';
import MkButton from '@/components/MkButton.vue'; import MkButton from '@/components/MkButton.vue';