aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-03-21 11:01:07 +0900
committernsfisis <nsfisis@gmail.com>2025-03-21 11:01:07 +0900
commit4b58aed45bb2356786958b4ce10b62ede26dfdb3 (patch)
treeace42061be330d82824c2166a1d97571b72495be /frontend
parent4b28b1eb8ee6177a8009b89ac2200b3b753bc5b1 (diff)
downloadphperkaigi-2025-albatross-4b58aed45bb2356786958b4ce10b62ede26dfdb3.tar.gz
phperkaigi-2025-albatross-4b58aed45bb2356786958b4ce10b62ede26dfdb3.tar.zst
phperkaigi-2025-albatross-4b58aed45bb2356786958b4ce10b62ede26dfdb3.zip
feat(frontend): hide announcement text of online qualifying after code battle starts
Diffstat (limited to 'frontend')
-rw-r--r--frontend/app/routes/dashboard.tsx34
1 files changed, 19 insertions, 15 deletions
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 ? (