You've already forked AstralRinth
forked from didirus/AstralRinth
Fix plugin URLs, display, redirects (#619)
* Fix plugin URLs, display, redirects * Fix user profile + some redirects not working
This commit is contained in:
@@ -621,13 +621,10 @@ export default {
|
||||
KoFiIcon,
|
||||
},
|
||||
async asyncData(data) {
|
||||
const projectTypes = ['mod', 'modpack', 'resourcepack']
|
||||
const projectTypes = ['mod', 'modpack', 'resourcepack', 'plugin', 'project']
|
||||
|
||||
try {
|
||||
if (
|
||||
!data.params.id ||
|
||||
!projectTypes.includes(data.params.type.toLowerCase())
|
||||
) {
|
||||
if (!data.params.id || !projectTypes.includes(data.params.type)) {
|
||||
data.error({
|
||||
statusCode: 404,
|
||||
message: 'The page could not be found',
|
||||
@@ -658,11 +655,30 @@ export default {
|
||||
])
|
||||
).map((it) => it.data)
|
||||
|
||||
if (project.project_type !== data.params.type) {
|
||||
data.error({
|
||||
statusCode: 404,
|
||||
message: 'Project not found',
|
||||
})
|
||||
const projectLoaders = {}
|
||||
|
||||
for (const version of versions) {
|
||||
for (const loader of version.loaders) {
|
||||
projectLoaders[loader] = true
|
||||
}
|
||||
}
|
||||
|
||||
project.project_type = data.$getProjectTypeForUrl(
|
||||
project.project_type,
|
||||
Object.keys(projectLoaders)
|
||||
)
|
||||
|
||||
if (
|
||||
project.project_type !== data.params.type ||
|
||||
data.params.id !== project.slug
|
||||
) {
|
||||
const route = data.route.fullPath.split('/')
|
||||
route.splice(0, 3)
|
||||
|
||||
data.redirect(
|
||||
301,
|
||||
`/${project.project_type}/${project.slug}/${route.join('/')}`
|
||||
)
|
||||
|
||||
return
|
||||
}
|
||||
@@ -1122,7 +1138,9 @@ export default {
|
||||
}
|
||||
|
||||
&.lowercase {
|
||||
text-transform: none;
|
||||
&::first-letter {
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user