diff --git a/apps/frontend/src/composables/auth/scopes.ts b/apps/frontend/src/composables/auth/scopes.ts index 2999de9ee8..39f1a0211c 100644 --- a/apps/frontend/src/composables/auth/scopes.ts +++ b/apps/frontend/src/composables/auth/scopes.ts @@ -323,6 +323,57 @@ export const scopeMessages = defineMessages({ }, }) +export const scopeCategoryMessages = defineMessages({ + categoryUserAccount: { + id: 'scopes.category.user-account', + defaultMessage: 'User account', + }, + categoryProjects: { + id: 'scopes.category.projects', + defaultMessage: 'Projects', + }, + categoryVersions: { + id: 'scopes.category.versions', + defaultMessage: 'Versions', + }, + categoryCollections: { + id: 'scopes.category.collections', + defaultMessage: 'Collections', + }, + categoryOrganizations: { + id: 'scopes.category.organizations', + defaultMessage: 'Organizations', + }, + categoryReports: { + id: 'scopes.category.reports', + defaultMessage: 'Reports', + }, + categoryThreads: { + id: 'scopes.category.threads', + defaultMessage: 'Threads', + }, + categoryPats: { + id: 'scopes.category.pats', + defaultMessage: 'PATs', + }, + categorySessions: { + id: 'scopes.category.sessions', + defaultMessage: 'Sessions', + }, + categoryNotifications: { + id: 'scopes.category.notifications', + defaultMessage: 'Notifications', + }, + categoryPayouts: { + id: 'scopes.category.payouts', + defaultMessage: 'Payouts', + }, + categoryAnalytics: { + id: 'scopes.category.analytics', + defaultMessage: 'Analytics', + }, +}) + const scopeDefinitions = [ { id: 'USER_READ_EMAIL', diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json index f9dc3f10b4..736c3bbf40 100644 --- a/apps/frontend/src/locales/en-US/index.json +++ b/apps/frontend/src/locales/en-US/index.json @@ -2444,6 +2444,42 @@ "scopes.analytics.label": { "message": "Read analytics" }, + "scopes.category.analytics": { + "message": "Analytics" + }, + "scopes.category.collections": { + "message": "Collections" + }, + "scopes.category.notifications": { + "message": "Notifications" + }, + "scopes.category.organizations": { + "message": "Organizations" + }, + "scopes.category.pats": { + "message": "PATs" + }, + "scopes.category.payouts": { + "message": "Payouts" + }, + "scopes.category.projects": { + "message": "Projects" + }, + "scopes.category.reports": { + "message": "Reports" + }, + "scopes.category.sessions": { + "message": "Sessions" + }, + "scopes.category.threads": { + "message": "Threads" + }, + "scopes.category.user-account": { + "message": "User account" + }, + "scopes.category.versions": { + "message": "Versions" + }, "scopes.collectionCreate.description": { "message": "Create collections" }, @@ -2741,6 +2777,102 @@ "servers.plan.small.name": { "message": "Small" }, + "settings.applications.about": { + "message": "About" + }, + "settings.applications.button.add-more": { + "message": "Add more" + }, + "settings.applications.button.add-redirect-uri": { + "message": "Add a redirect uri" + }, + "settings.applications.button.cancel": { + "message": "Cancel" + }, + "settings.applications.button.create": { + "message": "Create app" + }, + "settings.applications.button.delete": { + "message": "Delete" + }, + "settings.applications.button.edit": { + "message": "Edit" + }, + "settings.applications.button.new": { + "message": "New application" + }, + "settings.applications.button.save-changes": { + "message": "Save changes" + }, + "settings.applications.button.upload-icon": { + "message": "Upload icon" + }, + "settings.applications.client-id": { + "message": "Client ID" + }, + "settings.applications.client-secret": { + "message": "Client secret" + }, + "settings.applications.created-on": { + "message": "Created on {date}" + }, + "settings.applications.delete.confirm.button": { + "message": "Delete this application" + }, + "settings.applications.delete.confirm.description": { + "message": "This will permanently delete this application and revoke all access tokens. (forever!)" + }, + "settings.applications.delete.confirm.title": { + "message": "Are you sure you want to delete this application?" + }, + "settings.applications.description.intro": { + "message": "Applications can be used to authenticate Modrinth's users with your products. For more information, see Modrinth's API documentation." + }, + "settings.applications.field.description": { + "message": "Description" + }, + "settings.applications.field.description.placeholder": { + "message": "Enter the application's description..." + }, + "settings.applications.field.icon": { + "message": "Icon" + }, + "settings.applications.field.name": { + "message": "Name" + }, + "settings.applications.field.name.placeholder": { + "message": "Enter the application's name..." + }, + "settings.applications.field.redirect-uri.placeholder": { + "message": "https://example.com/auth/callback" + }, + "settings.applications.field.redirect-uris": { + "message": "Redirect uris" + }, + "settings.applications.field.scopes": { + "message": "Scopes" + }, + "settings.applications.field.url": { + "message": "URL" + }, + "settings.applications.field.url.placeholder": { + "message": "https://example.com" + }, + "settings.applications.modal.header": { + "message": "Application information" + }, + "settings.applications.notification.error.title": { + "message": "An error occurred" + }, + "settings.applications.notification.icon-updated.description": { + "message": "Your application icon has been updated." + }, + "settings.applications.notification.icon-updated.title": { + "message": "Icon updated" + }, + "settings.applications.secret.disclaimer": { + "message": "Save your secret now, it will be hidden after you leave this page!" + }, "settings.billing.modal.cancel.action": { "message": "Cancel subscription" }, diff --git a/apps/frontend/src/pages/settings/applications.vue b/apps/frontend/src/pages/settings/applications.vue index e62624b233..301d13c71c 100644 --- a/apps/frontend/src/pages/settings/applications.vue +++ b/apps/frontend/src/pages/settings/applications.vue @@ -2,29 +2,33 @@
- +
- + - +
@@ -32,7 +36,7 @@