diff --git a/src/components/settings_modal/admin_tabs/frontends_tab.js b/src/components/settings_modal/admin_tabs/frontends_tab.js
index 8163af59..f57310ee 100644
--- a/src/components/settings_modal/admin_tabs/frontends_tab.js
+++ b/src/components/settings_modal/admin_tabs/frontends_tab.js
@@ -55,9 +55,13 @@ const FrontendsTab = {
return fe.refs.includes(frontend.ref)
},
getSuggestedRef (frontend) {
- const defaultFe = this.adminDraft[':pleroma'][':frontends'][':primary']
- if (defaultFe?.name === frontend.name && this.canInstall(defaultFe)) {
- return defaultFe.ref
+ if (this.adminDraft) {
+ const defaultFe = this.adminDraft[':pleroma'][':frontends'][':primary']
+ if (defaultFe?.name === frontend.name && this.canInstall(defaultFe)) {
+ return defaultFe.ref
+ } else {
+ return frontend.refs[0]
+ }
} else {
return frontend.refs[0]
}
diff --git a/src/components/settings_modal/admin_tabs/frontends_tab.vue b/src/components/settings_modal/admin_tabs/frontends_tab.vue
index dd4c9790..097877bc 100644
--- a/src/components/settings_modal/admin_tabs/frontends_tab.vue
+++ b/src/components/settings_modal/admin_tabs/frontends_tab.vue
@@ -6,7 +6,7 @@
{{ $t('admin_dash.tabs.frontends') }}
{{ $t('admin_dash.frontend.wip_notice') }}
-
+
+ {{ $t('admin_dash.frontend.default_frontend_unavail') }}
+
+
{{ $t('admin_dash.frontend.available_frontends') }}
@@ -33,9 +37,9 @@
>
{{ frontend.name }}
{{ ' ' }}
-
+
- {{ adminDraft[':pleroma'][':frontends'][':primary'].ref }}
+ {{ adminDraft && adminDraft[':pleroma'][':frontends'][':primary'].ref }}
@@ -134,7 +138,7 @@
class="button button-default btn"
type="button"
:disabled="
- adminDraft[':pleroma'][':frontends'][':primary']?.name === frontend.name &&
+ !adminDraft || adminDraft[':pleroma'][':frontends'][':primary']?.name === frontend.name &&
adminDraft[':pleroma'][':frontends'][':primary']?.ref === frontend.refs[0]
"
@click="setDefault(frontend)"
diff --git a/src/components/settings_modal/helpers/setting.js b/src/components/settings_modal/helpers/setting.js
index b3add346..abf9cfdf 100644
--- a/src/components/settings_modal/helpers/setting.js
+++ b/src/components/settings_modal/helpers/setting.js
@@ -195,7 +195,8 @@ export default {
}
},
canHardReset () {
- return this.realSource === 'admin' && this.$store.state.adminSettings.modifiedPaths.has(this.canonPath.join(' -> '))
+ return this.realSource === 'admin' && this.$store.state.adminSettings.modifiedPaths &&
+ this.$store.state.adminSettings.modifiedPaths.has(this.canonPath.join(' -> '))
},
matchesExpertLevel () {
return (this.expert || 0) <= this.$store.state.config.expertLevel > 0
diff --git a/src/i18n/en.json b/src/i18n/en.json
index 09ba7025..62316a3f 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -928,6 +928,7 @@
"wip_notice": "Please note that this section is a WIP and lacks certain features as backend implementation of front-end management is incomplete.",
"default_frontend": "Default front-end",
"default_frontend_tip": "Default front-end will be shown to all users. Currently there's no way to for a user to select personal front-end. If you switch away from PleromaFE you'll most likely have to use old and buggy AdminFE to do instance configuration until we replace it.",
+ "default_frontend_unavail": "Default frontend settings are not available, as this requires configuration in the database",
"available_frontends": "Available for install",
"failure_installing_frontend": "Failed to install frontend {version}: {reason}",
"success_installing_frontend": "Frontend {version} successfully installed"