You've already forked AstralRinth
forked from didirus/AstralRinth
Project, Search, User redesign (#1281)
* New project page * fix silly icon tailwind classes * Start new versions page, add new ButtonStyled component * Pagination and finish mocking up versions page functionality * green download button * hover animation * New Modal, Avatar refactor, subpages in NavTabs * lint * Download modal * New user page + fix lint * fix ui lint * Download animation fix * Versions filter + finish project page * Improve consistency of buttons on home page * Fix ButtonStyled breaking * Fix margin on version summary * finish search, new modals, user + project page mobile * fix gallery image pages * New project header * Fix gallery tab showing improperly * Use auto direction + position for all popouts * Preliminary user page * test to see if this fixes login stuff * remove extra slash * Add version actions, move download button on versions page * Listed -> public * Shorten download modal selector height * Fix user menu open direction * Change breakpoint for header collapse * Only underline title * Tighten padding on stats a little * New nav * Make mobile breakpoint more consistent * fix header breakpoint regression * Add sign in button * Fix edit icon color * Fix margin at top of screen * Fix user bios and ad width * Fix user nav showing when there's only one type of project * Fix plural projects on user page & extract i18n * Remove ads on mobile for now * Fix overflow menu showing hidden items * NavTabs on mobile * Fix navbar z index * Search filter overhaul + negative filters * fix no-max-height * port version filters, fix following/collections, lint * hide promos * ui lint * Disable modal background animation to reduce reported motion sickness * Hide install with modrinth app button on mobile --------- Signed-off-by: Geometrically <18202329+Geometrically@users.noreply.github.com> Co-authored-by: Prospector <prospectordev@gmail.com>
This commit is contained in:
@@ -82,10 +82,14 @@ export const REJECTED_PROJECT_STATUSES = ["rejected", "withheld"];
|
||||
export const UNDER_REVIEW_PROJECT_STATUSES = ["processing"];
|
||||
export const DRAFT_PROJECT_STATUSES = ["draft"];
|
||||
|
||||
export function getVersionsToDisplay(project, overrideTags) {
|
||||
export function getVersionsToDisplay(project) {
|
||||
return formatVersionsForDisplay(project.game_versions.slice());
|
||||
}
|
||||
|
||||
export function formatVersionsForDisplay(gameVersions, overrideTags) {
|
||||
const tags = overrideTags ?? useTags().value;
|
||||
|
||||
const projectVersions = project.game_versions.slice();
|
||||
const inputVersions = gameVersions.slice();
|
||||
const allVersions = tags.gameVersions.slice();
|
||||
|
||||
const allSnapshots = allVersions.filter((version) => version.version_type === "snapshot");
|
||||
@@ -99,17 +103,17 @@ export function getVersionsToDisplay(project, overrideTags) {
|
||||
map[gameVersion.version] = index;
|
||||
return map;
|
||||
}, {});
|
||||
projectVersions.sort((a, b) => indices[a] - indices[b]);
|
||||
inputVersions.sort((a, b) => indices[a] - indices[b]);
|
||||
}
|
||||
|
||||
const releaseVersions = projectVersions.filter((projVer) =>
|
||||
const releaseVersions = inputVersions.filter((projVer) =>
|
||||
allReleases.some((gameVer) => gameVer.version === projVer),
|
||||
);
|
||||
|
||||
const latestReleaseVersionDate = Date.parse(
|
||||
allReleases.find((version) => version.version === releaseVersions[0])?.date,
|
||||
);
|
||||
const latestSnapshot = projectVersions.find((projVer) =>
|
||||
const latestSnapshot = inputVersions.find((projVer) =>
|
||||
allSnapshots.some(
|
||||
(gameVer) =>
|
||||
gameVer.version === projVer &&
|
||||
@@ -140,7 +144,7 @@ export function getVersionsToDisplay(project, overrideTags) {
|
||||
});
|
||||
|
||||
const legacyVersionsAsRanges = groupConsecutiveIndices(
|
||||
projectVersions.filter((projVer) => allLegacy.some((gameVer) => gameVer.version === projVer)),
|
||||
inputVersions.filter((projVer) => allLegacy.some((gameVer) => gameVer.version === projVer)),
|
||||
allLegacy,
|
||||
);
|
||||
|
||||
@@ -149,7 +153,7 @@ export function getVersionsToDisplay(project, overrideTags) {
|
||||
// show all snapshots if there's no release versions
|
||||
if (releaseVersionsAsRanges.length === 0) {
|
||||
const snapshotVersionsAsRanges = groupConsecutiveIndices(
|
||||
projectVersions.filter((projVer) =>
|
||||
inputVersions.filter((projVer) =>
|
||||
allSnapshots.some((gameVer) => gameVer.version === projVer),
|
||||
),
|
||||
allSnapshots,
|
||||
@@ -159,7 +163,7 @@ export function getVersionsToDisplay(project, overrideTags) {
|
||||
output = [...releaseVersionsAsRanges, ...output];
|
||||
}
|
||||
|
||||
if (latestSnapshot) {
|
||||
if (latestSnapshot && !output.includes(latestSnapshot)) {
|
||||
output = [latestSnapshot, ...output];
|
||||
}
|
||||
return output;
|
||||
|
||||
Reference in New Issue
Block a user