diff options
Diffstat (limited to 'apps/files_sharing/src/components/PersonalSettings.vue')
-rw-r--r-- | apps/files_sharing/src/components/PersonalSettings.vue | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/apps/files_sharing/src/components/PersonalSettings.vue b/apps/files_sharing/src/components/PersonalSettings.vue new file mode 100644 index 00000000000..19c9c2aec87 --- /dev/null +++ b/apps/files_sharing/src/components/PersonalSettings.vue @@ -0,0 +1,68 @@ +<!-- + - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + - SPDX-License-Identifier: AGPL-3.0-or-later +--> + +<template> + <div v-if="!enforceAcceptShares || allowCustomDirectory" id="files-sharing-personal-settings" class="section"> + <h2>{{ t('files_sharing', 'Sharing') }}</h2> + <p v-if="!enforceAcceptShares"> + <input id="files-sharing-personal-settings-accept" + v-model="accepting" + class="checkbox" + type="checkbox" + @change="toggleEnabled"> + <label for="files-sharing-personal-settings-accept">{{ t('files_sharing', 'Accept shares from other accounts and groups by default') }}</label> + </p> + <p v-if="allowCustomDirectory"> + <SelectShareFolderDialogue /> + </p> + </div> +</template> + +<script> +import { generateUrl } from '@nextcloud/router' +import { loadState } from '@nextcloud/initial-state' +import { showError } from '@nextcloud/dialogs' +import axios from '@nextcloud/axios' + +import SelectShareFolderDialogue from './SelectShareFolderDialogue.vue' + +export default { + name: 'PersonalSettings', + components: { + SelectShareFolderDialogue, + }, + + data() { + return { + // Share acceptance config + accepting: loadState('files_sharing', 'accept_default'), + enforceAcceptShares: loadState('files_sharing', 'enforce_accept'), + + // Receiving share folder config + allowCustomDirectory: loadState('files_sharing', 'allow_custom_share_folder'), + } + }, + + methods: { + async toggleEnabled() { + try { + await axios.put(generateUrl('/apps/files_sharing/settings/defaultAccept'), { + accept: this.accepting, + }) + } catch (error) { + showError(t('files_sharing', 'Error while toggling options')) + console.error(error) + } + }, + }, +} +</script> + +<style scoped lang="scss"> +p { + margin-top: 12px; + margin-bottom: 12px; +} +</style> |