From bceb02d760f53877f0f677144bc468ffbc4e66f2 Mon Sep 17 00:00:00 2001
From: MeiMei <30769358+mei23@users.noreply.github.com>
Date: Fri, 16 Nov 2018 05:47:29 +0900
Subject: local only visibility (#3254)
* local only visibility
* fix UI
---
.../app/common/views/components/note-header.vue | 6 ++++++
.../common/views/components/visibility-chooser.vue | 18 ++++++++++++++++
src/client/app/desktop/views/components/note.vue | 24 +++++++++++++++++++---
.../app/desktop/views/components/post-form.vue | 16 ++++++++++++++-
src/client/app/mobile/views/components/note.vue | 24 +++++++++++++++++++---
.../app/mobile/views/components/post-form.vue | 11 +++++++++-
6 files changed, 91 insertions(+), 8 deletions(-)
(limited to 'src/client')
diff --git a/src/client/app/common/views/components/note-header.vue b/src/client/app/common/views/components/note-header.vue
index 2c7ae0194c..012b678ab3 100644
--- a/src/client/app/common/views/components/note-header.vue
+++ b/src/client/app/common/views/components/note-header.vue
@@ -19,6 +19,9 @@
+
+
+
@@ -115,4 +118,7 @@ export default Vue.extend({
> .visibility
margin-left 8px
+ > .localOnly
+ margin-left 4px
+
diff --git a/src/client/app/common/views/components/visibility-chooser.vue b/src/client/app/common/views/components/visibility-chooser.vue
index 896be039b3..0335fba0ee 100644
--- a/src/client/app/common/views/components/visibility-chooser.vue
+++ b/src/client/app/common/views/components/visibility-chooser.vue
@@ -35,6 +35,24 @@
{{ $t('private') }}
+
+
+
+ {{ $t('local-public') }}
+
+
+
+
+
+ {{ $t('local-home') }}
+
+
+
+
+
+ {{ $t('local-followers') }}
+
+
diff --git a/src/client/app/desktop/views/components/note.vue b/src/client/app/desktop/views/components/note.vue
index e2b67c150f..6bd4674269 100644
--- a/src/client/app/desktop/views/components/note.vue
+++ b/src/client/app/desktop/views/components/note.vue
@@ -20,6 +20,15 @@
{{ note.user | userName }}
{{ this.$t('reposted-by').substr(this.$t('reposted-by').indexOf('}') + 1) }}
+
+
+
+
+
+
+
+
+
@@ -199,9 +208,6 @@ export default Vue.extend({
> span
flex-shrink 0
- &:last-of-type
- margin-right 8px
-
.name
overflow hidden
flex-shrink 1
@@ -215,6 +221,18 @@ export default Vue.extend({
flex-shrink 0
font-size 0.9em
+ > .visibility
+ margin-left 8px
+
+ [data-icon]
+ margin-right 0
+
+ > .localOnly
+ margin-left 4px
+
+ [data-icon]
+ margin-right 0
+
& + article
padding-top 8px
diff --git a/src/client/app/desktop/views/components/post-form.vue b/src/client/app/desktop/views/components/post-form.vue
index e05fab168c..02478b4eb3 100644
--- a/src/client/app/desktop/views/components/post-form.vue
+++ b/src/client/app/desktop/views/components/post-form.vue
@@ -14,6 +14,7 @@
{{ $t('recent-tags') }}:
#{{ tag }}
+ {{ $t('local-only-message') }}
@@ -163,9 +172,6 @@ export default Vue.extend({
> span
flex-shrink 0
- &:last-of-type
- margin-right 8px
-
.name
overflow hidden
flex-shrink 1
@@ -179,6 +185,18 @@ export default Vue.extend({
flex-shrink 0
font-size 0.9em
+ > .visibility
+ margin-left 8px
+
+ [data-icon]
+ margin-right 0
+
+ > .localOnly
+ margin-left 4px
+
+ [data-icon]
+ margin-right 0
+
& + article
padding-top 8px
diff --git a/src/client/app/mobile/views/components/post-form.vue b/src/client/app/mobile/views/components/post-form.vue
index df7a5c5a04..f941c59d9f 100644
--- a/src/client/app/mobile/views/components/post-form.vue
+++ b/src/client/app/mobile/views/components/post-form.vue
@@ -102,6 +102,7 @@ export default Vue.extend({
geo: null,
visibility: this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility,
visibleUsers: [],
+ localOnly: false,
useCw: false,
cw: null,
recentHashtags: JSON.parse(localStorage.getItem('hashtags') || '[]'),
@@ -274,7 +275,14 @@ export default Vue.extend({
compact: true
});
w.$once('chosen', v => {
- this.visibility = v;
+ const m = v.match(/^local-(.+)/);
+ if (m) {
+ this.localOnly = true;
+ this.visibility = m[1];
+ } else {
+ this.localOnly = false;
+ this.visibility = v;
+ }
});
},
@@ -320,6 +328,7 @@ export default Vue.extend({
} : null,
visibility: this.visibility,
visibleUserIds: this.visibility == 'specified' ? this.visibleUsers.map(u => u.id) : undefined,
+ localOnly: this.localOnly,
viaMobile: viaMobile
}).then(data => {
this.$emit('posted');
--
cgit v1.2.3-freya