diff --git a/src/client/components/notes.vue b/src/client/components/notes.vue index 724131d0c2..33fb57c8cf 100644 --- a/src/client/components/notes.vue +++ b/src/client/components/notes.vue @@ -15,7 +15,7 @@ </div> <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> <div v-show="more && !reversed" style="margin-top: var(--margin);"> diff --git a/src/client/components/signin.vue b/src/client/components/signin.vue index 193d5afecf..6e05c8c008 100755 --- a/src/client/components/signin.vue +++ b/src/client/components/signin.vue @@ -40,9 +40,9 @@ </div> <div class="_hr"></div> <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 _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 _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.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.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.enableDiscordIntegration" :href="`${apiUrl}/signin/discord`"><Fa :icon="faDiscord" style="margin-right: 4px;"/>{{ $t('signinWith', { x: 'Discord' }) }}</a> </div> </form> </template> diff --git a/src/client/components/ui/container.vue b/src/client/components/ui/container.vue index efcff7a36c..6a571f6e65 100644 --- a/src/client/components/ui/container.vue +++ b/src/client/components/ui/container.vue @@ -1,5 +1,5 @@ <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"> <div class="title"><slot name="header"></slot></div> <div class="sub"> diff --git a/src/client/pages/advanced-theme-editor.vue b/src/client/pages/advanced-theme-editor.vue index 3808c8abbe..fff525a32d 100644 --- a/src/client/pages/advanced-theme-editor.vue +++ b/src/client/pages/advanced-theme-editor.vue @@ -12,7 +12,7 @@ </div> </section> <section class="_section"> - <div class="_content _card _vMargin"> + <div class="_content _card _gap"> <div class="_content"> <MkInput v-model:value="name" required><span>{{ $ts.name }}</span></MkInput> <MkInput v-model:value="author" required><span>{{ $ts.author }}</span></MkInput> @@ -24,7 +24,7 @@ </div> </div> </div> - <div class="_content _card _vMargin"> + <div class="_content _card _gap"> <div class="list-view _content"> <div class="item" v-for="([ k, v ], i) in theme" :key="k"> <div class="_inputs"> diff --git a/src/client/pages/announcements.vue b/src/client/pages/announcements.vue index 041f513f99..4e5f0e7f9c 100644 --- a/src/client/pages/announcements.vue +++ b/src/client/pages/announcements.vue @@ -1,7 +1,7 @@ <template> <div class="_section"> <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="_content"> <Mfm :text="announcement.text"/> diff --git a/src/client/pages/channel.vue b/src/client/pages/channel.vue index 4302f963e4..0d0184a517 100644 --- a/src/client/pages/channel.vue +++ b/src/client/pages/channel.vue @@ -1,6 +1,6 @@ <template> <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"/> <button class="_button toggle" @click="() => showBanner = !showBanner"> <template v-if="showBanner"><Fa :icon="faAngleUp"/></template> @@ -20,9 +20,9 @@ </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> </template> diff --git a/src/client/pages/channels.vue b/src/client/pages/channels.vue index 530af7a4a7..ebf1e7b871 100644 --- a/src/client/pages/channels.vue +++ b/src/client/pages/channels.vue @@ -11,20 +11,20 @@ <div class="_section"> <div class="_content grwlizim featured" v-if="tab === 'featured'"> <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> </div> <div class="_content grwlizim following" v-if="tab === 'following'"> <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> </div> <div class="_content grwlizim owned" v-if="tab === 'owned'"> <MkButton class="new" @click="create()"><Fa :icon="faPlus"/></MkButton> <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> </div> </div> diff --git a/src/client/pages/clip.vue b/src/client/pages/clip.vue index e0f5868a15..493a34e7f0 100644 --- a/src/client/pages/clip.vue +++ b/src/client/pages/clip.vue @@ -1,6 +1,6 @@ <template> <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"> <Mfm :text="clip.description" :is-note="false" :i="$i"/> </div> @@ -9,7 +9,7 @@ </div> </div> - <XNotes class="_content _vMargin" :pagination="pagination" :detail="true"/> + <XNotes class="_content _gap" :pagination="pagination" :detail="true"/> </div> </template> diff --git a/src/client/pages/explore.vue b/src/client/pages/explore.vue index 07989f8442..50106f4580 100644 --- a/src/client/pages/explore.vue +++ b/src/client/pages/explore.vue @@ -3,38 +3,38 @@ <div class="_section"> <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> <div><span>{{ $t('exploreUsersCount', { count: num(stats.originalUsersCount) }) }}</span></div> </div> <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> <XUserList :pagination="pinnedUsers"/> </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> <XUserList :pagination="popularUsers"/> </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> <XUserList :pagination="recentlyUpdatedUsers"/> </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> <XUserList :pagination="recentlyRegisteredUsers"/> </MkFolder> </template> </div> <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> </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> <div class="vxjfqztj"> @@ -43,21 +43,21 @@ </div> </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> <XUserList :pagination="tagUsers"/> </MkFolder> <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> <XUserList :pagination="popularUsersF"/> </MkFolder> - <MkFolder class="_vMargin"> + <MkFolder class="_gap"> <template #header><Fa :icon="faCommentAlt" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyUpdatedUsers }}</template> <XUserList :pagination="recentlyUpdatedUsersF"/> </MkFolder> - <MkFolder class="_vMargin"> + <MkFolder class="_gap"> <template #header><Fa :icon="faRocket" fixed-width style="margin-right: 0.5em;"/>{{ $ts.recentlyDiscoveredUsers }}</template> <XUserList :pagination="recentlyRegisteredUsersF"/> </MkFolder> diff --git a/src/client/pages/instance/abuses.vue b/src/client/pages/instance/abuses.vue index 9727c160ba..736f05cc72 100644 --- a/src/client/pages/instance/abuses.vue +++ b/src/client/pages/instance/abuses.vue @@ -34,7 +34,7 @@ --> <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"> <MkAvatar class="avatar" :user="report.targetUser"/> <div class="info"> diff --git a/src/client/pages/instance/announcements.vue b/src/client/pages/instance/announcements.vue index 426199c163..f9d58a29c4 100644 --- a/src/client/pages/instance/announcements.vue +++ b/src/client/pages/instance/announcements.vue @@ -3,7 +3,7 @@ <div class="_section"> <div class="_content"> <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"> <MkInput v-model:value="announcement.title"> <span>{{ $ts.title }}</span> diff --git a/src/client/pages/instance/files.vue b/src/client/pages/instance/files.vue index a1f134f558..e7de050df8 100644 --- a/src/client/pages/instance/files.vue +++ b/src/client/pages/instance/files.vue @@ -35,7 +35,7 @@ </MkInput> </div> <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"/> <div class="body"> <div> diff --git a/src/client/pages/instance/index.metrics.vue b/src/client/pages/instance/index.metrics.vue index b467ce06f5..48844e0681 100644 --- a/src/client/pages/instance/index.metrics.vue +++ b/src/client/pages/instance/index.metrics.vue @@ -4,7 +4,7 @@ <template #header><Fa :icon="faHeartbeat"/> {{ $ts.metrics }}</template> <div class="_section" style="padding: 0 var(--margin);"> <div class="_content"> - <MkContainer :body-togglable="false" class="_vMargin"> + <MkContainer :body-togglable="false" class="_gap"> <template #header><Fa :icon="faMicrochip"/>{{ $ts.cpuAndMemory }}</template> <!-- <template #func> @@ -27,7 +27,7 @@ </div> </MkContainer> - <MkContainer :body-togglable="false" class="_vMargin"> + <MkContainer :body-togglable="false" class="_gap"> <template #header><Fa :icon="faHdd"/> {{ $ts.disk }}</template> <!-- <template #func> @@ -50,7 +50,7 @@ </div> </MkContainer> - <MkContainer :body-togglable="false" class="_vMargin"> + <MkContainer :body-togglable="false" class="_gap"> <template #header><Fa :icon="faExchangeAlt"/> {{ $ts.network }}</template> <!-- <template #func> diff --git a/src/client/pages/instance/index.vue b/src/client/pages/instance/index.vue index 7e34976938..54a0584ccc 100644 --- a/src/client/pages/instance/index.vue +++ b/src/client/pages/instance/index.vue @@ -4,9 +4,9 @@ <template #header><Fa :icon="faTachometerAlt"/> {{ $ts.overview }}</template> <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> <div class="_content"> @@ -19,7 +19,7 @@ </div> </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> <div class="_content" v-if="dbInfo"> diff --git a/src/client/pages/instance/settings.vue b/src/client/pages/instance/settings.vue index 660a3d4fe3..038ecfd5ac 100644 --- a/src/client/pages/instance/settings.vue +++ b/src/client/pages/instance/settings.vue @@ -1,6 +1,6 @@ <template> <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="_content"> <MkInput v-model:value="name">{{ $ts.instanceName }}</MkInput> @@ -20,7 +20,7 @@ <MkInput v-model:value="pinnedClipId">{{ $ts.pinnedClipId }}</MkInput> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_content"> <MkInput v-model:value="maxNoteTextLength" type="number" :save="() => save()"><template #icon><Fa :icon="faPencilAlt"/></template>{{ $ts.maxNoteTextLength }}</MkInput> </div> @@ -34,7 +34,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faUser"/> {{ $ts.registration }}</div> <div class="_content"> <MkSwitch v-model:value="enableRegistration" @update:value="save()">{{ $ts.enableRegistration }}</MkSwitch> @@ -42,7 +42,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.hcaptcha }}</div> <div class="_content"> <MkSwitch v-model:value="enableHcaptcha">{{ $ts.enableHcaptcha }}</MkSwitch> @@ -60,7 +60,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.recaptcha }}</div> <div class="_content"> <MkSwitch v-model:value="enableRecaptcha" ref="enableRecaptcha">{{ $ts.enableRecaptcha }}</MkSwitch> @@ -78,7 +78,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faEnvelope" /> {{ $ts.emailConfig }}</div> <div class="_content"> <MkSwitch v-model:value="enableEmail" @update:value="save()">{{ $ts.enableEmail }}<template #desc>{{ $ts.emailConfigInfo }}</template></MkSwitch> @@ -101,7 +101,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faBolt"/> {{ $ts.serviceworker }}</div> <div class="_content"> <MkSwitch v-model:value="enableServiceWorker">{{ $ts.enableServiceworker }}<template #desc>{{ $ts.serviceworkerInfo }}</template></MkSwitch> @@ -117,7 +117,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedUsers }}</div> <div class="_content"> <MkTextarea v-model:value="pinnedUsers"> @@ -129,7 +129,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedPages }}</div> <div class="_content"> <MkTextarea v-model:value="pinnedPages"> @@ -141,7 +141,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faCloud"/> {{ $ts.files }}</div> <div class="_content"> <MkSwitch v-model:value="cacheRemoteFiles">{{ $ts.cacheRemoteFiles }}<template #desc>{{ $ts.cacheRemoteFilesDescription }}</template></MkSwitch> @@ -154,7 +154,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faCloud"/> {{ $ts.objectStorage }}</div> <div class="_content"> <MkSwitch v-model:value="useObjectStorage">{{ $ts.useObjectStorage }}</MkSwitch> @@ -183,7 +183,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faGhost"/> {{ $ts.proxyAccount }}</div> <div class="_content"> <MkInput :value="proxyAccount ? proxyAccount.username : null" disabled><template #prefix>@</template>{{ $ts.proxyAccount }}<template #desc>{{ $ts.proxyAccountDescription }}</template></MkInput> @@ -191,7 +191,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faBan"/> {{ $ts.blockedInstances }}</div> <div class="_content"> <MkTextarea v-model:value="blockedHosts"> @@ -203,7 +203,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faShareAlt"/> {{ $ts.integration }}</div> <div class="_content"> <header><Fa :icon="faTwitter"/> Twitter</header> @@ -237,7 +237,7 @@ </div> </section> - <section class="_card _vMargin"> + <section class="_card _gap"> <div class="_title"><Fa :icon="faArchway" /> Summaly Proxy</div> <div class="_content"> <MkInput v-model:value="summalyProxy">URL</MkInput> diff --git a/src/client/pages/instance/users.vue b/src/client/pages/instance/users.vue index 9452a91eae..e998971830 100644 --- a/src/client/pages/instance/users.vue +++ b/src/client/pages/instance/users.vue @@ -53,7 +53,7 @@ </div> <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"/> <div class="body"> <header> diff --git a/src/client/pages/messaging/index.vue b/src/client/pages/messaging/index.vue index 9510349d5c..417e3903ce 100644 --- a/src/client/pages/messaging/index.vue +++ b/src/client/pages/messaging/index.vue @@ -4,7 +4,7 @@ <div class="history" v-if="messages.length > 0"> <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 }" :to="message.groupId ? `/my/messaging/group/${message.groupId}` : `/my/messaging/${getAcct(isMe(message) ? message.recipient : message.user)}`" :data-index="i" diff --git a/src/client/pages/my-clips/index.vue b/src/client/pages/my-clips/index.vue index be69e523a0..09cd7f828a 100644 --- a/src/client/pages/my-clips/index.vue +++ b/src/client/pages/my-clips/index.vue @@ -4,7 +4,7 @@ <div class="_content"> <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> <div v-if="item.description" class="description">{{ item.description }}</div> </MkA> diff --git a/src/client/pages/my-groups/group.vue b/src/client/pages/my-groups/group.vue index 878d14cec4..0631118ca3 100644 --- a/src/client/pages/my-groups/group.vue +++ b/src/client/pages/my-groups/group.vue @@ -12,7 +12,7 @@ </transition> <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="_content"> <div class="users"> diff --git a/src/client/pages/my-lists/list.vue b/src/client/pages/my-lists/list.vue index 285c48695a..21c8a696b9 100644 --- a/src/client/pages/my-lists/list.vue +++ b/src/client/pages/my-lists/list.vue @@ -11,7 +11,7 @@ </transition> <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="_content"> <div class="users"> diff --git a/src/client/pages/note.vue b/src/client/pages/note.vue index 90cb98c40e..318e43c7f6 100644 --- a/src/client/pages/note.vue +++ b/src/client/pages/note.vue @@ -1,19 +1,19 @@ <template> <div class="fcuexfpr _root"> <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"/> </div> - <div class="main _vMargin"> + <div class="main _gap"> <MkButton v-if="!showNext && hasNext" class="load next" @click="showNext = true"><Fa :icon="faChevronUp"/></MkButton> - <div class="_content _vMargin"> - <MkRemoteCaution v-if="note.user.host != null" :href="note.url || note.uri" class="_vMargin"/> - <XNoteDetailed v-model:note="note" :key="note.id" class="_vMargin"/> + <div class="_content _gap"> + <MkRemoteCaution v-if="note.user.host != null" :href="note.url || note.uri" class="_gap"/> + <XNoteDetailed v-model:note="note" :key="note.id" class="_gap"/> </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> - <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> <div v-if="item.description" class="description">{{ item.description }}</div> <div class="user"> @@ -24,7 +24,7 @@ <MkButton v-if="!showPrev && hasPrev" class="load prev" @click="showPrev = true"><Fa :icon="faChevronDown"/></MkButton> </div> - <div class="_vMargin" v-if="showPrev"> + <div class="_gap" v-if="showPrev"> <XNotes class="_content _noGap_" :pagination="prev"/> </div> </div> diff --git a/src/client/pages/page-editor/page-editor.vue b/src/client/pages/page-editor/page-editor.vue index 148f5f8c4d..f8f81541ff 100644 --- a/src/client/pages/page-editor/page-editor.vue +++ b/src/client/pages/page-editor/page-editor.vue @@ -8,7 +8,7 @@ <MkButton inline @click="del" class="delete" v-if="pageId && !readonly"><Fa :icon="faTrashAlt"/> {{ $ts.delete }}</MkButton> </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> <div style="padding: 16px;"> <MkInput v-model:value="title"> @@ -44,7 +44,7 @@ </div> </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> <div style="padding: 16px;"> <XBlocks class="content" v-model:value="content" :hpml="hpml"/> @@ -53,7 +53,7 @@ </div> </MkContainer> - <MkContainer :body-togglable="true" class="_vMargin"> + <MkContainer :body-togglable="true" class="_gap"> <template #header><Fa :icon="faMagic"/> {{ $ts._pages.variables }}</template> <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"> @@ -74,7 +74,7 @@ </div> </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> <div> <MkTextarea class="_code" v-model:value="script"/> diff --git a/src/client/pages/scratchpad.vue b/src/client/pages/scratchpad.vue index a5107bd526..3664765d02 100644 --- a/src/client/pages/scratchpad.vue +++ b/src/client/pages/scratchpad.vue @@ -1,18 +1,18 @@ <template> <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"/> <MkButton style="position: absolute; top: 8px; right: 8px;" @click="run()" primary><Fa :icon="faPlay"/></MkButton> </div> - <MkContainer :body-togglable="true" class="_vMargin"> + <MkContainer :body-togglable="true" class="_gap"> <template #header><Fa fixed-width/>{{ $ts.output }}</template> <div class="bepmlvbi"> <div v-for="log in logs" class="log" :key="log.id" :class="{ print: log.print }">{{ log.text }}</div> </div> </MkContainer> - <div class="_vMargin"> + <div class="_gap"> {{ $ts.scratchpadDescription }} </div> </div> diff --git a/src/client/pages/test.vue b/src/client/pages/test.vue index cbfdd16c80..252fa1c828 100644 --- a/src/client/pages/test.vue +++ b/src/client/pages/test.vue @@ -1,7 +1,7 @@ <template> <div class="_section"> <div class="_content"> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">Dialog</div> <div class="_content"> <MkInput v-model:value="dialogTitle"> @@ -30,7 +30,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">Form</div> <div class="_content"> <MkInput v-model:value="formTitle"> @@ -46,7 +46,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">MFM</div> <div class="_content"> <MkTextarea v-model:value="mfm"> @@ -58,7 +58,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">selectDriveFile</div> <div class="_content"> <MkSwitch v-model:value="selectDriveFileMultiple"> @@ -71,7 +71,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">selectDriveFolder</div> <div class="_content"> <MkSwitch v-model:value="selectDriveFolderMultiple"> @@ -84,7 +84,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">selectUser</div> <div class="_content"> <MkButton @click="selectUser()">selectUser</MkButton> @@ -94,7 +94,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">Notification</div> <div class="_content"> <MkInput v-model:value="notificationIconUrl"> @@ -110,7 +110,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">Waiting dialog</div> <div class="_content"> <MkButton inline @click="openWaitingDialog()">icon only</MkButton> @@ -118,7 +118,7 @@ </div> </div> - <div class="_card _vMargin"> + <div class="_card _gap"> <div class="_title">Messaging window</div> <div class="_content"> <MkButton @click="messagingWindowOpen()">open</MkButton> diff --git a/src/client/pages/timeline.vue b/src/client/pages/timeline.vue index 947efad2b7..6f527dce6a 100644 --- a/src/client/pages/timeline.vue +++ b/src/client/pages/timeline.vue @@ -2,9 +2,10 @@ <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> - <XTutorial v-if="$store.reactiveState.tutorial.value != -1" class="tutorial _block _isolated"/> - <XPostForm v-if="$store.reactiveState.showFixedPostForm.value" class="post-form _block _isolated" fixed/> - <div class="tabs _block _vMargin"> + <div class="_magnet"></div> + <XTutorial v-if="$store.reactiveState.tutorial.value != -1" class="tutorial _block _gap"/> + <XPostForm v-if="$store.reactiveState.showFixedPostForm.value" class="post-form _block _gap" fixed/> + <div class="tabs _block _gap"> <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 = 'local'; saveSrc(); }" :class="{ active: src === 'local' }" v-tooltip="$ts._timelines.local" v-if="isLocalTimelineAvailable"><Fa :icon="faComments"/></button> @@ -21,7 +22,7 @@ </div> </div> <XTimeline ref="tl" - class="_vMargin" + class="_gap" :key="src === 'list' ? `list:${list.id}` : src === 'antenna' ? `antenna:${antenna.id}` : src === 'channel' ? `channel:${channel.id}` : src" :src="src" :list="list ? list.id : null" diff --git a/src/client/pages/user/clips.vue b/src/client/pages/user/clips.vue index cf713d6daa..9c77bbad47 100644 --- a/src/client/pages/user/clips.vue +++ b/src/client/pages/user/clips.vue @@ -1,7 +1,7 @@ <template> <div> <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> <div v-if="item.description" class="description">{{ item.description }}</div> </MkA> diff --git a/src/client/pages/user/follow-list.vue b/src/client/pages/user/follow-list.vue index eef8409a06..1fce74ec17 100644 --- a/src/client/pages/user/follow-list.vue +++ b/src/client/pages/user/follow-list.vue @@ -1,7 +1,7 @@ <template> <div> - <MkPagination :pagination="pagination" #default="{items}" class="mk-following-or-followers _content" ref="list"> - <div class="users"> + <MkPagination :pagination="pagination" #default="{items}" class="mk-following-or-followers" ref="list"> + <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"/> </div> </MkPagination> diff --git a/src/client/pages/user/index.timeline.vue b/src/client/pages/user/index.timeline.vue index 62f7f7d654..1b7a96fff6 100644 --- a/src/client/pages/user/index.timeline.vue +++ b/src/client/pages/user/index.timeline.vue @@ -1,6 +1,6 @@ <template> <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="replies">{{ $ts.notesAndReplies }}</option> <option value="files">{{ $ts.withFiles }}</option> diff --git a/src/client/pages/user/index.vue b/src/client/pages/user/index.vue index 6351014956..c0318dcb38 100644 --- a/src/client/pages/user/index.vue +++ b/src/client/pages/user/index.vue @@ -1,9 +1,9 @@ <template> <div> <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> <div class="contents"> @@ -56,11 +56,11 @@ </dd> </dl> </div> - <XActivity :user="user" :key="user.id" class="_vMargin"/> - <XPhotos :user="user" :key="user.id" class="_vMargin"/> + <XActivity :user="user" :key="user.id" class="_gap"/> + <XPhotos :user="user" :key="user.id" class="_gap"/> </div> <div class="main"> - <div class="nav _vMargin"> + <div class="nav _gap"> <MkA :to="userPage(user)" :class="{ active: page === 'index' }" class="link"> <Fa :icon="faCommentAlt" class="icon"/> <span>{{ $ts.notes }}</span> @@ -79,17 +79,17 @@ </div> </div> <template v-if="page === 'index'"> - <div v-if="user.pinnedNotes.length > 0" class="_vMargin"> - <XNote v-for="note in user.pinnedNotes" class="note _vMargin" :note="note" @update:note="pinnedNoteUpdated(note, $event)" :key="note.id" :pinned="true"/> + <div v-if="user.pinnedNotes.length > 0" class="_gap"> + <XNote v-for="note in user.pinnedNotes" class="note _gap" :note="note" @update:note="pinnedNoteUpdated(note, $event)" :key="note.id" :pinned="true"/> </div> - <div class="_vMargin"> + <div class="_gap"> <XUserTimeline :user="user"/> </div> </template> - <XFollowList v-else-if="page === 'following'" type="following" :user="user" class="_vMargin"/> - <XFollowList v-else-if="page === 'followers'" type="followers" :user="user" class="_vMargin"/> - <XClips v-else-if="page === 'clips'" :user="user" class="_vMargin"/> - <XPages v-else-if="page === 'pages'" :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="_gap"/> + <XClips v-else-if="page === 'clips'" :user="user" class="_gap"/> + <XPages v-else-if="page === 'pages'" :user="user" class="_gap"/> </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.isSilenced"><Fa :icon="faExclamationTriangle" style="margin-right: 8px;"/> {{ $ts.userSilenced }}</div> --> - <div class="profile"> - <MkRemoteCaution v-if="user.host != null" :href="user.url" class="_vMargin"/> + <div class="_magnet"></div> - <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" ref="banner" :style="style"></div> <div class="fade"></div> @@ -178,7 +180,7 @@ </div> <div class="contents"> - <div class="nav _isolated"> + <div class="nav _gap"> <MkA :to="userPage(user)" :class="{ active: page === 'index' }" class="link"> <Fa :icon="faCommentAlt" class="icon"/> <span>{{ $ts.notes }}</span> @@ -196,7 +198,7 @@ <template v-if="page === 'index'"> <div> <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> <XPhotos :user="user" :key="user.id"/> <XActivity :user="user" :key="user.id"/> @@ -205,10 +207,10 @@ <XUserTimeline :user="user"/> </div> </template> - <XFollowList v-else-if="page === 'following'" type="following" :user="user" class="_content _vMargin"/> - <XFollowList v-else-if="page === 'followers'" type="followers" :user="user" class="_content _vMargin"/> - <XClips v-else-if="page === 'clips'" :user="user" class="_vMargin"/> - <XPages v-else-if="page === 'pages'" :user="user" class="_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 _gap"/> + <XClips v-else-if="page === 'clips'" :user="user" class="_gap"/> + <XPages v-else-if="page === 'pages'" :user="user" class="_gap"/> </div> </div> <div v-else-if="error"> diff --git a/src/client/pages/user/pages.vue b/src/client/pages/user/pages.vue index 1d2e96b351..34ac9d1ba6 100644 --- a/src/client/pages/user/pages.vue +++ b/src/client/pages/user/pages.vue @@ -1,7 +1,7 @@ <template> <div> <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> </div> </template> diff --git a/src/client/style.scss b/src/client/style.scss index f2a3682e47..8f4dbe76d2 100644 --- a/src/client/style.scss +++ b/src/client/style.scss @@ -249,6 +249,14 @@ hr { @extend ._panel; } +._gap { + margin: var(--margin) 0; +} + +._magnet { + margin-bottom: calc(var(--margin) * -1); +} + ._isolated { margin: var(--margin) 0; } @@ -347,6 +355,10 @@ hr { box-shadow: none; } + ._isolated { + margin: var(--margin); + } + @media (max-width: 500px) { ._root { --root-margin: 0; @@ -375,12 +387,6 @@ hr { backdrop-filter: blur(15px); } -._vMargin { - & + ._vMargin { - margin-top: var(--margin); - } -} - ._table { > ._row { display: flex;