aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/routes/dashboard.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/app/routes/dashboard.tsx')
-rw-r--r--frontend/app/routes/dashboard.tsx39
1 files changed, 17 insertions, 22 deletions
diff --git a/frontend/app/routes/dashboard.tsx b/frontend/app/routes/dashboard.tsx
index 7aa77fd..3a50757 100644
--- a/frontend/app/routes/dashboard.tsx
+++ b/frontend/app/routes/dashboard.tsx
@@ -4,6 +4,7 @@ import { apiGetGames } from "../.server/api/client";
import { ensureUserLoggedIn } from "../.server/auth";
import BorderedContainer from "../components/BorderedContainer";
import NavigateLink from "../components/NavigateLink";
+import UserIcon from "../components/UserIcon";
export const meta: MetaFunction = () => [
{ title: "Dashboard | iOSDC Japan 2024 Albatross.swift" },
@@ -22,23 +23,19 @@ export default function Dashboard() {
const { user, games } = useLoaderData<typeof loader>()!;
return (
- <div className="p-6 bg-gray-100 min-h-screen flex flex-col items-center">
+ <div className="p-6 bg-gray-100 min-h-screen flex flex-col items-center gap-4">
{user.icon_path && (
- <img
- src={
- process.env.NODE_ENV === "development"
- ? `http://localhost:8002/iosdc-japan/2024/code-battle${user.icon_path}`
- : `/iosdc-japan/2024/code-battle${user.icon_path}`
- }
- alt={`${user.display_name} のアイコン`}
- className="w-24 h-24 rounded-full mb-4"
+ <UserIcon
+ iconPath={user.icon_path}
+ displayName={user.display_name}
+ className="w-24 h-24"
/>
)}
- <h1 className="text-2xl font-bold mb-4">
+ <h1 className="text-2xl font-bold">
<span className="text-gray-800">{user.display_name}</span>
<span className="text-gray-500 ml-2">@{user.username}</span>
</h1>
- <h2 className="text-xl font-semibold mb-4 text-gray-700">試合</h2>
+ <h2 className="text-xl font-semibold text-gray-700">試合</h2>
<BorderedContainer>
<div className="px-4">
{games.length === 0 ? (
@@ -77,16 +74,14 @@ export default function Dashboard() {
)}
</div>
</BorderedContainer>
- <div className="mt-6">
- <Form method="post" action="/logout">
- <button
- type="submit"
- className="px-4 py-2 bg-red-500 text-white rounded transition duration-300 hover:bg-red-700 focus:ring focus:ring-red-400 focus:outline-none"
- >
- ログアウト
- </button>
- </Form>
- </div>
+ <Form method="post" action="/logout">
+ <button
+ type="submit"
+ className="px-4 py-2 bg-red-500 text-white rounded transition duration-300 hover:bg-red-700 focus:ring focus:ring-red-400 focus:outline-none"
+ >
+ ログアウト
+ </button>
+ </Form>
{user.is_admin && (
<a
href={
@@ -94,7 +89,7 @@ export default function Dashboard() {
? "http://localhost:8002/iosdc-japan/2024/code-battle/admin/dashboard"
: "/iosdc-japan/2024/code-battle/admin/dashboard"
}
- className="mt-4 text-lg text-white bg-pink-600 px-4 py-2 rounded transition duration-300 hover:bg-pink-500 focus:ring focus:ring-pink-400 focus:outline-none"
+ className="text-lg text-white bg-pink-600 px-4 py-2 rounded transition duration-300 hover:bg-pink-500 focus:ring focus:ring-pink-400 focus:outline-none"
>
Admin Dashboard
</a>