diff --git a/src/page/plugins/filetransfer/component.vue b/src/page/plugins/filetransfer/component.vue index e7d774f6..59205a16 100644 --- a/src/page/plugins/filetransfer/component.vue +++ b/src/page/plugins/filetransfer/component.vue @@ -2,11 +2,11 @@
Filetransfer is {{ isLocked ? 'locked' : 'unlocked' }} for users
- +Filetransfer is {{ enabledInSettings ? 'unlocked' : 'locked' }} for users
+{{ enabled ? cwd : 'Filetransfer is disabled' }}
+{{ enabledSystemWide ? cwd : 'Filetransfer is disabled system wide' }}
{{ item.name }}
{{ fileSize(item.size) }}
- +
Downloads
@@ -286,8 +286,15 @@ const props = defineProps<{
const api = props.neko.withApi(FiletransferApi) as FiletransferApi
-const enabled = ref(false)
-const enabledForMe = computed(() => enabled.value && (props.neko.is_admin || (!props.neko.is_admin && !isLocked.value)))
+// config option to enable/disable filetransfer plugin
+const enabledSystemWide = ref(false)
+// dynamic settings for filetransfer plugin
+const enabledInSettings = computed(() => !(props.neko.state.settings?.plugins?.filetransfer?.enabled === false))
+// user specific setting to enable/disable filetransfer plugin
+const enabledForMe = computed(() => !(props.neko.session?.profile?.plugins?.filetransfer?.enabled === false))
+// combined enabled state for filetransfer plugin and user
+const enabled = computed(() => enabledSystemWide.value && (enabledInSettings.value || props.neko.is_admin) && enabledForMe.value)
+
const cwd = ref('')
const files = ref