diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2020-01-30 04:37:25 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-30 04:37:25 +0900 |
| commit | f6154dc0af1a0d65819e87240f4385f9573095cb (patch) | |
| tree | 699a5ca07d6727b7f8497d4769f25d6d62f94b5a /src/client/components/note-header.vue | |
| parent | Add Event activity-type support (#5785) (diff) | |
| download | sharkey-f6154dc0af1a0d65819e87240f4385f9573095cb.tar.gz sharkey-f6154dc0af1a0d65819e87240f4385f9573095cb.tar.bz2 sharkey-f6154dc0af1a0d65819e87240f4385f9573095cb.zip | |
v12 (#5712)
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
Co-authored-by: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com>
Diffstat (limited to 'src/client/components/note-header.vue')
| -rw-r--r-- | src/client/components/note-header.vue | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/src/client/components/note-header.vue b/src/client/components/note-header.vue new file mode 100644 index 0000000000..30ecb80834 --- /dev/null +++ b/src/client/components/note-header.vue @@ -0,0 +1,99 @@ +<template> +<header class="kkwtjztg"> + <router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id"> + <mk-user-name :user="note.user"/> + </router-link> + <span class="is-bot" v-if="note.user.isBot">bot</span> + <span class="username"><mk-acct :user="note.user"/></span> + <div class="info"> + <span class="mobile" v-if="note.viaMobile"><fa :icon="faMobileAlt"/></span> + <router-link class="created-at" :to="note | notePage"> + <mk-time :time="note.createdAt"/> + </router-link> + <span class="visibility" v-if="note.visibility != 'public'"> + <fa v-if="note.visibility == 'home'" :icon="faHome"/> + <fa v-if="note.visibility == 'followers'" :icon="faUnlock"/> + <fa v-if="note.visibility == 'specified'" :icon="faEnvelope"/> + </span> + </div> +</header> +</template> + +<script lang="ts"> +import Vue from 'vue'; +import { faHome, faUnlock, faEnvelope, faMobileAlt } from '@fortawesome/free-solid-svg-icons'; + +export default Vue.extend({ + props: { + note: { + type: Object, + required: true + }, + }, + + data() { + return { + faHome, faUnlock, faEnvelope, faMobileAlt + }; + } +}); +</script> + +<style lang="scss" scoped> +.kkwtjztg { + display: flex; + align-items: baseline; + white-space: nowrap; + + > .name { + display: block; + margin: 0 .5em 0 0; + padding: 0; + overflow: hidden; + color: var(--noteHeaderName); + font-size: 1em; + font-weight: bold; + text-decoration: none; + text-overflow: ellipsis; + + &:hover { + text-decoration: underline; + } + } + + > .is-bot { + flex-shrink: 0; + align-self: center; + margin: 0 .5em 0 0; + padding: 1px 6px; + font-size: 80%; + color: var(--noteHeaderBadgeFg); + background: var(--noteHeaderBadgeBg); + border-radius: 3px; + } + + > .username { + margin: 0 .5em 0 0; + overflow: hidden; + text-overflow: ellipsis; + color: var(--noteHeaderAcct); + } + + > .info { + margin-left: auto; + font-size: 0.9em; + + > * { + color: var(--noteHeaderInfo); + } + + > .mobile { + margin-right: 8px; + } + + > .visibility { + margin-left: 8px; + } + } +} +</style> |