This commit is contained in:
syuilo 2021-04-10 18:17:42 +09:00
parent 3a6331693a
commit 5087a5af21
31 changed files with 126 additions and 117 deletions

View file

@ -15,7 +15,7 @@
</div> </div>
<XList ref="notes" :items="notes" v-slot="{ item: note }" :direction="reversed ? 'up' : 'down'" :reversed="reversed"> <XList ref="notes" :items="notes" v-slot="{ item: note }" :direction="reversed ? 'up' : 'down'" :reversed="reversed">
<XNote :note="note" class="_block _isolated" @update:note="updated(note, $event)" :key="note._featuredId_ || note._prId_ || note.id"/> <XNote :note="note" class="_block _gap" @update:note="updated(note, $event)" :key="note._featuredId_ || note._prId_ || note.id"/>
</XList> </XList>
<div v-show="more && !reversed" style="margin-top: var(--margin);"> <div v-show="more && !reversed" style="margin-top: var(--margin);">

View file

@ -40,9 +40,9 @@
</div> </div>
<div class="_hr"></div> <div class="_hr"></div>
<div class="social"> <div class="social">
<a class="_borderButton _vMargin" v-if="meta && meta.enableTwitterIntegration" :href="`${apiUrl}/signin/twitter`"><Fa :icon="faTwitter" style="margin-right: 4px;"/>{{ $t('signinWith', { x: 'Twitter' }) }}</a> <a class="_borderButton _gap" v-if="meta && meta.enableTwitterIntegration" :href="`${apiUrl}/signin/twitter`"><Fa :icon="faTwitter" style="margin-right: 4px;"/>{{ $t('signinWith', { x: 'Twitter' }) }}</a>
<a class="_borderButton _vMargin" v-if="meta && meta.enableGithubIntegration" :href="`${apiUrl}/signin/github`"><Fa :icon="faGithub" style="margin-right: 4px;"/>{{ $t('signinWith', { x: 'GitHub' }) }}</a> <a class="_borderButton _gap" v-if="meta && meta.enableGithubIntegration" :href="`${apiUrl}/signin/github`"><Fa :icon="faGithub" style="margin-right: 4px;"/>{{ $t('signinWith', { x: 'GitHub' }) }}</a>
<a class="_borderButton _vMargin" v-if="meta && meta.enableDiscordIntegration" :href="`${apiUrl}/signin/discord`"><Fa :icon="faDiscord" style="margin-right: 4px;"/>{{ $t('signinWith', { x: 'Discord' }) }}</a> <a class="_borderButton _gap" v-if="meta && meta.enableDiscordIntegration" :href="`${apiUrl}/signin/discord`"><Fa :icon="faDiscord" style="margin-right: 4px;"/>{{ $t('signinWith', { x: 'Discord' }) }}</a>
</div> </div>
</form> </form>
</template> </template>

View file

@ -1,5 +1,5 @@
<template> <template>
<div class="ukygtjoj _block _isolated" :class="{ naked, hideHeader: !showHeader, scrollable, closed: !showBody }" v-size="{ max: [380] }"> <div class="ukygtjoj _block _gap" :class="{ naked, hideHeader: !showHeader, scrollable, closed: !showBody }" v-size="{ max: [380] }">
<header v-if="showHeader" ref="header"> <header v-if="showHeader" ref="header">
<div class="title"><slot name="header"></slot></div> <div class="title"><slot name="header"></slot></div>
<div class="sub"> <div class="sub">

View file

@ -12,7 +12,7 @@
</div> </div>
</section> </section>
<section class="_section"> <section class="_section">
<div class="_content _card _vMargin"> <div class="_content _card _gap">
<div class="_content"> <div class="_content">
<MkInput v-model:value="name" required><span>{{ $ts.name }}</span></MkInput> <MkInput v-model:value="name" required><span>{{ $ts.name }}</span></MkInput>
<MkInput v-model:value="author" required><span>{{ $ts.author }}</span></MkInput> <MkInput v-model:value="author" required><span>{{ $ts.author }}</span></MkInput>
@ -24,7 +24,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="_content _card _vMargin"> <div class="_content _card _gap">
<div class="list-view _content"> <div class="list-view _content">
<div class="item" v-for="([ k, v ], i) in theme" :key="k"> <div class="item" v-for="([ k, v ], i) in theme" :key="k">
<div class="_inputs"> <div class="_inputs">

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="_section"> <div class="_section">
<MkPagination :pagination="pagination" #default="{items}" class="ruryvtyk _content"> <MkPagination :pagination="pagination" #default="{items}" class="ruryvtyk _content">
<section class="_card announcement _vMargin" v-for="(announcement, i) in items" :key="announcement.id"> <section class="_card announcement _gap" v-for="(announcement, i) in items" :key="announcement.id">
<div class="_title"><span v-if="$i && !announcement.isRead">🆕 </span>{{ announcement.title }}</div> <div class="_title"><span v-if="$i && !announcement.isRead">🆕 </span>{{ announcement.title }}</div>
<div class="_content"> <div class="_content">
<Mfm :text="announcement.text"/> <Mfm :text="announcement.text"/>

View file

@ -1,6 +1,6 @@
<template> <template>
<div v-if="channel" class="_section"> <div v-if="channel" class="_section">
<div class="wpgynlbz _content _panel _vMargin" :class="{ hide: !showBanner }"> <div class="wpgynlbz _content _panel _gap" :class="{ hide: !showBanner }">
<XChannelFollowButton :channel="channel" :full="true" class="subscribe"/> <XChannelFollowButton :channel="channel" :full="true" class="subscribe"/>
<button class="_button toggle" @click="() => showBanner = !showBanner"> <button class="_button toggle" @click="() => showBanner = !showBanner">
<template v-if="showBanner"><Fa :icon="faAngleUp"/></template> <template v-if="showBanner"><Fa :icon="faAngleUp"/></template>
@ -20,9 +20,9 @@
</div> </div>
</div> </div>
<XPostForm :channel="channel" class="post-form _content _panel _vMargin" fixed v-if="$i"/> <XPostForm :channel="channel" class="post-form _content _panel _gap" fixed v-if="$i"/>
<XTimeline class="_content _vMargin _noGap_" src="channel" :key="channelId" :channel="channelId" @before="before" @after="after"/> <XTimeline class="_content _gap _noGap_" src="channel" :key="channelId" :channel="channelId" @before="before" @after="after"/>
</div> </div>
</template> </template>

View file

@ -11,20 +11,20 @@
<div class="_section"> <div class="_section">
<div class="_content grwlizim featured" v-if="tab === 'featured'"> <div class="_content grwlizim featured" v-if="tab === 'featured'">
<MkPagination :pagination="featuredPagination" #default="{items}"> <MkPagination :pagination="featuredPagination" #default="{items}">
<MkChannelPreview v-for="channel in items" class="_vMargin" :channel="channel" :key="channel.id"/> <MkChannelPreview v-for="channel in items" class="_gap" :channel="channel" :key="channel.id"/>
</MkPagination> </MkPagination>
</div> </div>
<div class="_content grwlizim following" v-if="tab === 'following'"> <div class="_content grwlizim following" v-if="tab === 'following'">
<MkPagination :pagination="followingPagination" #default="{items}"> <MkPagination :pagination="followingPagination" #default="{items}">
<MkChannelPreview v-for="channel in items" class="_vMargin" :channel="channel" :key="channel.id"/> <MkChannelPreview v-for="channel in items" class="_gap" :channel="channel" :key="channel.id"/>
</MkPagination> </MkPagination>
</div> </div>
<div class="_content grwlizim owned" v-if="tab === 'owned'"> <div class="_content grwlizim owned" v-if="tab === 'owned'">
<MkButton class="new" @click="create()"><Fa :icon="faPlus"/></MkButton> <MkButton class="new" @click="create()"><Fa :icon="faPlus"/></MkButton>
<MkPagination :pagination="ownedPagination" #default="{items}"> <MkPagination :pagination="ownedPagination" #default="{items}">
<MkChannelPreview v-for="channel in items" class="_vMargin" :channel="channel" :key="channel.id"/> <MkChannelPreview v-for="channel in items" class="_gap" :channel="channel" :key="channel.id"/>
</MkPagination> </MkPagination>
</div> </div>
</div> </div>

View file

@ -1,6 +1,6 @@
<template> <template>
<div v-if="clip" class="_section"> <div v-if="clip" class="_section">
<div class="okzinsic _content _panel _vMargin"> <div class="okzinsic _content _panel _gap">
<div class="description" v-if="clip.description"> <div class="description" v-if="clip.description">
<Mfm :text="clip.description" :is-note="false" :i="$i"/> <Mfm :text="clip.description" :is-note="false" :i="$i"/>
</div> </div>
@ -9,7 +9,7 @@
</div> </div>
</div> </div>
<XNotes class="_content _vMargin" :pagination="pagination" :detail="true"/> <XNotes class="_content _gap" :pagination="pagination" :detail="true"/>
</div> </div>
</template> </template>

View file

@ -3,38 +3,38 @@
<div class="_section"> <div class="_section">
<MkInput v-model:value="query" :debounce="true" type="search"><template #icon><Fa :icon="faSearch"/></template><span>{{ $ts.searchUser }}</span></MkInput> <MkInput v-model:value="query" :debounce="true" type="search"><template #icon><Fa :icon="faSearch"/></template><span>{{ $ts.searchUser }}</span></MkInput>
<XUserList v-if="query" class="_vMargin" :pagination="searchPagination" ref="search"/> <XUserList v-if="query" class="_gap" :pagination="searchPagination" ref="search"/>
<div class="localfedi7 _panel _vMargin" v-if="meta && stats && tag == null" :style="{ backgroundImage: meta.bannerUrl ? `url(${meta.bannerUrl})` : null }"> <div class="localfedi7 _panel _gap" v-if="meta && stats && tag == null" :style="{ backgroundImage: meta.bannerUrl ? `url(${meta.bannerUrl})` : null }">
<header><span>{{ $t('explore', { host: meta.name || 'Misskey' }) }}</span></header> <header><span>{{ $t('explore', { host: meta.name || 'Misskey' }) }}</span></header>
<div><span>{{ $t('exploreUsersCount', { count: num(stats.originalUsersCount) }) }}</span></div> <div><span>{{ $t('exploreUsersCount', { count: num(stats.originalUsersCount) }) }}</span></div>
</div> </div>
<template v-if="tag == null"> <template v-if="tag == null">
<MkFolder class="_vMargin" persist-key="explore-pinned-users"> <MkFolder class="_gap" persist-key="explore-pinned-users">
<template #header><Fa :icon="faBookmark" fixed-width style="margin-right: 0.5em;"/>{{ $ts.pinnedUsers }}</template> <template #header><Fa :icon="faBookmark" fixed-width style="margin-right: 0.5em;"/>{{ $ts.pinnedUsers }}</template>
<XUserList :pagination="pinnedUsers"/> <XUserList :pagination="pinnedUsers"/>
</MkFolder> </MkFolder>
<MkFolder class="_vMargin" persist-key="explore-popular-users"> <MkFolder class="_gap" persist-key="explore-popular-users">
<template #header><Fa :icon="faChartLine" fixed-width style="margin-right: 0.5em;"/>{{ $ts.popularUsers }}</template> <template #header><Fa :icon="faChartLine" fixed-width style="margin-right: 0.5em;"/>{{ $ts.popularUsers }}</template>
<XUserList :pagination="popularUsers"/> <XUserList :pagination="popularUsers"/>
</MkFolder> </MkFolder>
<MkFolder class="_vMargin" persist-key="explore-recently-updated-users"> <MkFolder class="_gap" persist-key="explore-recently-updated-users">
<template #header><Fa :icon="faCommentAlt" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyUpdatedUsers }}</template> <template #header><Fa :icon="faCommentAlt" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyUpdatedUsers }}</template>
<XUserList :pagination="recentlyUpdatedUsers"/> <XUserList :pagination="recentlyUpdatedUsers"/>
</MkFolder> </MkFolder>
<MkFolder class="_vMargin" persist-key="explore-recently-registered-users"> <MkFolder class="_gap" persist-key="explore-recently-registered-users">
<template #header><Fa :icon="faPlus" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyRegisteredUsers }}</template> <template #header><Fa :icon="faPlus" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyRegisteredUsers }}</template>
<XUserList :pagination="recentlyRegisteredUsers"/> <XUserList :pagination="recentlyRegisteredUsers"/>
</MkFolder> </MkFolder>
</template> </template>
</div> </div>
<div class="_section"> <div class="_section">
<div class="localfedi7 _panel _vMargin" v-if="tag == null" :style="{ backgroundImage: `url(/static-assets/client/fedi.jpg)` }"> <div class="localfedi7 _panel _gap" v-if="tag == null" :style="{ backgroundImage: `url(/static-assets/client/fedi.jpg)` }">
<header><span>{{ $ts.exploreFediverse }}</span></header> <header><span>{{ $ts.exploreFediverse }}</span></header>
</div> </div>
<MkFolder :body-togglable="true" :expanded="false" ref="tags" class="_vMargin"> <MkFolder :body-togglable="true" :expanded="false" ref="tags" class="_gap">
<template #header><Fa :icon="faHashtag" fixed-width style="margin-right: 0.5em;"/>{{ $ts.popularTags }}</template> <template #header><Fa :icon="faHashtag" fixed-width style="margin-right: 0.5em;"/>{{ $ts.popularTags }}</template>
<div class="vxjfqztj"> <div class="vxjfqztj">
@ -43,21 +43,21 @@
</div> </div>
</MkFolder> </MkFolder>
<MkFolder v-if="tag != null" :key="`${tag}`" class="_vMargin"> <MkFolder v-if="tag != null" :key="`${tag}`" class="_gap">
<template #header><Fa :icon="faHashtag" fixed-width style="margin-right: 0.5em;"/>{{ tag }}</template> <template #header><Fa :icon="faHashtag" fixed-width style="margin-right: 0.5em;"/>{{ tag }}</template>
<XUserList :pagination="tagUsers"/> <XUserList :pagination="tagUsers"/>
</MkFolder> </MkFolder>
<template v-if="tag == null"> <template v-if="tag == null">
<MkFolder class="_vMargin"> <MkFolder class="_gap">
<template #header><Fa :icon="faChartLine" fixed-width style="margin-right: 0.5em;"/>{{ $ts.popularUsers }}</template> <template #header><Fa :icon="faChartLine" fixed-width style="margin-right: 0.5em;"/>{{ $ts.popularUsers }}</template>
<XUserList :pagination="popularUsersF"/> <XUserList :pagination="popularUsersF"/>
</MkFolder> </MkFolder>
<MkFolder class="_vMargin"> <MkFolder class="_gap">
<template #header><Fa :icon="faCommentAlt" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyUpdatedUsers }}</template> <template #header><Fa :icon="faCommentAlt" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyUpdatedUsers }}</template>
<XUserList :pagination="recentlyUpdatedUsersF"/> <XUserList :pagination="recentlyUpdatedUsersF"/>
</MkFolder> </MkFolder>
<MkFolder class="_vMargin"> <MkFolder class="_gap">
<template #header><Fa :icon="faRocket" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyDiscoveredUsers }}</template> <template #header><Fa :icon="faRocket" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyDiscoveredUsers }}</template>
<XUserList :pagination="recentlyRegisteredUsersF"/> <XUserList :pagination="recentlyRegisteredUsersF"/>
</MkFolder> </MkFolder>

View file

@ -34,7 +34,7 @@
--> -->
<MkPagination :pagination="pagination" #default="{items}" ref="reports" style="margin-top: var(--margin);"> <MkPagination :pagination="pagination" #default="{items}" ref="reports" style="margin-top: var(--margin);">
<div class="bcekxzvu _card _vMargin" v-for="report in items" :key="report.id"> <div class="bcekxzvu _card _gap" v-for="report in items" :key="report.id">
<div class="_content target"> <div class="_content target">
<MkAvatar class="avatar" :user="report.targetUser"/> <MkAvatar class="avatar" :user="report.targetUser"/>
<div class="info"> <div class="info">

View file

@ -3,7 +3,7 @@
<div class="_section"> <div class="_section">
<div class="_content"> <div class="_content">
<MkButton @click="add()" primary style="margin: 0 auto 16px auto;"><Fa :icon="faPlus"/> {{ $ts.add }}</MkButton> <MkButton @click="add()" primary style="margin: 0 auto 16px auto;"><Fa :icon="faPlus"/> {{ $ts.add }}</MkButton>
<section class="_card _vMargin announcements" v-for="announcement in announcements"> <section class="_card _gap announcements" v-for="announcement in announcements">
<div class="_content announcement"> <div class="_content announcement">
<MkInput v-model:value="announcement.title"> <MkInput v-model:value="announcement.title">
<span>{{ $ts.title }}</span> <span>{{ $ts.title }}</span>

View file

@ -35,7 +35,7 @@
</MkInput> </MkInput>
</div> </div>
<MkPagination :pagination="pagination" #default="{items}" class="urempief" ref="files"> <MkPagination :pagination="pagination" #default="{items}" class="urempief" ref="files">
<button class="file _panel _button _vMargin" v-for="file in items" :key="file.id" @click="show(file, $event)"> <button class="file _panel _button _gap" v-for="file in items" :key="file.id" @click="show(file, $event)">
<MkDriveFileThumbnail class="thumbnail" :file="file" fit="contain"/> <MkDriveFileThumbnail class="thumbnail" :file="file" fit="contain"/>
<div class="body"> <div class="body">
<div> <div>

View file

@ -4,7 +4,7 @@
<template #header><Fa :icon="faHeartbeat"/> {{ $ts.metrics }}</template> <template #header><Fa :icon="faHeartbeat"/> {{ $ts.metrics }}</template>
<div class="_section" style="padding: 0 var(--margin);"> <div class="_section" style="padding: 0 var(--margin);">
<div class="_content"> <div class="_content">
<MkContainer :body-togglable="false" class="_vMargin"> <MkContainer :body-togglable="false" class="_gap">
<template #header><Fa :icon="faMicrochip"/>{{ $ts.cpuAndMemory }}</template> <template #header><Fa :icon="faMicrochip"/>{{ $ts.cpuAndMemory }}</template>
<!-- <!--
<template #func> <template #func>
@ -27,7 +27,7 @@
</div> </div>
</MkContainer> </MkContainer>
<MkContainer :body-togglable="false" class="_vMargin"> <MkContainer :body-togglable="false" class="_gap">
<template #header><Fa :icon="faHdd"/> {{ $ts.disk }}</template> <template #header><Fa :icon="faHdd"/> {{ $ts.disk }}</template>
<!-- <!--
<template #func> <template #func>
@ -50,7 +50,7 @@
</div> </div>
</MkContainer> </MkContainer>
<MkContainer :body-togglable="false" class="_vMargin"> <MkContainer :body-togglable="false" class="_gap">
<template #header><Fa :icon="faExchangeAlt"/> {{ $ts.network }}</template> <template #header><Fa :icon="faExchangeAlt"/> {{ $ts.network }}</template>
<!-- <!--
<template #func> <template #func>

View file

@ -4,9 +4,9 @@
<template #header><Fa :icon="faTachometerAlt"/> {{ $ts.overview }}</template> <template #header><Fa :icon="faTachometerAlt"/> {{ $ts.overview }}</template>
<div class="sboqnrfi" :style="{ gridTemplateRows: overviewHeight }"> <div class="sboqnrfi" :style="{ gridTemplateRows: overviewHeight }">
<MkInstanceStats :chart-limit="300" :detailed="true" class="_vMargin" ref="stats"/> <MkInstanceStats :chart-limit="300" :detailed="true" class="_gap" ref="stats"/>
<MkContainer :body-togglable="true" class="_vMargin"> <MkContainer :body-togglable="true" class="_gap">
<template #header><Fa :icon="faInfoCircle"/>{{ $ts.instanceInfo }}</template> <template #header><Fa :icon="faInfoCircle"/>{{ $ts.instanceInfo }}</template>
<div class="_content"> <div class="_content">
@ -19,7 +19,7 @@
</div> </div>
</MkContainer> </MkContainer>
<MkContainer :body-togglable="true" :scrollable="true" class="_vMargin" style="height: 300px;"> <MkContainer :body-togglable="true" :scrollable="true" class="_gap" style="height: 300px;">
<template #header><Fa :icon="faDatabase"/>{{ $ts.database }}</template> <template #header><Fa :icon="faDatabase"/>{{ $ts.database }}</template>
<div class="_content" v-if="dbInfo"> <div class="_content" v-if="dbInfo">

View file

@ -1,6 +1,6 @@
<template> <template>
<div v-if="meta" class="_section"> <div v-if="meta" class="_section">
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faInfoCircle"/> {{ $ts.basicInfo }}</div> <div class="_title"><Fa :icon="faInfoCircle"/> {{ $ts.basicInfo }}</div>
<div class="_content"> <div class="_content">
<MkInput v-model:value="name">{{ $ts.instanceName }}</MkInput> <MkInput v-model:value="name">{{ $ts.instanceName }}</MkInput>
@ -20,7 +20,7 @@
<MkInput v-model:value="pinnedClipId">{{ $ts.pinnedClipId }}</MkInput> <MkInput v-model:value="pinnedClipId">{{ $ts.pinnedClipId }}</MkInput>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_content"> <div class="_content">
<MkInput v-model:value="maxNoteTextLength" type="number" :save="() => save()"><template #icon><Fa :icon="faPencilAlt"/></template>{{ $ts.maxNoteTextLength }}</MkInput> <MkInput v-model:value="maxNoteTextLength" type="number" :save="() => save()"><template #icon><Fa :icon="faPencilAlt"/></template>{{ $ts.maxNoteTextLength }}</MkInput>
</div> </div>
@ -34,7 +34,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faUser"/> {{ $ts.registration }}</div> <div class="_title"><Fa :icon="faUser"/> {{ $ts.registration }}</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="enableRegistration" @update:value="save()">{{ $ts.enableRegistration }}</MkSwitch> <MkSwitch v-model:value="enableRegistration" @update:value="save()">{{ $ts.enableRegistration }}</MkSwitch>
@ -42,7 +42,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.hcaptcha }}</div> <div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.hcaptcha }}</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="enableHcaptcha">{{ $ts.enableHcaptcha }}</MkSwitch> <MkSwitch v-model:value="enableHcaptcha">{{ $ts.enableHcaptcha }}</MkSwitch>
@ -60,7 +60,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.recaptcha }}</div> <div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.recaptcha }}</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="enableRecaptcha" ref="enableRecaptcha">{{ $ts.enableRecaptcha }}</MkSwitch> <MkSwitch v-model:value="enableRecaptcha" ref="enableRecaptcha">{{ $ts.enableRecaptcha }}</MkSwitch>
@ -78,7 +78,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faEnvelope" /> {{ $ts.emailConfig }}</div> <div class="_title"><Fa :icon="faEnvelope" /> {{ $ts.emailConfig }}</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="enableEmail" @update:value="save()">{{ $ts.enableEmail }}<template #desc>{{ $ts.emailConfigInfo }}</template></MkSwitch> <MkSwitch v-model:value="enableEmail" @update:value="save()">{{ $ts.enableEmail }}<template #desc>{{ $ts.emailConfigInfo }}</template></MkSwitch>
@ -101,7 +101,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faBolt"/> {{ $ts.serviceworker }}</div> <div class="_title"><Fa :icon="faBolt"/> {{ $ts.serviceworker }}</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="enableServiceWorker">{{ $ts.enableServiceworker }}<template #desc>{{ $ts.serviceworkerInfo }}</template></MkSwitch> <MkSwitch v-model:value="enableServiceWorker">{{ $ts.enableServiceworker }}<template #desc>{{ $ts.serviceworkerInfo }}</template></MkSwitch>
@ -117,7 +117,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedUsers }}</div> <div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedUsers }}</div>
<div class="_content"> <div class="_content">
<MkTextarea v-model:value="pinnedUsers"> <MkTextarea v-model:value="pinnedUsers">
@ -129,7 +129,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedPages }}</div> <div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedPages }}</div>
<div class="_content"> <div class="_content">
<MkTextarea v-model:value="pinnedPages"> <MkTextarea v-model:value="pinnedPages">
@ -141,7 +141,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faCloud"/> {{ $ts.files }}</div> <div class="_title"><Fa :icon="faCloud"/> {{ $ts.files }}</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="cacheRemoteFiles">{{ $ts.cacheRemoteFiles }}<template #desc>{{ $ts.cacheRemoteFilesDescription }}</template></MkSwitch> <MkSwitch v-model:value="cacheRemoteFiles">{{ $ts.cacheRemoteFiles }}<template #desc>{{ $ts.cacheRemoteFilesDescription }}</template></MkSwitch>
@ -154,7 +154,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faCloud"/> {{ $ts.objectStorage }}</div> <div class="_title"><Fa :icon="faCloud"/> {{ $ts.objectStorage }}</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="useObjectStorage">{{ $ts.useObjectStorage }}</MkSwitch> <MkSwitch v-model:value="useObjectStorage">{{ $ts.useObjectStorage }}</MkSwitch>
@ -183,7 +183,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faGhost"/> {{ $ts.proxyAccount }}</div> <div class="_title"><Fa :icon="faGhost"/> {{ $ts.proxyAccount }}</div>
<div class="_content"> <div class="_content">
<MkInput :value="proxyAccount ? proxyAccount.username : null" disabled><template #prefix>@</template>{{ $ts.proxyAccount }}<template #desc>{{ $ts.proxyAccountDescription }}</template></MkInput> <MkInput :value="proxyAccount ? proxyAccount.username : null" disabled><template #prefix>@</template>{{ $ts.proxyAccount }}<template #desc>{{ $ts.proxyAccountDescription }}</template></MkInput>
@ -191,7 +191,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faBan"/> {{ $ts.blockedInstances }}</div> <div class="_title"><Fa :icon="faBan"/> {{ $ts.blockedInstances }}</div>
<div class="_content"> <div class="_content">
<MkTextarea v-model:value="blockedHosts"> <MkTextarea v-model:value="blockedHosts">
@ -203,7 +203,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faShareAlt"/> {{ $ts.integration }}</div> <div class="_title"><Fa :icon="faShareAlt"/> {{ $ts.integration }}</div>
<div class="_content"> <div class="_content">
<header><Fa :icon="faTwitter"/> Twitter</header> <header><Fa :icon="faTwitter"/> Twitter</header>
@ -237,7 +237,7 @@
</div> </div>
</section> </section>
<section class="_card _vMargin"> <section class="_card _gap">
<div class="_title"><Fa :icon="faArchway" /> Summaly Proxy</div> <div class="_title"><Fa :icon="faArchway" /> Summaly Proxy</div>
<div class="_content"> <div class="_content">
<MkInput v-model:value="summalyProxy">URL</MkInput> <MkInput v-model:value="summalyProxy">URL</MkInput>

View file

@ -53,7 +53,7 @@
</div> </div>
<MkPagination :pagination="pagination" #default="{items}" class="users" ref="users"> <MkPagination :pagination="pagination" #default="{items}" class="users" ref="users">
<button class="user _panel _button _vMargin" v-for="user in items" :key="user.id" @click="show(user)"> <button class="user _panel _button _gap" v-for="user in items" :key="user.id" @click="show(user)">
<MkAvatar class="avatar" :user="user" :disable-link="true"/> <MkAvatar class="avatar" :user="user" :disable-link="true"/>
<div class="body"> <div class="body">
<header> <header>

View file

@ -4,7 +4,7 @@
<div class="history" v-if="messages.length > 0"> <div class="history" v-if="messages.length > 0">
<MkA v-for="(message, i) in messages" <MkA v-for="(message, i) in messages"
class="message _block _isolated" class="message _block _gap"
:class="{ isMe: isMe(message), isRead: message.groupId ? message.reads.includes($i.id) : message.isRead }" :class="{ isMe: isMe(message), isRead: message.groupId ? message.reads.includes($i.id) : message.isRead }"
:to="message.groupId ? `/my/messaging/group/${message.groupId}` : `/my/messaging/${getAcct(isMe(message) ? message.recipient : message.user)}`" :to="message.groupId ? `/my/messaging/group/${message.groupId}` : `/my/messaging/${getAcct(isMe(message) ? message.recipient : message.user)}`"
:data-index="i" :data-index="i"

View file

@ -4,7 +4,7 @@
<div class="_content"> <div class="_content">
<MkPagination :pagination="pagination" #default="{items}" ref="list" class="list"> <MkPagination :pagination="pagination" #default="{items}" ref="list" class="list">
<MkA v-for="item in items" :key="item.id" :to="`/clips/${item.id}`" class="item _panel _vMargin"> <MkA v-for="item in items" :key="item.id" :to="`/clips/${item.id}`" class="item _panel _gap">
<b>{{ item.name }}</b> <b>{{ item.name }}</b>
<div v-if="item.description" class="description">{{ item.description }}</div> <div v-if="item.description" class="description">{{ item.description }}</div>
</MkA> </MkA>

View file

@ -12,7 +12,7 @@
</transition> </transition>
<transition name="zoom" mode="out-in"> <transition name="zoom" mode="out-in">
<div v-if="group" class="_section members _vMargin"> <div v-if="group" class="_section members _gap">
<div class="_title">{{ $ts.members }}</div> <div class="_title">{{ $ts.members }}</div>
<div class="_content"> <div class="_content">
<div class="users"> <div class="users">

View file

@ -11,7 +11,7 @@
</transition> </transition>
<transition name="zoom" mode="out-in"> <transition name="zoom" mode="out-in">
<div v-if="list" class="_section members _vMargin"> <div v-if="list" class="_section members _gap">
<div class="_title">{{ $ts.members }}</div> <div class="_title">{{ $ts.members }}</div>
<div class="_content"> <div class="_content">
<div class="users"> <div class="users">

View file

@ -1,19 +1,19 @@
<template> <template>
<div class="fcuexfpr _root"> <div class="fcuexfpr _root">
<div v-if="note" class="note" v-anim> <div v-if="note" class="note" v-anim>
<div class="_vMargin" v-if="showNext"> <div class="_gap" v-if="showNext">
<XNotes class="_content _noGap_" :pagination="next"/> <XNotes class="_content _noGap_" :pagination="next"/>
</div> </div>
<div class="main _vMargin"> <div class="main _gap">
<MkButton v-if="!showNext && hasNext" class="load next" @click="showNext = true"><Fa :icon="faChevronUp"/></MkButton> <MkButton v-if="!showNext && hasNext" class="load next" @click="showNext = true"><Fa :icon="faChevronUp"/></MkButton>
<div class="_content _vMargin"> <div class="_content _gap">
<MkRemoteCaution v-if="note.user.host != null" :href="note.url || note.uri" class="_vMargin"/> <MkRemoteCaution v-if="note.user.host != null" :href="note.url || note.uri" class="_gap"/>
<XNoteDetailed v-model:note="note" :key="note.id" class="_vMargin"/> <XNoteDetailed v-model:note="note" :key="note.id" class="_gap"/>
</div> </div>
<div class="_content clips _vMargin" v-if="clips && clips.length > 0"> <div class="_content clips _gap" v-if="clips && clips.length > 0">
<div class="title">{{ $ts.clip }}</div> <div class="title">{{ $ts.clip }}</div>
<MkA v-for="item in clips" :key="item.id" :to="`/clips/${item.id}`" class="item _panel _vMargin"> <MkA v-for="item in clips" :key="item.id" :to="`/clips/${item.id}`" class="item _panel _gap">
<b>{{ item.name }}</b> <b>{{ item.name }}</b>
<div v-if="item.description" class="description">{{ item.description }}</div> <div v-if="item.description" class="description">{{ item.description }}</div>
<div class="user"> <div class="user">
@ -24,7 +24,7 @@
<MkButton v-if="!showPrev && hasPrev" class="load prev" @click="showPrev = true"><Fa :icon="faChevronDown"/></MkButton> <MkButton v-if="!showPrev && hasPrev" class="load prev" @click="showPrev = true"><Fa :icon="faChevronDown"/></MkButton>
</div> </div>
<div class="_vMargin" v-if="showPrev"> <div class="_gap" v-if="showPrev">
<XNotes class="_content _noGap_" :pagination="prev"/> <XNotes class="_content _noGap_" :pagination="prev"/>
</div> </div>
</div> </div>

View file

@ -8,7 +8,7 @@
<MkButton inline @click="del" class="delete" v-if="pageId && !readonly"><Fa :icon="faTrashAlt"/> {{ $ts.delete }}</MkButton> <MkButton inline @click="del" class="delete" v-if="pageId && !readonly"><Fa :icon="faTrashAlt"/> {{ $ts.delete }}</MkButton>
</div> </div>
<MkContainer :body-togglable="true" :expanded="true" class="_vMargin"> <MkContainer :body-togglable="true" :expanded="true" class="_gap">
<template #header><Fa :icon="faCog"/> {{ $ts._pages.pageSetting }}</template> <template #header><Fa :icon="faCog"/> {{ $ts._pages.pageSetting }}</template>
<div style="padding: 16px;"> <div style="padding: 16px;">
<MkInput v-model:value="title"> <MkInput v-model:value="title">
@ -44,7 +44,7 @@
</div> </div>
</MkContainer> </MkContainer>
<MkContainer :body-togglable="true" :expanded="true" class="_vMargin"> <MkContainer :body-togglable="true" :expanded="true" class="_gap">
<template #header><Fa :icon="faStickyNote"/> {{ $ts._pages.contents }}</template> <template #header><Fa :icon="faStickyNote"/> {{ $ts._pages.contents }}</template>
<div style="padding: 16px;"> <div style="padding: 16px;">
<XBlocks class="content" v-model:value="content" :hpml="hpml"/> <XBlocks class="content" v-model:value="content" :hpml="hpml"/>
@ -53,7 +53,7 @@
</div> </div>
</MkContainer> </MkContainer>
<MkContainer :body-togglable="true" class="_vMargin"> <MkContainer :body-togglable="true" class="_gap">
<template #header><Fa :icon="faMagic"/> {{ $ts._pages.variables }}</template> <template #header><Fa :icon="faMagic"/> {{ $ts._pages.variables }}</template>
<div class="qmuvgica"> <div class="qmuvgica">
<XDraggable tag="div" class="variables" v-show="variables.length > 0" v-model="variables" item-key="name" handle=".drag-handle" :group="{ name: 'variables' }" animation="150" swap-threshold="0.5"> <XDraggable tag="div" class="variables" v-show="variables.length > 0" v-model="variables" item-key="name" handle=".drag-handle" :group="{ name: 'variables' }" animation="150" swap-threshold="0.5">
@ -74,7 +74,7 @@
</div> </div>
</MkContainer> </MkContainer>
<MkContainer :body-togglable="true" :expanded="true" class="_vMargin"> <MkContainer :body-togglable="true" :expanded="true" class="_gap">
<template #header><Fa :icon="faCode"/> {{ $ts.script }}</template> <template #header><Fa :icon="faCode"/> {{ $ts.script }}</template>
<div> <div>
<MkTextarea class="_code" v-model:value="script"/> <MkTextarea class="_code" v-model:value="script"/>

View file

@ -1,18 +1,18 @@
<template> <template>
<div class="iltifgqe"> <div class="iltifgqe">
<div class="editor _panel _vMargin"> <div class="editor _panel _gap">
<PrismEditor class="_code code" v-model="code" :highlight="highlighter" :line-numbers="false"/> <PrismEditor class="_code code" v-model="code" :highlight="highlighter" :line-numbers="false"/>
<MkButton style="position: absolute; top: 8px; right: 8px;" @click="run()" primary><Fa :icon="faPlay"/></MkButton> <MkButton style="position: absolute; top: 8px; right: 8px;" @click="run()" primary><Fa :icon="faPlay"/></MkButton>
</div> </div>
<MkContainer :body-togglable="true" class="_vMargin"> <MkContainer :body-togglable="true" class="_gap">
<template #header><Fa fixed-width/>{{ $ts.output }}</template> <template #header><Fa fixed-width/>{{ $ts.output }}</template>
<div class="bepmlvbi"> <div class="bepmlvbi">
<div v-for="log in logs" class="log" :key="log.id" :class="{ print: log.print }">{{ log.text }}</div> <div v-for="log in logs" class="log" :key="log.id" :class="{ print: log.print }">{{ log.text }}</div>
</div> </div>
</MkContainer> </MkContainer>
<div class="_vMargin"> <div class="_gap">
{{ $ts.scratchpadDescription }} {{ $ts.scratchpadDescription }}
</div> </div>
</div> </div>

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="_section"> <div class="_section">
<div class="_content"> <div class="_content">
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">Dialog</div> <div class="_title">Dialog</div>
<div class="_content"> <div class="_content">
<MkInput v-model:value="dialogTitle"> <MkInput v-model:value="dialogTitle">
@ -30,7 +30,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">Form</div> <div class="_title">Form</div>
<div class="_content"> <div class="_content">
<MkInput v-model:value="formTitle"> <MkInput v-model:value="formTitle">
@ -46,7 +46,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">MFM</div> <div class="_title">MFM</div>
<div class="_content"> <div class="_content">
<MkTextarea v-model:value="mfm"> <MkTextarea v-model:value="mfm">
@ -58,7 +58,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">selectDriveFile</div> <div class="_title">selectDriveFile</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="selectDriveFileMultiple"> <MkSwitch v-model:value="selectDriveFileMultiple">
@ -71,7 +71,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">selectDriveFolder</div> <div class="_title">selectDriveFolder</div>
<div class="_content"> <div class="_content">
<MkSwitch v-model:value="selectDriveFolderMultiple"> <MkSwitch v-model:value="selectDriveFolderMultiple">
@ -84,7 +84,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">selectUser</div> <div class="_title">selectUser</div>
<div class="_content"> <div class="_content">
<MkButton @click="selectUser()">selectUser</MkButton> <MkButton @click="selectUser()">selectUser</MkButton>
@ -94,7 +94,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">Notification</div> <div class="_title">Notification</div>
<div class="_content"> <div class="_content">
<MkInput v-model:value="notificationIconUrl"> <MkInput v-model:value="notificationIconUrl">
@ -110,7 +110,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">Waiting dialog</div> <div class="_title">Waiting dialog</div>
<div class="_content"> <div class="_content">
<MkButton inline @click="openWaitingDialog()">icon only</MkButton> <MkButton inline @click="openWaitingDialog()">icon only</MkButton>
@ -118,7 +118,7 @@
</div> </div>
</div> </div>
<div class="_card _vMargin"> <div class="_card _gap">
<div class="_title">Messaging window</div> <div class="_title">Messaging window</div>
<div class="_content"> <div class="_content">
<MkButton @click="messagingWindowOpen()">open</MkButton> <MkButton @click="messagingWindowOpen()">open</MkButton>

View file

@ -2,9 +2,10 @@
<div class="cmuxhskf _root" v-hotkey.global="keymap"> <div class="cmuxhskf _root" v-hotkey.global="keymap">
<div class="new" v-if="queue > 0" :style="{ width: width + 'px' }"><button class="_buttonPrimary" @click="top()">{{ $ts.newNoteRecived }}</button></div> <div class="new" v-if="queue > 0" :style="{ width: width + 'px' }"><button class="_buttonPrimary" @click="top()">{{ $ts.newNoteRecived }}</button></div>
<XTutorial v-if="$store.reactiveState.tutorial.value != -1" class="tutorial _block _isolated"/> <div class="_magnet"></div>
<XPostForm v-if="$store.reactiveState.showFixedPostForm.value" class="post-form _block _isolated" fixed/> <XTutorial v-if="$store.reactiveState.tutorial.value != -1" class="tutorial _block _gap"/>
<div class="tabs _block _vMargin"> <XPostForm v-if="$store.reactiveState.showFixedPostForm.value" class="post-form _block _gap" fixed/>
<div class="tabs _block _gap">
<div class="left"> <div class="left">
<button class="_button tab" @click="() => { src = 'home'; saveSrc(); }" :class="{ active: src === 'home' }" v-tooltip="$ts._timelines.home"><Fa :icon="faHome"/></button> <button class="_button tab" @click="() => { src = 'home'; saveSrc(); }" :class="{ active: src === 'home' }" v-tooltip="$ts._timelines.home"><Fa :icon="faHome"/></button>
<button class="_button tab" @click="() => { src = 'local'; saveSrc(); }" :class="{ active: src === 'local' }" v-tooltip="$ts._timelines.local" v-if="isLocalTimelineAvailable"><Fa :icon="faComments"/></button> <button class="_button tab" @click="() => { src = 'local'; saveSrc(); }" :class="{ active: src === 'local' }" v-tooltip="$ts._timelines.local" v-if="isLocalTimelineAvailable"><Fa :icon="faComments"/></button>
@ -21,7 +22,7 @@
</div> </div>
</div> </div>
<XTimeline ref="tl" <XTimeline ref="tl"
class="_vMargin" class="_gap"
:key="src === 'list' ? `list:${list.id}` : src === 'antenna' ? `antenna:${antenna.id}` : src === 'channel' ? `channel:${channel.id}` : src" :key="src === 'list' ? `list:${list.id}` : src === 'antenna' ? `antenna:${antenna.id}` : src === 'channel' ? `channel:${channel.id}` : src"
:src="src" :src="src"
:list="list ? list.id : null" :list="list ? list.id : null"

View file

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<MkPagination :pagination="pagination" #default="{items}" ref="list"> <MkPagination :pagination="pagination" #default="{items}" ref="list">
<MkA v-for="item in items" :key="item.id" :to="`/clips/${item.id}`" class="item _panel _vMargin"> <MkA v-for="item in items" :key="item.id" :to="`/clips/${item.id}`" class="item _panel _gap">
<b>{{ item.name }}</b> <b>{{ item.name }}</b>
<div v-if="item.description" class="description">{{ item.description }}</div> <div v-if="item.description" class="description">{{ item.description }}</div>
</MkA> </MkA>

View file

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<MkPagination :pagination="pagination" #default="{items}" class="mk-following-or-followers _content" ref="list"> <MkPagination :pagination="pagination" #default="{items}" class="mk-following-or-followers" ref="list">
<div class="users"> <div class="users _isolated">
<MkUserInfo class="user" v-for="user in items.map(x => type === 'following' ? x.followee : x.follower)" :user="user" :key="user.id"/> <MkUserInfo class="user" v-for="user in items.map(x => type === 'following' ? x.followee : x.follower)" :user="user" :key="user.id"/>
</div> </div>
</MkPagination> </MkPagination>

View file

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<MkTab v-model:value="with_" class="_isolated _section"> <MkTab v-model:value="with_" class="_gap _section">
<option :value="null">{{ $ts.notes }}</option> <option :value="null">{{ $ts.notes }}</option>
<option value="replies">{{ $ts.notesAndReplies }}</option> <option value="replies">{{ $ts.notesAndReplies }}</option>
<option value="files">{{ $ts.withFiles }}</option> <option value="files">{{ $ts.withFiles }}</option>

View file

@ -1,9 +1,9 @@
<template> <template>
<div> <div>
<div class="ftskorzw wide _section" v-if="user && narrow === false"> <div class="ftskorzw wide _section" v-if="user && narrow === false">
<MkRemoteCaution v-if="user.host != null" :href="user.url" class="_vMargin"/> <MkRemoteCaution v-if="user.host != null" :href="user.url" class="_gap"/>
<div class="banner-container _vMargin" :style="style"> <div class="banner-container _gap" :style="style">
<div class="banner" ref="banner" :style="style"></div> <div class="banner" ref="banner" :style="style"></div>
</div> </div>
<div class="contents"> <div class="contents">
@ -56,11 +56,11 @@
</dd> </dd>
</dl> </dl>
</div> </div>
<XActivity :user="user" :key="user.id" class="_vMargin"/> <XActivity :user="user" :key="user.id" class="_gap"/>
<XPhotos :user="user" :key="user.id" class="_vMargin"/> <XPhotos :user="user" :key="user.id" class="_gap"/>
</div> </div>
<div class="main"> <div class="main">
<div class="nav _vMargin"> <div class="nav _gap">
<MkA :to="userPage(user)" :class="{ active: page === 'index' }" class="link"> <MkA :to="userPage(user)" :class="{ active: page === 'index' }" class="link">
<Fa :icon="faCommentAlt" class="icon"/> <Fa :icon="faCommentAlt" class="icon"/>
<span>{{ $ts.notes }}</span> <span>{{ $ts.notes }}</span>
@ -79,17 +79,17 @@
</div> </div>
</div> </div>
<template v-if="page === 'index'"> <template v-if="page === 'index'">
<div v-if="user.pinnedNotes.length > 0" class="_vMargin"> <div v-if="user.pinnedNotes.length > 0" class="_gap">
<XNote v-for="note in user.pinnedNotes" class="note _vMargin" :note="note" @update:note="pinnedNoteUpdated(note, $event)" :key="note.id" :pinned="true"/> <XNote v-for="note in user.pinnedNotes" class="note _gap" :note="note" @update:note="pinnedNoteUpdated(note, $event)" :key="note.id" :pinned="true"/>
</div> </div>
<div class="_vMargin"> <div class="_gap">
<XUserTimeline :user="user"/> <XUserTimeline :user="user"/>
</div> </div>
</template> </template>
<XFollowList v-else-if="page === 'following'" type="following" :user="user" class="_vMargin"/> <XFollowList v-else-if="page === 'following'" type="following" :user="user" class="_gap"/>
<XFollowList v-else-if="page === 'followers'" type="followers" :user="user" class="_vMargin"/> <XFollowList v-else-if="page === 'followers'" type="followers" :user="user" class="_gap"/>
<XClips v-else-if="page === 'clips'" :user="user" class="_vMargin"/> <XClips v-else-if="page === 'clips'" :user="user" class="_gap"/>
<XPages v-else-if="page === 'pages'" :user="user" class="_vMargin"/> <XPages v-else-if="page === 'pages'" :user="user" class="_gap"/>
</div> </div>
</div> </div>
</div> </div>
@ -98,10 +98,12 @@
<!-- <div class="punished" v-if="user.isSuspended"><Fa :icon="faExclamationTriangle" style="margin-right: 8px;"/> {{ $ts.userSuspended }}</div> --> <!-- <div class="punished" v-if="user.isSuspended"><Fa :icon="faExclamationTriangle" style="margin-right: 8px;"/> {{ $ts.userSuspended }}</div> -->
<!-- <div class="punished" v-if="user.isSilenced"><Fa :icon="faExclamationTriangle" style="margin-right: 8px;"/> {{ $ts.userSilenced }}</div> --> <!-- <div class="punished" v-if="user.isSilenced"><Fa :icon="faExclamationTriangle" style="margin-right: 8px;"/> {{ $ts.userSilenced }}</div> -->
<div class="profile"> <div class="_magnet"></div>
<MkRemoteCaution v-if="user.host != null" :href="user.url" class="_vMargin"/>
<div class="_vMargin _block main" :key="user.id"> <div class="profile">
<MkRemoteCaution v-if="user.host != null" :href="user.url" class="_gap"/>
<div class="_gap _block main" :key="user.id">
<div class="banner-container" :style="style"> <div class="banner-container" :style="style">
<div class="banner" ref="banner" :style="style"></div> <div class="banner" ref="banner" :style="style"></div>
<div class="fade"></div> <div class="fade"></div>
@ -178,7 +180,7 @@
</div> </div>
<div class="contents"> <div class="contents">
<div class="nav _isolated"> <div class="nav _gap">
<MkA :to="userPage(user)" :class="{ active: page === 'index' }" class="link"> <MkA :to="userPage(user)" :class="{ active: page === 'index' }" class="link">
<Fa :icon="faCommentAlt" class="icon"/> <Fa :icon="faCommentAlt" class="icon"/>
<span>{{ $ts.notes }}</span> <span>{{ $ts.notes }}</span>
@ -196,7 +198,7 @@
<template v-if="page === 'index'"> <template v-if="page === 'index'">
<div> <div>
<div v-if="user.pinnedNotes.length > 0"> <div v-if="user.pinnedNotes.length > 0">
<XNote v-for="note in user.pinnedNotes" class="note _block _isolated" :note="note" @update:note="pinnedNoteUpdated(note, $event)" :key="note.id" :pinned="true"/> <XNote v-for="note in user.pinnedNotes" class="note _block _gap" :note="note" @update:note="pinnedNoteUpdated(note, $event)" :key="note.id" :pinned="true"/>
</div> </div>
<XPhotos :user="user" :key="user.id"/> <XPhotos :user="user" :key="user.id"/>
<XActivity :user="user" :key="user.id"/> <XActivity :user="user" :key="user.id"/>
@ -205,10 +207,10 @@
<XUserTimeline :user="user"/> <XUserTimeline :user="user"/>
</div> </div>
</template> </template>
<XFollowList v-else-if="page === 'following'" type="following" :user="user" class="_content _vMargin"/> <XFollowList v-else-if="page === 'following'" type="following" :user="user" class="_content _gap"/>
<XFollowList v-else-if="page === 'followers'" type="followers" :user="user" class="_content _vMargin"/> <XFollowList v-else-if="page === 'followers'" type="followers" :user="user" class="_content _gap"/>
<XClips v-else-if="page === 'clips'" :user="user" class="_vMargin"/> <XClips v-else-if="page === 'clips'" :user="user" class="_gap"/>
<XPages v-else-if="page === 'pages'" :user="user" class="_vMargin"/> <XPages v-else-if="page === 'pages'" :user="user" class="_gap"/>
</div> </div>
</div> </div>
<div v-else-if="error"> <div v-else-if="error">

View file

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<MkPagination :pagination="pagination" #default="{items}" ref="list"> <MkPagination :pagination="pagination" #default="{items}" ref="list">
<MkPagePreview v-for="page in items" :page="page" :key="page.id" class="_vMargin"/> <MkPagePreview v-for="page in items" :page="page" :key="page.id" class="_gap"/>
</MkPagination> </MkPagination>
</div> </div>
</template> </template>

View file

@ -249,6 +249,14 @@ hr {
@extend ._panel; @extend ._panel;
} }
._gap {
margin: var(--margin) 0;
}
._magnet {
margin-bottom: calc(var(--margin) * -1);
}
._isolated { ._isolated {
margin: var(--margin) 0; margin: var(--margin) 0;
} }
@ -347,6 +355,10 @@ hr {
box-shadow: none; box-shadow: none;
} }
._isolated {
margin: var(--margin);
}
@media (max-width: 500px) { @media (max-width: 500px) {
._root { ._root {
--root-margin: 0; --root-margin: 0;
@ -375,12 +387,6 @@ hr {
backdrop-filter: blur(15px); backdrop-filter: blur(15px);
} }
._vMargin {
& + ._vMargin {
margin-top: var(--margin);
}
}
._table { ._table {
> ._row { > ._row {
display: flex; display: flex;