Files
modrinth/apps/frontend/src/pages/discover.vue
T
Blodhgarm a71a361e0f feat: Allow for adjustable alignment of main content on certain pages for content moderators (#7034)
* Add type safety and validation for moderation settings

* Add ability for moderators to adjust page layout for discover, project, moderation pages

Primarily for changes to have more tooling present without overlapping important info
2026-08-07 16:45:37 +00:00

66 lines
1.6 KiB
Vue

<script setup lang="ts">
import { getMarginTarget } from '@modrinth/moderation'
import { commonProjectTypeCategoryMessages, NavTabs, useVIntl } from '@modrinth/ui'
const { formatMessage } = useVIntl()
const flags = useFeatureFlags()
const route = useRoute()
const modSettings = useModerationSettings()
const allowTabChanging = computed(() => !route.query.sid)
const marginTarget = computed(() => getMarginTarget(modSettings.value))
const selectableProjectTypes = [
{
label: formatMessage(commonProjectTypeCategoryMessages.mod),
href: `/discover/mods`,
type: 'mods',
},
{
label: formatMessage(commonProjectTypeCategoryMessages.resourcepack),
href: `/discover/resourcepacks`,
type: 'resourcepacks',
},
{
label: formatMessage(commonProjectTypeCategoryMessages.datapack),
href: `/discover/datapacks`,
type: 'datapacks',
},
{
label: formatMessage(commonProjectTypeCategoryMessages.shader),
href: `/discover/shaders`,
type: 'shaders',
},
{
label: formatMessage(commonProjectTypeCategoryMessages.modpack),
href: `/discover/modpacks`,
type: 'modpacks',
},
{
label: formatMessage(commonProjectTypeCategoryMessages.plugin),
href: `/discover/plugins`,
type: 'plugins',
},
{
label: formatMessage(commonProjectTypeCategoryMessages.server),
href: `/discover/servers`,
type: 'servers',
},
]
</script>
<template>
<div
class="box-border flex w-full max-w-[1280px] flex-col gap-4 px-6 pb-6"
:class="`m${marginTarget}-auto`"
>
<NavTabs
v-if="!flags.projectTypesPrimaryNav && allowTabChanging"
:links="selectableProjectTypes"
replace
class="hidden md:flex"
/>
<NuxtPage />
</div>
</template>