Remove "hosted on sendou ink" tag and add ranked/unranked tags

This commit is contained in:
Kalle 2024-05-09 14:18:52 +03:00
parent 1d7b16c6a6
commit d6b0f9f769
24 changed files with 49 additions and 37 deletions

View File

@ -153,6 +153,11 @@ export async function findAllBetweenTwoTimestamps({
"User.discordName",
"User.discordDiscriminator",
"CalendarEventRanks.nthAppearance",
eb
.selectFrom("Tournament")
.select("Tournament.settings")
.whereRef("Tournament.id", "=", "CalendarEvent.tournamentId")
.as("tournamentSettings"),
hasBadge,
jsonArrayFrom(
eb
@ -227,7 +232,6 @@ function tagsArray(args: {
) as Array<CalendarEventTag>;
if (args.hasBadge) tags.unshift("BADGE");
if (args.tournamentId) tags.unshift("FULL_TOURNAMENT");
return tags;
}

View File

@ -47,9 +47,6 @@ export const tags = {
CARDS: {
color: "#E4D00A",
},
FULL_TOURNAMENT: {
color: "#FFC0CB",
},
};
export const REG_CLOSES_AT_OPTIONS = [

View File

@ -12,9 +12,11 @@ export function Tags({
tags,
badges,
onDelete,
tournamentRankedStatus,
}: {
tags: Array<CalendarEventTag>;
badges?: CalendarRepository.FindAllBetweenTwoTimestampsItem["badgePrizes"];
tournamentRankedStatus?: "RANKED" | "UNRANKED";
/** Called when tag delete button clicked. If undefined delete buttons won't be shown. */
onDelete?: (tag: CalendarEventTag) => void;
@ -25,6 +27,12 @@ export function Tags({
return (
<ul className="calendar__event__tags">
{tournamentRankedStatus === "RANKED" ? (
<li className="calendar__event__ranked-tag">Ranked</li>
) : null}
{tournamentRankedStatus === "UNRANKED" ? (
<li className="calendar__event__unranked-tag">Unranked</li>
) : null}
{tags.map((tag) => (
<React.Fragment key={tag}>
<li

View File

@ -33,9 +33,7 @@ export const loader = async ({ request }: LoaderFunctionArgs) => {
if (!event) return;
// special tags that are added automatically
const tags = event?.tags?.filter(
(tag) => tag !== "BADGE" && tag !== "FULL_TOURNAMENT",
);
const tags = event?.tags?.filter((tag) => tag !== "BADGE");
if (!event?.tournamentId) return { ...event, tags, tournamentCtx: null };

View File

@ -449,8 +449,7 @@ function TagsAdder() {
const id = React.useId();
const tagsForSelect = CALENDAR_EVENT.TAGS.filter(
(tag) =>
!tags.includes(tag) && tag !== "BADGE" && tag !== "FULL_TOURNAMENT",
(tag) => !tags.includes(tag) && tag !== "BADGE",
);
return (

View File

@ -47,6 +47,7 @@ import { Tags } from "../components/Tags";
import { Image } from "~/components/Image";
import { Toggle } from "~/components/Toggle";
import { Label } from "~/components/Label";
import { currentSeason } from "~/features/mmr/season";
import "~/styles/calendar.css";
@ -418,6 +419,18 @@ function EventsList({
weekday: "long",
});
const startTimeDate = databaseTimestampToDate(
calendarEvent.startTime,
);
const tournamentRankedStatus = () => {
if (!calendarEvent.tournamentSettings) return undefined;
if (!currentSeason(startTimeDate)) return undefined;
return calendarEvent.tournamentSettings.isRanked
? "RANKED"
: "UNRANKED";
};
return (
<section
key={calendarEvent.eventDateId}
@ -431,9 +444,7 @@ function EventsList({
).toISOString()}
className="calendar__event__time"
>
{databaseTimestampToDate(
calendarEvent.startTime,
).toLocaleTimeString(i18n.language, {
{startTimeDate.toLocaleTimeString(i18n.language, {
hour: "numeric",
minute: "numeric",
})}
@ -499,6 +510,7 @@ function EventsList({
<Tags
tags={calendarEvent.tags}
badges={calendarEvent.badgePrizes}
tournamentRankedStatus={tournamentRankedStatus()}
/>
</div>
</div>

View File

@ -765,6 +765,7 @@ dialog::backdrop {
align-items: center;
border-radius: var(--rounded);
padding-inline: var(--s-1-5);
min-height: 20px;
}
.calendar__event__tag {
@ -775,6 +776,16 @@ dialog::backdrop {
color: var(--badge-text);
}
.calendar__event__ranked-tag {
background-color: var(--theme-info-transparent);
color: var(--theme-info);
}
.calendar__event__unranked-tag {
background-color: var(--theme-success-transparent);
color: var(--theme-success);
}
.calendar__event__tag-delete-button {
margin-left: auto;
}

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "Spilles i Splatoon 1.",
"tag.desc.S2": "Spilles i Splatoon 2.",
"tag.desc.SR": "Salmon Run begivenhed.",
"tag.desc.CARDS": "Tableturf Battle begivenhed.",
"tag.desc.FULL_TOURNAMENT": "Sendou.ink er værten for turneringen."
"tag.desc.CARDS": "Tableturf Battle begivenhed."
}

View File

@ -107,7 +107,6 @@
"tag.name.S2": "Splatoon 2",
"tag.name.SR": "Salmon Run",
"tag.name.CARDS": "Tableturf Battle",
"tag.name.FULL_TOURNAMENT": "Hosted på sendou.ink",
"weapon.category.SHOOTERS": "Skydere",
"weapon.category.BLASTERS": "Blastere",

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "The game played is Splatoon 1.",
"tag.desc.S2": "The game played is Splatoon 2.",
"tag.desc.SR": "Salmon Run event.",
"tag.desc.CARDS": "Tableturf Battle event.",
"tag.desc.FULL_TOURNAMENT": "Tournament is hosted on sendou.ink"
"tag.desc.CARDS": "Tableturf Battle event."
}

View File

@ -115,7 +115,6 @@
"tag.name.S2": "Splatoon 2",
"tag.name.SR": "Salmon Run",
"tag.name.CARDS": "Tableturf Battle",
"tag.name.FULL_TOURNAMENT": "Hosted on sendou.ink",
"weapon.category.SHOOTERS": "Shooters",
"weapon.category.BLASTERS": "Blasters",

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "Le jeu joué est Splatoon 1.",
"tag.desc.S2": "Le jeu joué est Splatoon 2.",
"tag.desc.SR": "Événement Salmon Run.",
"tag.desc.CARDS": "Événement Cartes & Territoire.",
"tag.desc.FULL_TOURNAMENT": "Ce tournoi est hébergé sur sendou.ink"
"tag.desc.CARDS": "Événement Cartes & Territoire."
}

View File

@ -110,7 +110,6 @@
"tag.name.S2": "Splatoon 2",
"tag.name.SR": "Salmon Run",
"tag.name.CARDS": "Cartes & Territoire",
"tag.name.FULL_TOURNAMENT": "Hébergé sur sendou.ink",
"weapon.category.SHOOTERS": "Lanceurs",
"weapon.category.BLASTERS": "Blasters",

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "המשחק המשוחק הוא Splatoon 1.",
"tag.desc.S2": "המשחק המשוחק הוא Splatoon 2.",
"tag.desc.SR": "אירוע Salmon Run.",
"tag.desc.CARDS": "אירוע Tableturf Battle.",
"tag.desc.FULL_TOURNAMENT": "הטורניר מתארח ב- sendou.ink"
"tag.desc.CARDS": "אירוע Tableturf Battle."
}

View File

@ -110,7 +110,6 @@
"tag.name.S2": "Splatoon 2",
"tag.name.SR": "Salmon Run",
"tag.name.CARDS": "Tableturf Battle",
"tag.name.FULL_TOURNAMENT": "מתארח ב-sendou.ink",
"weapon.category.SHOOTERS": "Shooters",
"weapon.category.BLASTERS": "Blasters",

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "スプラトゥーン1でプレイされます",
"tag.desc.S2": "スプラトゥーン2でプレイされます",
"tag.desc.SR": "サーモンランイベント",
"tag.desc.CARDS": "ナワバリバトルイベント",
"tag.desc.FULL_TOURNAMENT": "sendou.ink がホストのトーナメント"
"tag.desc.CARDS": "ナワバリバトルイベント"
}

View File

@ -110,7 +110,6 @@
"tag.name.S2": "スプラトゥーン 2",
"tag.name.SR": "サーモンラン",
"tag.name.CARDS": "ナワバトラー",
"tag.name.FULL_TOURNAMENT": "sendou.ink 主催",
"weapon.category.SHOOTERS": "シューター",
"weapon.category.BLASTERS": "ブラスター",

View File

@ -109,7 +109,6 @@
"tag.name.S2": "스플래툰 2",
"tag.name.SR": "새먼런",
"tag.name.CARDS": "영역 배틀러",
"tag.name.FULL_TOURNAMENT": "sendou.ink에서 개최됨",
"weapon.category.SHOOTERS": "슈터",
"weapon.category.BLASTERS": "블래스터",

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "O jogo jogado é o Splatoon 1.",
"tag.desc.S2": "O jogo jogado é o Splatoon 2.",
"tag.desc.SR": "Evento de Salmon Run.",
"tag.desc.CARDS": "Evento de Tableturf Battle.",
"tag.desc.FULL_TOURNAMENT": "O torneio é hospedado no sendou.ink"
"tag.desc.CARDS": "Evento de Tableturf Battle."
}

View File

@ -110,7 +110,6 @@
"tag.name.S2": "Splatoon 2",
"tag.name.SR": "Salmon Run",
"tag.name.CARDS": "Tableturf Battle",
"tag.name.FULL_TOURNAMENT": "Hospedado no sendou.ink",
"weapon.category.SHOOTERS": "Shooters",
"weapon.category.BLASTERS": "Blasters",

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "Игра — Splatoon 1.",
"tag.desc.S2": "Игра — Splatoon 2.",
"tag.desc.SR": "Событие по Salmon Run.",
"tag.desc.CARDS": "Событие по \"Карты и район\".",
"tag.desc.FULL_TOURNAMENT": "Турнир проводится на sendou.ink"
"tag.desc.CARDS": "Событие по \"Карты и район\"."
}

View File

@ -112,7 +112,6 @@
"tag.name.S2": "Splatoon 2",
"tag.name.SR": "Salmon Run",
"tag.name.CARDS": "Карты и район",
"tag.name.FULL_TOURNAMENT": "Проводится на sendou.ink",
"weapon.category.SHOOTERS": "Каплестрелы",
"weapon.category.BLASTERS": "Бластеры",

View File

@ -65,6 +65,5 @@
"tag.desc.S1": "本次比赛为斯普拉遁1的比赛。",
"tag.desc.S2": "本次比赛为斯普拉遁2的比赛。",
"tag.desc.SR": "鲑鱼跑活动。",
"tag.desc.CARDS": "占地斗士活动。",
"tag.desc.FULL_TOURNAMENT": "本次比赛由sendou.ink举办"
"tag.desc.CARDS": "占地斗士活动。"
}

View File

@ -110,7 +110,6 @@
"tag.name.S2": "斯普拉遁2",
"tag.name.SR": "鲑鱼跑",
"tag.name.CARDS": "占地斗士",
"tag.name.FULL_TOURNAMENT": "由sendou.ink举办",
"weapon.category.SHOOTERS": "射击枪",
"weapon.category.BLASTERS": "爆破枪",