* fix tauri config * fix package patch * regen pnpm lock * use new workflow * New GH actions * Update lockfile * update scripts * Fix build script * Fix missing deps * Fix assets eslint * Update libraries lint * Fix all lint configs * update lockfile * add fmt + clippy fails * Separate App Tauri portion * fix app features * Fix lints * install tauri cli * update lockfile * corepack, fix lints * add store path * fix unused import * Fix tests * Issue templates + port over tauri release * fix actions * fix before build command * Add X86 target * Update build matrix * finalize actions * make debug build smaller * Use debug build to make cache smaller * dummy commit * change proj name * update file name * Use release builds for less space use * Remove rust cache * Readd for app build * add merge queue trigger
107 lines
3.1 KiB
TypeScript
107 lines
3.1 KiB
TypeScript
// noinspection JSUnusedGlobalSymbols
|
|
|
|
export const getProjectTypeForDisplay = (type, categories, tags) => {
|
|
if (type === 'mod') {
|
|
const isPlugin = categories.some((category) => {
|
|
return tags.loaderData.allPluginLoaders.includes(category)
|
|
})
|
|
const isMod = categories.some((category) => {
|
|
return tags.loaderData.modLoaders.includes(category)
|
|
})
|
|
const isDataPack = categories.some((category) => {
|
|
return tags.loaderData.dataPackLoaders.includes(category)
|
|
})
|
|
|
|
if (isMod && isPlugin && isDataPack) {
|
|
return 'mod, plugin, and data pack'
|
|
} else if (isMod && isPlugin) {
|
|
return 'mod and plugin'
|
|
} else if (isMod && isDataPack) {
|
|
return 'mod and data pack'
|
|
} else if (isPlugin && isDataPack) {
|
|
return 'plugin and data pack'
|
|
} else if (isDataPack) {
|
|
return 'data pack'
|
|
} else if (isPlugin) {
|
|
return 'plugin'
|
|
}
|
|
}
|
|
|
|
return type
|
|
}
|
|
|
|
export const getProjectTypeForUrl = (type, loaders, tags) => {
|
|
if (type === 'mod') {
|
|
const isMod = loaders.some((category) => {
|
|
return tags.loaderData.modLoaders.includes(category)
|
|
})
|
|
|
|
const isPlugin = loaders.some((category) => {
|
|
return tags.loaderData.allPluginLoaders.includes(category)
|
|
})
|
|
|
|
const isDataPack = loaders.some((category) => {
|
|
return tags.loaderData.dataPackLoaders.includes(category)
|
|
})
|
|
|
|
if (isDataPack) {
|
|
return 'datapack'
|
|
} else if (isPlugin) {
|
|
return 'plugin'
|
|
} else if (isMod) {
|
|
return 'mod'
|
|
}
|
|
return 'mod'
|
|
}
|
|
return type
|
|
}
|
|
|
|
export const getProjectLink = (project) => {
|
|
return `/${getProjectTypeForUrl(project.project_type, project.loaders)}/${
|
|
project.slug ? project.slug : project.id
|
|
}`
|
|
}
|
|
|
|
export const getVersionLink = (project, version) => {
|
|
if (version) {
|
|
return `${getProjectLink(project)}/version/${version.id}`
|
|
}
|
|
return getProjectLink(project)
|
|
}
|
|
|
|
export const isApproved = (project) => {
|
|
return project && APPROVED_PROJECT_STATUSES.includes(project.status)
|
|
}
|
|
|
|
export const isListed = (project) => {
|
|
return project && LISTED_PROJECT_STATUSES.includes(project.status)
|
|
}
|
|
|
|
export const isUnlisted = (project) => {
|
|
return project && UNLISTED_PROJECT_STATUSES.includes(project.status)
|
|
}
|
|
|
|
export const isPrivate = (project) => {
|
|
return project && PRIVATE_PROJECT_STATUSES.includes(project.status)
|
|
}
|
|
|
|
export const isRejected = (project) => {
|
|
return project && REJECTED_PROJECT_STATUSES.includes(project.status)
|
|
}
|
|
|
|
export const isUnderReview = (project) => {
|
|
return project && UNDER_REVIEW_PROJECT_STATUSES.includes(project.status)
|
|
}
|
|
|
|
export const isDraft = (project) => {
|
|
return project && DRAFT_PROJECT_STATUSES.includes(project.status)
|
|
}
|
|
|
|
export const APPROVED_PROJECT_STATUSES = ['approved', 'archived', 'unlisted', 'private']
|
|
export const LISTED_PROJECT_STATUSES = ['approved', 'archived']
|
|
export const UNLISTED_PROJECT_STATUSES = ['unlisted', 'withheld']
|
|
export const PRIVATE_PROJECT_STATUSES = ['private', 'rejected', 'processing']
|
|
export const REJECTED_PROJECT_STATUSES = ['rejected', 'withheld']
|
|
export const UNDER_REVIEW_PROJECT_STATUSES = ['processing']
|
|
export const DRAFT_PROJECT_STATUSES = ['draft']
|