aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-03-11 01:23:41 +0900
committernsfisis <nsfisis@gmail.com>2025-03-11 01:23:41 +0900
commita93c441ec4f992ed2f7eeae23fb823b1d152913f (patch)
treec8e7750019849a7100d11ac6b81517ad0d5c98ea /frontend
parent57212d2c7992a46827f503ae70c8e31f2084b718 (diff)
downloadiosdc-japan-2025-albatross-a93c441ec4f992ed2f7eeae23fb823b1d152913f.tar.gz
iosdc-japan-2025-albatross-a93c441ec4f992ed2f7eeae23fb823b1d152913f.tar.zst
iosdc-japan-2025-albatross-a93c441ec4f992ed2f7eeae23fb823b1d152913f.zip
feat: show user label
Diffstat (limited to 'frontend')
-rw-r--r--frontend/app/api/schema.d.ts2
-rw-r--r--frontend/app/components/GolfWatchApps/GolfWatchAppGamingMultiplayer.tsx4
-rw-r--r--frontend/app/components/UserLabel.tsx11
3 files changed, 17 insertions, 0 deletions
diff --git a/frontend/app/api/schema.d.ts b/frontend/app/api/schema.d.ts
index cec5661..b5ec26b 100644
--- a/frontend/app/api/schema.d.ts
+++ b/frontend/app/api/schema.d.ts
@@ -159,6 +159,8 @@ export interface components {
icon_path?: string;
/** @example false */
is_admin: boolean;
+ /** @example staff */
+ label: string | null;
};
Game: {
/** @example 1 */
diff --git a/frontend/app/components/GolfWatchApps/GolfWatchAppGamingMultiplayer.tsx b/frontend/app/components/GolfWatchApps/GolfWatchAppGamingMultiplayer.tsx
index 7a36283..758c589 100644
--- a/frontend/app/components/GolfWatchApps/GolfWatchAppGamingMultiplayer.tsx
+++ b/frontend/app/components/GolfWatchApps/GolfWatchAppGamingMultiplayer.tsx
@@ -2,6 +2,7 @@ import { useAtomValue } from "jotai";
import type { components } from "../../api/schema";
import { gamingLeftTimeSecondsAtom } from "../../states/watch";
import BorderedContainer from "../BorderedContainer";
+import UserLabel from "../UserLabel";
type RankingEntry = components["schemas"]["RankingEntry"];
@@ -91,6 +92,9 @@ export default function GolfWatchAppGamingMultiplayer({
</td>
<td className="px-6 py-4 whitespace-nowrap text-gray-900">
{entry.player.display_name}
+ {entry.player.label && (
+ <UserLabel label={entry.player.label} />
+ )}
</td>
<td className="px-6 py-4 whitespace-nowrap text-gray-900">
{entry.score}
diff --git a/frontend/app/components/UserLabel.tsx b/frontend/app/components/UserLabel.tsx
new file mode 100644
index 0000000..b436ad6
--- /dev/null
+++ b/frontend/app/components/UserLabel.tsx
@@ -0,0 +1,11 @@
+type Props = {
+ label: string;
+};
+
+export default function UserLabel({ label }: Props) {
+ return (
+ <span className="bg-sky-700 text-sky-50 rounded-lg p-3 text-sm">
+ {label}
+ </span>
+ );
+}