From 1cc75591fa43055d0ebc1cad5d74f5c2b468438d Mon Sep 17 00:00:00 2001 From: yohlo Date: Tue, 25 Aug 2026 22:24:36 -0700 Subject: [PATCH] refactor(admin): align admin ui with app design language - dashboard: card grid replaced by status strip + nav-tile section + list - nav-tile promoted to shared component - stat tiles and usage screen de-carded, sections divided like settings - hub run tournament back to a list row - telemetry link restored in tools list --- src/app/routes/_authed/admin/index.tsx | 7 +- src/components/nav-tile/index.tsx | 28 ++++ src/components/nav-tile/nav-tile.module.css | 43 ++++++ .../components/dashboard/activity-feed.tsx | 87 ------------ .../components/dashboard/errors-card.tsx | 62 -------- .../admin/components/dashboard/index.tsx | 88 ++++++------ .../admin/components/dashboard/now-strip.tsx | 61 -------- .../components/dashboard/quiet-boundary.tsx | 10 +- .../components/dashboard/section-box.tsx | 14 ++ .../components/dashboard/status-strip.tsx | 74 ++++++++++ .../admin/components/dashboard/tools-list.tsx | 6 + .../components/dashboard/tournament-card.tsx | 76 ---------- .../dashboard/tournament-section.tsx | 48 +++++++ .../admin/components/dashboard/usage-card.tsx | 55 -------- .../telemetry/components/charts/stat-tile.tsx | 24 ++-- .../telemetry/components/usage-screen.tsx | 49 +++---- .../components/manage-tournament.tsx | 23 +-- .../started-tournament/sections/nav-grid.tsx | 23 +-- src/locales/de/messages.po | 133 +++++++----------- src/locales/en/messages.po | 133 +++++++----------- src/locales/es/messages.po | 133 +++++++----------- src/locales/ja/messages.po | 133 +++++++----------- 22 files changed, 511 insertions(+), 799 deletions(-) create mode 100644 src/components/nav-tile/index.tsx create mode 100644 src/components/nav-tile/nav-tile.module.css delete mode 100644 src/features/admin/components/dashboard/activity-feed.tsx delete mode 100644 src/features/admin/components/dashboard/errors-card.tsx delete mode 100644 src/features/admin/components/dashboard/now-strip.tsx create mode 100644 src/features/admin/components/dashboard/section-box.tsx create mode 100644 src/features/admin/components/dashboard/status-strip.tsx delete mode 100644 src/features/admin/components/dashboard/tournament-card.tsx create mode 100644 src/features/admin/components/dashboard/tournament-section.tsx delete mode 100644 src/features/admin/components/dashboard/usage-card.tsx diff --git a/src/app/routes/_authed/admin/index.tsx b/src/app/routes/_authed/admin/index.tsx index a36a1db..ec660c1 100644 --- a/src/app/routes/_authed/admin/index.tsx +++ b/src/app/routes/_authed/admin/index.tsx @@ -3,7 +3,7 @@ import { msg } from "@lingui/core/macro"; import { AdminDashboard } from "@/features/admin"; import { tournamentQueries } from "@/features/tournaments/queries"; import { telemetryQueries } from "@/features/telemetry/queries"; -import { lastNDays } from "@/features/telemetry/range"; +import { isoDay, lastNDays } from "@/features/telemetry/range"; import { prefetchServerQuery } from "@/lib/tanstack-query/utils/prefetch"; export const Route = createFileRoute("/_authed/admin/")({ @@ -15,6 +15,11 @@ export const Route = createFileRoute("/_authed/admin/")({ context.queryClient, telemetryQueries.errorGroups({ from: month.from, to: month.to }) ); + const today = isoDay(new Date()); + prefetchServerQuery( + context.queryClient, + telemetryQueries.rollups({ metrics: ["server_fn.count"], from: today, to: today }) + ); }, loader: () => ({ header: { diff --git a/src/components/nav-tile/index.tsx b/src/components/nav-tile/index.tsx new file mode 100644 index 0000000..221bf24 --- /dev/null +++ b/src/components/nav-tile/index.tsx @@ -0,0 +1,28 @@ +import { Text, UnstyledButton } from "@mantine/core"; +import { Icon } from "@phosphor-icons/react"; +import classes from "./nav-tile.module.css"; + +interface NavTileProps { + label: string; + Icon: Icon; + onClick?: () => void; + disabled?: boolean; +} + +/** A single square-ish nav tile with icon-over-label and press feedback. */ +export const NavTile = ({ label, Icon, onClick, disabled }: NavTileProps) => ( + + + + + + {label} + + +); + +export default NavTile; diff --git a/src/components/nav-tile/nav-tile.module.css b/src/components/nav-tile/nav-tile.module.css new file mode 100644 index 0000000..028dfed --- /dev/null +++ b/src/components/nav-tile/nav-tile.module.css @@ -0,0 +1,43 @@ +.tile { + -webkit-tap-highlight-color: transparent; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 8px; + padding: 14px 8px; + border-radius: var(--mantine-radius-md); + border: 1px solid var(--mantine-color-default-border); + background-color: var(--mantine-color-body); + text-align: center; +} + +.icon { + color: var(--mantine-primary-color-filled); + display: flex; +} + +@media (hover: hover) { + .tile:hover:not(:disabled) { + background-color: var(--mantine-color-default-hover); + } +} + +.tile:active:not(:disabled) { + background-color: var(--mantine-color-default-hover); +} + +.tile:disabled { + opacity: 0.5; + cursor: default; +} + +@media (prefers-reduced-motion: no-preference) { + .tile { + transition: background-color 120ms ease-out, transform 120ms cubic-bezier(0.32, 0.72, 0, 1); + } + + .tile:active:not(:disabled) { + transform: scale(0.97); + } +} diff --git a/src/features/admin/components/dashboard/activity-feed.tsx b/src/features/admin/components/dashboard/activity-feed.tsx deleted file mode 100644 index 340e9c7..0000000 --- a/src/features/admin/components/dashboard/activity-feed.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import { Card, Group, Stack, Text } from "@mantine/core"; -import { Trans } from "@lingui/react/macro"; -import { useNavigate } from "@tanstack/react-router"; -import { CheckCircleIcon, XCircleIcon } from "@phosphor-icons/react"; -import { useServerQuery } from "@/lib/tanstack-query/hooks"; -import { searchActivities } from "@/features/activities/server"; -import { activityKeys } from "@/features/activities/queries"; -import { RelativeTime } from "@/features/telemetry/components/shared"; -import type { PlayerInfo } from "@/features/players/types"; - -const FEED_PARAMS = { perPage: 10 } as const; - -const playerName = (player?: string | PlayerInfo): string | null => { - if (!player || typeof player === "string") return null; - return [player.first_name, player.last_name].filter(Boolean).join(" ") || null; -}; - -export const ActivityFeed = () => { - const navigate = useNavigate(); - - const { data } = useServerQuery({ - queryKey: activityKeys.search(FEED_PARAMS), - queryFn: () => searchActivities({ data: FEED_PARAMS }), - options: { - refetchInterval: 30_000, - }, - }); - - return ( - - - - - Recent activity - - - - {data?.items.map((activity) => { - const name = playerName(activity.player); - return ( - navigate({ to: "/admin/telemetry/functions" })} - style={{ cursor: "pointer" }} - > - {activity.success ? ( - - ) : ( - - )} - - {activity.name} - {name && ( - - {" "} - · {name} - - )} - - - - - - ); - })} - {data && data.items.length === 0 && ( - - No activity yet - - )} - - - - ); -}; - -export default ActivityFeed; diff --git a/src/features/admin/components/dashboard/errors-card.tsx b/src/features/admin/components/dashboard/errors-card.tsx deleted file mode 100644 index 64417f9..0000000 --- a/src/features/admin/components/dashboard/errors-card.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { Badge, Card, Group, Stack, Text, UnstyledButton } from "@mantine/core"; -import { Trans } from "@lingui/react/macro"; -import { useNavigate } from "@tanstack/react-router"; -import { CheckCircleIcon, WarningCircleIcon } from "@phosphor-icons/react"; -import { useClientErrorGroups } from "@/features/telemetry/queries"; -import { RelativeTime } from "@/features/telemetry/components/shared"; -import { lastNDays } from "@/features/telemetry/range"; - -export const ErrorsCard = () => { - const navigate = useNavigate(); - const range = lastNDays(30); - - const { data: groups } = useClientErrorGroups({ from: range.from, to: range.to }); - - return ( - navigate({ to: "/admin/telemetry/errors" })}> - - - - - Client errors - - {groups && groups.length > 0 ? ( - - {groups.length} - - ) : ( - - )} - - {groups && groups.length > 0 ? ( - - {groups.slice(0, 3).map((group) => ( - - - - - {group.sample.message} - - - - - - - ))} - - ) : ( - - No unresolved errors - - )} - - - - ); -}; - -export default ErrorsCard; diff --git a/src/features/admin/components/dashboard/index.tsx b/src/features/admin/components/dashboard/index.tsx index 080896b..4c3f3e0 100644 --- a/src/features/admin/components/dashboard/index.tsx +++ b/src/features/admin/components/dashboard/index.tsx @@ -1,57 +1,51 @@ import { Suspense } from "react"; -import { Box, SimpleGrid, Stack } from "@mantine/core"; -import { CardSkeleton, StatTileSkeleton } from "@/components/skeletons"; +import { Group, SimpleGrid, Skeleton, Stack } from "@mantine/core"; import QuietBoundary from "./quiet-boundary"; -import NowStrip from "./now-strip"; -import TournamentCard from "./tournament-card"; -import UsageCard from "./usage-card"; -import ErrorsCard from "./errors-card"; -import ActivityFeed from "./activity-feed"; +import SectionBox from "./section-box"; +import StatusStrip from "./status-strip"; +import TournamentSection from "./tournament-section"; import ToolsList from "./tools-list"; -const NowStripSkeleton = () => ( - - - - - +const StripSkeleton = () => ( + + + {[0, 1, 2].map((i) => ( + + + + + ))} + + +); + +const TournamentSkeleton = () => ( + + + + + + + + ); export const AdminDashboard = () => ( - - - - }> - - - - - - }> - - - - - }> - - - - - - - }> - - - - - - - - - - - - + <> + + }> + + + + + + + }> + + + + + ); export default AdminDashboard; diff --git a/src/features/admin/components/dashboard/now-strip.tsx b/src/features/admin/components/dashboard/now-strip.tsx deleted file mode 100644 index b2b5a93..0000000 --- a/src/features/admin/components/dashboard/now-strip.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { useMemo } from "react"; -import { SimpleGrid } from "@mantine/core"; -import { useLingui } from "@lingui/react/macro"; -import { useNavigate } from "@tanstack/react-router"; -import { - useClientErrorGroups, - useRollupRange, - useTelemetryRuntimeStatus, -} from "@/features/telemetry/queries"; -import { StatTile } from "@/features/telemetry/components/charts"; -import { isoDay, lastNDays, listDays } from "@/features/telemetry/range"; - -export const NowStrip = () => { - const { t } = useLingui(); - const navigate = useNavigate(); - const range = useMemo(() => lastNDays(7), []); - - const { data: status } = useTelemetryRuntimeStatus(); - const { data: errorGroups } = useClientErrorGroups({ - from: lastNDays(30).from, - to: range.to, - }); - const { data: rollups } = useRollupRange({ - metrics: ["server_fn.count"], - from: range.from, - to: range.to, - }); - - const { callsToday, callsSeries } = useMemo(() => { - const byDate = new Map(); - for (const row of rollups ?? []) { - byDate.set(row.date, (byDate.get(row.date) ?? 0) + row.value); - } - return { - callsToday: byDate.get(isoDay(new Date())) ?? 0, - callsSeries: listDays(range).map((day) => byDate.get(day) ?? 0), - }; - }, [rollups, range]); - - const unresolved = errorGroups?.length ?? 0; - - return ( - - - navigate({ to: "/admin/telemetry/errors" })} - /> - navigate({ to: "/admin/telemetry/usage" })} - /> - - ); -}; - -export default NowStrip; diff --git a/src/features/admin/components/dashboard/quiet-boundary.tsx b/src/features/admin/components/dashboard/quiet-boundary.tsx index 2ab2d33..11f7813 100644 --- a/src/features/admin/components/dashboard/quiet-boundary.tsx +++ b/src/features/admin/components/dashboard/quiet-boundary.tsx @@ -1,5 +1,5 @@ import { Component, ReactNode } from "react"; -import { Card, Text } from "@mantine/core"; +import { Text } from "@mantine/core"; import { Trans } from "@lingui/react/macro"; interface QuietBoundaryProps { @@ -20,11 +20,9 @@ export class QuietBoundary extends Component - - Unavailable right now - - + + Unavailable right now + ); } return this.props.children; diff --git a/src/features/admin/components/dashboard/section-box.tsx b/src/features/admin/components/dashboard/section-box.tsx new file mode 100644 index 0000000..6ac0059 --- /dev/null +++ b/src/features/admin/components/dashboard/section-box.tsx @@ -0,0 +1,14 @@ +import { ReactNode } from "react"; +import { Box } from "@mantine/core"; + +export const SectionBox = ({ children }: { children: ReactNode }) => ( + + {children} + +); + +export default SectionBox; diff --git a/src/features/admin/components/dashboard/status-strip.tsx b/src/features/admin/components/dashboard/status-strip.tsx new file mode 100644 index 0000000..1c7e13c --- /dev/null +++ b/src/features/admin/components/dashboard/status-strip.tsx @@ -0,0 +1,74 @@ +import { useMemo } from "react"; +import { Group, Stack, Text, UnstyledButton } from "@mantine/core"; +import { useLingui } from "@lingui/react/macro"; +import { useNavigate } from "@tanstack/react-router"; +import { + useClientErrorGroups, + useRollupRange, + useTelemetryRuntimeStatus, +} from "@/features/telemetry/queries"; +import { isoDay, lastNDays } from "@/features/telemetry/range"; + +interface StatProps { + value: string | number; + label: string; + alert?: boolean; + onClick: () => void; +} + +const Stat = ({ value, label, alert, onClick }: StatProps) => ( + + + + {value} + + + {label} + + + +); + +export const StatusStrip = () => { + const { t } = useLingui(); + const navigate = useNavigate(); + const today = useMemo(() => isoDay(new Date()), []); + const month = useMemo(() => lastNDays(30), []); + + const { data: status } = useTelemetryRuntimeStatus(); + const { data: errorGroups } = useClientErrorGroups({ from: month.from, to: month.to }); + const { data: rollups } = useRollupRange({ + metrics: ["server_fn.count"], + from: today, + to: today, + }); + + const callsToday = useMemo( + () => (rollups ?? []).reduce((sum, row) => sum + row.value, 0), + [rollups] + ); + const openErrors = errorGroups?.length ?? 0; + + return ( + + navigate({ to: "/admin/telemetry/players" })} + /> + 0} + onClick={() => navigate({ to: "/admin/telemetry/errors" })} + /> + navigate({ to: "/admin/telemetry/usage" })} + /> + + ); +}; + +export default StatusStrip; diff --git a/src/features/admin/components/dashboard/tools-list.tsx b/src/features/admin/components/dashboard/tools-list.tsx index 318d407..c87b32b 100644 --- a/src/features/admin/components/dashboard/tools-list.tsx +++ b/src/features/admin/components/dashboard/tools-list.tsx @@ -6,6 +6,7 @@ import { TrophyIcon, MedalIcon, CrownIcon, + PulseIcon, } from "@phosphor-icons/react"; import ListLink from "@/components/list-link"; import ListButton from "@/components/list-button"; @@ -50,6 +51,11 @@ export const ToolsList = () => { Icon={TrophyIcon} to="/admin/tournaments" /> + { - const { t } = useLingui(); - const navigate = useNavigate(); - const { data: tournament } = useCurrentTournament(); - - if (!tournament) { - return ( - - - - No tournaments yet - - - - - ); - } - - const upcoming = !!tournament.start_time && Date.parse(tournament.start_time) > Date.now(); - - return ( - - - - - - {tournament.name} - - {upcoming && ( - - )} - - - - - - - - - - - ); -}; - -export default TournamentCard; diff --git a/src/features/admin/components/dashboard/tournament-section.tsx b/src/features/admin/components/dashboard/tournament-section.tsx new file mode 100644 index 0000000..a63d7d6 --- /dev/null +++ b/src/features/admin/components/dashboard/tournament-section.tsx @@ -0,0 +1,48 @@ +import { SimpleGrid, Text, Title } from "@mantine/core"; +import { useLingui } from "@lingui/react/macro"; +import { useNavigate } from "@tanstack/react-router"; +import { GearIcon, PlayIcon, UsersThreeIcon } from "@phosphor-icons/react"; +import { useCurrentTournament } from "@/features/tournaments/queries"; +import { NavTile } from "@/components/nav-tile"; +import { Countdown } from "@/components/countdown"; +import SectionBox from "./section-box"; + +export const TournamentSection = () => { + const { t } = useLingui(); + const navigate = useNavigate(); + const { data: tournament } = useCurrentTournament(); + + if (!tournament) return null; + + const upcoming = !!tournament.start_time && Date.parse(tournament.start_time) > Date.now(); + + return ( + + {tournament.name} + {upcoming && ( + + + + )} + + navigate({ to: `/admin/tournaments/run/${tournament.id}` })} + /> + navigate({ to: `/admin/tournaments/${tournament.id}/enrollment` })} + /> + navigate({ to: `/admin/tournaments/${tournament.id}` })} + /> + + + ); +}; + +export default TournamentSection; diff --git a/src/features/admin/components/dashboard/usage-card.tsx b/src/features/admin/components/dashboard/usage-card.tsx deleted file mode 100644 index 56a3dd3..0000000 --- a/src/features/admin/components/dashboard/usage-card.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { useMemo } from "react"; -import { Card, Group, Stack, Text, UnstyledButton } from "@mantine/core"; -import { Trans, useLingui } from "@lingui/react/macro"; -import { useNavigate } from "@tanstack/react-router"; -import { useRollupRange } from "@/features/telemetry/queries"; -import { Sparkline } from "@/features/telemetry/components/charts"; -import { fillDailySeries, lastNDays, listDays } from "@/features/telemetry/range"; - -export const UsageCard = () => { - const { t } = useLingui(); - const navigate = useNavigate(); - const range = useMemo(() => lastNDays(7), []); - - const { data: rollups } = useRollupRange({ - metrics: ["dau", "page_view.count"], - from: range.from, - to: range.to, - }); - - const { dauSeries, pageViewSeries } = useMemo(() => { - const days = listDays(range); - return { - dauSeries: fillDailySeries(rollups ?? [], "dau", "", days), - pageViewSeries: fillDailySeries(rollups ?? [], "page_view.count", "", days), - }; - }, [rollups, range]); - - return ( - navigate({ to: "/admin/telemetry/usage" })}> - - - - - Usage, 7 days - - - - - Active players - - - - - - Page views - - - - - - - ); -}; - -export default UsageCard; diff --git a/src/features/telemetry/components/charts/stat-tile.tsx b/src/features/telemetry/components/charts/stat-tile.tsx index 541dde4..d0e22c2 100644 --- a/src/features/telemetry/components/charts/stat-tile.tsx +++ b/src/features/telemetry/components/charts/stat-tile.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import { Box, Card, Group, Stack, Text, UnstyledButton } from "@mantine/core"; +import { Box, Group, Stack, Text, UnstyledButton } from "@mantine/core"; import Sparkline from "./sparkline"; interface StatTileProps { @@ -13,12 +13,9 @@ interface StatTileProps { export const StatTile = ({ label, value, delta, spark, caption, onClick }: StatTileProps) => { const content = ( - - - {label} - + - + {value} {delta !== undefined && delta !== 0 && ( @@ -28,6 +25,9 @@ export const StatTile = ({ label, value, delta, spark, caption, onClick }: StatT )} + + {label} + {caption && {caption}} {spark && spark.length > 0 && } @@ -35,19 +35,13 @@ export const StatTile = ({ label, value, delta, spark, caption, onClick }: StatT if (onClick) { return ( - - - {content} - + + {content} ); } - return ( - - {content} - - ); + return content; }; export default StatTile; diff --git a/src/features/telemetry/components/usage-screen.tsx b/src/features/telemetry/components/usage-screen.tsx index 3448453..cd9bd42 100644 --- a/src/features/telemetry/components/usage-screen.tsx +++ b/src/features/telemetry/components/usage-screen.tsx @@ -2,7 +2,7 @@ import { Suspense, useMemo, useState } from "react"; import { Trans, useLingui } from "@lingui/react/macro"; import { Badge, - Card, + Divider, Group, SegmentedControl, SimpleGrid, @@ -10,7 +10,7 @@ import { Text, Title, } from "@mantine/core"; -import { CardSkeleton, StatTileSkeleton } from "@/components/skeletons"; +import { ListSkeleton, StatTileSkeleton } from "@/components/skeletons"; import { useRollupRange } from "../queries"; import { fillDailySeries, lastNDays, latestValue, listDays, sumByDim } from "../range"; import { BarList, Sparkline, StatTile } from "./charts"; @@ -171,30 +171,30 @@ const UsageSections = ({ from, to }: { from: string; to: string }) => { /> Sessions} value={sessions.toLocaleString()} /> - - - - Page views by route - - - - + + + Page views by route + + + + + <Trans>Server functions</Trans> - - - - Top functions by call count - - - - + + + Top functions by call count + + + + + <Trans>Errors</Trans> @@ -206,6 +206,8 @@ const UsageSections = ({ from, to }: { from: string; to: string }) => { /> </Stack> + <Divider /> + <Stack gap="sm"> <Title order={4}> <Trans>Vitals</Trans> @@ -261,14 +263,13 @@ export const UsageScreen = () => { <Suspense fallback={ <Stack gap="lg"> - <StatTileSkeleton withCard align="row" /> + <StatTileSkeleton align="row" /> <SimpleGrid cols={3} spacing="sm"> - <StatTileSkeleton withCard /> - <StatTileSkeleton withCard /> - <StatTileSkeleton withCard /> + <StatTileSkeleton /> + <StatTileSkeleton /> + <StatTileSkeleton /> </SimpleGrid> - <CardSkeleton withAvatar={false} withBadge={false} /> - <CardSkeleton withAvatar={false} withBadge={false} /> + <ListSkeleton rows={6} withTrailing="text" /> </Stack> } > diff --git a/src/features/tournaments/components/manage-tournament.tsx b/src/features/tournaments/components/manage-tournament.tsx index a0ce96e..9e9a8c9 100644 --- a/src/features/tournaments/components/manage-tournament.tsx +++ b/src/features/tournaments/components/manage-tournament.tsx @@ -1,5 +1,5 @@ import { useTournament } from "../queries"; -import { Box, List } from "@mantine/core"; +import { List } from "@mantine/core"; import ListButton from "@/components/list-button"; import Sheet from "@/components/sheet/sheet"; import TournamentForm from "./tournament-form"; @@ -12,9 +12,7 @@ import { import { useSheet } from "@/hooks/use-sheet"; import ListLink from "@/components/list-link"; import EditRules from "./edit-rules"; -import Button from "@/components/button"; -import { Trans, useLingui } from "@lingui/react/macro"; -import { useNavigate } from "@tanstack/react-router"; +import { useLingui } from "@lingui/react/macro"; interface ManageTournamentProps { tournamentId: string; @@ -22,7 +20,6 @@ interface ManageTournamentProps { const ManageTournament = ({ tournamentId }: ManageTournamentProps) => { const { t } = useLingui(); - const navigate = useNavigate(); const { data: tournament } = useTournament(tournamentId); if (!tournament) throw new Error("Tournament not found."); @@ -39,18 +36,12 @@ const ManageTournament = ({ tournamentId }: ManageTournamentProps) => { return ( <> - <Box px="md" py="md"> - <Button - leftSection={<TreeStructureIcon weight="bold" size={20} />} - onClick={() => - navigate({ to: `/admin/tournaments/run/${tournamentId}` }) - } - > - <Trans>Run Tournament</Trans> - </Button> - </Box> - <List p="0"> + <ListLink + label={t`Run Tournament`} + Icon={TreeStructureIcon} + to={`/admin/tournaments/run/${tournamentId}`} + /> <ListLink label={t`Enrollment & Teams`} Icon={UsersThreeIcon} diff --git a/src/features/tournaments/components/started-tournament/sections/nav-grid.tsx b/src/features/tournaments/components/started-tournament/sections/nav-grid.tsx index 432400f..a98ece4 100644 --- a/src/features/tournaments/components/started-tournament/sections/nav-grid.tsx +++ b/src/features/tournaments/components/started-tournament/sections/nav-grid.tsx @@ -30,28 +30,9 @@ const RulesContent = lazy( () => import("../../upcoming-tournament/rules-content") ); -interface NavTileProps { - label: string; - Icon: Icon; - onClick?: () => void; - disabled?: boolean; -} +import { NavTile } from "@/components/nav-tile"; -/** A single square-ish nav tile with icon-over-label and press feedback. */ -export const NavTile = ({ label, Icon, onClick, disabled }: NavTileProps) => ( - <UnstyledButton - className={`${classes.tile} flxn-tile`} - onClick={onClick} - disabled={disabled} - > - <span className={`${classes.icon} flxn-tile-icon`}> - <Icon size={22} weight="bold" /> - </span> - <Text size="xs" fw={600} lineClamp={2} lh={1.2}> - {label} - </Text> - </UnstyledButton> -); +export { NavTile }; interface NavGridProps { tournament: Tournament; diff --git a/src/locales/de/messages.po b/src/locales/de/messages.po index 8e97ad2..398e94d 100644 --- a/src/locales/de/messages.po +++ b/src/locales/de/messages.po @@ -153,7 +153,7 @@ msgstr "{0}ms" msgid "{count, plural, one {Players (#)} other {Players (#)}}" msgstr "{count, plural, one {Spieler (#)} other {Spieler (#)}}" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:134 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:115 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:24 msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgstr "{count, plural, one {Teams (#)} other {Teams (#)}}" @@ -355,7 +355,7 @@ msgstr "2. Frühere Abgabe" msgid "2nd place" msgstr "2. Platz" -#: src/features/telemetry/components/usage-screen.tsx:256 +#: src/features/telemetry/components/usage-screen.tsx:258 msgid "30d" msgstr "30 T" @@ -371,7 +371,7 @@ msgstr "3. Platz" msgid "5s" msgstr "5 s" -#: src/features/telemetry/components/usage-screen.tsx:255 +#: src/features/telemetry/components/usage-screen.tsx:257 msgid "7d" msgstr "7 T" @@ -420,10 +420,6 @@ msgstr "Konto erfolgreich erstellt!" msgid "Active device: {0}" msgstr "Aktives Gerät: {0}" -#: src/features/admin/components/dashboard/usage-card.tsx:39 -msgid "Active players" -msgstr "Aktive Spieler" - #: src/features/activities/components/activities-table.tsx:159 msgid "Activity Details" msgstr "Aktivitätsdetails" @@ -441,7 +437,7 @@ msgid "Add Team" msgstr "Team hinzufügen" #: src/app/routes/_authed/admin.tsx:15 -#: src/app/routes/_authed/admin/index.tsx:22 +#: src/app/routes/_authed/admin/index.tsx:27 #: src/features/core/hooks/use-links.ts:37 msgid "Admin" msgstr "Admin" @@ -564,7 +560,7 @@ msgstr "Ø Sieg-Marge" msgid "Award Badge" msgstr "Abzeichen verleihen" -#: src/features/admin/components/dashboard/tools-list.tsx:54 +#: src/features/admin/components/dashboard/tools-list.tsx:60 msgid "Award Badges" msgstr "Abzeichen verleihen" @@ -598,15 +594,15 @@ msgstr "Zurück" msgid "Badge awarded to {playerName}" msgstr "Abzeichen an {playerName} verliehen" -#: src/features/admin/components/dashboard/tools-list.tsx:85 +#: src/features/admin/components/dashboard/tools-list.tsx:91 msgid "Badge recalculation failed. Check the server logs." msgstr "Abzeichen-Neuberechnung fehlgeschlagen. Prüfe die Server-Logs." -#: src/features/admin/components/dashboard/tools-list.tsx:38 +#: src/features/admin/components/dashboard/tools-list.tsx:39 msgid "Badge recalculation is already running" msgstr "Abzeichen-Neuberechnung läuft bereits" -#: src/features/admin/components/dashboard/tools-list.tsx:37 +#: src/features/admin/components/dashboard/tools-list.tsx:38 msgid "Badge recalculation started in the background" msgstr "Abzeichen-Neuberechnung im Hintergrund gestartet" @@ -631,13 +627,13 @@ msgstr "Zirkus" msgid "Both teams cannot have 10 cups" msgstr "Beide Teams können nicht 10 Becher haben" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:106 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:87 #: src/features/tournaments/components/upcoming-tournament/index.tsx:151 msgid "Bracket" msgstr "Turnierbaum" #: src/app/routes/_authed/admin/preview.tsx:13 -#: src/features/admin/components/dashboard/tools-list.tsx:96 +#: src/features/admin/components/dashboard/tools-list.tsx:102 msgid "Bracket Preview" msgstr "Turnierbaum-Vorschau" @@ -654,7 +650,7 @@ msgstr "Brutal" msgid "CA" msgstr "CA" -#: src/features/admin/components/dashboard/now-strip.tsx:52 +#: src/features/admin/components/dashboard/status-strip.tsx:67 msgid "Calls today" msgstr "Aufrufe heute" @@ -720,16 +716,12 @@ msgstr "Ausgewählten Spieler entfernen" msgid "Client error spike" msgstr "Anstieg von Client-Fehlern" -#: src/features/admin/components/dashboard/errors-card.tsx:21 -msgid "Client errors" -msgstr "Client-Fehler" - #: src/features/telemetry/components/usage-screen.tsx:203 msgid "Client errors per day" msgstr "Client-Fehler pro Tag" #: src/components/sheet/modal.tsx:35 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:169 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:36 msgid "Close" msgstr "Schließen" @@ -883,15 +875,10 @@ msgstr "Becher erzielt" msgid "Custom Hex Code" msgstr "Benutzerdefinierter Hex-Code" -#: src/features/admin/components/dashboard/usage-card.tsx:41 #: src/features/telemetry/components/usage-screen.tsx:159 msgid "Daily active players" msgstr "Täglich aktive Spieler" -#: src/features/admin/components/dashboard/usage-card.tsx:47 -msgid "Daily page views" -msgstr "Tägliche Seitenaufrufe" - #: src/features/settings/components/color-scheme-picker.tsx:39 msgid "Dark" msgstr "Dunkel" @@ -947,7 +934,7 @@ msgstr "Nachfolgende Matches wurden zurückgesetzt, da sich durch die Korrektur msgid "Duration" msgstr "Dauer" -#: src/features/telemetry/components/usage-screen.tsx:233 +#: src/features/telemetry/components/usage-screen.tsx:235 msgid "Duration p50 / p95" msgstr "Dauer p50 / p95" @@ -970,12 +957,12 @@ msgstr "Match bearbeiten" msgid "Edit match score" msgstr "Spielstand bearbeiten" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Edit Prediction" msgstr "Tipp bearbeiten" -#: src/features/tournaments/components/manage-tournament.tsx:65 -#: src/features/tournaments/components/manage-tournament.tsx:92 +#: src/features/tournaments/components/manage-tournament.tsx:56 +#: src/features/tournaments/components/manage-tournament.tsx:83 msgid "Edit Rules" msgstr "Regeln bearbeiten" @@ -984,8 +971,8 @@ msgstr "Regeln bearbeiten" msgid "Edit Team" msgstr "Team bearbeiten" -#: src/features/tournaments/components/manage-tournament.tsx:60 -#: src/features/tournaments/components/manage-tournament.tsx:72 +#: src/features/tournaments/components/manage-tournament.tsx:51 +#: src/features/tournaments/components/manage-tournament.tsx:63 msgid "Edit Tournament" msgstr "Turnier bearbeiten" @@ -1048,7 +1035,7 @@ msgstr "Angemeldete Spieler" #: src/features/tournaments/components/enrollment/enrollment-stats.tsx:28 #: src/features/tournaments/components/enrollment/team-section.tsx:240 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:145 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:126 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:31 msgid "Enrolled Teams" msgstr "Angemeldete Teams" @@ -1058,13 +1045,13 @@ msgid "Enrolling as a free agent adds you to a pool of players looking for teamm msgstr "Als Free Agent kommst du in einen Pool von Spielern, die noch einen Teampartner suchen." #: src/app/routes/_authed/admin/tournaments/$id/enrollment.tsx:33 -#: src/features/admin/components/dashboard/tournament-card.tsx:61 +#: src/features/admin/components/dashboard/tournament-section.tsx:34 #: src/features/tournaments/components/upcoming-tournament/enroll-free-agent.tsx:29 #: src/features/tournaments/components/upcoming-tournament/index.tsx:69 msgid "Enrollment" msgstr "Anmeldung" -#: src/features/tournaments/components/manage-tournament.tsx:55 +#: src/features/tournaments/components/manage-tournament.tsx:46 msgid "Enrollment & Teams" msgstr "Anmeldungen & Teams" @@ -1181,7 +1168,7 @@ msgstr "Aktives Gerät konnte nicht festgelegt werden" msgid "Failed to set volume" msgstr "Lautstärke konnte nicht festgelegt werden" -#: src/features/admin/components/dashboard/tools-list.tsx:41 +#: src/features/admin/components/dashboard/tools-list.tsx:42 msgid "Failed to start badge recalculation" msgstr "Abzeichen-Neuberechnung konnte nicht gestartet werden" @@ -1251,7 +1238,7 @@ msgstr "Free-Agent-Anmeldung" msgid "Free Agents" msgstr "Free Agents" -#: src/features/telemetry/components/usage-screen.tsx:226 +#: src/features/telemetry/components/usage-screen.tsx:228 msgid "Function" msgstr "Funktion" @@ -1319,7 +1306,7 @@ msgstr "Gruppenphase erfolgreich erstellt!" msgid "Group Stage Setup" msgstr "Gruppenphase einrichten" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:98 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:79 msgid "Groups" msgstr "Gruppen" @@ -1465,7 +1452,7 @@ msgid "Last name must be 3-20 characters long and contain only letters" msgstr "Der Nachname muss 3-20 Zeichen lang sein und darf nur Buchstaben enthalten" #. placeholder {0}: migrationStatus.result.totalBadgesEarned -#: src/features/admin/components/dashboard/tools-list.tsx:73 +#: src/features/admin/components/dashboard/tools-list.tsx:79 msgid "Last recalculation: {0, plural, one {# badge earned} other {# badges earned}}" msgstr "Letzte Neuberechnung: {0, plural, one {# Abzeichen verdient} other {# Abzeichen verdient}}" @@ -1530,7 +1517,7 @@ msgstr "S" msgid "Mainline" msgstr "Mainline" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Make Prediction" msgstr "Tipp abgeben" @@ -1538,8 +1525,8 @@ msgstr "Tipp abgeben" msgid "Make Your Prediction" msgstr "Gib deinen Tipp ab" -#: src/features/admin/components/dashboard/tournament-card.tsx:68 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:89 +#: src/features/admin/components/dashboard/tournament-section.tsx:39 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:70 #: src/features/tournaments/components/upcoming-tournament/index.tsx:144 msgid "Manage" msgstr "Verwalten" @@ -1554,8 +1541,7 @@ msgid "Manage Team Songs/Logos" msgstr "Team-Songs/Logos verwalten" #: src/app/routes/_authed/admin/tournaments/index.tsx:17 -#: src/features/admin/components/dashboard/tools-list.tsx:49 -#: src/features/admin/components/dashboard/tournament-card.tsx:25 +#: src/features/admin/components/dashboard/tools-list.tsx:50 msgid "Manage Tournaments" msgstr "Turniere verwalten" @@ -1642,7 +1628,7 @@ msgstr "MAU" msgid "Me" msgstr "Ich" -#: src/features/admin/components/dashboard/tools-list.tsx:59 +#: src/features/admin/components/dashboard/tools-list.tsx:65 msgid "Migrate Badge Progress" msgstr "Abzeichen-Fortschritt migrieren" @@ -1748,10 +1734,6 @@ msgstr "Keine aktive Wiedergabe zum Erfassen" msgid "No Activities Found" msgstr "Keine Aktivitäten gefunden" -#: src/features/admin/components/dashboard/activity-feed.tsx:78 -msgid "No activity yet" -msgstr "Noch keine Aktivität" - #: src/features/badges/components/badge-stats-table.tsx:45 msgid "No Badges Available" msgstr "Keine Abzeichen verfügbar" @@ -1844,15 +1826,10 @@ msgstr "Keine Teams gefunden, die zu \"{search}\" passen" msgid "No tournaments found" msgstr "Keine Turniere gefunden" -#: src/features/admin/components/dashboard/tournament-card.tsx:18 -msgid "No tournaments yet" -msgstr "Noch keine Turniere" - #: src/features/tournaments/components/tournament-card-list.tsx:40 msgid "No Tournaments Yet" msgstr "Noch keine Turniere" -#: src/features/admin/components/dashboard/errors-card.tsx:53 #: src/features/telemetry/components/error-browser/error-browser.tsx:27 msgid "No unresolved errors" msgstr "Keine offenen Fehler" @@ -1914,15 +1891,15 @@ msgstr "Sobald du angemeldet bist, kannst du andere Free Agents und ihre Telefon msgid "One time code" msgstr "Einmalcode" -#: src/features/admin/components/dashboard/now-strip.tsx:44 -msgid "Online now" -msgstr "Gerade online" +#: src/features/admin/components/dashboard/status-strip.tsx:56 +msgid "Online" +msgstr "Online" -#: src/features/admin/components/dashboard/now-strip.tsx:46 +#: src/features/admin/components/dashboard/status-strip.tsx:61 msgid "Open errors" msgstr "Offene Fehler" -#: src/features/admin/components/dashboard/tools-list.tsx:89 +#: src/features/admin/components/dashboard/tools-list.tsx:95 msgid "Open Pocketbase" msgstr "Pocketbase öffnen" @@ -1972,11 +1949,7 @@ msgstr "p50" msgid "p95" msgstr "p95" -#: src/features/admin/components/dashboard/usage-card.tsx:45 -msgid "Page views" -msgstr "Seitenaufrufe" - -#: src/features/telemetry/components/usage-screen.tsx:177 +#: src/features/telemetry/components/usage-screen.tsx:176 msgid "Page views by route" msgstr "Seitenaufrufe nach Route" @@ -2095,7 +2068,7 @@ msgstr "Punktevergabe für Tipps:" #: src/app/routes/_authed/tournaments/$id.predictions.tsx:23 #: src/features/predictions/components/prediction-leaderboard.tsx:147 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:104 msgid "Predictions" msgstr "Tipps" @@ -2146,14 +2119,10 @@ msgstr "Reaktionen" #. placeholder {0}: migrationStatus.playersProcessed #. placeholder {1}: migrationStatus.totalPlayers -#: src/features/admin/components/dashboard/tools-list.tsx:66 +#: src/features/admin/components/dashboard/tools-list.tsx:72 msgid "Recalculating badges in the background ({0}/{1})" msgstr "Abzeichen werden im Hintergrund neu berechnet ({0}/{1})" -#: src/features/admin/components/dashboard/activity-feed.tsx:34 -msgid "Recent activity" -msgstr "Letzte Aktivität" - #: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:34 msgid "Recently finished" msgstr "Kürzlich beendet" @@ -2218,17 +2187,20 @@ msgstr "Runde {0}" msgid "Route" msgstr "Route" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:142 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:23 msgid "Rules" msgstr "Regeln" +#: src/features/admin/components/dashboard/tournament-section.tsx:29 +msgid "Run" +msgstr "Starten" + #: src/app/routes/_authed/admin/tournaments/run.$id.tsx:36 msgid "Run {name}" msgstr "{name} ausführen" -#: src/features/admin/components/dashboard/tournament-card.tsx:53 -#: src/features/tournaments/components/manage-tournament.tsx:49 +#: src/features/tournaments/components/manage-tournament.tsx:41 msgid "Run Tournament" msgstr "Turnier starten" @@ -2517,7 +2489,7 @@ msgstr "Startzeit ist erforderlich" msgid "Start typing to search..." msgstr "Tippen, um zu suchen …" -#: src/features/admin/components/dashboard/tournament-card.tsx:43 +#: src/features/admin/components/dashboard/tournament-section.tsx:24 msgid "Starts in" msgstr "Beginnt in" @@ -2639,7 +2611,7 @@ msgstr "Team erfolgreich aktualisiert!" #: src/features/players/components/profile/skeleton.tsx:75 #: src/features/tournaments/components/profile/index.tsx:32 #: src/features/tournaments/components/profile/skeleton.tsx:89 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:137 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:118 msgid "Teams" msgstr "Teams" @@ -2648,6 +2620,7 @@ msgid "Teams created successfully!" msgstr "Teams erfolgreich erstellt!" #: src/app/routes/_authed/admin/telemetry.tsx:20 +#: src/features/admin/components/dashboard/tools-list.tsx:55 msgid "Telemetry" msgstr "Telemetrie" @@ -2730,7 +2703,7 @@ msgstr "Die besten {0, plural, one {# Team} other {# Teams}} aus jeder Gruppe ko msgid "Top {n} advance" msgstr "Top {n} kommen weiter" -#: src/features/telemetry/components/usage-screen.tsx:191 +#: src/features/telemetry/components/usage-screen.tsx:190 msgid "Top functions by call count" msgstr "Top-Funktionen nach Aufrufanzahl" @@ -2757,7 +2730,7 @@ msgstr "Turnier erfolgreich erstellt!" msgid "Tournament not found" msgstr "Turnier nicht gefunden" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:152 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:133 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:25 msgid "Tournament Rules" msgstr "Turnierregeln" @@ -2786,7 +2759,7 @@ msgstr "trackId ist für die playTrack-Aktion erforderlich" msgid "Try the new themes" msgstr "Probier die neuen Designs aus" -#: src/features/admin/components/dashboard/quiet-boundary.tsx:26 +#: src/features/admin/components/dashboard/quiet-boundary.tsx:24 msgid "Unavailable right now" msgstr "Gerade nicht verfügbar" @@ -2851,10 +2824,6 @@ msgstr "Turnier aktualisieren" msgid "Usage" msgstr "Nutzung" -#: src/features/admin/components/dashboard/usage-card.tsx:34 -msgid "Usage, 7 days" -msgstr "Nutzung, 7 Tage" - #: src/features/activities/components/activities-table.tsx:202 #: src/features/telemetry/components/client-events-table.tsx:146 msgid "User Agent" @@ -2898,7 +2867,7 @@ msgstr "Tipps ansehen" msgid "Viewport" msgstr "Viewport" -#: src/features/telemetry/components/usage-screen.tsx:211 +#: src/features/telemetry/components/usage-screen.tsx:213 msgid "Vitals" msgstr "Vitals" diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index 59df585..ecd6291 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -153,7 +153,7 @@ msgstr "{0}ms" msgid "{count, plural, one {Players (#)} other {Players (#)}}" msgstr "{count, plural, one {Players (#)} other {Players (#)}}" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:134 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:115 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:24 msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgstr "{count, plural, one {Teams (#)} other {Teams (#)}}" @@ -355,7 +355,7 @@ msgstr "2. Earlier submission" msgid "2nd place" msgstr "2nd place" -#: src/features/telemetry/components/usage-screen.tsx:256 +#: src/features/telemetry/components/usage-screen.tsx:258 msgid "30d" msgstr "30d" @@ -371,7 +371,7 @@ msgstr "3rd place" msgid "5s" msgstr "5s" -#: src/features/telemetry/components/usage-screen.tsx:255 +#: src/features/telemetry/components/usage-screen.tsx:257 msgid "7d" msgstr "7d" @@ -420,10 +420,6 @@ msgstr "Account created successfully!" msgid "Active device: {0}" msgstr "Active device: {0}" -#: src/features/admin/components/dashboard/usage-card.tsx:39 -msgid "Active players" -msgstr "Active players" - #: src/features/activities/components/activities-table.tsx:159 msgid "Activity Details" msgstr "Activity Details" @@ -441,7 +437,7 @@ msgid "Add Team" msgstr "Add Team" #: src/app/routes/_authed/admin.tsx:15 -#: src/app/routes/_authed/admin/index.tsx:22 +#: src/app/routes/_authed/admin/index.tsx:27 #: src/features/core/hooks/use-links.ts:37 msgid "Admin" msgstr "Admin" @@ -564,7 +560,7 @@ msgstr "Avg Win Margin" msgid "Award Badge" msgstr "Award Badge" -#: src/features/admin/components/dashboard/tools-list.tsx:54 +#: src/features/admin/components/dashboard/tools-list.tsx:60 msgid "Award Badges" msgstr "Award Badges" @@ -598,15 +594,15 @@ msgstr "Back" msgid "Badge awarded to {playerName}" msgstr "Badge awarded to {playerName}" -#: src/features/admin/components/dashboard/tools-list.tsx:85 +#: src/features/admin/components/dashboard/tools-list.tsx:91 msgid "Badge recalculation failed. Check the server logs." msgstr "Badge recalculation failed. Check the server logs." -#: src/features/admin/components/dashboard/tools-list.tsx:38 +#: src/features/admin/components/dashboard/tools-list.tsx:39 msgid "Badge recalculation is already running" msgstr "Badge recalculation is already running" -#: src/features/admin/components/dashboard/tools-list.tsx:37 +#: src/features/admin/components/dashboard/tools-list.tsx:38 msgid "Badge recalculation started in the background" msgstr "Badge recalculation started in the background" @@ -631,13 +627,13 @@ msgstr "Big Top" msgid "Both teams cannot have 10 cups" msgstr "Both teams cannot have 10 cups" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:106 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:87 #: src/features/tournaments/components/upcoming-tournament/index.tsx:151 msgid "Bracket" msgstr "Bracket" #: src/app/routes/_authed/admin/preview.tsx:13 -#: src/features/admin/components/dashboard/tools-list.tsx:96 +#: src/features/admin/components/dashboard/tools-list.tsx:102 msgid "Bracket Preview" msgstr "Bracket Preview" @@ -654,7 +650,7 @@ msgstr "Brutal" msgid "CA" msgstr "CA" -#: src/features/admin/components/dashboard/now-strip.tsx:52 +#: src/features/admin/components/dashboard/status-strip.tsx:67 msgid "Calls today" msgstr "Calls today" @@ -720,16 +716,12 @@ msgstr "Clear selected player" msgid "Client error spike" msgstr "Client error spike" -#: src/features/admin/components/dashboard/errors-card.tsx:21 -msgid "Client errors" -msgstr "Client errors" - #: src/features/telemetry/components/usage-screen.tsx:203 msgid "Client errors per day" msgstr "Client errors per day" #: src/components/sheet/modal.tsx:35 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:169 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:36 msgid "Close" msgstr "Close" @@ -883,15 +875,10 @@ msgstr "Cups Made" msgid "Custom Hex Code" msgstr "Custom Hex Code" -#: src/features/admin/components/dashboard/usage-card.tsx:41 #: src/features/telemetry/components/usage-screen.tsx:159 msgid "Daily active players" msgstr "Daily active players" -#: src/features/admin/components/dashboard/usage-card.tsx:47 -msgid "Daily page views" -msgstr "Daily page views" - #: src/features/settings/components/color-scheme-picker.tsx:39 msgid "Dark" msgstr "Dark" @@ -947,7 +934,7 @@ msgstr "Downstream matches were reset because the correction changed who advance msgid "Duration" msgstr "Duration" -#: src/features/telemetry/components/usage-screen.tsx:233 +#: src/features/telemetry/components/usage-screen.tsx:235 msgid "Duration p50 / p95" msgstr "Duration p50 / p95" @@ -970,12 +957,12 @@ msgstr "Edit Match" msgid "Edit match score" msgstr "Edit match score" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Edit Prediction" msgstr "Edit Prediction" -#: src/features/tournaments/components/manage-tournament.tsx:65 -#: src/features/tournaments/components/manage-tournament.tsx:92 +#: src/features/tournaments/components/manage-tournament.tsx:56 +#: src/features/tournaments/components/manage-tournament.tsx:83 msgid "Edit Rules" msgstr "Edit Rules" @@ -984,8 +971,8 @@ msgstr "Edit Rules" msgid "Edit Team" msgstr "Edit Team" -#: src/features/tournaments/components/manage-tournament.tsx:60 -#: src/features/tournaments/components/manage-tournament.tsx:72 +#: src/features/tournaments/components/manage-tournament.tsx:51 +#: src/features/tournaments/components/manage-tournament.tsx:63 msgid "Edit Tournament" msgstr "Edit Tournament" @@ -1048,7 +1035,7 @@ msgstr "Enrolled Players" #: src/features/tournaments/components/enrollment/enrollment-stats.tsx:28 #: src/features/tournaments/components/enrollment/team-section.tsx:240 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:145 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:126 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:31 msgid "Enrolled Teams" msgstr "Enrolled Teams" @@ -1058,13 +1045,13 @@ msgid "Enrolling as a free agent adds you to a pool of players looking for teamm msgstr "Enrolling as a free agent adds you to a pool of players looking for teammates." #: src/app/routes/_authed/admin/tournaments/$id/enrollment.tsx:33 -#: src/features/admin/components/dashboard/tournament-card.tsx:61 +#: src/features/admin/components/dashboard/tournament-section.tsx:34 #: src/features/tournaments/components/upcoming-tournament/enroll-free-agent.tsx:29 #: src/features/tournaments/components/upcoming-tournament/index.tsx:69 msgid "Enrollment" msgstr "Enrollment" -#: src/features/tournaments/components/manage-tournament.tsx:55 +#: src/features/tournaments/components/manage-tournament.tsx:46 msgid "Enrollment & Teams" msgstr "Enrollment & Teams" @@ -1181,7 +1168,7 @@ msgstr "Failed to set active device" msgid "Failed to set volume" msgstr "Failed to set volume" -#: src/features/admin/components/dashboard/tools-list.tsx:41 +#: src/features/admin/components/dashboard/tools-list.tsx:42 msgid "Failed to start badge recalculation" msgstr "Failed to start badge recalculation" @@ -1251,7 +1238,7 @@ msgstr "Free Agent Enrollment" msgid "Free Agents" msgstr "Free Agents" -#: src/features/telemetry/components/usage-screen.tsx:226 +#: src/features/telemetry/components/usage-screen.tsx:228 msgid "Function" msgstr "Function" @@ -1319,7 +1306,7 @@ msgstr "Group stage generated successfully!" msgid "Group Stage Setup" msgstr "Group Stage Setup" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:98 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:79 msgid "Groups" msgstr "Groups" @@ -1465,7 +1452,7 @@ msgid "Last name must be 3-20 characters long and contain only letters" msgstr "Last name must be 3-20 characters long and contain only letters" #. placeholder {0}: migrationStatus.result.totalBadgesEarned -#: src/features/admin/components/dashboard/tools-list.tsx:73 +#: src/features/admin/components/dashboard/tools-list.tsx:79 msgid "Last recalculation: {0, plural, one {# badge earned} other {# badges earned}}" msgstr "Last recalculation: {0, plural, one {# badge earned} other {# badges earned}}" @@ -1530,7 +1517,7 @@ msgstr "M" msgid "Mainline" msgstr "Mainline" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Make Prediction" msgstr "Make Prediction" @@ -1538,8 +1525,8 @@ msgstr "Make Prediction" msgid "Make Your Prediction" msgstr "Make Your Prediction" -#: src/features/admin/components/dashboard/tournament-card.tsx:68 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:89 +#: src/features/admin/components/dashboard/tournament-section.tsx:39 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:70 #: src/features/tournaments/components/upcoming-tournament/index.tsx:144 msgid "Manage" msgstr "Manage" @@ -1554,8 +1541,7 @@ msgid "Manage Team Songs/Logos" msgstr "Manage Team Songs/Logos" #: src/app/routes/_authed/admin/tournaments/index.tsx:17 -#: src/features/admin/components/dashboard/tools-list.tsx:49 -#: src/features/admin/components/dashboard/tournament-card.tsx:25 +#: src/features/admin/components/dashboard/tools-list.tsx:50 msgid "Manage Tournaments" msgstr "Manage Tournaments" @@ -1642,7 +1628,7 @@ msgstr "MAU" msgid "Me" msgstr "Me" -#: src/features/admin/components/dashboard/tools-list.tsx:59 +#: src/features/admin/components/dashboard/tools-list.tsx:65 msgid "Migrate Badge Progress" msgstr "Migrate Badge Progress" @@ -1748,10 +1734,6 @@ msgstr "No active playback to capture" msgid "No Activities Found" msgstr "No Activities Found" -#: src/features/admin/components/dashboard/activity-feed.tsx:78 -msgid "No activity yet" -msgstr "No activity yet" - #: src/features/badges/components/badge-stats-table.tsx:45 msgid "No Badges Available" msgstr "No Badges Available" @@ -1844,15 +1826,10 @@ msgstr "No teams found matching \"{search}\"" msgid "No tournaments found" msgstr "No tournaments found" -#: src/features/admin/components/dashboard/tournament-card.tsx:18 -msgid "No tournaments yet" -msgstr "No tournaments yet" - #: src/features/tournaments/components/tournament-card-list.tsx:40 msgid "No Tournaments Yet" msgstr "No Tournaments Yet" -#: src/features/admin/components/dashboard/errors-card.tsx:53 #: src/features/telemetry/components/error-browser/error-browser.tsx:27 msgid "No unresolved errors" msgstr "No unresolved errors" @@ -1914,15 +1891,15 @@ msgstr "Once enrolled, you can view other free agents and their phone number in msgid "One time code" msgstr "One time code" -#: src/features/admin/components/dashboard/now-strip.tsx:44 -msgid "Online now" -msgstr "Online now" +#: src/features/admin/components/dashboard/status-strip.tsx:56 +msgid "Online" +msgstr "Online" -#: src/features/admin/components/dashboard/now-strip.tsx:46 +#: src/features/admin/components/dashboard/status-strip.tsx:61 msgid "Open errors" msgstr "Open errors" -#: src/features/admin/components/dashboard/tools-list.tsx:89 +#: src/features/admin/components/dashboard/tools-list.tsx:95 msgid "Open Pocketbase" msgstr "Open Pocketbase" @@ -1972,11 +1949,7 @@ msgstr "p50" msgid "p95" msgstr "p95" -#: src/features/admin/components/dashboard/usage-card.tsx:45 -msgid "Page views" -msgstr "Page views" - -#: src/features/telemetry/components/usage-screen.tsx:177 +#: src/features/telemetry/components/usage-screen.tsx:176 msgid "Page views by route" msgstr "Page views by route" @@ -2095,7 +2068,7 @@ msgstr "Prediction Scoring:" #: src/app/routes/_authed/tournaments/$id.predictions.tsx:23 #: src/features/predictions/components/prediction-leaderboard.tsx:147 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:104 msgid "Predictions" msgstr "Predictions" @@ -2146,14 +2119,10 @@ msgstr "Reactions" #. placeholder {0}: migrationStatus.playersProcessed #. placeholder {1}: migrationStatus.totalPlayers -#: src/features/admin/components/dashboard/tools-list.tsx:66 +#: src/features/admin/components/dashboard/tools-list.tsx:72 msgid "Recalculating badges in the background ({0}/{1})" msgstr "Recalculating badges in the background ({0}/{1})" -#: src/features/admin/components/dashboard/activity-feed.tsx:34 -msgid "Recent activity" -msgstr "Recent activity" - #: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:34 msgid "Recently finished" msgstr "Recently finished" @@ -2218,17 +2187,20 @@ msgstr "Round {0}" msgid "Route" msgstr "Route" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:142 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:23 msgid "Rules" msgstr "Rules" +#: src/features/admin/components/dashboard/tournament-section.tsx:29 +msgid "Run" +msgstr "Run" + #: src/app/routes/_authed/admin/tournaments/run.$id.tsx:36 msgid "Run {name}" msgstr "Run {name}" -#: src/features/admin/components/dashboard/tournament-card.tsx:53 -#: src/features/tournaments/components/manage-tournament.tsx:49 +#: src/features/tournaments/components/manage-tournament.tsx:41 msgid "Run Tournament" msgstr "Run Tournament" @@ -2517,7 +2489,7 @@ msgstr "Start time is required" msgid "Start typing to search..." msgstr "Start typing to search..." -#: src/features/admin/components/dashboard/tournament-card.tsx:43 +#: src/features/admin/components/dashboard/tournament-section.tsx:24 msgid "Starts in" msgstr "Starts in" @@ -2639,7 +2611,7 @@ msgstr "Team updated successfully!" #: src/features/players/components/profile/skeleton.tsx:75 #: src/features/tournaments/components/profile/index.tsx:32 #: src/features/tournaments/components/profile/skeleton.tsx:89 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:137 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:118 msgid "Teams" msgstr "Teams" @@ -2648,6 +2620,7 @@ msgid "Teams created successfully!" msgstr "Teams created successfully!" #: src/app/routes/_authed/admin/telemetry.tsx:20 +#: src/features/admin/components/dashboard/tools-list.tsx:55 msgid "Telemetry" msgstr "Telemetry" @@ -2730,7 +2703,7 @@ msgstr "Top {0, plural, one {# team} other {# teams}} from each group will advan msgid "Top {n} advance" msgstr "Top {n} advance" -#: src/features/telemetry/components/usage-screen.tsx:191 +#: src/features/telemetry/components/usage-screen.tsx:190 msgid "Top functions by call count" msgstr "Top functions by call count" @@ -2757,7 +2730,7 @@ msgstr "Tournament created successfully!" msgid "Tournament not found" msgstr "Tournament not found" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:152 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:133 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:25 msgid "Tournament Rules" msgstr "Tournament Rules" @@ -2786,7 +2759,7 @@ msgstr "trackId is required for playTrack action" msgid "Try the new themes" msgstr "Try the new themes" -#: src/features/admin/components/dashboard/quiet-boundary.tsx:26 +#: src/features/admin/components/dashboard/quiet-boundary.tsx:24 msgid "Unavailable right now" msgstr "Unavailable right now" @@ -2851,10 +2824,6 @@ msgstr "Update Tournament" msgid "Usage" msgstr "Usage" -#: src/features/admin/components/dashboard/usage-card.tsx:34 -msgid "Usage, 7 days" -msgstr "Usage, 7 days" - #: src/features/activities/components/activities-table.tsx:202 #: src/features/telemetry/components/client-events-table.tsx:146 msgid "User Agent" @@ -2898,7 +2867,7 @@ msgstr "View Predictions" msgid "Viewport" msgstr "Viewport" -#: src/features/telemetry/components/usage-screen.tsx:211 +#: src/features/telemetry/components/usage-screen.tsx:213 msgid "Vitals" msgstr "Vitals" diff --git a/src/locales/es/messages.po b/src/locales/es/messages.po index 29f2cea..78c5655 100644 --- a/src/locales/es/messages.po +++ b/src/locales/es/messages.po @@ -153,7 +153,7 @@ msgstr "{0}ms" msgid "{count, plural, one {Players (#)} other {Players (#)}}" msgstr "{count, plural, one {Jugadores (#)} other {Jugadores (#)}}" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:134 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:115 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:24 msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgstr "{count, plural, one {Equipos (#)} other {Equipos (#)}}" @@ -355,7 +355,7 @@ msgstr "2. Envío más temprano" msgid "2nd place" msgstr "2do lugar" -#: src/features/telemetry/components/usage-screen.tsx:256 +#: src/features/telemetry/components/usage-screen.tsx:258 msgid "30d" msgstr "30d" @@ -371,7 +371,7 @@ msgstr "3er lugar" msgid "5s" msgstr "5s" -#: src/features/telemetry/components/usage-screen.tsx:255 +#: src/features/telemetry/components/usage-screen.tsx:257 msgid "7d" msgstr "7d" @@ -420,10 +420,6 @@ msgstr "¡Cuenta creada exitosamente!" msgid "Active device: {0}" msgstr "Dispositivo activo: {0}" -#: src/features/admin/components/dashboard/usage-card.tsx:39 -msgid "Active players" -msgstr "Jugadores activos" - #: src/features/activities/components/activities-table.tsx:159 msgid "Activity Details" msgstr "Detalles de la actividad" @@ -441,7 +437,7 @@ msgid "Add Team" msgstr "Agregar Equipo" #: src/app/routes/_authed/admin.tsx:15 -#: src/app/routes/_authed/admin/index.tsx:22 +#: src/app/routes/_authed/admin/index.tsx:27 #: src/features/core/hooks/use-links.ts:37 msgid "Admin" msgstr "Admin" @@ -564,7 +560,7 @@ msgstr "Prom. Margen de Victoria" msgid "Award Badge" msgstr "Otorgar insignia" -#: src/features/admin/components/dashboard/tools-list.tsx:54 +#: src/features/admin/components/dashboard/tools-list.tsx:60 msgid "Award Badges" msgstr "Otorgar insignias" @@ -598,15 +594,15 @@ msgstr "Atrás" msgid "Badge awarded to {playerName}" msgstr "Insignia otorgada a {playerName}" -#: src/features/admin/components/dashboard/tools-list.tsx:85 +#: src/features/admin/components/dashboard/tools-list.tsx:91 msgid "Badge recalculation failed. Check the server logs." msgstr "Falló el recálculo de insignias. Revisa los registros del servidor." -#: src/features/admin/components/dashboard/tools-list.tsx:38 +#: src/features/admin/components/dashboard/tools-list.tsx:39 msgid "Badge recalculation is already running" msgstr "El recálculo de insignias ya está en curso" -#: src/features/admin/components/dashboard/tools-list.tsx:37 +#: src/features/admin/components/dashboard/tools-list.tsx:38 msgid "Badge recalculation started in the background" msgstr "Recálculo de insignias iniciado en segundo plano" @@ -631,13 +627,13 @@ msgstr "Circo" msgid "Both teams cannot have 10 cups" msgstr "Los dos equipos no pueden tener 10 vasos" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:106 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:87 #: src/features/tournaments/components/upcoming-tournament/index.tsx:151 msgid "Bracket" msgstr "Bracket" #: src/app/routes/_authed/admin/preview.tsx:13 -#: src/features/admin/components/dashboard/tools-list.tsx:96 +#: src/features/admin/components/dashboard/tools-list.tsx:102 msgid "Bracket Preview" msgstr "Vista previa del bracket" @@ -654,7 +650,7 @@ msgstr "Brutal" msgid "CA" msgstr "VC" -#: src/features/admin/components/dashboard/now-strip.tsx:52 +#: src/features/admin/components/dashboard/status-strip.tsx:67 msgid "Calls today" msgstr "Llamadas hoy" @@ -720,16 +716,12 @@ msgstr "Quitar jugador seleccionado" msgid "Client error spike" msgstr "Aumento de errores de cliente" -#: src/features/admin/components/dashboard/errors-card.tsx:21 -msgid "Client errors" -msgstr "Errores de cliente" - #: src/features/telemetry/components/usage-screen.tsx:203 msgid "Client errors per day" msgstr "Errores de cliente por día" #: src/components/sheet/modal.tsx:35 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:169 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:36 msgid "Close" msgstr "Cerrar" @@ -883,15 +875,10 @@ msgstr "Vasos anotados" msgid "Custom Hex Code" msgstr "Código hex personalizado" -#: src/features/admin/components/dashboard/usage-card.tsx:41 #: src/features/telemetry/components/usage-screen.tsx:159 msgid "Daily active players" msgstr "Jugadores activos diarios" -#: src/features/admin/components/dashboard/usage-card.tsx:47 -msgid "Daily page views" -msgstr "Vistas de página diarias" - #: src/features/settings/components/color-scheme-picker.tsx:39 msgid "Dark" msgstr "Oscuro" @@ -947,7 +934,7 @@ msgstr "Los partidos posteriores se reiniciaron porque la corrección cambió qu msgid "Duration" msgstr "Duración" -#: src/features/telemetry/components/usage-screen.tsx:233 +#: src/features/telemetry/components/usage-screen.tsx:235 msgid "Duration p50 / p95" msgstr "Duración p50 / p95" @@ -970,12 +957,12 @@ msgstr "Editar partido" msgid "Edit match score" msgstr "Editar marcador del partido" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Edit Prediction" msgstr "Editar predicción" -#: src/features/tournaments/components/manage-tournament.tsx:65 -#: src/features/tournaments/components/manage-tournament.tsx:92 +#: src/features/tournaments/components/manage-tournament.tsx:56 +#: src/features/tournaments/components/manage-tournament.tsx:83 msgid "Edit Rules" msgstr "Editar reglas" @@ -984,8 +971,8 @@ msgstr "Editar reglas" msgid "Edit Team" msgstr "Editar equipo" -#: src/features/tournaments/components/manage-tournament.tsx:60 -#: src/features/tournaments/components/manage-tournament.tsx:72 +#: src/features/tournaments/components/manage-tournament.tsx:51 +#: src/features/tournaments/components/manage-tournament.tsx:63 msgid "Edit Tournament" msgstr "Editar torneo" @@ -1048,7 +1035,7 @@ msgstr "Jugadores inscritos" #: src/features/tournaments/components/enrollment/enrollment-stats.tsx:28 #: src/features/tournaments/components/enrollment/team-section.tsx:240 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:145 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:126 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:31 msgid "Enrolled Teams" msgstr "Equipos inscritos" @@ -1058,13 +1045,13 @@ msgid "Enrolling as a free agent adds you to a pool of players looking for teamm msgstr "Inscribirte como agente libre te agrega a un grupo de jugadores buscando compañeros de equipo." #: src/app/routes/_authed/admin/tournaments/$id/enrollment.tsx:33 -#: src/features/admin/components/dashboard/tournament-card.tsx:61 +#: src/features/admin/components/dashboard/tournament-section.tsx:34 #: src/features/tournaments/components/upcoming-tournament/enroll-free-agent.tsx:29 #: src/features/tournaments/components/upcoming-tournament/index.tsx:69 msgid "Enrollment" msgstr "Inscripción" -#: src/features/tournaments/components/manage-tournament.tsx:55 +#: src/features/tournaments/components/manage-tournament.tsx:46 msgid "Enrollment & Teams" msgstr "Inscripción y equipos" @@ -1181,7 +1168,7 @@ msgstr "No se pudo establecer el dispositivo activo" msgid "Failed to set volume" msgstr "No se pudo ajustar el volumen" -#: src/features/admin/components/dashboard/tools-list.tsx:41 +#: src/features/admin/components/dashboard/tools-list.tsx:42 msgid "Failed to start badge recalculation" msgstr "No se pudo iniciar el recálculo de insignias" @@ -1251,7 +1238,7 @@ msgstr "Inscripción de agente libre" msgid "Free Agents" msgstr "Agentes libres" -#: src/features/telemetry/components/usage-screen.tsx:226 +#: src/features/telemetry/components/usage-screen.tsx:228 msgid "Function" msgstr "Función" @@ -1319,7 +1306,7 @@ msgstr "¡Fase de grupos generada con éxito!" msgid "Group Stage Setup" msgstr "Configuración de la fase de grupos" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:98 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:79 msgid "Groups" msgstr "Grupos" @@ -1465,7 +1452,7 @@ msgid "Last name must be 3-20 characters long and contain only letters" msgstr "El apellido debe tener entre 3 y 20 caracteres y contener solo letras" #. placeholder {0}: migrationStatus.result.totalBadgesEarned -#: src/features/admin/components/dashboard/tools-list.tsx:73 +#: src/features/admin/components/dashboard/tools-list.tsx:79 msgid "Last recalculation: {0, plural, one {# badge earned} other {# badges earned}}" msgstr "Último recálculo: {0, plural, one {# insignia obtenida} other {# insignias obtenidas}}" @@ -1530,7 +1517,7 @@ msgstr "J" msgid "Mainline" msgstr "Mainline" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Make Prediction" msgstr "Hacer predicción" @@ -1538,8 +1525,8 @@ msgstr "Hacer predicción" msgid "Make Your Prediction" msgstr "Haz tu predicción" -#: src/features/admin/components/dashboard/tournament-card.tsx:68 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:89 +#: src/features/admin/components/dashboard/tournament-section.tsx:39 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:70 #: src/features/tournaments/components/upcoming-tournament/index.tsx:144 msgid "Manage" msgstr "Administrar" @@ -1554,8 +1541,7 @@ msgid "Manage Team Songs/Logos" msgstr "Administrar canciones/logos del equipo" #: src/app/routes/_authed/admin/tournaments/index.tsx:17 -#: src/features/admin/components/dashboard/tools-list.tsx:49 -#: src/features/admin/components/dashboard/tournament-card.tsx:25 +#: src/features/admin/components/dashboard/tools-list.tsx:50 msgid "Manage Tournaments" msgstr "Administrar torneos" @@ -1642,7 +1628,7 @@ msgstr "MAU" msgid "Me" msgstr "Yo" -#: src/features/admin/components/dashboard/tools-list.tsx:59 +#: src/features/admin/components/dashboard/tools-list.tsx:65 msgid "Migrate Badge Progress" msgstr "Migrar progreso de insignias" @@ -1748,10 +1734,6 @@ msgstr "No hay reproducción activa para capturar" msgid "No Activities Found" msgstr "No se encontraron actividades" -#: src/features/admin/components/dashboard/activity-feed.tsx:78 -msgid "No activity yet" -msgstr "Aún no hay actividad" - #: src/features/badges/components/badge-stats-table.tsx:45 msgid "No Badges Available" msgstr "No hay insignias disponibles" @@ -1844,15 +1826,10 @@ msgstr "No se encontraron equipos que coincidan con \"{search}\"" msgid "No tournaments found" msgstr "No se encontraron torneos" -#: src/features/admin/components/dashboard/tournament-card.tsx:18 -msgid "No tournaments yet" -msgstr "Aún no hay torneos" - #: src/features/tournaments/components/tournament-card-list.tsx:40 msgid "No Tournaments Yet" msgstr "Aún no hay torneos" -#: src/features/admin/components/dashboard/errors-card.tsx:53 #: src/features/telemetry/components/error-browser/error-browser.tsx:27 msgid "No unresolved errors" msgstr "No hay errores sin resolver" @@ -1914,15 +1891,15 @@ msgstr "Una vez inscrito, puedes ver a otros agentes libres y su número de tel msgid "One time code" msgstr "Código de un solo uso" -#: src/features/admin/components/dashboard/now-strip.tsx:44 -msgid "Online now" -msgstr "En línea ahora" +#: src/features/admin/components/dashboard/status-strip.tsx:56 +msgid "Online" +msgstr "En línea" -#: src/features/admin/components/dashboard/now-strip.tsx:46 +#: src/features/admin/components/dashboard/status-strip.tsx:61 msgid "Open errors" msgstr "Errores abiertos" -#: src/features/admin/components/dashboard/tools-list.tsx:89 +#: src/features/admin/components/dashboard/tools-list.tsx:95 msgid "Open Pocketbase" msgstr "Abrir Pocketbase" @@ -1972,11 +1949,7 @@ msgstr "p50" msgid "p95" msgstr "p95" -#: src/features/admin/components/dashboard/usage-card.tsx:45 -msgid "Page views" -msgstr "Vistas de página" - -#: src/features/telemetry/components/usage-screen.tsx:177 +#: src/features/telemetry/components/usage-screen.tsx:176 msgid "Page views by route" msgstr "Vistas de página por ruta" @@ -2095,7 +2068,7 @@ msgstr "Puntuación de predicciones:" #: src/app/routes/_authed/tournaments/$id.predictions.tsx:23 #: src/features/predictions/components/prediction-leaderboard.tsx:147 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:104 msgid "Predictions" msgstr "Predicciones" @@ -2146,14 +2119,10 @@ msgstr "Reacciones" #. placeholder {0}: migrationStatus.playersProcessed #. placeholder {1}: migrationStatus.totalPlayers -#: src/features/admin/components/dashboard/tools-list.tsx:66 +#: src/features/admin/components/dashboard/tools-list.tsx:72 msgid "Recalculating badges in the background ({0}/{1})" msgstr "Recalculando insignias en segundo plano ({0}/{1})" -#: src/features/admin/components/dashboard/activity-feed.tsx:34 -msgid "Recent activity" -msgstr "Actividad reciente" - #: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:34 msgid "Recently finished" msgstr "Recién terminados" @@ -2218,17 +2187,20 @@ msgstr "Ronda {0}" msgid "Route" msgstr "Ruta" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:142 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:23 msgid "Rules" msgstr "Reglas" +#: src/features/admin/components/dashboard/tournament-section.tsx:29 +msgid "Run" +msgstr "Iniciar" + #: src/app/routes/_authed/admin/tournaments/run.$id.tsx:36 msgid "Run {name}" msgstr "Ejecutar {name}" -#: src/features/admin/components/dashboard/tournament-card.tsx:53 -#: src/features/tournaments/components/manage-tournament.tsx:49 +#: src/features/tournaments/components/manage-tournament.tsx:41 msgid "Run Tournament" msgstr "Iniciar torneo" @@ -2517,7 +2489,7 @@ msgstr "Se requiere la hora de inicio" msgid "Start typing to search..." msgstr "Empieza a escribir para buscar..." -#: src/features/admin/components/dashboard/tournament-card.tsx:43 +#: src/features/admin/components/dashboard/tournament-section.tsx:24 msgid "Starts in" msgstr "Comienza en" @@ -2639,7 +2611,7 @@ msgstr "¡Equipo actualizado exitosamente!" #: src/features/players/components/profile/skeleton.tsx:75 #: src/features/tournaments/components/profile/index.tsx:32 #: src/features/tournaments/components/profile/skeleton.tsx:89 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:137 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:118 msgid "Teams" msgstr "Equipos" @@ -2648,6 +2620,7 @@ msgid "Teams created successfully!" msgstr "¡Equipos creados exitosamente!" #: src/app/routes/_authed/admin/telemetry.tsx:20 +#: src/features/admin/components/dashboard/tools-list.tsx:55 msgid "Telemetry" msgstr "Telemetría" @@ -2730,7 +2703,7 @@ msgstr "{0, plural, one {El mejor equipo de cada grupo avanzará} other {Los mej msgid "Top {n} advance" msgstr "Los mejores {n} avanzan" -#: src/features/telemetry/components/usage-screen.tsx:191 +#: src/features/telemetry/components/usage-screen.tsx:190 msgid "Top functions by call count" msgstr "Funciones principales por cantidad de llamadas" @@ -2757,7 +2730,7 @@ msgstr "¡Torneo creado exitosamente!" msgid "Tournament not found" msgstr "Torneo no encontrado" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:152 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:133 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:25 msgid "Tournament Rules" msgstr "Reglas del torneo" @@ -2786,7 +2759,7 @@ msgstr "Se requiere trackId para la acción playTrack" msgid "Try the new themes" msgstr "Prueba los nuevos temas" -#: src/features/admin/components/dashboard/quiet-boundary.tsx:26 +#: src/features/admin/components/dashboard/quiet-boundary.tsx:24 msgid "Unavailable right now" msgstr "No disponible por ahora" @@ -2851,10 +2824,6 @@ msgstr "Actualizar torneo" msgid "Usage" msgstr "Uso" -#: src/features/admin/components/dashboard/usage-card.tsx:34 -msgid "Usage, 7 days" -msgstr "Uso, 7 días" - #: src/features/activities/components/activities-table.tsx:202 #: src/features/telemetry/components/client-events-table.tsx:146 msgid "User Agent" @@ -2898,7 +2867,7 @@ msgstr "Ver predicciones" msgid "Viewport" msgstr "Viewport" -#: src/features/telemetry/components/usage-screen.tsx:211 +#: src/features/telemetry/components/usage-screen.tsx:213 msgid "Vitals" msgstr "Vitales" diff --git a/src/locales/ja/messages.po b/src/locales/ja/messages.po index 329fa3a..b46b4ac 100644 --- a/src/locales/ja/messages.po +++ b/src/locales/ja/messages.po @@ -153,7 +153,7 @@ msgstr "{0}ms" msgid "{count, plural, one {Players (#)} other {Players (#)}}" msgstr "{count, plural, one {プレイヤー(#)} other {プレイヤー(#)}}" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:134 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:115 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:24 msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgstr "{count, plural, one {チーム(#)} other {チーム(#)}}" @@ -355,7 +355,7 @@ msgstr "2. 早い提出" msgid "2nd place" msgstr "2位" -#: src/features/telemetry/components/usage-screen.tsx:256 +#: src/features/telemetry/components/usage-screen.tsx:258 msgid "30d" msgstr "30日" @@ -371,7 +371,7 @@ msgstr "3位" msgid "5s" msgstr "5秒" -#: src/features/telemetry/components/usage-screen.tsx:255 +#: src/features/telemetry/components/usage-screen.tsx:257 msgid "7d" msgstr "7日" @@ -420,10 +420,6 @@ msgstr "アカウントが作成されました!" msgid "Active device: {0}" msgstr "アクティブなデバイス: {0}" -#: src/features/admin/components/dashboard/usage-card.tsx:39 -msgid "Active players" -msgstr "アクティブなプレイヤー" - #: src/features/activities/components/activities-table.tsx:159 msgid "Activity Details" msgstr "アクティビティの詳細" @@ -441,7 +437,7 @@ msgid "Add Team" msgstr "チームを追加" #: src/app/routes/_authed/admin.tsx:15 -#: src/app/routes/_authed/admin/index.tsx:22 +#: src/app/routes/_authed/admin/index.tsx:27 #: src/features/core/hooks/use-links.ts:37 msgid "Admin" msgstr "管理者" @@ -564,7 +560,7 @@ msgstr "平均勝差" msgid "Award Badge" msgstr "バッジを付与" -#: src/features/admin/components/dashboard/tools-list.tsx:54 +#: src/features/admin/components/dashboard/tools-list.tsx:60 msgid "Award Badges" msgstr "バッジを付与" @@ -598,15 +594,15 @@ msgstr "戻る" msgid "Badge awarded to {playerName}" msgstr "{playerName}にバッジを付与しました" -#: src/features/admin/components/dashboard/tools-list.tsx:85 +#: src/features/admin/components/dashboard/tools-list.tsx:91 msgid "Badge recalculation failed. Check the server logs." msgstr "バッジの再計算に失敗しました。サーバーログを確認してください。" -#: src/features/admin/components/dashboard/tools-list.tsx:38 +#: src/features/admin/components/dashboard/tools-list.tsx:39 msgid "Badge recalculation is already running" msgstr "バッジの再計算はすでに実行中です" -#: src/features/admin/components/dashboard/tools-list.tsx:37 +#: src/features/admin/components/dashboard/tools-list.tsx:38 msgid "Badge recalculation started in the background" msgstr "バックグラウンドでバッジの再計算を開始しました" @@ -631,13 +627,13 @@ msgstr "サーカス" msgid "Both teams cannot have 10 cups" msgstr "両チーム同時に10カップにはなりません" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:106 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:87 #: src/features/tournaments/components/upcoming-tournament/index.tsx:151 msgid "Bracket" msgstr "ブラケット" #: src/app/routes/_authed/admin/preview.tsx:13 -#: src/features/admin/components/dashboard/tools-list.tsx:96 +#: src/features/admin/components/dashboard/tools-list.tsx:102 msgid "Bracket Preview" msgstr "ブラケットプレビュー" @@ -654,7 +650,7 @@ msgstr "ブルータル" msgid "CA" msgstr "CA" -#: src/features/admin/components/dashboard/now-strip.tsx:52 +#: src/features/admin/components/dashboard/status-strip.tsx:67 msgid "Calls today" msgstr "本日の呼び出し数" @@ -720,16 +716,12 @@ msgstr "選択したプレイヤーを解除" msgid "Client error spike" msgstr "クライアントエラー急増" -#: src/features/admin/components/dashboard/errors-card.tsx:21 -msgid "Client errors" -msgstr "クライアントエラー" - #: src/features/telemetry/components/usage-screen.tsx:203 msgid "Client errors per day" msgstr "1日あたりのクライアントエラー数" #: src/components/sheet/modal.tsx:35 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:169 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:36 msgid "Close" msgstr "閉じる" @@ -883,15 +875,10 @@ msgstr "決めたカップ" msgid "Custom Hex Code" msgstr "カスタムHEXコード" -#: src/features/admin/components/dashboard/usage-card.tsx:41 #: src/features/telemetry/components/usage-screen.tsx:159 msgid "Daily active players" msgstr "デイリーアクティブプレイヤー数" -#: src/features/admin/components/dashboard/usage-card.tsx:47 -msgid "Daily page views" -msgstr "1日あたりのページビュー数" - #: src/features/settings/components/color-scheme-picker.tsx:39 msgid "Dark" msgstr "ダーク" @@ -947,7 +934,7 @@ msgstr "修正により勝ち上がりの相手が変わったため、以降の msgid "Duration" msgstr "所要時間" -#: src/features/telemetry/components/usage-screen.tsx:233 +#: src/features/telemetry/components/usage-screen.tsx:235 msgid "Duration p50 / p95" msgstr "所要時間 p50 / p95" @@ -970,12 +957,12 @@ msgstr "試合を編集" msgid "Edit match score" msgstr "試合スコアを編集" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Edit Prediction" msgstr "予想を編集" -#: src/features/tournaments/components/manage-tournament.tsx:65 -#: src/features/tournaments/components/manage-tournament.tsx:92 +#: src/features/tournaments/components/manage-tournament.tsx:56 +#: src/features/tournaments/components/manage-tournament.tsx:83 msgid "Edit Rules" msgstr "ルールを編集" @@ -984,8 +971,8 @@ msgstr "ルールを編集" msgid "Edit Team" msgstr "チームを編集" -#: src/features/tournaments/components/manage-tournament.tsx:60 -#: src/features/tournaments/components/manage-tournament.tsx:72 +#: src/features/tournaments/components/manage-tournament.tsx:51 +#: src/features/tournaments/components/manage-tournament.tsx:63 msgid "Edit Tournament" msgstr "トーナメントを編集" @@ -1048,7 +1035,7 @@ msgstr "登録済みプレイヤー" #: src/features/tournaments/components/enrollment/enrollment-stats.tsx:28 #: src/features/tournaments/components/enrollment/team-section.tsx:240 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:145 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:126 #: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:31 msgid "Enrolled Teams" msgstr "登録済みチーム" @@ -1058,13 +1045,13 @@ msgid "Enrolling as a free agent adds you to a pool of players looking for teamm msgstr "フリーエージェントとして登録すると、チームメイトを探しているプレイヤーのプールに追加されます。" #: src/app/routes/_authed/admin/tournaments/$id/enrollment.tsx:33 -#: src/features/admin/components/dashboard/tournament-card.tsx:61 +#: src/features/admin/components/dashboard/tournament-section.tsx:34 #: src/features/tournaments/components/upcoming-tournament/enroll-free-agent.tsx:29 #: src/features/tournaments/components/upcoming-tournament/index.tsx:69 msgid "Enrollment" msgstr "参加登録" -#: src/features/tournaments/components/manage-tournament.tsx:55 +#: src/features/tournaments/components/manage-tournament.tsx:46 msgid "Enrollment & Teams" msgstr "参加登録とチーム" @@ -1181,7 +1168,7 @@ msgstr "アクティブなデバイスの設定に失敗しました" msgid "Failed to set volume" msgstr "音量の設定に失敗しました" -#: src/features/admin/components/dashboard/tools-list.tsx:41 +#: src/features/admin/components/dashboard/tools-list.tsx:42 msgid "Failed to start badge recalculation" msgstr "バッジの再計算を開始できませんでした" @@ -1251,7 +1238,7 @@ msgstr "フリーエージェント登録" msgid "Free Agents" msgstr "フリーエージェント" -#: src/features/telemetry/components/usage-screen.tsx:226 +#: src/features/telemetry/components/usage-screen.tsx:228 msgid "Function" msgstr "関数" @@ -1319,7 +1306,7 @@ msgstr "グループステージを生成しました!" msgid "Group Stage Setup" msgstr "グループステージ設定" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:98 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:79 msgid "Groups" msgstr "グループ" @@ -1465,7 +1452,7 @@ msgid "Last name must be 3-20 characters long and contain only letters" msgstr "姓は3〜20文字の英字のみで入力してください" #. placeholder {0}: migrationStatus.result.totalBadgesEarned -#: src/features/admin/components/dashboard/tools-list.tsx:73 +#: src/features/admin/components/dashboard/tools-list.tsx:79 msgid "Last recalculation: {0, plural, one {# badge earned} other {# badges earned}}" msgstr "前回の再計算:{0, plural, one {# 個のバッジを獲得} other {# 個のバッジを獲得}}" @@ -1530,7 +1517,7 @@ msgstr "M" msgid "Mainline" msgstr "メインライン" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:114 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95 msgid "Make Prediction" msgstr "予想する" @@ -1538,8 +1525,8 @@ msgstr "予想する" msgid "Make Your Prediction" msgstr "予想を入力" -#: src/features/admin/components/dashboard/tournament-card.tsx:68 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:89 +#: src/features/admin/components/dashboard/tournament-section.tsx:39 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:70 #: src/features/tournaments/components/upcoming-tournament/index.tsx:144 msgid "Manage" msgstr "管理" @@ -1554,8 +1541,7 @@ msgid "Manage Team Songs/Logos" msgstr "チームの曲・ロゴを管理" #: src/app/routes/_authed/admin/tournaments/index.tsx:17 -#: src/features/admin/components/dashboard/tools-list.tsx:49 -#: src/features/admin/components/dashboard/tournament-card.tsx:25 +#: src/features/admin/components/dashboard/tools-list.tsx:50 msgid "Manage Tournaments" msgstr "トーナメント管理" @@ -1642,7 +1628,7 @@ msgstr "MAU" msgid "Me" msgstr "自分" -#: src/features/admin/components/dashboard/tools-list.tsx:59 +#: src/features/admin/components/dashboard/tools-list.tsx:65 msgid "Migrate Badge Progress" msgstr "バッジ進捗を移行" @@ -1748,10 +1734,6 @@ msgstr "キャプチャする再生中のプレイバックがありません" msgid "No Activities Found" msgstr "アクティビティが見つかりません" -#: src/features/admin/components/dashboard/activity-feed.tsx:78 -msgid "No activity yet" -msgstr "まだアクティビティがありません" - #: src/features/badges/components/badge-stats-table.tsx:45 msgid "No Badges Available" msgstr "利用可能なバッジがありません" @@ -1844,15 +1826,10 @@ msgstr "「{search}」に一致するチームが見つかりません" msgid "No tournaments found" msgstr "トーナメントが見つかりません" -#: src/features/admin/components/dashboard/tournament-card.tsx:18 -msgid "No tournaments yet" -msgstr "トーナメントはまだありません" - #: src/features/tournaments/components/tournament-card-list.tsx:40 msgid "No Tournaments Yet" msgstr "トーナメントはまだありません" -#: src/features/admin/components/dashboard/errors-card.tsx:53 #: src/features/telemetry/components/error-browser/error-browser.tsx:27 msgid "No unresolved errors" msgstr "未解決のエラーはありません" @@ -1914,15 +1891,15 @@ msgstr "登録が完了すると、他のフリーエージェントとその電 msgid "One time code" msgstr "ワンタイムコード" -#: src/features/admin/components/dashboard/now-strip.tsx:44 -msgid "Online now" -msgstr "現在オンライン" +#: src/features/admin/components/dashboard/status-strip.tsx:56 +msgid "Online" +msgstr "オンライン" -#: src/features/admin/components/dashboard/now-strip.tsx:46 +#: src/features/admin/components/dashboard/status-strip.tsx:61 msgid "Open errors" msgstr "未解決のエラー" -#: src/features/admin/components/dashboard/tools-list.tsx:89 +#: src/features/admin/components/dashboard/tools-list.tsx:95 msgid "Open Pocketbase" msgstr "Pocketbaseを開く" @@ -1972,11 +1949,7 @@ msgstr "p50" msgid "p95" msgstr "p95" -#: src/features/admin/components/dashboard/usage-card.tsx:45 -msgid "Page views" -msgstr "ページビュー数" - -#: src/features/telemetry/components/usage-screen.tsx:177 +#: src/features/telemetry/components/usage-screen.tsx:176 msgid "Page views by route" msgstr "ルート別ページビュー数" @@ -2095,7 +2068,7 @@ msgstr "予想の得点方式:" #: src/app/routes/_authed/tournaments/$id.predictions.tsx:23 #: src/features/predictions/components/prediction-leaderboard.tsx:147 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:104 msgid "Predictions" msgstr "予想" @@ -2146,14 +2119,10 @@ msgstr "リアクション" #. placeholder {0}: migrationStatus.playersProcessed #. placeholder {1}: migrationStatus.totalPlayers -#: src/features/admin/components/dashboard/tools-list.tsx:66 +#: src/features/admin/components/dashboard/tools-list.tsx:72 msgid "Recalculating badges in the background ({0}/{1})" msgstr "バックグラウンドでバッジを再計算中({0}/{1})" -#: src/features/admin/components/dashboard/activity-feed.tsx:34 -msgid "Recent activity" -msgstr "最近のアクティビティ" - #: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:34 msgid "Recently finished" msgstr "最近終了した試合" @@ -2218,17 +2187,20 @@ msgstr "ラウンド{0}" msgid "Route" msgstr "ルート" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:142 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:23 msgid "Rules" msgstr "ルール" +#: src/features/admin/components/dashboard/tournament-section.tsx:29 +msgid "Run" +msgstr "実行" + #: src/app/routes/_authed/admin/tournaments/run.$id.tsx:36 msgid "Run {name}" msgstr "{name}を実行" -#: src/features/admin/components/dashboard/tournament-card.tsx:53 -#: src/features/tournaments/components/manage-tournament.tsx:49 +#: src/features/tournaments/components/manage-tournament.tsx:41 msgid "Run Tournament" msgstr "トーナメントを実行" @@ -2517,7 +2489,7 @@ msgstr "開始時間を入力してください" msgid "Start typing to search..." msgstr "入力して検索..." -#: src/features/admin/components/dashboard/tournament-card.tsx:43 +#: src/features/admin/components/dashboard/tournament-section.tsx:24 msgid "Starts in" msgstr "開始まで" @@ -2639,7 +2611,7 @@ msgstr "チームを更新しました!" #: src/features/players/components/profile/skeleton.tsx:75 #: src/features/tournaments/components/profile/index.tsx:32 #: src/features/tournaments/components/profile/skeleton.tsx:89 -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:137 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:118 msgid "Teams" msgstr "チーム" @@ -2648,6 +2620,7 @@ msgid "Teams created successfully!" msgstr "チームを作成しました!" #: src/app/routes/_authed/admin/telemetry.tsx:20 +#: src/features/admin/components/dashboard/tools-list.tsx:55 msgid "Telemetry" msgstr "テレメトリー" @@ -2730,7 +2703,7 @@ msgstr "各グループの上位{0, plural, one {#チーム} other {#チーム}} msgid "Top {n} advance" msgstr "上位{n}チームが勝ち上がり" -#: src/features/telemetry/components/usage-screen.tsx:191 +#: src/features/telemetry/components/usage-screen.tsx:190 msgid "Top functions by call count" msgstr "呼び出し数の多い関数" @@ -2757,7 +2730,7 @@ msgstr "トーナメントを作成しました!" msgid "Tournament not found" msgstr "トーナメントが見つかりません" -#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:152 +#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:133 #: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:25 msgid "Tournament Rules" msgstr "トーナメントルール" @@ -2786,7 +2759,7 @@ msgstr "playTrackアクションにはtrackIdが必要です" msgid "Try the new themes" msgstr "新しいテーマを試してみましょう" -#: src/features/admin/components/dashboard/quiet-boundary.tsx:26 +#: src/features/admin/components/dashboard/quiet-boundary.tsx:24 msgid "Unavailable right now" msgstr "現在利用できません" @@ -2851,10 +2824,6 @@ msgstr "トーナメントを更新" msgid "Usage" msgstr "利用状況" -#: src/features/admin/components/dashboard/usage-card.tsx:34 -msgid "Usage, 7 days" -msgstr "利用状況(7日間)" - #: src/features/activities/components/activities-table.tsx:202 #: src/features/telemetry/components/client-events-table.tsx:146 msgid "User Agent" @@ -2898,7 +2867,7 @@ msgstr "予想を見る" msgid "Viewport" msgstr "ビューポート" -#: src/features/telemetry/components/usage-screen.tsx:211 +#: src/features/telemetry/components/usage-screen.tsx:213 msgid "Vitals" msgstr "バイタル"