diff --git a/apps/files/src/components/FilesAppSettings/FilesAppSettingsAppearance.vue b/apps/files/src/components/FilesAppSettings/FilesAppSettingsAppearance.vue
new file mode 100644
index 00000000000..5c1f19ebb1c
--- /dev/null
+++ b/apps/files/src/components/FilesAppSettings/FilesAppSettingsAppearance.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesAppSettings/FilesAppSettingsEntry.vue b/apps/files/src/components/FilesAppSettings/FilesAppSettingsEntry.vue
deleted file mode 100644
index c9697d957a4..00000000000
--- a/apps/files/src/components/FilesAppSettings/FilesAppSettingsEntry.vue
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
diff --git a/apps/files/src/components/FilesAppSettings/FilesAppSettingsGeneral.vue b/apps/files/src/components/FilesAppSettings/FilesAppSettingsGeneral.vue
new file mode 100644
index 00000000000..9b649827ab7
--- /dev/null
+++ b/apps/files/src/components/FilesAppSettings/FilesAppSettingsGeneral.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesAppSettings/FilesAppSettingsLegacyApi.vue b/apps/files/src/components/FilesAppSettings/FilesAppSettingsLegacyApi.vue
new file mode 100644
index 00000000000..fe787b22777
--- /dev/null
+++ b/apps/files/src/components/FilesAppSettings/FilesAppSettingsLegacyApi.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesAppSettings/FilesAppSettingsLegacyApiEntry.vue b/apps/files/src/components/FilesAppSettings/FilesAppSettingsLegacyApiEntry.vue
new file mode 100644
index 00000000000..3dc6db90bb1
--- /dev/null
+++ b/apps/files/src/components/FilesAppSettings/FilesAppSettingsLegacyApiEntry.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesAppSettings/FilesAppSettingsWarnings.vue b/apps/files/src/components/FilesAppSettings/FilesAppSettingsWarnings.vue
new file mode 100644
index 00000000000..5c92494a73f
--- /dev/null
+++ b/apps/files/src/components/FilesAppSettings/FilesAppSettingsWarnings.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesAppSettings/FilesAppSettingsWebDav.vue b/apps/files/src/components/FilesAppSettings/FilesAppSettingsWebDav.vue
new file mode 100644
index 00000000000..e68df0536ba
--- /dev/null
+++ b/apps/files/src/components/FilesAppSettings/FilesAppSettingsWebDav.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/files/src/views/FilesAppSettings.vue b/apps/files/src/views/FilesAppSettings.vue
index be3b964a573..7772b3d89c2 100644
--- a/apps/files/src/views/FilesAppSettings.vue
+++ b/apps/files/src/views/FilesAppSettings.vue
@@ -2,303 +2,61 @@
- SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
-
-
-
-
-
-
- {{ t('files', 'Sort favorites first') }}
-
-
- {{ t('files', 'Sort folders before files') }}
-
-
- {{ t('files', 'Folder tree') }}
-
-
-
-
-
- {{ t('files', 'Show hidden files') }}
-
-
- {{ t('files', 'Show file type column') }}
-
-
- {{ t('files', 'Show file extensions') }}
-
-
- {{ t('files', 'Crop image previews') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ t('files', 'How to access files using WebDAV') }} ↗
-
-
-
-
-
- {{ t('files', 'Two-Factor Authentication is enabled for your account, and therefore you need to use an app password to connect an external WebDAV client.') }} ↗
-
-
-
-
-
-
- {{ t('files', 'Warn before changing a file extension') }}
-
-
- {{ t('files', 'Warn before deleting files') }}
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/cypress/e2e/files/files-settings.cy.ts b/cypress/e2e/files/files-settings.cy.ts
index 6bf41615e52..e03283c3f49 100644
--- a/cypress/e2e/files/files-settings.cy.ts
+++ b/cypress/e2e/files/files-settings.cy.ts
@@ -149,10 +149,13 @@ function showHiddenFiles() {
// Open the files settings
cy.get('[data-cy-files-navigation-settings-button] a').click({ force: true })
// Toggle the hidden files setting
- cy.get('[data-cy-files-settings-setting="show_hidden"]').within(() => {
- cy.get('input').should('not.be.checked')
- cy.get('input').check({ force: true })
- })
+ cy.findByRole('switch', { name: /show hidden files/i })
+ .as('hiddenFiles')
+ .scrollIntoView()
+ cy.get('@hiddenFiles')
+ .should('not.be.checked')
+ .check({ force: true })
+
// Close the dialog
cy.get('[data-cy-files-navigation-settings] button[aria-label="Close"]').click()
}