🎨
This commit is contained in:
		
							parent
							
								
									dc5b4a0402
								
							
						
					
					
						commit
						82c4f694a0
					
				
					 73 changed files with 141 additions and 135 deletions
				
			
		|  | @ -9,7 +9,7 @@ | |||
| 		</I18n> | ||||
| 	</template> | ||||
| 	<MkSpacer :margin-min="20" :margin-max="28"> | ||||
| 		<div class="dpvffvvy _autoGap"> | ||||
| 		<div class="dpvffvvy _gaps_m"> | ||||
| 			<div class=""> | ||||
| 				<MkTextarea v-model="comment"> | ||||
| 					<template #label>{{ i18n.ts.details }}</template> | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| 	<template #header>{{ i18n.ts.forgotPassword }}</template> | ||||
| 
 | ||||
| 	<form v-if="instance.enableEmail" class="bafeceda" @submit.prevent="onSubmit"> | ||||
| 		<div class="main _autoGap"> | ||||
| 		<div class="main _gaps_m"> | ||||
| 			<MkInput v-model="username" type="text" pattern="^[a-zA-Z0-9_]+$" :spellcheck="false" autofocus required> | ||||
| 				<template #label>{{ i18n.ts.username }}</template> | ||||
| 				<template #prefix>@</template> | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| 	</template> | ||||
| 
 | ||||
| 	<MkSpacer :margin-min="20" :margin-max="32"> | ||||
| 		<div class="xkpnjxcv _autoGap"> | ||||
| 		<div class="xkpnjxcv _gaps_m"> | ||||
| 			<template v-for="item in Object.keys(form).filter(item => !form[item].hidden)"> | ||||
| 				<FormInput v-if="form[item].type === 'number'" v-model="values[item]" type="number" :step="form[item].step || 1"> | ||||
| 					<template #label><span v-text="form[item].label || item"></span><span v-if="form[item].required === false"> ({{ $ts.optional }})</span></template> | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
| 	<template #header>{{ i18n.ts.notificationSetting }}</template> | ||||
| 
 | ||||
| 	<MkSpacer :margin-min="20" :margin-max="28"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<template v-if="showGlobalToggle"> | ||||
| 				<MkSwitch v-model="useGlobalSetting"> | ||||
| 					{{ i18n.ts.useGlobalSetting }} | ||||
|  |  | |||
|  | @ -1,11 +1,11 @@ | |||
| <template> | ||||
| <form class="eppvobhk" :class="{ signing, totpLogin }" @submit.prevent="onSubmit"> | ||||
| 	<div class="auth _autoGap"> | ||||
| 	<div class="auth _gaps_m"> | ||||
| 		<div v-show="withAvatar" class="avatar" :style="{ backgroundImage: user ? `url('${ user.avatarUrl }')` : null, marginBottom: message ? '1.5em' : null }"></div> | ||||
| 		<MkInfo v-if="message"> | ||||
| 			{{ message }} | ||||
| 		</MkInfo> | ||||
| 		<div v-if="!totpLogin" class="normal-signin _autoGap"> | ||||
| 		<div v-if="!totpLogin" class="normal-signin _gaps_m"> | ||||
| 			<MkInput v-model="username" :placeholder="i18n.ts.username" type="text" pattern="^[a-zA-Z0-9_]+$" :spellcheck="false" autofocus required data-cy-signin-username @update:model-value="onUsernameChange"> | ||||
| 				<template #prefix>@</template> | ||||
| 				<template #suffix>@{{ host }}</template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <form class="qlvuhzng _autoGap" autocomplete="new-password" @submit.prevent="onSubmit"> | ||||
| <form class="qlvuhzng _gaps_m" autocomplete="new-password" @submit.prevent="onSubmit"> | ||||
| 	<MkInput v-if="instance.disableRegistration" v-model="invitationCode" type="text" :spellcheck="false" required> | ||||
| 		<template #label>{{ i18n.ts.invitationCode }}</template> | ||||
| 		<template #prefix><i class="ti ti-key"></i></template> | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
| 	<template #header>{{ title || $ts.generateAccessToken }}</template> | ||||
| 
 | ||||
| 	<MkSpacer :margin-min="20" :margin-max="28"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<div v-if="information"> | ||||
| 				<MkInfo warn>{{ information }}</MkInfo> | ||||
| 			</div> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<div style="overflow: clip;"> | ||||
| 		<MkSpacer :content-max="600" :margin-min="20"> | ||||
| 			<div class="_autoGap znqjceqz"> | ||||
| 			<div class="_gaps_m znqjceqz"> | ||||
| 				<div ref="containerEl" v-panel class="about" :class="{ playing: easterEggEngine != null }"> | ||||
| 					<img src="/client-assets/about-icon.png" alt="" class="icon" draggable="false" @load="iconLoaded" @click="gravity"/> | ||||
| 					<div class="misskey">Misskey</div> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer v-if="tab === 'overview'" :content-max="600" :margin-min="20"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<div class="fwhjspax" :style="{ backgroundImage: `url(${ $instance.bannerUrl })` }"> | ||||
| 				<div class="content"> | ||||
| 					<img :src="$instance.iconUrl ?? $instance.faviconUrl ?? '/favicon.ico'" alt="" class="icon"/> | ||||
|  | @ -18,7 +18,7 @@ | |||
| 			</MkKeyValue> | ||||
| 
 | ||||
| 			<FormSection> | ||||
| 				<div class="_autoGap"> | ||||
| 				<div class="_gaps_m"> | ||||
| 					<MkKeyValue :copy="version"> | ||||
| 						<template #key>Misskey</template> | ||||
| 						<template #value>{{ version }}</template> | ||||
|  | @ -30,7 +30,7 @@ | |||
| 			</FormSection> | ||||
| 
 | ||||
| 			<FormSection> | ||||
| 				<div class="_autoGap"> | ||||
| 				<div class="_gaps_m"> | ||||
| 					<FormSplit> | ||||
| 						<MkKeyValue> | ||||
| 							<template #key>{{ i18n.ts.administrator }}</template> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer v-if="file" :content-max="600" :margin-min="16" :margin-max="32"> | ||||
| 		<div v-if="tab === 'overview'" class="cxqhhsmd _autoGap"> | ||||
| 		<div v-if="tab === 'overview'" class="cxqhhsmd _gaps_m"> | ||||
| 			<a class="thumbnail" :href="file.url" target="_blank"> | ||||
| 				<MkDriveFileThumbnail class="thumbnail" :file="file" fit="contain"/> | ||||
| 			</a> | ||||
|  | @ -39,7 +39,7 @@ | |||
| 				<MkButton danger @click="del"><i class="ti ti-trash"></i> {{ i18n.ts.delete }}</MkButton> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<div v-else-if="tab === 'ip' && info" class="_autoGap"> | ||||
| 		<div v-else-if="tab === 'ip' && info" class="_gaps_m"> | ||||
| 			<MkInfo v-if="!iAmAdmin" warn>{{ i18n.ts.requireAdminForView }}</MkInfo> | ||||
| 			<MkKeyValue v-if="info.requestIp" class="_monospace" :copy="info.requestIp" oneline> | ||||
| 				<template #key>IP</template> | ||||
|  | @ -53,7 +53,7 @@ | |||
| 				</MkKeyValue> | ||||
| 			</FormSection> | ||||
| 		</div> | ||||
| 		<div v-else-if="tab === 'raw'" class="_autoGap"> | ||||
| 		<div v-else-if="tab === 'raw'" class="_gaps_m"> | ||||
| 			<MkObjectView v-if="info" tall :value="info"> | ||||
| 			</MkObjectView> | ||||
| 		</div> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="900"> | ||||
| 		<div class="uqshojas"> | ||||
| 			<div v-for="ad in ads" class="_panel _autoGap ad"> | ||||
| 			<div v-for="ad in ads" class="_panel _gaps_m ad"> | ||||
| 				<MkAd v-if="ad.url" :specify="ad"/> | ||||
| 				<MkInput v-model="ad.url" type="url"> | ||||
| 					<template #label>URL</template> | ||||
|  |  | |||
|  | @ -2,9 +2,9 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="900"> | ||||
| 		<div class="ztgjmzrw _autoGap"> | ||||
| 		<div class="ztgjmzrw _gaps_m"> | ||||
| 			<section v-for="announcement in announcements" class=""> | ||||
| 				<div class="_panel _autoGap" style="padding: 24px;"> | ||||
| 				<div class="_panel _gaps_m" style="padding: 24px;"> | ||||
| 					<MkInput v-model="announcement.title"> | ||||
| 						<template #label>{{ i18n.ts.title }}</template> | ||||
| 					</MkInput> | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| <template> | ||||
| <div> | ||||
| 	<FormSuspense :p="init"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormRadios v-model="provider"> | ||||
| 				<option :value="null">{{ i18n.ts.none }} ({{ i18n.ts.notRecommended }})</option> | ||||
| 				<option value="hcaptcha">hCaptcha</option> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="700" :margin-min="16" :margin-max="32"> | ||||
| 		<FormSuspense :p="init"> | ||||
| 			<div class="_autoGap"> | ||||
| 			<div class="_gaps_m"> | ||||
| 				<FormSwitch v-model="enableEmail"> | ||||
| 					<template #label>{{ i18n.ts.enableEmail }} ({{ i18n.ts.recommended }})</template> | ||||
| 					<template #caption>{{ i18n.ts.emailConfigInfo }}</template> | ||||
|  | @ -17,7 +17,7 @@ | |||
| 					<FormSection> | ||||
| 						<template #label>{{ i18n.ts.smtpConfig }}</template> | ||||
| 
 | ||||
| 						<div class="_autoGap"> | ||||
| 						<div class="_gaps_m"> | ||||
| 							<FormSplit :min-width="280"> | ||||
| 								<FormInput v-model="smtpHost"> | ||||
| 									<template #label>{{ i18n.ts.smtpHost }}</template> | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
| 	<template #header>:{{ emoji.name }}:</template> | ||||
| 
 | ||||
| 	<MkSpacer :margin-min="20" :margin-max="28"> | ||||
| 		<div class="yigymqpb _autoGap"> | ||||
| 		<div class="yigymqpb _gaps_m"> | ||||
| 			<img :src="`/emoji/${emoji.name}.webp`" class="img"/> | ||||
| 			<MkInput v-model="name"> | ||||
| 				<template #label>{{ i18n.ts.name }}</template> | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
| <FormSuspense :p="init"> | ||||
| 	<div class="_autoGap"> | ||||
| 	<div class="_gaps_m"> | ||||
| 		<FormSwitch v-model="enableDiscordIntegration"> | ||||
| 			<template #label>{{ i18n.ts.enable }}</template> | ||||
| 		</FormSwitch> | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
| <FormSuspense :p="init"> | ||||
| 	<div class="_autoGap"> | ||||
| 	<div class="_gaps_m"> | ||||
| 		<FormSwitch v-model="enableGithubIntegration"> | ||||
| 			<template #label>{{ i18n.ts.enable }}</template> | ||||
| 		</FormSwitch> | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
| <FormSuspense :p="init"> | ||||
| 	<div class="_autoGap"> | ||||
| 	<div class="_gaps_m"> | ||||
| 		<FormSwitch v-model="enableTwitterIntegration"> | ||||
| 			<template #label>{{ i18n.ts.enable }}</template> | ||||
| 		</FormSwitch> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="700" :margin-min="16" :margin-max="32"> | ||||
| 		<FormSuspense :p="init"> | ||||
| 			<div class="_autoGap"> | ||||
| 			<div class="_gaps_m"> | ||||
| 				<FormFolder> | ||||
| 					<template #icon><i class="ti ti-brand-twitter"></i></template> | ||||
| 					<template #label>Twitter</template> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="700" :margin-min="16" :margin-max="32"> | ||||
| 		<FormSuspense :p="init"> | ||||
| 			<div class="_autoGap"> | ||||
| 			<div class="_gaps_m"> | ||||
| 				<FormSwitch v-model="useObjectStorage">{{ i18n.ts.useObjectStorage }}</FormSwitch> | ||||
| 
 | ||||
| 				<template v-if="useObjectStorage"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="700" :margin-min="16" :margin-max="32"> | ||||
| 		<FormSuspense :p="init"> | ||||
| 			<div class="_autoGap"> | ||||
| 			<div class="_gaps_m"> | ||||
| 				<FormFolder> | ||||
| 					<template #icon><i class="ti ti-shield"></i></template> | ||||
| 					<template #label>{{ i18n.ts.botProtection }}</template> | ||||
|  | @ -23,7 +23,7 @@ | |||
| 					<template v-else-if="sensitiveMediaDetection === 'remote'" #suffix>{{ i18n.ts.remoteOnly }}</template> | ||||
| 					<template v-else #suffix>{{ i18n.ts.none }}</template> | ||||
| 
 | ||||
| 					<div class="_autoGap"> | ||||
| 					<div class="_gaps_m"> | ||||
| 						<span>{{ i18n.ts._sensitiveMediaDetection.description }}</span> | ||||
| 
 | ||||
| 						<FormRadios v-model="sensitiveMediaDetection"> | ||||
|  | @ -63,7 +63,7 @@ | |||
| 					<template v-if="enableActiveEmailValidation" #suffix>Enabled</template> | ||||
| 					<template v-else #suffix>Disabled</template> | ||||
| 
 | ||||
| 					<div class="_autoGap"> | ||||
| 					<div class="_gaps_m"> | ||||
| 						<span>{{ i18n.ts.activeEmailValidationDescription }}</span> | ||||
| 						<FormSwitch v-model="enableActiveEmailValidation" @update:model-value="save"> | ||||
| 							<template #label>Enable</template> | ||||
|  | @ -76,7 +76,7 @@ | |||
| 					<template v-if="enableIpLogging" #suffix>Enabled</template> | ||||
| 					<template v-else #suffix>Disabled</template> | ||||
| 
 | ||||
| 					<div class="_autoGap"> | ||||
| 					<div class="_gaps_m"> | ||||
| 						<FormSwitch v-model="enableIpLogging" @update:model-value="save"> | ||||
| 							<template #label>Enable</template> | ||||
| 						</FormSwitch> | ||||
|  | @ -86,7 +86,7 @@ | |||
| 				<FormFolder> | ||||
| 					<template #label>Summaly Proxy</template> | ||||
| 
 | ||||
| 					<div class="_autoGap"> | ||||
| 					<div class="_gaps_m"> | ||||
| 						<FormInput v-model="summalyProxy"> | ||||
| 							<template #prefix><i class="ti ti-link"></i></template> | ||||
| 							<template #label>Summaly Proxy URL</template> | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
| 		<template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 		<MkSpacer :content-max="700" :margin-min="16" :margin-max="32"> | ||||
| 			<FormSuspense :p="init"> | ||||
| 				<div class="_autoGap"> | ||||
| 				<div class="_gaps_m"> | ||||
| 					<FormInput v-model="name"> | ||||
| 						<template #label>{{ i18n.ts.instanceName }}</template> | ||||
| 					</FormInput> | ||||
|  | @ -35,7 +35,7 @@ | |||
| 					</FormTextarea> | ||||
| 
 | ||||
| 					<FormSection> | ||||
| 						<div class="_autoGap_half"> | ||||
| 						<div class="_gaps_s"> | ||||
| 							<FormSwitch v-model="enableRegistration"> | ||||
| 								<template #label>{{ i18n.ts.enableRegistration }}</template> | ||||
| 							</FormSwitch> | ||||
|  | @ -47,7 +47,7 @@ | |||
| 					</FormSection> | ||||
| 
 | ||||
| 					<FormSection> | ||||
| 						<div class="_autoGap_half"> | ||||
| 						<div class="_gaps_s"> | ||||
| 							<FormSwitch v-model="enableLocalTimeline">{{ i18n.ts.enableLocalTimeline }}</FormSwitch> | ||||
| 							<FormSwitch v-model="enableGlobalTimeline">{{ i18n.ts.enableGlobalTimeline }}</FormSwitch> | ||||
| 							<FormInfo>{{ i18n.ts.disablingTimelinesInfo }}</FormInfo> | ||||
|  | @ -57,7 +57,7 @@ | |||
| 					<FormSection> | ||||
| 						<template #label>{{ i18n.ts.theme }}</template> | ||||
| 
 | ||||
| 						<div class="_autoGap"> | ||||
| 						<div class="_gaps_m"> | ||||
| 							<FormInput v-model="iconUrl"> | ||||
| 								<template #prefix><i class="ti ti-link"></i></template> | ||||
| 								<template #label>{{ i18n.ts.iconUrl }}</template> | ||||
|  | @ -94,7 +94,7 @@ | |||
| 					<FormSection> | ||||
| 						<template #label>{{ i18n.ts.files }}</template> | ||||
| 
 | ||||
| 						<div class="_autoGap"> | ||||
| 						<div class="_gaps_m"> | ||||
| 							<FormSwitch v-model="cacheRemoteFiles"> | ||||
| 								<template #label>{{ i18n.ts.cacheRemoteFiles }}</template> | ||||
| 								<template #caption>{{ i18n.ts.cacheRemoteFilesDescription }}</template> | ||||
|  | @ -119,7 +119,7 @@ | |||
| 					<FormSection> | ||||
| 						<template #label>ServiceWorker</template> | ||||
| 
 | ||||
| 						<div class="_autoGap"> | ||||
| 						<div class="_gaps_m"> | ||||
| 							<FormSwitch v-model="enableServiceWorker"> | ||||
| 								<template #label>{{ i18n.ts.enableServiceworker }}</template> | ||||
| 								<template #caption>{{ i18n.ts.serviceworkerInfo }}</template> | ||||
|  | @ -142,7 +142,7 @@ | |||
| 					<FormSection> | ||||
| 						<template #label>DeepL Translation</template> | ||||
| 
 | ||||
| 						<div class="_autoGap"> | ||||
| 						<div class="_gaps_m"> | ||||
| 							<FormInput v-model="deeplAuthKey"> | ||||
| 								<template #prefix><i class="ti ti-key"></i></template> | ||||
| 								<template #label>DeepL Auth Key</template> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="800"> | ||||
| 		<MkPagination v-slot="{items}" :pagination="pagination" class="ruryvtyk _autoGap"> | ||||
| 		<MkPagination v-slot="{items}" :pagination="pagination" class="ruryvtyk _gaps_m"> | ||||
| 			<section v-for="(announcement, i) in items" :key="announcement.id" class="announcement _panel"> | ||||
| 				<div class="header"><span v-if="$i && !announcement.isRead">🆕 </span>{{ announcement.title }}</div> | ||||
| 				<div class="content"> | ||||
|  |  | |||
|  | @ -2,8 +2,8 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="700"> | ||||
| 		<div class="_autoGap"> | ||||
| 			<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<div class="_gaps_m"> | ||||
| 				<MkInput v-model="endpoint" :datalist="endpoints" @update:model-value="onEndpointChange()"> | ||||
| 					<template #label>Endpoint</template> | ||||
| 				</MkInput> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="700"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<MkInput v-model="name"> | ||||
| 				<template #label>{{ i18n.ts.name }}</template> | ||||
| 			</MkInput> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="700"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<MkInput v-model="title"> | ||||
| 				<template #label>{{ i18n.ts._play.title }}</template> | ||||
| 			</MkInput> | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
| 	<MkSpacer :content-max="700"> | ||||
| 		<div v-if="tab === 'featured'" class=""> | ||||
| 			<MkPagination v-slot="{items}" :pagination="featuredFlashsPagination"> | ||||
| 				<div class="_autoGap_half"> | ||||
| 				<div class="_gaps_s"> | ||||
| 					<MkFlashPreview v-for="flash in items" :key="flash.id" class="" :flash="flash"/> | ||||
| 				</div> | ||||
| 			</MkPagination> | ||||
|  | @ -13,7 +13,7 @@ | |||
| 		<div v-else-if="tab === 'my'" class="my"> | ||||
| 			<MkButton class="new" @click="create()"><i class="ti ti-plus"></i></MkButton> | ||||
| 			<MkPagination v-slot="{items}" :pagination="myFlashsPagination"> | ||||
| 				<div class="_autoGap_half"> | ||||
| 				<div class="_gaps_s"> | ||||
| 					<MkFlashPreview v-for="flash in items" :key="flash.id" class="" :flash="flash"/> | ||||
| 				</div> | ||||
| 			</MkPagination> | ||||
|  | @ -21,7 +21,7 @@ | |||
| 
 | ||||
| 		<div v-else-if="tab === 'liked'" class=""> | ||||
| 			<MkPagination v-slot="{items}" :pagination="likedFlashsPagination"> | ||||
| 				<div class="_autoGap_half"> | ||||
| 				<div class="_gaps_s"> | ||||
| 					<MkFlashPreview v-for="like in items" :key="like.flash.id" class="" :flash="like.flash"/> | ||||
| 				</div> | ||||
| 			</MkPagination> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer v-if="instance" :content-max="600" :margin-min="16" :margin-max="32"> | ||||
| 		<div v-if="tab === 'overview'" class="_autoGap"> | ||||
| 		<div v-if="tab === 'overview'" class="_gaps_m"> | ||||
| 			<div class="fnfelxur"> | ||||
| 				<img :src="faviconUrl" alt="" class="icon"/> | ||||
| 				<span class="name">{{ instance.name || `(${i18n.ts.unknown})` }}</span> | ||||
|  | @ -28,7 +28,7 @@ | |||
| 
 | ||||
| 			<FormSection v-if="iAmModerator"> | ||||
| 				<template #label>Moderation</template> | ||||
| 				<div class="_autoGap_half"> | ||||
| 				<div class="_gaps_s"> | ||||
| 					<FormSwitch v-model="suspended" @update:model-value="toggleSuspend">{{ i18n.ts.stopActivityDelivery }}</FormSwitch> | ||||
| 					<FormSwitch v-model="isBlocked" @update:model-value="toggleBlock">{{ i18n.ts.blockThisInstance }}</FormSwitch> | ||||
| 					<MkButton @click="refreshMetadata"><i class="ti ti-refresh"></i> Refresh metadata</MkButton> | ||||
|  | @ -70,7 +70,7 @@ | |||
| 				<FormLink :to="`https://${host}/manifest.json`" external style="margin-bottom: 8px;">manifest.json</FormLink> | ||||
| 			</FormSection> | ||||
| 		</div> | ||||
| 		<div v-else-if="tab === 'chart'" class="_autoGap"> | ||||
| 		<div v-else-if="tab === 'chart'" class="_gaps_m"> | ||||
| 			<div class="cmhjzshl"> | ||||
| 				<div class="selects"> | ||||
| 					<MkSelect v-model="chartSrc" style="margin: 0 10px 0 0; flex: 1;"> | ||||
|  | @ -95,14 +95,14 @@ | |||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<div v-else-if="tab === 'users'" class="_autoGap"> | ||||
| 		<div v-else-if="tab === 'users'" class="_gaps_m"> | ||||
| 			<MkPagination v-slot="{items}" :pagination="usersPagination" style="display: grid; grid-template-columns: repeat(auto-fill,minmax(270px,1fr)); grid-gap: 12px;"> | ||||
| 				<MkA v-for="user in items" :key="user.id" v-tooltip.mfm="`Last posted: ${dateString(user.updatedAt)}`" class="user" :to="`/user-info/${user.id}`"> | ||||
| 					<MkUserCardMini :user="user"/> | ||||
| 				</MkA> | ||||
| 			</MkPagination> | ||||
| 		</div> | ||||
| 		<div v-else-if="tab === 'raw'" class="_autoGap"> | ||||
| 		<div v-else-if="tab === 'raw'" class="_gaps_m"> | ||||
| 			<MkObjectView tall :value="instance"> | ||||
| 			</MkObjectView> | ||||
| 		</div> | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| <template> | ||||
| <MkSpacer :content-max="700"> | ||||
| 	<div class="shaynizk"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<MkInput v-model="name"> | ||||
| 				<template #label>{{ i18n.ts.name }}</template> | ||||
| 			</MkInput> | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
| 		</div> | ||||
| 
 | ||||
| 		<div v-if="tab === 'settings'"> | ||||
| 			<div class="_autoGap"> | ||||
| 			<div class="_gaps_m"> | ||||
| 				<MkInput v-model="title"> | ||||
| 					<template #label>{{ $ts._pages.title }}</template> | ||||
| 				</MkInput> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="600" :margin-min="16"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormSplit> | ||||
| 				<MkKeyValue> | ||||
| 					<template #key>{{ i18n.ts._registry.domain }}</template> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="600" :margin-min="16"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormInfo warn>{{ i18n.ts.editTheseSettingsMayBreakAccount }}</FormInfo> | ||||
| 
 | ||||
| 			<template v-if="value"> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer v-if="token" :content-max="700" :margin-min="16" :margin-max="32"> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormInput v-model="password" type="password"> | ||||
| 				<template #prefix><i class="ti ti-lock"></i></template> | ||||
| 				<template #label>{{ i18n.ts.newPassword }}</template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<MkKeyValue> | ||||
| 		<template #key>ID</template> | ||||
| 		<template #value><span class="_monospace">{{ $i.id }}</span></template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSuspense :p="init"> | ||||
| 		<MkButton primary @click="addAccount"><i class="ti ti-plus"></i> {{ i18n.ts.addAccount }}</MkButton> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<MkButton primary @click="generateToken">{{ i18n.ts.generateAccessToken }}</MkButton> | ||||
| 	<FormLink to="/settings/apps">{{ i18n.ts.manageAccessTokens }}</FormLink> | ||||
| 	<FormLink to="/api-console" :behavior="isDesktop ? 'window' : null">API console</FormLink> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormPagination ref="list" :pagination="pagination"> | ||||
| 		<template #empty> | ||||
| 			<div class="_fullinfo"> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormInfo warn>{{ i18n.ts.customCssWarn }}</FormInfo> | ||||
| 
 | ||||
| 	<FormTextarea v-model="localCustomCss" manual-save tall class="_monospace" style="tab-size: 2;"> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSwitch v-model="navWindow">{{ i18n.ts.defaultNavigationBehaviour }}: {{ i18n.ts.openInWindow }}</FormSwitch> | ||||
| 
 | ||||
| 	<FormSwitch v-model="alwaysShowMainColumn">{{ i18n.ts._deck.alwaysShowMainColumn }}</FormSwitch> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormInfo warn>{{ i18n.ts._accountDelete.mayTakeTime }}</FormInfo> | ||||
| 	<FormInfo>{{ i18n.ts._accountDelete.sendEmail }}</FormInfo> | ||||
| 	<MkButton v-if="!$i.isDeleted" danger @click="deleteAccount">{{ i18n.ts._accountDelete.requestAccountDelete }}</MkButton> | ||||
|  |  | |||
|  | @ -1,9 +1,9 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSection v-if="!fetching" first> | ||||
| 		<template #label>{{ i18n.ts.usageAmount }}</template> | ||||
| 
 | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<div class="uawsfosz"> | ||||
| 				<div class="meter"><div :style="meterStyle"></div></div> | ||||
| 			</div> | ||||
|  | @ -26,7 +26,7 @@ | |||
| 	</FormSection> | ||||
| 
 | ||||
| 	<FormSection> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormLink @click="chooseUploadFolder()"> | ||||
| 				{{ i18n.ts.uploadFolder }} | ||||
| 				<template #suffix>{{ uploadFolder ? uploadFolder.name : '-' }}</template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSection first> | ||||
| 		<template #label>{{ i18n.ts.emailAddress }}</template> | ||||
| 		<FormInput v-model="emailAddress" type="email" manual-save> | ||||
|  | @ -18,7 +18,7 @@ | |||
| 	<FormSection> | ||||
| 		<template #label>{{ i18n.ts.emailNotification }}</template> | ||||
| 
 | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormSwitch v-model="emailNotification_mention"> | ||||
| 				{{ i18n.ts._notification._types.mention }} | ||||
| 			</FormSwitch> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSelect v-model="lang"> | ||||
| 		<template #label>{{ i18n.ts.uiLanguage }}</template> | ||||
| 		<option v-for="x in langs" :key="x[0]" :value="x[0]">{{ x[1] }}</option> | ||||
|  | @ -25,8 +25,8 @@ | |||
| 	<FormSection> | ||||
| 		<template #label>{{ i18n.ts.behavior }}</template> | ||||
| 
 | ||||
| 		<div class="_autoGap"> | ||||
| 			<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<div class="_gaps_s"> | ||||
| 				<FormSwitch v-model="imageNewTab">{{ i18n.ts.openImageInNewTab }}</FormSwitch> | ||||
| 				<FormSwitch v-model="enableInfiniteScroll">{{ i18n.ts.enableInfiniteScroll }}</FormSwitch> | ||||
| 				<FormSwitch v-model="useReactionPickerForContextMenu">{{ i18n.ts.useReactionPickerForContextMenu }}</FormSwitch> | ||||
|  | @ -43,8 +43,8 @@ | |||
| 	<FormSection> | ||||
| 		<template #label>{{ i18n.ts.appearance }}</template> | ||||
| 
 | ||||
| 		<div class="_autoGap"> | ||||
| 			<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<div class="_gaps_s"> | ||||
| 				<FormSwitch v-model="disableAnimatedMfm">{{ i18n.ts.disableAnimatedMfm }}</FormSwitch> | ||||
| 				<FormSwitch v-model="reduceAnimation">{{ i18n.ts.reduceUiAnimation }}</FormSwitch> | ||||
| 				<FormSwitch v-model="useBlurEffect">{{ i18n.ts.useBlurEffect }}</FormSwitch> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSection first> | ||||
| 		<template #label><i class="ti ti-pencil"></i> {{ i18n.ts._exportOrImport.allNotes }}</template> | ||||
| 		<FormFolder> | ||||
|  | @ -18,11 +18,11 @@ | |||
| 	</FormSection> | ||||
| 	<FormSection> | ||||
| 		<template #label><i class="ti ti-users"></i> {{ i18n.ts._exportOrImport.followingList }}</template> | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormFolder> | ||||
| 				<template #label>{{ i18n.ts.export }}</template> | ||||
| 				<template #icon><i class="ti ti-download"></i></template> | ||||
| 				<div class="_autoGap_half"> | ||||
| 				<div class="_gaps_s"> | ||||
| 					<FormSwitch v-model="excludeMutingUsers"> | ||||
| 						{{ i18n.ts._exportOrImport.excludeMutingUsers }} | ||||
| 					</FormSwitch> | ||||
|  | @ -41,7 +41,7 @@ | |||
| 	</FormSection> | ||||
| 	<FormSection> | ||||
| 		<template #label><i class="ti ti-users"></i> {{ i18n.ts._exportOrImport.userLists }}</template> | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormFolder> | ||||
| 				<template #label>{{ i18n.ts.export }}</template> | ||||
| 				<template #icon><i class="ti ti-download"></i></template> | ||||
|  | @ -56,7 +56,7 @@ | |||
| 	</FormSection> | ||||
| 	<FormSection> | ||||
| 		<template #label><i class="ti ti-user-off"></i> {{ i18n.ts._exportOrImport.muteList }}</template> | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormFolder> | ||||
| 				<template #label>{{ i18n.ts.export }}</template> | ||||
| 				<template #icon><i class="ti ti-download"></i></template> | ||||
|  | @ -71,7 +71,7 @@ | |||
| 	</FormSection> | ||||
| 	<FormSection> | ||||
| 		<template #label><i class="ti ti-user-off"></i> {{ i18n.ts._exportOrImport.blockingList }}</template> | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormFolder> | ||||
| 				<template #label>{{ i18n.ts.export }}</template> | ||||
| 				<template #icon><i class="ti ti-download"></i></template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<MkInfo>{{ i18n.ts._instanceMute.title }}</MkInfo> | ||||
| 	<FormTextarea v-model="instanceMutes"> | ||||
| 		<template #label>{{ i18n.ts._instanceMute.heading }}</template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSection v-if="instance.enableTwitterIntegration"> | ||||
| 		<template #label><i class="ti ti-brand-twitter"></i> Twitter</template> | ||||
| 		<p v-if="integrations.twitter">{{ i18n.ts.connectedTo }}: <a :href="`https://twitter.com/${integrations.twitter.screenName}`" rel="nofollow noopener" target="_blank">@{{ integrations.twitter.screenName }}</a></p> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<MkTab v-model="tab" style="margin-bottom: var(--margin);"> | ||||
| 		<option value="mute">{{ i18n.ts.mutedUsers }}</option> | ||||
| 		<option value="block">{{ i18n.ts.blockedUsers }}</option> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormTextarea v-model="items" tall manual-save> | ||||
| 		<template #label>{{ i18n.ts.navbar }}</template> | ||||
| 		<template #caption><button class="_textButton" @click="addItem">{{ i18n.ts.addItem }}</button></template> | ||||
|  |  | |||
|  | @ -1,8 +1,8 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormLink @click="configure"><template #icon><i class="ti ti-settings"></i></template>{{ i18n.ts.notificationSetting }}</FormLink> | ||||
| 	<FormSection> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormLink @click="readAllNotifications">{{ i18n.ts.markAsReadAllNotifications }}</FormLink> | ||||
| 			<FormLink @click="readAllUnreadNotes">{{ i18n.ts.markAsReadAllUnreadNotes }}</FormLink> | ||||
| 			<FormLink @click="readAllMessagingMessages">{{ i18n.ts.markAsReadAllTalkMessages }}</FormLink> | ||||
|  | @ -11,7 +11,7 @@ | |||
| 	<FormSection> | ||||
| 		<template #label>{{ i18n.ts.pushNotification }}</template> | ||||
| 
 | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<MkPushNotificationAllowButton ref="allowButton"/> | ||||
| 			<FormSwitch :disabled="!pushRegistrationInServer" :model-value="sendReadMessage" @update:model-value="onChangeSendReadMessage"> | ||||
| 				<template #label>{{ i18n.ts.sendPushNotificationReadMessage }}</template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSwitch v-model="$i.injectFeaturedNote" @update:model-value="onChangeInjectFeaturedNote"> | ||||
| 		{{ i18n.ts.showFeaturedNotesInTimeline }} | ||||
| 	</FormSwitch> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormInfo warn>{{ i18n.ts._plugin.installWarn }}</FormInfo> | ||||
| 
 | ||||
| 	<FormTextarea v-model="code" tall> | ||||
|  |  | |||
|  | @ -1,10 +1,10 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormLink to="/settings/plugin/install"><template #icon><i class="ti ti-download"></i></template>{{ i18n.ts._plugin.install }}</FormLink> | ||||
| 
 | ||||
| 	<FormSection> | ||||
| 		<template #label>{{ i18n.ts.manage }}</template> | ||||
| 		<div v-for="plugin in plugins" :key="plugin.id" class="_panel _autoGap_half" 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> | ||||
| 
 | ||||
| 			<FormSwitch :model-value="plugin.active" @update:model-value="changeActive(plugin, $event)">{{ i18n.ts.makeActive }}</FormSwitch> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<div :class="$style.buttons"> | ||||
| 		<MkButton inline primary @click="saveNew">{{ ts._preferencesBackups.saveNew }}</MkButton> | ||||
| 		<MkButton inline @click="loadFile">{{ ts._preferencesBackups.loadFile }}</MkButton> | ||||
|  | @ -8,7 +8,7 @@ | |||
| 	<FormSection> | ||||
| 		<template #label>{{ ts._preferencesBackups.list }}</template> | ||||
| 		<template v-if="profiles && Object.keys(profiles).length > 0"> | ||||
| 			<div class="_autoGap_half"> | ||||
| 			<div class="_gaps_s"> | ||||
| 				<div | ||||
| 					v-for="(profile, id) in profiles" | ||||
| 					:key="id" | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSwitch v-model="isLocked" @update:model-value="save()">{{ i18n.ts.makeFollowManuallyApprove }}<template #caption>{{ i18n.ts.lockedAccountInfo }}</template></FormSwitch> | ||||
| 	<FormSwitch v-if="isLocked" v-model="autoAcceptFollowed" @update:model-value="save()">{{ i18n.ts.autoAcceptFollowed }}</FormSwitch> | ||||
| 
 | ||||
|  | @ -30,7 +30,7 @@ | |||
| 	</FormSwitch> | ||||
| 
 | ||||
| 	<FormSection> | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormSwitch v-model="rememberNoteVisibility" @update:model-value="save()">{{ i18n.ts.rememberNoteVisibility }}</FormSwitch> | ||||
| 			<FormFolder v-if="!rememberNoteVisibility"> | ||||
| 				<template #label>{{ i18n.ts.defaultNoteVisibility }}</template> | ||||
|  | @ -39,7 +39,7 @@ | |||
| 				<template v-else-if="defaultNoteVisibility === 'followers'" #suffix>{{ i18n.ts._visibility.followers }}</template> | ||||
| 				<template v-else-if="defaultNoteVisibility === 'specified'" #suffix>{{ i18n.ts._visibility.specified }}</template> | ||||
| 
 | ||||
| 				<div class="_autoGap"> | ||||
| 				<div class="_gaps_m"> | ||||
| 					<FormSelect v-model="defaultNoteVisibility"> | ||||
| 						<option value="public">{{ i18n.ts._visibility.public }}</option> | ||||
| 						<option value="home">{{ i18n.ts._visibility.home }}</option> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<div class="llvierxe" :style="{ backgroundImage: $i.bannerUrl ? `url(${ $i.bannerUrl })` : null }"> | ||||
| 		<div class="avatar"> | ||||
| 			<MkAvatar class="avatar" :user="$i" :disable-link="true" @click="changeAvatar"/> | ||||
|  | @ -37,7 +37,7 @@ | |||
| 			<template #icon><i class="ti ti-list"></i></template> | ||||
| 			<template #label>{{ i18n.ts._profile.metadataEdit }}</template> | ||||
| 
 | ||||
| 			<div class="_autoGap"> | ||||
| 			<div class="_gaps_m"> | ||||
| 				<FormSplit v-for="(record, i) in fields" :min-width="250"> | ||||
| 					<FormInput v-model="record.name" small> | ||||
| 						<template #label>{{ i18n.ts._profile.metadataLabel }} #{{ i + 1 }}</template> | ||||
|  | @ -58,7 +58,7 @@ | |||
| 	<FormFolder> | ||||
| 		<template #label>{{ i18n.ts.advancedSettings }}</template> | ||||
| 
 | ||||
| 		<div class="_autoGap"> | ||||
| 		<div class="_gaps_m"> | ||||
| 			<FormSwitch v-model="profile.isCat">{{ i18n.ts.flagAsCat }}<template #caption>{{ i18n.ts.flagAsCatDescription }}</template></FormSwitch> | ||||
| 			<FormSwitch v-model="profile.isBot">{{ i18n.ts.flagAsBot }}<template #caption>{{ i18n.ts.flagAsBotDescription }}</template></FormSwitch> | ||||
| 		</div> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FromSlot> | ||||
| 		<template #label>{{ i18n.ts.reactionSettingDescription }}</template> | ||||
| 		<div v-panel style="border-radius: 6px;"> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSection first> | ||||
| 		<template #label>{{ i18n.ts.password }}</template> | ||||
| 		<MkButton primary @click="change()">{{ i18n.ts.changePassword }}</MkButton> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSelect v-model="type"> | ||||
| 		<template #label>{{ i18n.ts.sound }}</template> | ||||
| 		<option v-for="x in soundsTypes" :key="x" :value="x">{{ x == null ? i18n.ts.none : x }}</option> | ||||
|  |  | |||
|  | @ -1,12 +1,12 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormRange v-model="masterVolume" :min="0" :max="1" :step="0.05" :text-converter="(v) => `${Math.floor(v * 100)}%`"> | ||||
| 		<template #label>{{ i18n.ts.masterVolume }}</template> | ||||
| 	</FormRange> | ||||
| 
 | ||||
| 	<FormSection> | ||||
| 		<template #label>{{ i18n.ts.sounds }}</template> | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormFolder v-for="type in Object.keys(sounds)" :key="type"> | ||||
| 				<template #label>{{ $t('_sfx.' + type) }}</template> | ||||
| 				<template #suffix>{{ sounds[type].type ?? i18n.ts.none }}</template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSelect v-model="statusbar.type" placeholder="Please select"> | ||||
| 		<template #label>{{ i18n.ts.type }}</template> | ||||
| 		<option value="rss">RSS</option> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormFolder v-for="x in statusbars" :key="x.id"> | ||||
| 		<template #label>{{ x.type ?? i18n.ts.notSet }}</template> | ||||
| 		<template #suffix>{{ x.name }}</template> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormTextarea v-model="installThemeCode"> | ||||
| 		<template #label>{{ i18n.ts._theme.code }}</template> | ||||
| 	</FormTextarea> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormSelect v-model="selectedThemeId"> | ||||
| 		<template #label>{{ i18n.ts.theme }}</template> | ||||
| 		<optgroup :label="i18n.ts._theme.installedThemes"> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap rsljpzjq"> | ||||
| <div class="_gaps_m rsljpzjq"> | ||||
| 	<div v-adaptive-border class="rfqxtzch _panel"> | ||||
| 		<div class="toggle"> | ||||
| 			<div class="toggleWrapper"> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormInput v-model="name"> | ||||
| 		<template #label>Name</template> | ||||
| 	</FormInput> | ||||
|  | @ -16,7 +16,7 @@ | |||
| 	<FormSection> | ||||
| 		<template #label>Events</template> | ||||
| 
 | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormSwitch v-model="event_follow">Follow</FormSwitch> | ||||
| 			<FormSwitch v-model="event_followed">Followed</FormSwitch> | ||||
| 			<FormSwitch v-model="event_note">Note</FormSwitch> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormInput v-model="name"> | ||||
| 		<template #label>Name</template> | ||||
| 	</FormInput> | ||||
|  | @ -16,7 +16,7 @@ | |||
| 	<FormSection> | ||||
| 		<template #label>Events</template> | ||||
| 
 | ||||
| 		<div class="_autoGap_half"> | ||||
| 		<div class="_gaps_s"> | ||||
| 			<FormSwitch v-model="event_follow">Follow</FormSwitch> | ||||
| 			<FormSwitch v-model="event_followed">Followed</FormSwitch> | ||||
| 			<FormSwitch v-model="event_note">Note</FormSwitch> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<FormLink :to="`/settings/webhook/new`"> | ||||
| 		Create webhook | ||||
| 	</FormLink> | ||||
|  |  | |||
|  | @ -1,18 +1,18 @@ | |||
| <template> | ||||
| <div class="_autoGap"> | ||||
| <div class="_gaps_m"> | ||||
| 	<MkTab v-model="tab"> | ||||
| 		<option value="soft">{{ i18n.ts._wordMute.soft }}</option> | ||||
| 		<option value="hard">{{ i18n.ts._wordMute.hard }}</option> | ||||
| 	</MkTab> | ||||
| 	<div> | ||||
| 		<div v-show="tab === 'soft'" class="_autoGap"> | ||||
| 		<div v-show="tab === 'soft'" class="_gaps_m"> | ||||
| 			<MkInfo>{{ i18n.ts._wordMute.softDescription }}</MkInfo> | ||||
| 			<FormTextarea v-model="softMutedWords"> | ||||
| 				<span>{{ i18n.ts._wordMute.muteWords }}</span> | ||||
| 				<template #caption>{{ i18n.ts._wordMute.muteWordsDescription }}<br>{{ i18n.ts._wordMute.muteWordsDescription2 }}</template> | ||||
| 			</FormTextarea> | ||||
| 		</div> | ||||
| 		<div v-show="tab === 'hard'" class="_autoGap"> | ||||
| 		<div v-show="tab === 'hard'" class="_gaps_m"> | ||||
| 			<MkInfo>{{ i18n.ts._wordMute.hardDescription }} {{ i18n.ts.reflectMayTakeTime }}</MkInfo> | ||||
| 			<FormTextarea v-model="hardMutedWords"> | ||||
| 				<span>{{ i18n.ts._wordMute.muteWords }}</span> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <MkStickyContainer> | ||||
| 	<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="800" :margin-min="16" :margin-max="32"> | ||||
| 		<div class="cwepdizn _autoGap"> | ||||
| 		<div class="cwepdizn _gaps_m"> | ||||
| 			<FormFolder :default-open="true"> | ||||
| 				<template #label>{{ i18n.ts.backgroundColor }}</template> | ||||
| 				<div class="cwepdizn-colors"> | ||||
|  | @ -45,7 +45,7 @@ | |||
| 				<template #icon><i class="ti ti-code"></i></template> | ||||
| 				<template #label>{{ i18n.ts.editCode }}</template> | ||||
| 
 | ||||
| 				<div class="_autoGap"> | ||||
| 				<div class="_gaps_m"> | ||||
| 					<FormTextarea v-model="themeCode" tall> | ||||
| 						<template #label>{{ i18n.ts._theme.code }}</template> | ||||
| 					</FormTextarea> | ||||
|  | @ -56,7 +56,7 @@ | |||
| 			<FormFolder :default-open="false"> | ||||
| 				<template #label>{{ i18n.ts.addDescription }}</template> | ||||
| 
 | ||||
| 				<div class="_autoGap"> | ||||
| 				<div class="_gaps_m"> | ||||
| 					<FormTextarea v-model="description"> | ||||
| 						<template #label>{{ i18n.ts._theme.description }}</template> | ||||
| 					</FormTextarea> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<template #header><MkPageHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs"/></template> | ||||
| 	<MkSpacer :content-max="600" :margin-min="16" :margin-max="32"> | ||||
| 		<FormSuspense :p="init"> | ||||
| 			<div v-if="tab === 'overview'" class="_autoGap"> | ||||
| 			<div v-if="tab === 'overview'" class="_gaps_m"> | ||||
| 				<div class="aeakzknw"> | ||||
| 					<MkAvatar class="avatar" :user="user" :show-indicator="true"/> | ||||
| 					<div class="body"> | ||||
|  | @ -55,7 +55,7 @@ | |||
| 				<FormSection> | ||||
| 					<template #label>ActivityPub</template> | ||||
| 
 | ||||
| 					<div class="_autoGap"> | ||||
| 					<div class="_gaps_m"> | ||||
| 						<div style="display: flex; flex-direction: column; gap: 1em;"> | ||||
| 							<MkKeyValue v-if="user.host" oneline> | ||||
| 								<template #key>{{ i18n.ts.instanceInfo }}</template> | ||||
|  | @ -86,7 +86,7 @@ | |||
| 					</div> | ||||
| 				</FormSection> | ||||
| 			</div> | ||||
| 			<div v-else-if="tab === 'moderation'" class="_autoGap"> | ||||
| 			<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> | ||||
| 				<FormSwitch v-model="silenced" @update:model-value="toggleSilence">{{ i18n.ts.silence }}</FormSwitch> | ||||
| 				<FormSwitch v-model="suspended" @update:model-value="toggleSuspend">{{ i18n.ts.suspend }}</FormSwitch> | ||||
|  | @ -126,7 +126,7 @@ | |||
| 					</FormInput> | ||||
| 				</FormSection> | ||||
| 			</div> | ||||
| 			<div v-else-if="tab === 'chart'" class="_autoGap"> | ||||
| 			<div v-else-if="tab === 'chart'" class="_gaps_m"> | ||||
| 				<div class="cmhjzshm"> | ||||
| 					<div class="selects"> | ||||
| 						<MkSelect v-model="chartSrc" style="margin: 0 10px 0 0; flex: 1;"> | ||||
|  | @ -141,7 +141,7 @@ | |||
| 					</div> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 			<div v-else-if="tab === 'raw'" class="_autoGap"> | ||||
| 			<div v-else-if="tab === 'raw'" class="_gaps_m"> | ||||
| 				<MkObjectView v-if="info && $i.isAdmin" tall :value="info"> | ||||
| 				</MkObjectView> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,12 +1,12 @@ | |||
| <template> | ||||
| <MkSpacer :content-max="narrow ? 800 : 1100"> | ||||
| 	<div ref="rootEl" class="ftskorzw" :class="{ wide: !narrow }" style="container-type: inline-size;"> | ||||
| 		<div class="main _autoGap"> | ||||
| 		<div class="main _gaps"> | ||||
| 			<!-- TODO --> | ||||
| 			<!-- <div class="punished" v-if="user.isSuspended"><i class="ti ti-alert-triangle" style="margin-right: 8px;"></i> {{ i18n.ts.userSuspended }}</div> --> | ||||
| 			<!-- <div class="punished" v-if="user.isSilenced"><i class="ti ti-alert-triangle" style="margin-right: 8px;"></i> {{ i18n.ts.userSilenced }}</div> --> | ||||
| 
 | ||||
| 			<div class="profile _autoGap"> | ||||
| 			<div class="profile _gaps"> | ||||
| 				<MkRemoteCaution v-if="user.host != null" :href="user.url" class="warn"/> | ||||
| 
 | ||||
| 				<div :key="user.id" class="main _panel"> | ||||
|  | @ -85,23 +85,23 @@ | |||
| 				</div> | ||||
| 			</div> | ||||
| 
 | ||||
| 			<div class="contents"> | ||||
| 				<div v-if="user.pinnedNotes.length > 0" class="_autoGap_half"> | ||||
| 			<div class="contents _gaps"> | ||||
| 				<div v-if="user.pinnedNotes.length > 0" class="_gaps"> | ||||
| 					<XNote v-for="note in user.pinnedNotes" :key="note.id" class="note _panel" :note="note" :pinned="true"/> | ||||
| 				</div> | ||||
| 				<MkInfo v-else-if="$i && $i.id === user.id">{{ i18n.ts.userPagePinTip }}</MkInfo> | ||||
| 				<template v-if="narrow"> | ||||
| 					<XPhotos :key="user.id" :user="user"/> | ||||
| 					<XActivity :key="user.id" :user="user" style="margin-top: var(--margin);"/> | ||||
| 					<XActivity :key="user.id" :user="user"/> | ||||
| 				</template> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 				<XUserTimeline :user="user"/> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<div v-if="!narrow" class="sub" style="container-type: inline-size;"> | ||||
| 		<div v-if="!narrow" class="sub _gaps" style="container-type: inline-size;"> | ||||
| 			<XPhotos :key="user.id" :user="user"/> | ||||
| 			<XActivity :key="user.id" :user="user" style="margin-top: var(--margin);"/> | ||||
| 			<XActivity :key="user.id" :user="user"/> | ||||
| 		</div> | ||||
| 	</div> | ||||
| </MkSpacer> | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| <template> | ||||
| <form class="mk-setup" @submit.prevent="submit()"> | ||||
| 	<h1>Welcome to Misskey!</h1> | ||||
| 	<div class="_autoGap"> | ||||
| 	<div class="_gaps_m"> | ||||
| 		<p>{{ $ts.intro }}</p> | ||||
| 		<MkInput v-model="username" pattern="^[a-zA-Z0-9_]{1,20}$" :spellcheck="false" required data-cy-admin-username> | ||||
| 			<template #label>{{ $ts.username }}</template> | ||||
|  |  | |||
|  | @ -256,18 +256,24 @@ hr { | |||
| 	margin: var(--margin) 0; | ||||
| } | ||||
| 
 | ||||
| ._autoGap { | ||||
| ._gaps_m { | ||||
| 	display: flex; | ||||
| 	flex-direction: column; | ||||
| 	gap: 1.5em; | ||||
| } | ||||
| 
 | ||||
| ._autoGap_half { | ||||
| ._gaps_s { | ||||
| 	display: flex; | ||||
| 	flex-direction: column; | ||||
| 	gap: 0.75em; | ||||
| } | ||||
| 
 | ||||
| ._gaps { | ||||
| 	display: flex; | ||||
| 	flex-direction: column; | ||||
| 	gap: var(--margin); | ||||
| } | ||||
| 
 | ||||
| ._buttons { | ||||
| 	display: flex; | ||||
| 	gap: 8px; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue