From 4b58aed45bb2356786958b4ce10b62ede26dfdb3 Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Fri, 21 Mar 2025 11:01:07 +0900
Subject: feat(frontend): hide announcement text of online qualifying after
 code battle starts

---
 frontend/app/routes/dashboard.tsx | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

(limited to 'frontend/app/routes/dashboard.tsx')

diff --git a/frontend/app/routes/dashboard.tsx b/frontend/app/routes/dashboard.tsx
index 23ef2e4..d0fea47 100644
--- a/frontend/app/routes/dashboard.tsx
+++ b/frontend/app/routes/dashboard.tsx
@@ -24,6 +24,8 @@ export async function loader({ request }: LoaderFunctionArgs) {
 export default function Dashboard() {
 	const { user, games } = useLoaderData<typeof loader>()!;
 
+	const isOnlineQualifyingOpen = new Date() < new Date(2025, 2, 21, 16, 30);
+
 	return (
 		<div className="p-6 bg-gray-100 min-h-screen flex flex-col items-center gap-4">
 			{user.icon_path && (
@@ -34,21 +36,23 @@ export default function Dashboard() {
 				/>
 			)}
 			<h1 className="text-3xl font-bold text-gray-800">{user.display_name}</h1>
-			<BorderedContainerWithCaption caption="オンライン予選開催中 (3/21 決勝当日まで)">
-				<p className="text-gray-900 max-w-prose">
-					現在オンライン予選を開催中です。
-					予選問題2問を両方解いたプレイヤーのうち合計スコアが最も小さい2名が、3/21
-					(金) の PHPerKaigi day0 に実施される決勝戦への進出枠を獲得します。
-					当日は、会場の Track A まで是非お越しください！
-				</p>
-				<p className="text-gray-600 max-w-prose">
-					※ 当日会場 Track A
-					にいらっしゃらない場合、次点のスコアを獲得されている方が自動的に決勝進出となります。
-				</p>
-				<p className="text-gray-600 max-w-prose">
-					※ 決勝に参加する予定のない方でも、プレイしていただくことは可能です。
-				</p>
-			</BorderedContainerWithCaption>
+			{isOnlineQualifyingOpen && (
+				<BorderedContainerWithCaption caption="オンライン予選開催中 (3/21 決勝当日まで)">
+					<p className="text-gray-900 max-w-prose">
+						現在オンライン予選を開催中です。
+						予選問題2問を両方解いたプレイヤーのうち合計スコアが最も小さい2名が、3/21
+						(金) の PHPerKaigi day0 に実施される決勝戦への進出枠を獲得します。
+						当日は、会場の Track A まで是非お越しください！
+					</p>
+					<p className="text-gray-600 max-w-prose">
+						※ 当日会場 Track A
+						にいらっしゃらない場合、次点のスコアを獲得されている方が自動的に決勝進出となります。
+					</p>
+					<p className="text-gray-600 max-w-prose">
+						※ 決勝に参加する予定のない方でも、プレイしていただくことは可能です。
+					</p>
+				</BorderedContainerWithCaption>
+			)}
 			<BorderedContainerWithCaption caption="試合一覧">
 				<div className="px-4">
 					{games.length === 0 ? (
-- 
cgit v1.2.3-70-g09d2

