blob: 02ce558e516c2c022e81b635f43ea7c38e3f7b52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
import type { LoaderFunctionArgs, MetaFunction } from "react-router";
import { ensureUserNotLoggedIn } from "../.server/auth";
import BorderedContainer from "../components/BorderedContainer";
import NavigateLink from "../components/NavigateLink";
import { BASE_PATH } from "../config";
export const meta: MetaFunction = () => [
{ title: "iOSDC Japan 2025 Albatross" },
];
export async function loader({ request }: LoaderFunctionArgs) {
await ensureUserNotLoggedIn(request);
return null;
}
export default function Index() {
return (
<div className="min-h-screen bg-sky-600 flex flex-col items-center justify-center gap-y-6">
<img
src={`${BASE_PATH}logo.svg`}
alt="iOSDC Japan 2025"
className="w-64 h-64"
/>
<div className="text-center">
<div className="font-bold text-sky-50 flex flex-col gap-y-2">
<div className="text-5xl">SWIFT CODE BATTLE</div>
</div>
</div>
<div className="mx-2">
<BorderedContainer>
<p className="text-gray-900 max-w-prose">
Swift コードバトルは指示された動作をする Swift
コードをより短く書けた方が勝ち、という 1 対 1
の対戦コンテンツです。9/6
に実施された予選を勝ち抜いたプレイヤーによるトーナメント形式での
コードバトルを 9/19 (金) day0
に実施します。ここでは短いコードが正義です!
可読性も保守性も放り投げた、イベントならではのコードをお楽しみください!
</p>
</BorderedContainer>
</div>
<div>
<NavigateLink to="/login">ログイン</NavigateLink>
</div>
</div>
);
}
|