diff --git a/src/lang/en-US/index.json b/src/lang/en-US/index.json
index 883efc96b4..ac65ad2705 100644
--- a/src/lang/en-US/index.json
+++ b/src/lang/en-US/index.json
@@ -122,6 +122,8 @@
"files": "Files",
"activity": "Activity",
"webhooks": "Webhooks",
+ "roles": "User Roles",
+
"about_directus": "About Directus",
@@ -545,7 +547,6 @@
"revert_copy": "Do you want to revert this item to how it was on {date}?",
"role_count": "No Roles | One Role | {count} Roles",
"role_settings": "Role Settings",
- "roles": "User Roles",
"save": "Save",
"save_as_bookmark": "Save as Bookmark",
"scan_in_authenticator": "Scan this code in your authenticator app",
diff --git a/src/modules/settings/index.ts b/src/modules/settings/index.ts
index b2d2434563..20ea7def9b 100644
--- a/src/modules/settings/index.ts
+++ b/src/modules/settings/index.ts
@@ -1,7 +1,7 @@
import { defineModule } from '@/modules/define';
import SettingsGlobal from './routes/global';
import { SettingsCollections, SettingsFields } from './routes/data-model/';
-import SettingsRoles from './routes/roles';
+import { SettingsRolesBrowse, SettingsRolesDetail } from './routes/roles';
import { SettingsWebhooksBrowse, SettingsWebhooksDetail } from './routes/webhooks';
import SettingsNotFound from './routes/not-found';
@@ -31,9 +31,15 @@ export default defineModule(({ i18n }) => ({
props: true,
},
{
- name: 'settings-roles',
+ name: 'settings-roles-browse',
path: '/roles',
- component: SettingsRoles,
+ component: SettingsRolesBrowse,
+ },
+ {
+ name: 'settings-roles-detail',
+ path: '/roles/:primaryKey',
+ component: SettingsRolesDetail,
+ props: true,
},
{
name: 'settings-webhooks-browse',
diff --git a/src/modules/settings/routes/roles/browse/browse.vue b/src/modules/settings/routes/roles/browse/browse.vue
new file mode 100644
index 0000000000..9eb00fa41a
--- /dev/null
+++ b/src/modules/settings/routes/roles/browse/browse.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $tc('batch_delete_confirm', selection.length) }}
+
+
+
+ {{ $t('cancel') }}
+
+
+ {{ $t('delete') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/settings/routes/roles/browse/index.ts b/src/modules/settings/routes/roles/browse/index.ts
new file mode 100644
index 0000000000..0128cff703
--- /dev/null
+++ b/src/modules/settings/routes/roles/browse/index.ts
@@ -0,0 +1,4 @@
+import RolesBrowse from './browse.vue';
+
+export { RolesBrowse };
+export default RolesBrowse;
diff --git a/src/modules/settings/routes/roles/detail/detail.vue b/src/modules/settings/routes/roles/detail/detail.vue
new file mode 100644
index 0000000000..c22b58bdd5
--- /dev/null
+++ b/src/modules/settings/routes/roles/detail/detail.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('delete_are_you_sure') }}
+
+
+
+ {{ $t('cancel') }}
+
+
+ {{ $t('delete') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/settings/routes/roles/detail/index.ts b/src/modules/settings/routes/roles/detail/index.ts
new file mode 100644
index 0000000000..8dde27d52e
--- /dev/null
+++ b/src/modules/settings/routes/roles/detail/index.ts
@@ -0,0 +1,4 @@
+import RolesDetail from './detail.vue';
+
+export { RolesDetail };
+export default RolesDetail;
diff --git a/src/modules/settings/routes/roles/global/global.vue b/src/modules/settings/routes/roles/global/global.vue
deleted file mode 100644
index ab6f266bae..0000000000
--- a/src/modules/settings/routes/roles/global/global.vue
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/modules/settings/routes/roles/global/index.ts b/src/modules/settings/routes/roles/global/index.ts
deleted file mode 100644
index b016d6a58e..0000000000
--- a/src/modules/settings/routes/roles/global/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import SettingsGlobal from './global.vue';
-
-export { SettingsGlobal };
-export default SettingsGlobal;
diff --git a/src/modules/settings/routes/roles/index.ts b/src/modules/settings/routes/roles/index.ts
index 503b10ba03..f18b1ee0ee 100644
--- a/src/modules/settings/routes/roles/index.ts
+++ b/src/modules/settings/routes/roles/index.ts
@@ -1,4 +1,5 @@
-import SettingsRoles from './roles.vue';
+import SettingsRolesBrowse from './browse/';
+import SettingsRolesDetail from './detail/';
-export { SettingsRoles };
-export default SettingsRoles;
+export { SettingsRolesBrowse, SettingsRolesDetail };
+export default { SettingsRolesBrowse, SettingsRolesDetail };
diff --git a/src/modules/settings/routes/roles/roles.vue b/src/modules/settings/routes/roles/roles.vue
deleted file mode 100644
index 05fabd7421..0000000000
--- a/src/modules/settings/routes/roles/roles.vue
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/modules/settings/routes/webhooks/browse/browse.vue b/src/modules/settings/routes/webhooks/browse/browse.vue
index ed4c8f8efe..ddd0eb01b6 100644
--- a/src/modules/settings/routes/webhooks/browse/browse.vue
+++ b/src/modules/settings/routes/webhooks/browse/browse.vue
@@ -56,7 +56,7 @@
:selection.sync="selection"
:view-options.sync="viewOptions"
:view-query.sync="viewQuery"
- :detail-route="'/{{project}}/settings/settings/webhooks/{{primaryKey}}'"
+ :detail-route="'/{{project}}/settings/webhooks/{{primaryKey}}'"
/>
diff --git a/src/modules/settings/routes/webhooks/browse/index.ts b/src/modules/settings/routes/webhooks/browse/index.ts
index c0ef6ea919..0d357e16f4 100644
--- a/src/modules/settings/routes/webhooks/browse/index.ts
+++ b/src/modules/settings/routes/webhooks/browse/index.ts
@@ -1,4 +1,4 @@
-import FilesBrowse from './browse.vue';
+import WebhooksBrowse from './browse.vue';
-export { FilesBrowse };
-export default FilesBrowse;
+export { WebhooksBrowse };
+export default WebhooksBrowse;
diff --git a/src/modules/settings/routes/webhooks/detail/detail.vue b/src/modules/settings/routes/webhooks/detail/detail.vue
index da3176c5e4..a4c8c281de 100644
--- a/src/modules/settings/routes/webhooks/detail/detail.vue
+++ b/src/modules/settings/routes/webhooks/detail/detail.vue
@@ -160,7 +160,7 @@ export default defineComponent({
async function saveAndQuit() {
await save();
- router.push(`/${currentProjectKey.value}/webhooks`);
+ router.push(`/${currentProjectKey.value}/settings/webhooks`);
}
async function saveAndStay() {
diff --git a/src/modules/settings/routes/webhooks/detail/index.ts b/src/modules/settings/routes/webhooks/detail/index.ts
index 99de591237..2a233474ca 100644
--- a/src/modules/settings/routes/webhooks/detail/index.ts
+++ b/src/modules/settings/routes/webhooks/detail/index.ts
@@ -1,4 +1,4 @@
-import FilesDetail from './detail.vue';
+import WebhooksDetail from './detail.vue';
-export { FilesDetail };
-export default FilesDetail;
+export { WebhooksDetail };
+export default WebhooksDetail;