diff --git a/app/components/EventsList.tsx b/app/components/EventsList.tsx index 1e455ce22..b27011d16 100644 --- a/app/components/EventsList.tsx +++ b/app/components/EventsList.tsx @@ -90,7 +90,9 @@ export function EventsList({ ? t("front:sideNav.scrimVs", { opponent: event.name }) : event.scrimStatus === "looking" ? t("front:sideNav.lookingForScrim") - : event.name} + : event.scrimStatus === "requestPending" + ? t("front:sideNav.scrimRequestPending") + : event.name} ))} diff --git a/app/components/layout/index.tsx b/app/components/layout/index.tsx index 0766e9630..28e5be824 100644 --- a/app/components/layout/index.tsx +++ b/app/components/layout/index.tsx @@ -291,7 +291,9 @@ export function Layout({ ? t("front:sideNav.scrimVs", { opponent: event.name }) : event.scrimStatus === "looking" ? t("front:sideNav.lookingForScrim") - : event.name} + : event.scrimStatus === "requestPending" + ? t("front:sideNav.scrimRequestPending") + : event.name} )) ) : ( diff --git a/app/features/scrims/ScrimPostRepository.server.ts b/app/features/scrims/ScrimPostRepository.server.ts index 1ccbc731c..db49c7e0d 100644 --- a/app/features/scrims/ScrimPostRepository.server.ts +++ b/app/features/scrims/ScrimPostRepository.server.ts @@ -408,7 +408,7 @@ export type SidebarScrim = { at: number; opponentName: string | null; opponentAvatarUrl: string | null; - isAccepted: boolean; + status: "booked" | "looking" | "requestPending"; }; export async function findUserScrims(userId: number): Promise { @@ -450,6 +450,7 @@ export async function findUserScrims(userId: number): Promise { ) .map((post) => { const isAccepted = Scrim.isAccepted(post); + const userIsInPost = post.users.some((u) => u.id === userId); if (!isAccepted) { return { @@ -457,11 +458,12 @@ export async function findUserScrims(userId: number): Promise { at: post.at, opponentName: null, opponentAvatarUrl: null, - isAccepted: false, + status: userIsInPost + ? ("looking" as const) + : ("requestPending" as const), }; } - const userIsInPost = post.users.some((u) => u.id === userId); const opponent = userIsInPost ? post.requests[0] : { team: post.team, users: post.users }; @@ -474,7 +476,7 @@ export async function findUserScrims(userId: number): Promise { opponentName: opponentTeam?.name ?? null, opponentAvatarUrl: opponentTeam?.avatarUrl ?? opponentOwner?.discordAvatar ?? null, - isAccepted: true, + status: "booked" as const, }; }); } diff --git a/app/features/sidebar/core/sidebar.server.ts b/app/features/sidebar/core/sidebar.server.ts index 9fac7991d..7f1de2cfc 100644 --- a/app/features/sidebar/core/sidebar.server.ts +++ b/app/features/sidebar/core/sidebar.server.ts @@ -37,7 +37,7 @@ export type SidebarEvent = { logoUrl: string | null; startTime: number; type: "tournament" | "scrim"; - scrimStatus?: "booked" | "looking"; + scrimStatus?: "booked" | "looking" | "requestPending"; }; export type SidebarFriend = { @@ -381,12 +381,13 @@ export function scrimToSidebarEvent(s: SidebarScrim): SidebarEvent { return { id: s.id, name: s.opponentName ?? "Scrim", - url: s.isAccepted - ? href("/scrims/:id", { id: String(s.id) }) - : href("/scrims"), + url: + s.status === "booked" + ? href("/scrims/:id", { id: String(s.id) }) + : href("/scrims"), logoUrl: s.opponentAvatarUrl ?? SCRIMS_ICON_URL, startTime: s.at, type: "scrim" as const, - scrimStatus: s.isAccepted ? ("booked" as const) : ("looking" as const), + scrimStatus: s.status, }; } diff --git a/locales/da/front.json b/locales/da/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/da/front.json +++ b/locales/da/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/de/front.json b/locales/de/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/de/front.json +++ b/locales/de/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/en/front.json b/locales/en/front.json index 70caa4922..424cd6274 100644 --- a/locales/en/front.json +++ b/locales/en/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "Upcoming", "sideNav.scrimVs": "vs. {{opponent}}", "sideNav.lookingForScrim": "Looking for scrim", + "sideNav.scrimRequestPending": "Request pending", "mobileNav.menu": "Menu", "mobileNav.friends": "Friends", "mobileNav.you": "You", diff --git a/locales/es-ES/front.json b/locales/es-ES/front.json index f61b09feb..eee79a690 100644 --- a/locales/es-ES/front.json +++ b/locales/es-ES/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/es-US/front.json b/locales/es-US/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/es-US/front.json +++ b/locales/es-US/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/fr-CA/front.json b/locales/fr-CA/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/fr-CA/front.json +++ b/locales/fr-CA/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/fr-EU/front.json b/locales/fr-EU/front.json index 0bf753112..b30b52a3e 100644 --- a/locales/fr-EU/front.json +++ b/locales/fr-EU/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/he/front.json b/locales/he/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/he/front.json +++ b/locales/he/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/it/front.json b/locales/it/front.json index ca25765ba..335f984d0 100644 --- a/locales/it/front.json +++ b/locales/it/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/ja/front.json b/locales/ja/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/ja/front.json +++ b/locales/ja/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/ko/front.json b/locales/ko/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/ko/front.json +++ b/locales/ko/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/nl/front.json b/locales/nl/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/nl/front.json +++ b/locales/nl/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/pl/front.json b/locales/pl/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/pl/front.json +++ b/locales/pl/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/pt-BR/front.json b/locales/pt-BR/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/pt-BR/front.json +++ b/locales/pt-BR/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/ru/front.json b/locales/ru/front.json index 4e26fabd4..97c7cd0c2 100644 --- a/locales/ru/front.json +++ b/locales/ru/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "", diff --git a/locales/zh/front.json b/locales/zh/front.json index 3b3b5465f..0d3964023 100644 --- a/locales/zh/front.json +++ b/locales/zh/front.json @@ -25,6 +25,7 @@ "sideNav.streams.upcoming": "", "sideNav.scrimVs": "", "sideNav.lookingForScrim": "", + "sideNav.scrimRequestPending": "", "mobileNav.menu": "", "mobileNav.friends": "", "mobileNav.you": "",