diff --git a/src/boot/after_store.js b/src/boot/after_store.js
index 6833307a..ff4ea145 100644
--- a/src/boot/after_store.js
+++ b/src/boot/after_store.js
@@ -185,6 +185,12 @@ const setSettings = async ({ apiConfig, staticConfig, store }) => {
copyInstanceOption('renderMisskeyMarkdown')
copyInstanceOption('sidebarRight')
+ if (config.backendCommitUrl)
+ copyInstanceOption('backendCommitUrl')
+
+ if (config.frontendCommitUrl)
+ copyInstanceOption('frontendCommitUrl')
+
return store.dispatch('setTheme', config['theme'])
}
diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js
index bb16637e..d5732355 100644
--- a/src/components/post_status_form/post_status_form.js
+++ b/src/components/post_status_form/post_status_form.js
@@ -337,6 +337,7 @@ const PostStatusForm = {
watch: {
'newStatus': {
deep: true,
+ flush: 'sync',
handler () {
this.statusChanged()
}
diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue
index 46c17f50..a4c16054 100644
--- a/src/components/settings_modal/tabs/general_tab.vue
+++ b/src/components/settings_modal/tabs/general_tab.vue
@@ -159,6 +159,16 @@
{{ $t('settings.show_page_backgrounds') }}
+
+
+ {{ $t('settings.center_align_bio') }}
+
+
+
+
+ {{ $t('settings.compact_user_info') }}
+
+
{{ $t('settings.stop_gifs') }}
diff --git a/src/components/settings_modal/tabs/version_tab.js b/src/components/settings_modal/tabs/version_tab.js
index d69b131d..97791a3a 100644
--- a/src/components/settings_modal/tabs/version_tab.js
+++ b/src/components/settings_modal/tabs/version_tab.js
@@ -1,22 +1,25 @@
import { extractCommit } from 'src/services/version/version.service'
-const pleromaFeCommitUrl = 'https://akkoma.dev/AkkomaGang/pleroma-fe/commit/'
-const pleromaBeCommitUrl = 'https://akkoma.dev/AkkomaGang/akkoma/commit/'
+function joinURL(base, subpath) {
+ return URL.parse(subpath, base)?.href || "invalid base URL"
+}
const VersionTab = {
data () {
const instance = this.$store.state.instance
return {
+ backendCommitUrl: instance.backendCommitUrl,
backendVersion: instance.backendVersion,
+ frontendCommitUrl: instance.frontendCommitUrl,
frontendVersion: instance.frontendVersion
}
},
computed: {
frontendVersionLink () {
- return pleromaFeCommitUrl + this.frontendVersion
+ return joinURL(this.frontendCommitUrl, this.frontendVersion)
},
backendVersionLink () {
- return pleromaBeCommitUrl + extractCommit(this.backendVersion)
+ return joinURL(this.backendCommitUrl, extractCommit(this.backendVersion))
}
}
}
diff --git a/src/components/status_body/status_body.js b/src/components/status_body/status_body.js
index 19cec6c6..7ff6c3aa 100644
--- a/src/components/status_body/status_body.js
+++ b/src/components/status_body/status_body.js
@@ -41,7 +41,8 @@ const StatusContent = {
postLength: this.status.text.length,
parseReadyDone: false,
renderMisskeyMarkdown,
- translateFrom: null
+ translateFrom: null,
+ translating: false
}
},
computed: {
@@ -135,7 +136,10 @@ const StatusContent = {
},
translateStatus () {
const translateTo = this.$store.getters.mergedConfig.translationLanguage || this.$store.state.instance.interfaceLanguage
- this.$store.dispatch('translateStatus', { id: this.status.id, language: translateTo, from: this.translateFrom })
+ this.translating = true
+ this.$store.dispatch(
+ 'translateStatus', { id: this.status.id, language: translateTo, from: this.translateFrom }
+ ).finally(() => { this.translating = false })
}
}
}
diff --git a/src/components/status_body/status_body.vue b/src/components/status_body/status_body.vue
index 882b38c5..ba9a3ded 100644
--- a/src/components/status_body/status_body.vue
+++ b/src/components/status_body/status_body.vue
@@ -91,6 +91,7 @@
{{ ' ' }}