diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 560dca6654..68503425a0 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -883,6 +883,11 @@ desktop/views/components/settings.vue:
task-manager: "タスクマネージャ"
third-parties: "サードパーティ"
+ navbar-position: "ナビゲーションバーの位置"
+ navbar-position-top: "上"
+ navbar-position-left: "左"
+ navbar-position-right: "右"
+
desktop/views/components/settings.2fa.vue:
intro: "二段階認証を設定すると、サインイン時にパスワードだけでなく、予め登録しておいた物理的なデバイス(例えばあなたのスマートフォンなど)も必要になり、よりセキュリティが向上します。"
detail: "詳細..."
diff --git a/src/client/app/desktop/views/components/settings.vue b/src/client/app/desktop/views/components/settings.vue
index 1cb8d4d4c8..778302a7a5 100644
--- a/src/client/app/desktop/views/components/settings.vue
+++ b/src/client/app/desktop/views/components/settings.vue
@@ -88,6 +88,13 @@
%i18n:common.disable-animated-mfm%
%i18n:common.show-reversi-board-labels%
%i18n:common.use-contrast-reversi-stones%
+
+
+
+ %i18n:@navbar-position-top%
+ %i18n:@navbar-position-left%
+ %i18n:@navbar-position-right%
+
@@ -293,6 +300,11 @@ export default Vue.extend({
set(value) { this.$store.commit('device/set', { key: 'darkmode', value }); }
},
+ navbar: {
+ get() { return this.$store.state.device.navbar; },
+ set(value) { this.$store.commit('device/set', { key: 'navbar', value }); }
+ },
+
enableSounds: {
get() { return this.$store.state.device.enableSounds; },
set(value) { this.$store.commit('device/set', { key: 'enableSounds', value }); }
diff --git a/src/client/app/desktop/views/components/ui.sidebar.vue b/src/client/app/desktop/views/components/ui.sidebar.vue
new file mode 100644
index 0000000000..1455421a95
--- /dev/null
+++ b/src/client/app/desktop/views/components/ui.sidebar.vue
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
diff --git a/src/client/app/desktop/views/components/ui.vue b/src/client/app/desktop/views/components/ui.vue
index 2d1e98447b..2aa259ab19 100644
--- a/src/client/app/desktop/views/components/ui.vue
+++ b/src/client/app/desktop/views/components/ui.vue
@@ -1,8 +1,9 @@
-
-
+
+
+
@@ -12,10 +13,12 @@