summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-06-08 20:57:02 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-06-08 20:57:02 +0900
commit724e812972cdaf55b0c2e8d3ebbb31637c405f57 (patch)
treebb676df9f3077a1b51ba82dfb8d360760f774e54 /src
parentNew: Zen mode (diff)
downloadmisskey-724e812972cdaf55b0c2e8d3ebbb31637c405f57.tar.gz
misskey-724e812972cdaf55b0c2e8d3ebbb31637c405f57.tar.bz2
misskey-724e812972cdaf55b0c2e8d3ebbb31637c405f57.zip
Refactor
Diffstat (limited to 'src')
-rw-r--r--src/client/app/common/views/components/index.ts2
-rw-r--r--src/client/app/common/views/components/note-header.vue112
-rw-r--r--src/client/app/desktop/views/components/note-preview.vue54
-rw-r--r--src/client/app/desktop/views/components/notes.note.sub.vue71
-rw-r--r--src/client/app/desktop/views/components/notes.note.vue79
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.note.sub.vue80
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.note.vue76
-rw-r--r--src/client/app/mobile/views/components/note-preview.vue79
-rw-r--r--src/client/app/mobile/views/components/note.sub.vue81
-rw-r--r--src/client/app/mobile/views/components/note.vue78
10 files changed, 128 insertions, 584 deletions
diff --git a/src/client/app/common/views/components/index.ts b/src/client/app/common/views/components/index.ts
index f30e3f953b..803854468e 100644
--- a/src/client/app/common/views/components/index.ts
+++ b/src/client/app/common/views/components/index.ts
@@ -2,6 +2,7 @@ import Vue from 'vue';
import analogClock from './analog-clock.vue';
import menu from './menu.vue';
+import noteHeader from './note-header.vue';
import signin from './signin.vue';
import signup from './signup.vue';
import forkit from './forkit.vue';
@@ -31,6 +32,7 @@ import welcomeTimeline from './welcome-timeline.vue';
Vue.component('mk-analog-clock', analogClock);
Vue.component('mk-menu', menu);
+Vue.component('mk-note-header', noteHeader);
Vue.component('mk-signin', signin);
Vue.component('mk-signup', signup);
Vue.component('mk-forkit', forkit);
diff --git a/src/client/app/common/views/components/note-header.vue b/src/client/app/common/views/components/note-header.vue
new file mode 100644
index 0000000000..611a14f73d
--- /dev/null
+++ b/src/client/app/common/views/components/note-header.vue
@@ -0,0 +1,112 @@
+<template>
+<header class="bvonvjxbwzaiskogyhbwgyxvcgserpmu">
+ <mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle == 'smart'"/>
+ <router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id">{{ note.user | userName }}</router-link>
+ <span class="is-admin" v-if="note.user.isAdmin">admin</span>
+ <span class="is-bot" v-if="note.user.isBot">bot</span>
+ <span class="is-cat" v-if="note.user.isCat">cat</span>
+ <span class="username"><mk-acct :user="note.user"/></span>
+ <div class="info">
+ <span class="app" v-if="note.app">via <b>{{ note.app.name }}</b></span>
+ <span class="mobile" v-if="note.viaMobile">%fa:mobile-alt%</span>
+ <router-link class="created-at" :to="note | notePage">
+ <mk-time :time="note.createdAt"/>
+ </router-link>
+ <span class="visibility" v-if="note.visibility != 'public'">
+ <template v-if="note.visibility == 'home'">%fa:home%</template>
+ <template v-if="note.visibility == 'followers'">%fa:unlock%</template>
+ <template v-if="note.visibility == 'specified'">%fa:envelope%</template>
+ <template v-if="note.visibility == 'private'">%fa:lock%</template>
+ </span>
+ </div>
+</header>
+</template>
+
+<script lang="ts">
+import Vue from 'vue';
+
+export default Vue.extend({
+ props: {
+ note: {
+ type: Object,
+ required: true
+ }
+ }
+});
+</script>
+
+<style lang="stylus" scoped>
+@import '~const.styl'
+
+root(isDark)
+ display flex
+ align-items baseline
+ white-space nowrap
+
+ > .avatar
+ flex-shrink 0
+ margin-right 8px
+ width 20px
+ height 20px
+ border-radius 100%
+
+ > .name
+ display block
+ margin 0 .5em 0 0
+ padding 0
+ overflow hidden
+ color isDark ? #fff : #627079
+ font-size 1em
+ font-weight bold
+ text-decoration none
+ text-overflow ellipsis
+
+ &:hover
+ text-decoration underline
+
+ > .is-admin
+ > .is-bot
+ > .is-cat
+ align-self center
+ margin 0 .5em 0 0
+ padding 1px 6px
+ font-size 12px
+ color isDark ? #758188 : #aaa
+ border solid 1px isDark ? #57616f : #ddd
+ border-radius 3px
+
+ &.is-admin
+ border-color isDark ? #d42c41 : #f56a7b
+ color isDark ? #d42c41 : #f56a7b
+
+ > .username
+ margin 0 .5em 0 0
+ overflow hidden
+ text-overflow ellipsis
+ color isDark ? #606984 : #ccc
+
+ > .info
+ margin-left auto
+ font-size 0.9em
+
+ > *
+ color isDark ? #606984 : #c0c0c0
+
+ > .mobile
+ margin-right 8px
+
+ > .app
+ margin-right 8px
+ padding-right 8px
+ border-right solid 1px isDark ? #1c2023 : #eaeaea
+
+ > .visibility
+ margin-left 8px
+
+.bvonvjxbwzaiskogyhbwgyxvcgserpmu[data-darkmode]
+ root(true)
+
+.bvonvjxbwzaiskogyhbwgyxvcgserpmu:not([data-darkmode])
+ root(false)
+
+</style>
diff --git a/src/client/app/desktop/views/components/note-preview.vue b/src/client/app/desktop/views/components/note-preview.vue
index 1d9ee2cd0a..fed3b37f40 100644
--- a/src/client/app/desktop/views/components/note-preview.vue
+++ b/src/client/app/desktop/views/components/note-preview.vue
@@ -2,22 +2,7 @@
<div class="mk-note-preview" :title="title">
<mk-avatar class="avatar" :user="note.user"/>
<div class="main">
- <header>
- <router-link class="name" :to="note.user | userPage" v-user-preview="note.userId">{{ note.user | userName }}</router-link>
- <span class="username"><mk-acct :user="note.user"/></span>
- <div class="info">
- <span class="mobile" v-if="note.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="note | notePage">
- <mk-time :time="note.createdAt"/>
- </router-link>
- <span class="visibility" v-if="note.visibility != 'public'">
- <template v-if="note.visibility == 'home'">%fa:home%</template>
- <template v-if="note.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="note.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="note.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="note"/>
<div class="body">
<mk-sub-note-content class="text" :note="note"/>
</div>
@@ -56,43 +41,6 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
- white-space nowrap
-
- > .name
- margin 0 .5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #607073
- font-size 1em
- font-weight bold
- text-decoration none
- text-overflow ellipsis
-
- &:hover
- text-decoration underline
-
- > .username
- margin 0 .5em 0 0
- overflow hidden
- text-overflow ellipsis
- color isDark ? #606984 : #d1d8da
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #b2b8bb
-
- > .mobile
- margin-right 6px
-
- > .visibility
- margin-left 6px
-
> .body
> .text
diff --git a/src/client/app/desktop/views/components/notes.note.sub.vue b/src/client/app/desktop/views/components/notes.note.sub.vue
index 827112ecd8..a8186fb7e4 100644
--- a/src/client/app/desktop/views/components/notes.note.sub.vue
+++ b/src/client/app/desktop/views/components/notes.note.sub.vue
@@ -2,25 +2,7 @@
<div class="sub" :title="title">
<mk-avatar class="avatar" :user="note.user"/>
<div class="main">
- <header>
- <router-link class="name" :to="note.user | userPage" v-user-preview="note.userId">{{ note.user | userName }}</router-link>
- <span class="is-admin" v-if="note.user.isAdmin">admin</span>
- <span class="is-bot" v-if="note.user.isBot">bot</span>
- <span class="is-cat" v-if="note.user.isCat">cat</span>
- <span class="username"><mk-acct :user="note.user"/></span>
- <div class="info">
- <span class="mobile" v-if="note.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="note | notePage">
- <mk-time :time="note.createdAt"/>
- </router-link>
- <span class="visibility" v-if="note.visibility != 'public'">
- <template v-if="note.visibility == 'home'">%fa:home%</template>
- <template v-if="note.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="note.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="note.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="note"/>
<div class="body">
<mk-sub-note-content class="text" :note="note"/>
</div>
@@ -62,57 +44,8 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
+ > .header
margin-bottom 2px
- white-space nowrap
-
- > .name
- display block
- margin 0 .5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #607073
- font-size 1em
- font-weight bold
- text-decoration none
- text-overflow ellipsis
-
- &:hover
- text-decoration underline
-
- > .is-admin
- > .is-bot
- > .is-cat
- align-self center
- margin 0 0.5em 0 0
- padding 1px 5px
- font-size 10px
- color isDark ? #758188 : #aaa
- border solid 1px isDark ? #57616f : #ddd
- border-radius 3px
-
- &.is-admin
- border-color isDark ? #d42c41 : #f56a7b
- color isDark ? #d42c41 : #f56a7b
-
- > .username
- margin 0 .5em 0 0
- color isDark ? #606984 : #d1d8da
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #b2b8bb
-
- > .mobile
- margin-right 6px
-
- > .visibility
- margin-left 6px
> .body
diff --git a/src/client/app/desktop/views/components/notes.note.vue b/src/client/app/desktop/views/components/notes.note.vue
index ca67373c23..2f185e335a 100644
--- a/src/client/app/desktop/views/components/notes.note.vue
+++ b/src/client/app/desktop/views/components/notes.note.vue
@@ -14,26 +14,7 @@
<article>
<mk-avatar class="avatar" :user="p.user"/>
<div class="main">
- <header>
- <router-link class="name" :to="p.user | userPage" v-user-preview="p.user.id">{{ p.user | userName }}</router-link>
- <span class="is-admin" v-if="p.user.isAdmin">admin</span>
- <span class="is-bot" v-if="p.user.isBot">bot</span>
- <span class="is-cat" v-if="p.user.isCat">cat</span>
- <span class="username"><mk-acct :user="p.user"/></span>
- <div class="info">
- <span class="app" v-if="p.app">via <b>{{ p.app.name }}</b></span>
- <span class="mobile" v-if="p.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="p | notePage">
- <mk-time :time="p.createdAt"/>
- </router-link>
- <span class="visibility" v-if="p.visibility != 'public'">
- <template v-if="p.visibility == 'home'">%fa:home%</template>
- <template v-if="p.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="p.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="p.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="p"/>
<div class="body">
<p v-if="p.cw != null" class="cw">
<span class="text" v-if="p.cw != ''">{{ p.cw }}</span>
@@ -409,64 +390,8 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
+ > .header
margin-bottom 4px
- white-space nowrap
-
- > .name
- display block
- margin 0 .5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #627079
- font-size 1em
- font-weight bold
- text-decoration none
- text-overflow ellipsis
-
- &:hover
- text-decoration underline
-
- > .is-admin
- > .is-bot
- > .is-cat
- align-self center
- margin 0 .5em 0 0
- padding 1px 6px
- font-size 12px
- color isDark ? #758188 : #aaa
- border solid 1px isDark ? #57616f : #ddd
- border-radius 3px
-
- &.is-admin
- border-color isDark ? #d42c41 : #f56a7b
- color isDark ? #d42c41 : #f56a7b
-
- > .username
- margin 0 .5em 0 0
- overflow hidden
- text-overflow ellipsis
- color isDark ? #606984 : #ccc
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #c0c0c0
-
- > .mobile
- margin-right 8px
-
- > .app
- margin-right 8px
- padding-right 8px
- border-right solid 1px isDark ? #1c2023 : #eaeaea
-
- > .visibility
- margin-left 8px
> .body
diff --git a/src/client/app/desktop/views/pages/deck/deck.note.sub.vue b/src/client/app/desktop/views/pages/deck/deck.note.sub.vue
index b458b74186..6fc70b6af5 100644
--- a/src/client/app/desktop/views/pages/deck/deck.note.sub.vue
+++ b/src/client/app/desktop/views/pages/deck/deck.note.sub.vue
@@ -2,25 +2,7 @@
<div class="fnlfosztlhtptnongximhlbykxblytcq">
<mk-avatar class="avatar" :user="note.user"/>
<div class="main">
- <header>
- <router-link class="name" :to="note.user | userPage">{{ note.user | userName }}</router-link>
- <span class="is-admin" v-if="note.user.isAdmin">%i18n:@admin%</span>
- <span class="is-bot" v-if="note.user.isBot">%i18n:@bot%</span>
- <span class="is-cat" v-if="note.user.isCat">%i18n:@cat%</span>
- <span class="username"><mk-acct :user="note.user"/></span>
- <div class="info">
- <span class="mobile" v-if="note.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="note | notePage">
- <mk-time :time="note.createdAt"/>
- </router-link>
- <span class="visibility" v-if="note.visibility != 'public'">
- <template v-if="note.visibility == 'home'">%fa:home%</template>
- <template v-if="note.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="note.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="note.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="note"/>
<div class="body">
<mk-sub-note-content class="text" :note="note"/>
</div>
@@ -72,66 +54,8 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
+ > .header
margin-bottom 2px
- white-space nowrap
-
- > .avatar
- flex-shrink 0
- margin-right 8px
- width 18px
- height 18px
- border-radius 100%
-
- > .name
- display block
- margin 0 0.5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #607073
- font-size 1em
- font-weight 700
- text-align left
- text-decoration none
- text-overflow ellipsis
-
- &:hover
- text-decoration underline
-
- > .is-admin
- > .is-bot
- > .is-cat
- align-self center
- margin 0 0.5em 0 0
- padding 1px 5px
- font-size 0.8em
- color isDark ? #758188 : #aaa
- border solid 1px isDark ? #57616f : #ddd
- border-radius 3px
-
- &.is-admin
- border-color isDark ? #d42c41 : #f56a7b
- color isDark ? #d42c41 : #f56a7b
-
- > .username
- text-align left
- margin 0
- color isDark ? #606984 : #d1d8da
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #b2b8bb
-
- > .mobile
- margin-right 6px
-
- > .visibility
- margin-left 6px
> .body
diff --git a/src/client/app/desktop/views/pages/deck/deck.note.vue b/src/client/app/desktop/views/pages/deck/deck.note.vue
index 27d1cb8d47..2dab8289ed 100644
--- a/src/client/app/desktop/views/pages/deck/deck.note.vue
+++ b/src/client/app/desktop/views/pages/deck/deck.note.vue
@@ -14,25 +14,7 @@
<article>
<mk-avatar class="avatar" :user="p.user"/>
<div class="main">
- <header>
- <router-link class="name" :to="p.user | userPage">{{ p.user | userName }}</router-link>
- <span class="is-admin" v-if="p.user.isAdmin">admin</span>
- <span class="is-bot" v-if="p.user.isBot">bot</span>
- <span class="is-cat" v-if="p.user.isCat">cat</span>
- <span class="username"><mk-acct :user="p.user"/></span>
- <div class="info">
- <span class="mobile" v-if="p.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="p | notePage">
- <mk-time :time="p.createdAt"/>
- </router-link>
- <span class="visibility" v-if="p.visibility != 'public'">
- <template v-if="p.visibility == 'home'">%fa:home%</template>
- <template v-if="p.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="p.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="p.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="p"/>
<div class="body">
<p v-if="p.cw != null" class="cw">
<span class="text" v-if="p.cw != ''">{{ p.cw }}</span>
@@ -292,62 +274,6 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
- white-space nowrap
-
- > .avatar
- flex-shrink 0
- margin-right 8px
- width 20px
- height 20px
- border-radius 100%
-
- > .name
- display block
- margin 0 0.5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #627079
- font-weight bold
- text-decoration none
- text-overflow ellipsis
-
- > .is-admin
- > .is-bot
- > .is-cat
- align-self center
- margin 0 0.5em 0 0
- padding 1px 6px
- font-size 0.8em
- color isDark ? #758188 : #aaa
- border solid 1px isDark ? #57616f : #ddd
- border-radius 3px
-
- &.is-admin
- border-color isDark ? #d42c41 : #f56a7b
- color isDark ? #d42c41 : #f56a7b
-
- > .username
- margin 0 0.5em 0 0
- overflow hidden
- text-overflow ellipsis
- color isDark ? #606984 : #ccc
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #c0c0c0
-
- > .mobile
- margin-right 6px
-
- > .visibility
- margin-left 6px
-
> .body
> .cw
diff --git a/src/client/app/mobile/views/components/note-preview.vue b/src/client/app/mobile/views/components/note-preview.vue
index 77ca99e978..388ac5c090 100644
--- a/src/client/app/mobile/views/components/note-preview.vue
+++ b/src/client/app/mobile/views/components/note-preview.vue
@@ -2,26 +2,7 @@
<div class="mk-note-preview" :class="{ smart: $store.state.device.postStyle == 'smart' }">
<mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle != 'smart'"/>
<div class="main">
- <header>
- <mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle == 'smart'"/>
- <router-link class="name" :to="note.user | userPage">{{ note.user | userName }}</router-link>
- <span class="is-admin" v-if="note.user.isAdmin">%i18n:@admin%</span>
- <span class="is-bot" v-if="note.user.isBot">%i18n:@bot%</span>
- <span class="is-cat" v-if="note.user.isCat">%i18n:@cat%</span>
- <span class="username"><mk-acct :user="note.user"/></span>
- <div class="info">
- <span class="mobile" v-if="note.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="note | notePage">
- <mk-time :time="note.createdAt"/>
- </router-link>
- <span class="visibility" v-if="note.visibility != 'public'">
- <template v-if="note.visibility == 'home'">%fa:home%</template>
- <template v-if="note.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="note.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="note.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="note"/>
<div class="body">
<mk-sub-note-content class="text" :note="note"/>
</div>
@@ -79,64 +60,8 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
+ > .header
margin-bottom 2px
- white-space nowrap
-
- > .avatar
- flex-shrink 0
- margin-right 8px
- width 18px
- height 18px
- border-radius 100%
-
- > .name
- display block
- margin 0 .5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #607073
- font-size 1em
- font-weight 700
- text-align left
- text-decoration none
- text-overflow ellipsis
-
- > .is-admin
- > .is-bot
- > .is-cat
- align-self center
- margin 0 0.5em 0 0
- padding 1px 6px
- font-size 0.8em
- color isDark ? #758188 : #aaa
- border solid 1px isDark ? #57616f : #ddd
- border-radius 3px
-
- &.is-admin
- border-color isDark ? #d42c41 : #f56a7b
- color isDark ? #d42c41 : #f56a7b
-
- > .username
- margin 0 .5em 0 0
- overflow hidden
- text-overflow ellipsis
- color isDark ? #606984 : #d1d8da
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #b2b8bb
-
- > .mobile
- margin-right 6px
-
- > .visibility
- margin-left 6px
> .body
diff --git a/src/client/app/mobile/views/components/note.sub.vue b/src/client/app/mobile/views/components/note.sub.vue
index f487b7647e..f757b2e522 100644
--- a/src/client/app/mobile/views/components/note.sub.vue
+++ b/src/client/app/mobile/views/components/note.sub.vue
@@ -2,26 +2,7 @@
<div class="sub" :class="{ smart: $store.state.device.postStyle == 'smart' }">
<mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle != 'smart'"/>
<div class="main">
- <header>
- <mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle == 'smart'"/>
- <router-link class="name" :to="note.user | userPage">{{ note.user | userName }}</router-link>
- <span class="is-admin" v-if="note.user.isAdmin">%i18n:@admin%</span>
- <span class="is-bot" v-if="note.user.isBot">%i18n:@bot%</span>
- <span class="is-cat" v-if="note.user.isCat">%i18n:@cat%</span>
- <span class="username"><mk-acct :user="note.user"/></span>
- <div class="info">
- <span class="mobile" v-if="note.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="note | notePage">
- <mk-time :time="note.createdAt"/>
- </router-link>
- <span class="visibility" v-if="note.visibility != 'public'">
- <template v-if="note.visibility == 'home'">%fa:home%</template>
- <template v-if="note.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="note.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="note.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="note"/>
<div class="body">
<mk-sub-note-content class="text" :note="note"/>
</div>
@@ -92,66 +73,8 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
+ > .header
margin-bottom 2px
- white-space nowrap
-
- > .avatar
- flex-shrink 0
- margin-right 8px
- width 18px
- height 18px
- border-radius 100%
-
- > .name
- display block
- margin 0 0.5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #607073
- font-size 1em
- font-weight 700
- text-align left
- text-decoration none
- text-overflow ellipsis
-
- &:hover
- text-decoration underline
-
- > .is-admin
- > .is-bot
- > .is-cat
- align-self center
- margin 0 0.5em 0 0
- padding 1px 5px
- font-size 0.8em
- color isDark ? #758188 : #aaa
- border solid 1px isDark ? #57616f : #ddd
- border-radius 3px
-
- &.is-admin
- border-color isDark ? #d42c41 : #f56a7b
- color isDark ? #d42c41 : #f56a7b
-
- > .username
- text-align left
- margin 0
- color isDark ? #606984 : #d1d8da
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #b2b8bb
-
- > .mobile
- margin-right 6px
-
- > .visibility
- margin-left 6px
> .body
diff --git a/src/client/app/mobile/views/components/note.vue b/src/client/app/mobile/views/components/note.vue
index 37d86fe235..127f62868e 100644
--- a/src/client/app/mobile/views/components/note.vue
+++ b/src/client/app/mobile/views/components/note.vue
@@ -14,26 +14,7 @@
<article>
<mk-avatar class="avatar" :user="p.user" v-if="$store.state.device.postStyle != 'smart'"/>
<div class="main">
- <header>
- <mk-avatar class="avatar" :user="p.user" v-if="$store.state.device.postStyle == 'smart'"/>
- <router-link class="name" :to="p.user | userPage">{{ p.user | userName }}</router-link>
- <span class="is-admin" v-if="p.user.isAdmin">admin</span>
- <span class="is-bot" v-if="p.user.isBot">bot</span>
- <span class="is-cat" v-if="p.user.isCat">cat</span>
- <span class="username"><mk-acct :user="p.user"/></span>
- <div class="info">
- <span class="mobile" v-if="p.viaMobile">%fa:mobile-alt%</span>
- <router-link class="created-at" :to="p | notePage">
- <mk-time :time="p.createdAt"/>
- </router-link>
- <span class="visibility" v-if="p.visibility != 'public'">
- <template v-if="p.visibility == 'home'">%fa:home%</template>
- <template v-if="p.visibility == 'followers'">%fa:unlock%</template>
- <template v-if="p.visibility == 'specified'">%fa:envelope%</template>
- <template v-if="p.visibility == 'private'">%fa:lock%</template>
- </span>
- </div>
- </header>
+ <mk-note-header class="header" :note="p"/>
<div class="body">
<p v-if="p.cw != null" class="cw">
<span class="text" v-if="p.cw != ''">{{ p.cw }}</span>
@@ -358,65 +339,10 @@ root(isDark)
flex 1
min-width 0
- > header
- display flex
- align-items baseline
- white-space nowrap
-
+ > .header
@media (min-width 500px)
margin-bottom 2px
- > .avatar
- flex-shrink 0
- margin-right 8px
- width 20px
- height 20px
- border-radius 100%
-
- > .name
- display block
- margin 0 0.5em 0 0
- padding 0
- overflow hidden
- color isDark ? #fff : #627079
- font-weight bold
- text-decoration none
- text-overflow ellipsis
-
- > .is-admin
- > .is-bot
- > .is-cat
- align-self center
- margin 0 0.5em 0 0
- padding 1px 6px
- font-size 0.8em
- color isDark ? #758188 : #aaa
- border solid 1px isDark ? #57616f : #ddd
- border-radius 3px
-
- &.is-admin
- border-color isDark ? #d42c41 : #f56a7b
- color isDark ? #d42c41 : #f56a7b
-
- > .username
- margin 0 0.5em 0 0
- overflow hidden
- text-overflow ellipsis
- color isDark ? #606984 : #ccc
-
- > .info
- margin-left auto
- font-size 0.9em
-
- > *
- color isDark ? #606984 : #c0c0c0
-
- > .mobile
- margin-right 6px
-
- > .visibility
- margin-left 6px
-
> .body
@media (min-width 700px)
font-size 1.1em