feat: safety settings subpage

This commit is contained in:
Calum H. (IMB11)
2026-07-28 16:20:38 +01:00
parent a8b41382ff
commit 7e94e8c644
4 changed files with 363 additions and 0 deletions
@@ -3,6 +3,7 @@ import {
CoffeeIcon,
GameIcon,
GaugeIcon,
HeartHandshakeIcon,
LanguagesIcon,
ModrinthIcon,
PaintbrushIcon,
@@ -24,6 +25,7 @@ import { platform as getOsPlatform, version as getOsVersion } from '@tauri-apps/
import { computed, ref, watch } from 'vue'
import PrivacySettings from '@/components/ui/settings/account/PrivacySettings.vue'
import SafetySettings from '@/components/ui/settings/account/SafetySettings.vue'
import AppearanceSettings from '@/components/ui/settings/display/AppearanceSettings.vue'
import BehaviorSettings from '@/components/ui/settings/display/BehaviorSettings.vue'
import FeatureFlagSettings from '@/components/ui/settings/display/FeatureFlagSettings.vue'
@@ -98,6 +100,15 @@ const tabs = [
content: FeatureFlagSettings,
developerOnly: true,
},
{
name: defineMessage({
id: 'app.settings.tabs.safety',
defaultMessage: 'Safety',
}),
category: tabCategories.account,
icon: HeartHandshakeIcon,
content: SafetySettings,
},
{
name: defineMessage({
id: 'app.settings.tabs.privacy',
@@ -0,0 +1,20 @@
<template>
<AccountSafetySettings
:get-blocked-users="get_blocked_users"
:get-users="getUsers"
:unblock-user="unblock_user"
/>
</template>
<script setup lang="ts">
import type { Labrinth } from '@modrinth/api-client'
import { AccountSafetySettings, injectModrinthClient } from '@modrinth/ui'
import { get_blocked_users, unblock_user } from '@/helpers/users'
const client = injectModrinthClient()
function getUsers(userIds: string[]): Promise<Labrinth.Users.v2.User[]> {
return client.labrinth.users_v2.getMultiple(userIds)
}
</script>