diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 7e50a02229..38b2a344eb 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -421,6 +421,7 @@ objectStorage: "オブジェクトストレージ" useObjectStorage: "オブジェクトストレージを使用" serverLogs: "サーバーログ" deleteAll: "全て削除" +showFixedPostForm: "タイムライン上部に投稿画面を表示する" _ago: unknown: "謎" diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue index 2e6285cb06..e80da49950 100644 --- a/src/client/components/post-form.vue +++ b/src/client/components/post-form.vue @@ -6,7 +6,7 @@ @drop.stop="onDrop" >
- +
{{ max - trimmedLength(text) }}
-
+
{{ $t('quoteAttached') }}
@@ -108,6 +108,11 @@ export default Vue.extend({ type: Boolean, required: false, default: false + }, + fixed: { + type: Boolean, + required: false, + default: false } }, @@ -651,6 +656,11 @@ export default Vue.extend({ max-width: 500px; margin: 0 auto; + &.fixed { + max-width: unset; + margin: 0 32px; + } + > .preview { padding: 16px; } diff --git a/src/client/pages/index.home.vue b/src/client/pages/index.home.vue index f42dfe3daa..bc7b5f443a 100644 --- a/src/client/pages/index.home.vue +++ b/src/client/pages/index.home.vue @@ -16,6 +16,9 @@ +
+ +
@@ -27,6 +30,7 @@ import { faComments } from '@fortawesome/free-regular-svg-icons'; import Progress from '../scripts/loading'; import XTimeline from '../components/timeline.vue'; import XTutorial from './index.home.tutorial.vue'; +import XPostForm from '../components/post-form.vue'; export default Vue.extend({ metaInfo() { @@ -38,6 +42,7 @@ export default Vue.extend({ components: { XTimeline, XTutorial, + XPostForm, }, props: { @@ -174,6 +179,10 @@ export default Vue.extend({ } } +.post-form { + margin-bottom: var(--margin); +} + ._kjvfvyph_ { position: relative; height: 100%; diff --git a/src/client/pages/settings/index.vue b/src/client/pages/settings/index.vue index 16efe79d09..986ade8ffc 100644 --- a/src/client/pages/settings/index.vue +++ b/src/client/pages/settings/index.vue @@ -20,6 +20,7 @@ {{ $t('useOsNativeEmojis') }} + {{ $t('showFixedPostForm') }}
@@ -105,6 +106,11 @@ export default Vue.extend({ get() { return this.$store.state.device.imageNewTab; }, set(value) { this.$store.commit('device/set', { key: 'imageNewTab', value }); } }, + + showFixedPostForm: { + get() { return this.$store.state.device.showFixedPostForm; }, + set(value) { this.$store.commit('device/set', { key: 'showFixedPostForm', value }); } + }, }, watch: {