mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-05 20:56:13 -05:00
Remove future tournament cards (redundant with sidebar/my events page) - to be replaced with something else
This commit is contained in:
parent
86c9ca8887
commit
85dc36a62f
|
|
@ -12,7 +12,7 @@ export const loader = async () => {
|
|||
const user = requireUser();
|
||||
|
||||
const [tournamentsData, scrimsData] = await Promise.all([
|
||||
ShowcaseTournaments.frontPageTournamentsByUserId(user.id),
|
||||
ShowcaseTournaments.categorizedTournamentsByUserId(user.id),
|
||||
ScrimPostRepository.findUserScrims(user.id),
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ export async function upcomingTournaments(): Promise<ShowcaseCalendarEvent[]> {
|
|||
return tournaments.upcoming;
|
||||
}
|
||||
|
||||
export async function frontPageTournamentsByUserId(
|
||||
export async function categorizedTournamentsByUserId(
|
||||
userId: number | null,
|
||||
): Promise<ShowcaseTournamentCollection> {
|
||||
const tournaments = await cachedTournaments();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import cachified from "@epic-web/cachified";
|
||||
import type { Tables } from "~/db/tables";
|
||||
import { getUser } from "~/features/auth/core/user.server";
|
||||
import * as Changelog from "~/features/front-page/core/Changelog.server";
|
||||
import { cachedFullUserLeaderboard } from "~/features/leaderboards/core/leaderboards.server";
|
||||
import * as LeaderboardRepository from "~/features/leaderboards/LeaderboardRepository.server";
|
||||
|
|
@ -10,10 +9,8 @@ import { discordAvatarUrl, teamPage, userPage } from "~/utils/urls";
|
|||
import * as ShowcaseTournaments from "../core/ShowcaseTournaments.server";
|
||||
|
||||
export const loader = async () => {
|
||||
const user = getUser();
|
||||
|
||||
const [tournaments, changelog, leaderboards] = await Promise.all([
|
||||
ShowcaseTournaments.frontPageTournamentsByUserId(user?.id ?? null),
|
||||
ShowcaseTournaments.categorizedTournamentsByUserId(null),
|
||||
cachified({
|
||||
key: "front-changelog",
|
||||
cache,
|
||||
|
|
|
|||
|
|
@ -4,23 +4,13 @@ import { useTranslation } from "react-i18next";
|
|||
import { Link, useLoaderData } from "react-router";
|
||||
import { Avatar } from "~/components/Avatar";
|
||||
import { Divider } from "~/components/Divider";
|
||||
import {
|
||||
SendouTab,
|
||||
SendouTabList,
|
||||
SendouTabPanel,
|
||||
SendouTabs,
|
||||
} from "~/components/elements/Tabs";
|
||||
import { Image } from "~/components/Image";
|
||||
import { ArrowRightIcon } from "~/components/icons/ArrowRight";
|
||||
import { BSKYLikeIcon } from "~/components/icons/BSKYLike";
|
||||
import { BSKYReplyIcon } from "~/components/icons/BSKYReply";
|
||||
import { BSKYRepostIcon } from "~/components/icons/BSKYRepost";
|
||||
import { ExternalIcon } from "~/components/icons/External";
|
||||
import { KeyIcon } from "~/components/icons/Key";
|
||||
import { SearchIcon } from "~/components/icons/Search";
|
||||
import { UsersIcon } from "~/components/icons/Users";
|
||||
import { Main } from "~/components/Main";
|
||||
import type { ShowcaseCalendarEvent } from "~/features/calendar/calendar-types";
|
||||
import { TournamentCard } from "~/features/calendar/components/TournamentCard";
|
||||
import type * as Changelog from "~/features/front-page/core/Changelog.server";
|
||||
import * as Seasons from "~/features/mmr/core/Seasons";
|
||||
|
|
@ -30,7 +20,6 @@ import styles from "~/styles/front.module.css";
|
|||
import type { SendouRouteHandle } from "~/utils/remix.server";
|
||||
import {
|
||||
BLANK_IMAGE_URL,
|
||||
CALENDAR_TOURNAMENTS_PAGE,
|
||||
LUTI_PAGE,
|
||||
leaderboardsPage,
|
||||
navIconUrl,
|
||||
|
|
@ -50,7 +39,6 @@ export default function FrontPage() {
|
|||
<Main className={styles.frontPageContainer}>
|
||||
<LeagueBanner />
|
||||
<SeasonBanner />
|
||||
<TournamentCards />
|
||||
<ResultHighlights />
|
||||
<ChangelogList />
|
||||
</Main>
|
||||
|
|
@ -120,96 +108,6 @@ function LeagueBanner() {
|
|||
);
|
||||
}
|
||||
|
||||
function TournamentCards() {
|
||||
const { t } = useTranslation(["front"]);
|
||||
const data = useLoaderData<typeof loader>();
|
||||
|
||||
if (
|
||||
data.tournaments.participatingFor.length === 0 &&
|
||||
data.tournaments.organizingFor.length === 0 &&
|
||||
data.tournaments.showcase.length === 0
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const showSignedUpTab = data.tournaments.participatingFor.length > 0;
|
||||
const showOrganizerTab = data.tournaments.organizingFor.length > 0;
|
||||
const showDiscoverTab = data.tournaments.showcase.length > 0;
|
||||
|
||||
return (
|
||||
<div>
|
||||
<SendouTabs padded={false}>
|
||||
<SendouTabList>
|
||||
{showSignedUpTab ? (
|
||||
<SendouTab id="signed-up" icon={<UsersIcon />}>
|
||||
{t("front:showcase.tabs.signedUp")}
|
||||
</SendouTab>
|
||||
) : null}
|
||||
{showOrganizerTab ? (
|
||||
<SendouTab id="organizer" icon={<KeyIcon />}>
|
||||
{t("front:showcase.tabs.organizer")}
|
||||
</SendouTab>
|
||||
) : null}
|
||||
{showDiscoverTab ? (
|
||||
<SendouTab id="discover" icon={<SearchIcon />}>
|
||||
{t("front:showcase.tabs.discover")}
|
||||
</SendouTab>
|
||||
) : null}
|
||||
</SendouTabList>
|
||||
<SendouTabPanel id="signed-up">
|
||||
<ShowcaseTournamentScroller
|
||||
tournaments={data.tournaments.participatingFor}
|
||||
/>
|
||||
</SendouTabPanel>
|
||||
<SendouTabPanel id="organizer">
|
||||
<ShowcaseTournamentScroller
|
||||
tournaments={data.tournaments.organizingFor}
|
||||
/>
|
||||
</SendouTabPanel>
|
||||
<SendouTabPanel id="discover">
|
||||
<ShowcaseTournamentScroller tournaments={data.tournaments.showcase} />
|
||||
</SendouTabPanel>
|
||||
</SendouTabs>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function ShowcaseTournamentScroller({
|
||||
tournaments,
|
||||
}: {
|
||||
tournaments: ShowcaseCalendarEvent[];
|
||||
}) {
|
||||
return (
|
||||
<div className={styles.tournamentCards}>
|
||||
<div
|
||||
className={clsx(
|
||||
styles.tournamentCardsSpacer,
|
||||
"overflow-x-scroll scrollbar",
|
||||
)}
|
||||
>
|
||||
{tournaments.map((tournament) => (
|
||||
<TournamentCard key={tournament.id} tournament={tournament} />
|
||||
))}
|
||||
</div>
|
||||
<AllTournamentsLinkCard />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function AllTournamentsLinkCard() {
|
||||
const { t } = useTranslation(["front"]);
|
||||
|
||||
return (
|
||||
<Link
|
||||
to={CALENDAR_TOURNAMENTS_PAGE}
|
||||
className={styles.tournamentCardsViewAllCard}
|
||||
>
|
||||
<Image path={navIconUrl("medal")} size={36} alt="" />
|
||||
{t("front:showcase.viewAll")}
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
|
||||
function ResultHighlights() {
|
||||
const { t } = useTranslation(["front"]);
|
||||
const data = useLoaderData<typeof loader>();
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ const TOURNAMENT_SUB_QUOTA = 2;
|
|||
export async function resolveSidebarData(userId: number | null) {
|
||||
if (!userId) {
|
||||
const tournamentsData =
|
||||
await ShowcaseTournaments.frontPageTournamentsByUserId(null);
|
||||
await ShowcaseTournaments.categorizedTournamentsByUserId(null);
|
||||
return {
|
||||
events: showcaseEventsToSidebarEvents(tournamentsData.showcase),
|
||||
friends: [] as SidebarFriend[],
|
||||
|
|
@ -67,7 +67,7 @@ export async function resolveSidebarData(userId: number | null) {
|
|||
}
|
||||
|
||||
const [tournamentsData, scrimsData, friendsWithActivity] = await Promise.all([
|
||||
ShowcaseTournaments.frontPageTournamentsByUserId(userId),
|
||||
ShowcaseTournaments.categorizedTournamentsByUserId(userId),
|
||||
ScrimPostRepository.findUserScrims(userId),
|
||||
FriendRepository.findByUserIdWithActivity(userId),
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -100,13 +100,6 @@
|
|||
translate: 2px;
|
||||
}
|
||||
|
||||
.tournamentCards {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
gap: var(--s-2);
|
||||
margin-block-start: var(--s-2);
|
||||
}
|
||||
|
||||
.tournamentCardsSpacer {
|
||||
display: flex;
|
||||
gap: var(--s-2);
|
||||
|
|
@ -114,28 +107,6 @@
|
|||
padding: var(--s-2);
|
||||
}
|
||||
|
||||
.tournamentCardsViewAllCard {
|
||||
background-color: var(--color-bg-high);
|
||||
height: var(--card-height);
|
||||
border-radius: var(--radius-box);
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: var(--s-2);
|
||||
font-size: var(--font-2xs);
|
||||
font-weight: var(--weight-bold);
|
||||
text-align: center;
|
||||
color: var(--color-text);
|
||||
transition: 0.2s ease-out;
|
||||
min-width: 90px;
|
||||
max-width: 90px;
|
||||
border: var(--border-style);
|
||||
margin-top: var(--s-2);
|
||||
}
|
||||
|
||||
.tournamentCardsViewAllCard:hover {
|
||||
background-color: var(--color-bg-higher);
|
||||
}
|
||||
|
||||
.resultHighlights {
|
||||
display: flex;
|
||||
gap: var(--s-2);
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "Season {{nth}}",
|
||||
"sq.prepare": "Prepare now!",
|
||||
"sq.participate": "Participate now!",
|
||||
"showcase.tabs.signedUp": "Signed up",
|
||||
"showcase.tabs.organizer": "Organizing",
|
||||
"showcase.tabs.discover": "Discover",
|
||||
"showcase.viewAll": "View all tournaments",
|
||||
"showcase.card.ranked": "Ranked",
|
||||
"showcase.card.unranked": "Unranked",
|
||||
"showcase.card.winner": "Winner",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "Saison {{nth}}",
|
||||
"sq.prepare": "Preparez-vous maintenant!",
|
||||
"sq.participate": "Participez maintenant!",
|
||||
"showcase.tabs.signedUp": "Inscrit",
|
||||
"showcase.tabs.organizer": "Organisater",
|
||||
"showcase.tabs.discover": "Découvrir",
|
||||
"showcase.viewAll": "Regarder tous les tournois",
|
||||
"showcase.card.ranked": "Classé",
|
||||
"showcase.card.unranked": "Non classé",
|
||||
"showcase.card.winner": "Gagnant",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "Stagione {{nth}}",
|
||||
"sq.prepare": "Preparati!",
|
||||
"sq.participate": "Partecipa ora!",
|
||||
"showcase.tabs.signedUp": "Iscritto",
|
||||
"showcase.tabs.organizer": "Organizing",
|
||||
"showcase.tabs.discover": "Scopri",
|
||||
"showcase.viewAll": "Visualizza tutti i tornei",
|
||||
"showcase.card.ranked": "Classificata",
|
||||
"showcase.card.unranked": "Non classificata",
|
||||
"showcase.card.winner": "Vincitore",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "Сезон {{nth}}",
|
||||
"sq.prepare": "Будьте готовы!",
|
||||
"sq.participate": "Участвуйте!",
|
||||
"showcase.tabs.signedUp": "Записаны",
|
||||
"showcase.tabs.organizer": "Организуете",
|
||||
"showcase.tabs.discover": "Найти",
|
||||
"showcase.viewAll": "Посмотреть все турниры",
|
||||
"showcase.card.ranked": "Рейтинговый",
|
||||
"showcase.card.unranked": "Без Рейтинга",
|
||||
"showcase.card.winner": "Победитель",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@
|
|||
"sq.season": "",
|
||||
"sq.prepare": "",
|
||||
"sq.participate": "",
|
||||
"showcase.tabs.signedUp": "",
|
||||
"showcase.tabs.organizer": "",
|
||||
"showcase.tabs.discover": "",
|
||||
"showcase.viewAll": "",
|
||||
"showcase.card.ranked": "",
|
||||
"showcase.card.unranked": "",
|
||||
"showcase.card.winner": "",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user