diff --git a/Cargo.toml b/Cargo.toml index 3e4da59280..966c02830a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -240,6 +240,7 @@ bool_to_int_with_if = "warn" borrow_as_ptr = "warn" cfg_not_test = "warn" clear_with_drain = "warn" +type_complexity = "allow" cloned_instead_of_copied = "warn" collection_is_never_read = "warn" dbg_macro = "warn" diff --git a/apps/frontend/src/components/ui/moderation/ModerationProjectNags.vue b/apps/frontend/src/components/ui/moderation/ModerationProjectNags.vue index 44a50f083d..33a7dbf92e 100644 --- a/apps/frontend/src/components/ui/moderation/ModerationProjectNags.vue +++ b/apps/frontend/src/components/ui/moderation/ModerationProjectNags.vue @@ -24,7 +24,7 @@
- diff --git a/apps/frontend/src/composables/featureFlags.ts b/apps/frontend/src/composables/featureFlags.ts index 1becc8b856..c6ffe9eeec 100644 --- a/apps/frontend/src/composables/featureFlags.ts +++ b/apps/frontend/src/composables/featureFlags.ts @@ -48,7 +48,6 @@ export const DEFAULT_FEATURE_FLAGS = validateValues({ useV1ContentTabAPI: true, labrinthApiCanary: false, dismissedExternalProjectsInfo: false, - modpackPermissionsPage: false, showAllBanners: false, alwaysIgnoreErrorBanner: false, showViewProdRouteBanner: false, diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json index 34cb88792d..f248bac278 100644 --- a/apps/frontend/src/locales/en-US/index.json +++ b/apps/frontend/src/locales/en-US/index.json @@ -2874,7 +2874,7 @@ "message": "You're all set!" }, "project.settings.permissions.fail.description": { - "message": "You don't have permission to redistribute some of the external content you've added. In order to publish on Modrinth, remove the infringing content." + "message": "You don't have permission to redistribute some of the external content you've added. In order to publish on Modrinth, remove the infringing content or provide proof that you do have permission to use it." }, "project.settings.permissions.fail.title": { "message": "Some content can't be included" @@ -2888,8 +2888,20 @@ "project.settings.permissions.learn-more": { "message": "Learn more" }, + "project.settings.permissions.no-results": { + "message": "No external projects match your search." + }, "project.settings.permissions.search-placeholder": { - "message": "Search {count} {count, plural, one {external project} other {external projects}}..." + "message": "Search {count} {count, plural, one {project} other {projects}}..." + }, + "project.settings.permissions.sort.most-files": { + "message": "Most files" + }, + "project.settings.permissions.sort.recently-edited": { + "message": "Recently edited" + }, + "project.settings.permissions.sort.status": { + "message": "Status" }, "project.settings.title": { "message": "Settings" diff --git a/apps/frontend/src/pages/[type]/[project]/settings.vue b/apps/frontend/src/pages/[type]/[project]/settings.vue index 45ea37ca34..5a37f4a228 100644 --- a/apps/frontend/src/pages/[type]/[project]/settings.vue +++ b/apps/frontend/src/pages/[type]/[project]/settings.vue @@ -47,10 +47,8 @@ const navItems = computed(() => { projectV3.value?.project_types?.some((type) => ['mod', 'modpack'].includes(type)) && isStaff(currentMember.value?.user) - const hasPermissionsPage = computed( - () => - flags.value.modpackPermissionsPage && - projectV3.value?.project_types?.some((type) => ['modpack'].includes(type)), + const hasPermissionsPage = computed(() => + projectV3.value?.project_types?.some((type) => ['modpack'].includes(type)), ) const items = [ @@ -82,16 +80,16 @@ const navItems = computed(() => { label: formatMessage(commonProjectSettingsMessages.description), icon: AlignLeftIcon, }, - hasPermissionsPage.value && { - link: `/${base}/settings/permissions`, - label: formatMessage(commonProjectSettingsMessages.permissions), - icon: SignatureIcon, - }, !isServerProject.value && { link: `/${base}/settings/versions`, label: formatMessage(commonProjectSettingsMessages.versions), icon: VersionIcon, }, + hasPermissionsPage.value && { + link: `/${base}/settings/permissions`, + label: formatMessage(commonProjectSettingsMessages.permissions), + icon: SignatureIcon, + }, !isServerProject.value && { link: `/${base}/settings/license`, label: formatMessage(commonProjectSettingsMessages.license), diff --git a/apps/frontend/src/pages/[type]/[project]/settings/permissions.vue b/apps/frontend/src/pages/[type]/[project]/settings/permissions.vue index 2d50a45c5d..7d6050d778 100644 --- a/apps/frontend/src/pages/[type]/[project]/settings/permissions.vue +++ b/apps/frontend/src/pages/[type]/[project]/settings/permissions.vue @@ -1,43 +1,189 @@