refactor(telemetry): text-only list empty states, distinct p50/p95 series

- paginated-list empty prop is a plain string, no icon block
- second sparkline series drawn in dimmed color; area disabled on dual charts
- duration legend shows latest p50/p95 values
This commit is contained in:
2026-08-25 22:38:45 -07:00
parent fd0489a22f
commit 5d7747839c
9 changed files with 145 additions and 142 deletions
@@ -1,7 +1,7 @@
import { useState, useMemo } from "react";
import { Trans, Plural, useLingui } from "@lingui/react/macro";
import { Alert, Code, Container, Group, Stack, Text } from "@mantine/core";
import { CheckIcon, XIcon, PulseIcon } from "@phosphor-icons/react";
import { CheckIcon, XIcon } from "@phosphor-icons/react";
import { Activity, ActivitySearchParams } from "../types";
import { useActivities } from "../queries";
import { usePlayers } from "@/features/players/queries";
@@ -129,7 +129,7 @@ export const ActivitiesTable = () => {
<PaginatedList
items={items}
keyOf={(activity) => activity.id}
empty={{ icon: <PulseIcon size={32} />, title: t`No Activities Found` }}
empty={t`No Activities Found`}
page={page}
totalPages={result.totalPages}
onPageChange={setPage}
@@ -17,6 +17,7 @@ interface SparklineProps {
showArea?: boolean;
label?: string;
color?: string;
series2Color?: string;
scale?: SparklineScale;
}
@@ -27,6 +28,7 @@ export const Sparkline = ({
showArea = false,
label,
color = "var(--mantine-color-anchor)",
series2Color = "var(--mantine-color-dimmed)",
scale,
}: SparklineProps) => {
if (data.length === 0) {
@@ -42,7 +44,7 @@ export const Sparkline = ({
const secondPath = series2?.length
? pointsToPath(series2, VIEW_WIDTH, height, PAD, extent)
: null;
const areaPath = showArea
const areaPath = showArea && !secondPath
? `${path} L${VIEW_WIDTH - PAD},${height - PAD} L${PAD},${height - PAD} Z`
: null;
@@ -74,7 +76,7 @@ export const Sparkline = ({
<path
d={secondPath}
fill="none"
stroke={color}
stroke={series2Color}
strokeWidth={2}
strokeDasharray="4 3"
strokeLinecap="round"
@@ -1,7 +1,6 @@
import { useState, useMemo } from "react";
import { Trans, Plural, useLingui } from "@lingui/react/macro";
import { Code, Container, Stack } from "@mantine/core";
import { CursorClickIcon } from "@phosphor-icons/react";
import { usePlayers } from "@/features/players/queries";
import { useSheet } from "@/hooks/use-sheet";
import { useClientEvents } from "../queries";
@@ -91,7 +90,7 @@ export const ClientEventsTable = () => {
<PaginatedList
items={result.items}
keyOf={(event) => event.id}
empty={{ icon: <CursorClickIcon size={32} />, title: t`No Events Found` }}
empty={t`No Events Found`}
page={page}
totalPages={result.totalPages}
onPageChange={setPage}
@@ -1,12 +1,11 @@
import { ReactNode } from "react";
import { Box, Divider, Group, Pagination, Stack } from "@mantine/core";
import EmptyState from "@/components/empty-state";
import { Box, Divider, Group, Pagination, Stack, Text } from "@mantine/core";
interface PaginatedListProps<T> {
items: T[];
renderItem: (item: T) => ReactNode;
keyOf: (item: T) => string;
empty: { icon: ReactNode; title: string; description?: string };
empty: string;
page?: number;
totalPages?: number;
onPageChange?: (page: number) => void;
@@ -32,7 +31,9 @@ export const PaginatedList = <T,>({
</Stack>
{items.length === 0 && (
<EmptyState icon={empty.icon} title={empty.title} description={empty.description} />
<Text size="sm" c="dimmed" px="md" py="xl" ta="center">
{empty}
</Text>
)}
{totalPages > 1 && onPageChange && (
@@ -77,6 +77,8 @@ const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: stri
const days = listDays({ from, to });
const p50 = fillDailySeries(rows, "server_fn.duration.p50", fn, days);
const p95 = fillDailySeries(rows, "server_fn.duration.p95", fn, days);
const lastNonZero = (series: number[]) =>
[...series].reverse().find((value) => value > 0) ?? 0;
return (
<Stack gap="xs">
@@ -84,7 +86,6 @@ const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: stri
data={p50}
series2={p95}
height={64}
showArea
scale={{
start: dayLabel(i18n, from),
end: dayLabel(i18n, to),
@@ -97,7 +98,7 @@ const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: stri
<line x1={0} y1={4} x2={18} y2={4} stroke="var(--mantine-color-anchor)" strokeWidth={2} />
</svg>
<Text size="xs" c="dimmed">
<Trans>p50</Trans>
<Trans>p50</Trans> · {Math.round(lastNonZero(p50))}ms
</Text>
</Group>
<Group gap={6}>
@@ -107,13 +108,13 @@ const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: stri
y1={4}
x2={18}
y2={4}
stroke="var(--mantine-color-anchor)"
stroke="var(--mantine-color-dimmed)"
strokeWidth={2}
strokeDasharray="4 3"
/>
</svg>
<Text size="xs" c="dimmed">
<Trans>p95</Trans>
<Trans>p95</Trans> · {Math.round(lastNonZero(p95))}ms
</Text>
</Group>
</Group>
+32 -32
View File
@@ -58,7 +58,7 @@ msgid "{0, plural, one {# total activity} other {# total activities}}"
msgstr "{0, plural, one {# Aktivität insgesamt} other {# Aktivitäten insgesamt}}"
#. placeholder {0}: result.totalItems
#: src/features/telemetry/components/client-events-table.tsx:87
#: src/features/telemetry/components/client-events-table.tsx:86
msgid "{0, plural, one {# total event} other {# total events}}"
msgstr "{0, plural, one {# Ereignis insgesamt} other {# Ereignisse insgesamt}}"
@@ -355,7 +355,7 @@ msgstr "2. Frühere Abgabe"
msgid "2nd place"
msgstr "2. Platz"
#: src/features/telemetry/components/usage-screen.tsx:263
#: src/features/telemetry/components/usage-screen.tsx:264
msgid "30d"
msgstr "30 T"
@@ -371,7 +371,7 @@ msgstr "3. Platz"
msgid "5s"
msgstr "5 s"
#: src/features/telemetry/components/usage-screen.tsx:262
#: src/features/telemetry/components/usage-screen.tsx:263
msgid "7d"
msgstr "7 T"
@@ -480,7 +480,7 @@ msgstr "Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es erneut."
msgid "Announce matchup"
msgstr "Matchup ansagen"
#: src/features/telemetry/components/client-events-table.tsx:49
#: src/features/telemetry/components/client-events-table.tsx:48
msgid "Anonymous"
msgstr "Anonym"
@@ -716,7 +716,7 @@ msgstr "Ausgewählten Spieler entfernen"
msgid "Client error spike"
msgstr "Anstieg von Client-Fehlern"
#: src/features/telemetry/components/usage-screen.tsx:207
#: src/features/telemetry/components/usage-screen.tsx:208
msgid "Client errors"
msgstr "Client-Fehler"
@@ -846,7 +846,7 @@ msgid "Create Tournament"
msgstr "Turnier erstellen"
#: src/features/activities/components/activities-table.tsx:198
#: src/features/telemetry/components/client-events-table.tsx:149
#: src/features/telemetry/components/client-events-table.tsx:148
msgid "Created"
msgstr "Erstellt"
@@ -875,7 +875,7 @@ msgstr "Becher erzielt"
msgid "Custom Hex Code"
msgstr "Benutzerdefinierter Hex-Code"
#: src/features/telemetry/components/usage-screen.tsx:162
#: src/features/telemetry/components/usage-screen.tsx:163
msgid "Daily active players"
msgstr "Täglich aktive Spieler"
@@ -934,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:240
#: src/features/telemetry/components/usage-screen.tsx:241
msgid "Duration p50 / p95"
msgstr "Dauer p50 / p95"
@@ -996,7 +996,7 @@ msgstr "Enddatum (optional)"
msgid "End Match"
msgstr "Match beenden"
#: src/features/telemetry/components/usage-screen.tsx:159
#: src/features/telemetry/components/usage-screen.tsx:160
msgid "Engagement"
msgstr "Engagement"
@@ -1097,15 +1097,15 @@ msgid "Error: {errorMessage}"
msgstr "Fehler: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:204
#: src/features/telemetry/components/usage-screen.tsx:205
msgid "Errors"
msgstr "Fehler"
#: src/features/telemetry/components/client-events-table.tsx:113
#: src/features/telemetry/components/client-events-table.tsx:112
msgid "Event Details"
msgstr "Ereignisdetails"
#: src/features/telemetry/components/client-events-table.tsx:70
#: src/features/telemetry/components/client-events-table.tsx:69
msgid "Event name"
msgstr "Ereignisname"
@@ -1238,7 +1238,7 @@ msgstr "Free-Agent-Anmeldung"
msgid "Free Agents"
msgstr "Free Agents"
#: src/features/telemetry/components/usage-screen.tsx:233
#: src/features/telemetry/components/usage-screen.tsx:234
msgid "Function"
msgstr "Funktion"
@@ -1616,7 +1616,7 @@ msgstr "Matchup"
msgid "Matchup details"
msgstr "Matchup-Details"
#: src/features/telemetry/components/usage-screen.tsx:173
#: src/features/telemetry/components/usage-screen.tsx:174
msgid "MAU"
msgstr "MAU"
@@ -1638,7 +1638,7 @@ msgid "MMR Calculation:"
msgstr "MMR-Berechnung:"
#: src/features/teams/components/team-form/index.tsx:200
#: src/features/telemetry/components/client-events-table.tsx:119
#: src/features/telemetry/components/client-events-table.tsx:118
#: src/features/tournaments/components/tournament-form.tsx:137
msgid "Name"
msgstr "Name"
@@ -1734,7 +1734,7 @@ msgstr "Keine Abzeichen verfügbar"
msgid "No devices found."
msgstr "Keine Geräte gefunden."
#: src/features/telemetry/components/client-events-table.tsx:94
#: src/features/telemetry/components/client-events-table.tsx:93
msgid "No Events Found"
msgstr "Keine Ereignisse gefunden"
@@ -1929,15 +1929,15 @@ msgstr "Übersicht"
msgid "owo"
msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:100
#: src/features/telemetry/components/usage-screen.tsx:101
msgid "p50"
msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:116
#: src/features/telemetry/components/usage-screen.tsx:117
msgid "p95"
msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:180
#: src/features/telemetry/components/usage-screen.tsx:181
msgid "Page views by route"
msgstr "Seitenaufrufe nach Route"
@@ -1949,7 +1949,7 @@ msgstr "Partner-Zuweisungen"
msgid "Partners will be randomly assigned when enrollment closes"
msgstr "Partner werden nach Anmeldeschluss zufällig zugewiesen"
#: src/features/telemetry/components/client-events-table.tsx:122
#: src/features/telemetry/components/client-events-table.tsx:121
msgid "Path"
msgstr "Pfad"
@@ -1995,8 +1995,8 @@ msgstr "Wiedergabesteuerung fehlgeschlagen"
#: src/features/activities/components/activities-table.tsx:98
#: src/features/activities/components/activities-table.tsx:188
#: src/features/admin/components/award-badges.tsx:31
#: src/features/telemetry/components/client-events-table.tsx:73
#: src/features/telemetry/components/client-events-table.tsx:120
#: src/features/telemetry/components/client-events-table.tsx:72
#: src/features/telemetry/components/client-events-table.tsx:119
msgid "Player"
msgstr "Spieler"
@@ -2076,7 +2076,7 @@ msgstr "Profil"
msgid "Progress "
msgstr "Fortschritt "
#: src/features/telemetry/components/client-events-table.tsx:136
#: src/features/telemetry/components/client-events-table.tsx:135
msgid "Props"
msgstr "Props"
@@ -2167,7 +2167,7 @@ msgstr "rofl"
msgid "Round {0}"
msgstr "Runde {0}"
#: src/features/telemetry/components/client-events-table.tsx:125
#: src/features/telemetry/components/client-events-table.tsx:124
msgid "Route"
msgstr "Route"
@@ -2343,7 +2343,7 @@ msgstr "Serie steht unentschieden"
msgid "Server function failing"
msgstr "Serverfunktion schlägt fehl"
#: src/features/telemetry/components/usage-screen.tsx:190
#: src/features/telemetry/components/usage-screen.tsx:191
msgid "Server functions"
msgstr "Serverfunktionen"
@@ -2351,11 +2351,11 @@ msgstr "Serverfunktionen"
msgid "serverFn name"
msgstr "serverFn-Name"
#: src/features/telemetry/components/client-events-table.tsx:128
#: src/features/telemetry/components/client-events-table.tsx:127
msgid "Session"
msgstr "Sitzung"
#: src/features/telemetry/components/usage-screen.tsx:176
#: src/features/telemetry/components/usage-screen.tsx:177
msgid "Sessions"
msgstr "Sitzungen"
@@ -2687,7 +2687,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:194
#: src/features/telemetry/components/usage-screen.tsx:195
msgid "Top functions by call count"
msgstr "Top-Funktionen nach Aufrufanzahl"
@@ -2809,11 +2809,11 @@ msgid "Usage"
msgstr "Nutzung"
#: src/features/activities/components/activities-table.tsx:202
#: src/features/telemetry/components/client-events-table.tsx:146
#: src/features/telemetry/components/client-events-table.tsx:145
msgid "User Agent"
msgstr "User-Agent"
#: src/features/telemetry/components/client-events-table.tsx:131
#: src/features/telemetry/components/client-events-table.tsx:130
msgid "Value"
msgstr "Wert"
@@ -2851,7 +2851,7 @@ msgstr "Tipps ansehen"
msgid "Viewport"
msgstr "Viewport"
#: src/features/telemetry/components/usage-screen.tsx:218
#: src/features/telemetry/components/usage-screen.tsx:219
msgid "Vitals"
msgstr "Vitals"
@@ -2890,7 +2890,7 @@ msgstr "Walkout-Segment ({segmentDuration}s)"
msgid "Walkout Song"
msgstr "Walkout-Song"
#: src/features/telemetry/components/usage-screen.tsx:169
#: src/features/telemetry/components/usage-screen.tsx:170
msgid "WAU"
msgstr "WAU"
+32 -32
View File
@@ -58,7 +58,7 @@ msgid "{0, plural, one {# total activity} other {# total activities}}"
msgstr "{0, plural, one {# total activity} other {# total activities}}"
#. placeholder {0}: result.totalItems
#: src/features/telemetry/components/client-events-table.tsx:87
#: src/features/telemetry/components/client-events-table.tsx:86
msgid "{0, plural, one {# total event} other {# total events}}"
msgstr "{0, plural, one {# total event} other {# total events}}"
@@ -355,7 +355,7 @@ msgstr "2. Earlier submission"
msgid "2nd place"
msgstr "2nd place"
#: src/features/telemetry/components/usage-screen.tsx:263
#: src/features/telemetry/components/usage-screen.tsx:264
msgid "30d"
msgstr "30d"
@@ -371,7 +371,7 @@ msgstr "3rd place"
msgid "5s"
msgstr "5s"
#: src/features/telemetry/components/usage-screen.tsx:262
#: src/features/telemetry/components/usage-screen.tsx:263
msgid "7d"
msgstr "7d"
@@ -480,7 +480,7 @@ msgstr "An unexpected error occurred. Please try again."
msgid "Announce matchup"
msgstr "Announce matchup"
#: src/features/telemetry/components/client-events-table.tsx:49
#: src/features/telemetry/components/client-events-table.tsx:48
msgid "Anonymous"
msgstr "Anonymous"
@@ -716,7 +716,7 @@ msgstr "Clear selected player"
msgid "Client error spike"
msgstr "Client error spike"
#: src/features/telemetry/components/usage-screen.tsx:207
#: src/features/telemetry/components/usage-screen.tsx:208
msgid "Client errors"
msgstr "Client errors"
@@ -846,7 +846,7 @@ msgid "Create Tournament"
msgstr "Create Tournament"
#: src/features/activities/components/activities-table.tsx:198
#: src/features/telemetry/components/client-events-table.tsx:149
#: src/features/telemetry/components/client-events-table.tsx:148
msgid "Created"
msgstr "Created"
@@ -875,7 +875,7 @@ msgstr "Cups Made"
msgid "Custom Hex Code"
msgstr "Custom Hex Code"
#: src/features/telemetry/components/usage-screen.tsx:162
#: src/features/telemetry/components/usage-screen.tsx:163
msgid "Daily active players"
msgstr "Daily active players"
@@ -934,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:240
#: src/features/telemetry/components/usage-screen.tsx:241
msgid "Duration p50 / p95"
msgstr "Duration p50 / p95"
@@ -996,7 +996,7 @@ msgstr "End Date (Optional)"
msgid "End Match"
msgstr "End Match"
#: src/features/telemetry/components/usage-screen.tsx:159
#: src/features/telemetry/components/usage-screen.tsx:160
msgid "Engagement"
msgstr "Engagement"
@@ -1097,15 +1097,15 @@ msgid "Error: {errorMessage}"
msgstr "Error: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:204
#: src/features/telemetry/components/usage-screen.tsx:205
msgid "Errors"
msgstr "Errors"
#: src/features/telemetry/components/client-events-table.tsx:113
#: src/features/telemetry/components/client-events-table.tsx:112
msgid "Event Details"
msgstr "Event Details"
#: src/features/telemetry/components/client-events-table.tsx:70
#: src/features/telemetry/components/client-events-table.tsx:69
msgid "Event name"
msgstr "Event name"
@@ -1238,7 +1238,7 @@ msgstr "Free Agent Enrollment"
msgid "Free Agents"
msgstr "Free Agents"
#: src/features/telemetry/components/usage-screen.tsx:233
#: src/features/telemetry/components/usage-screen.tsx:234
msgid "Function"
msgstr "Function"
@@ -1616,7 +1616,7 @@ msgstr "Matchup"
msgid "Matchup details"
msgstr "Matchup details"
#: src/features/telemetry/components/usage-screen.tsx:173
#: src/features/telemetry/components/usage-screen.tsx:174
msgid "MAU"
msgstr "MAU"
@@ -1638,7 +1638,7 @@ msgid "MMR Calculation:"
msgstr "MMR Calculation:"
#: src/features/teams/components/team-form/index.tsx:200
#: src/features/telemetry/components/client-events-table.tsx:119
#: src/features/telemetry/components/client-events-table.tsx:118
#: src/features/tournaments/components/tournament-form.tsx:137
msgid "Name"
msgstr "Name"
@@ -1734,7 +1734,7 @@ msgstr "No Badges Available"
msgid "No devices found."
msgstr "No devices found."
#: src/features/telemetry/components/client-events-table.tsx:94
#: src/features/telemetry/components/client-events-table.tsx:93
msgid "No Events Found"
msgstr "No Events Found"
@@ -1929,15 +1929,15 @@ msgstr "Overview"
msgid "owo"
msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:100
#: src/features/telemetry/components/usage-screen.tsx:101
msgid "p50"
msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:116
#: src/features/telemetry/components/usage-screen.tsx:117
msgid "p95"
msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:180
#: src/features/telemetry/components/usage-screen.tsx:181
msgid "Page views by route"
msgstr "Page views by route"
@@ -1949,7 +1949,7 @@ msgstr "Partner Assignments"
msgid "Partners will be randomly assigned when enrollment closes"
msgstr "Partners will be randomly assigned when enrollment closes"
#: src/features/telemetry/components/client-events-table.tsx:122
#: src/features/telemetry/components/client-events-table.tsx:121
msgid "Path"
msgstr "Path"
@@ -1995,8 +1995,8 @@ msgstr "Playback control failed"
#: src/features/activities/components/activities-table.tsx:98
#: src/features/activities/components/activities-table.tsx:188
#: src/features/admin/components/award-badges.tsx:31
#: src/features/telemetry/components/client-events-table.tsx:73
#: src/features/telemetry/components/client-events-table.tsx:120
#: src/features/telemetry/components/client-events-table.tsx:72
#: src/features/telemetry/components/client-events-table.tsx:119
msgid "Player"
msgstr "Player"
@@ -2076,7 +2076,7 @@ msgstr "Profile"
msgid "Progress "
msgstr "Progress "
#: src/features/telemetry/components/client-events-table.tsx:136
#: src/features/telemetry/components/client-events-table.tsx:135
msgid "Props"
msgstr "Props"
@@ -2167,7 +2167,7 @@ msgstr "rofl"
msgid "Round {0}"
msgstr "Round {0}"
#: src/features/telemetry/components/client-events-table.tsx:125
#: src/features/telemetry/components/client-events-table.tsx:124
msgid "Route"
msgstr "Route"
@@ -2343,7 +2343,7 @@ msgstr "Series is tied"
msgid "Server function failing"
msgstr "Server function failing"
#: src/features/telemetry/components/usage-screen.tsx:190
#: src/features/telemetry/components/usage-screen.tsx:191
msgid "Server functions"
msgstr "Server functions"
@@ -2351,11 +2351,11 @@ msgstr "Server functions"
msgid "serverFn name"
msgstr "serverFn name"
#: src/features/telemetry/components/client-events-table.tsx:128
#: src/features/telemetry/components/client-events-table.tsx:127
msgid "Session"
msgstr "Session"
#: src/features/telemetry/components/usage-screen.tsx:176
#: src/features/telemetry/components/usage-screen.tsx:177
msgid "Sessions"
msgstr "Sessions"
@@ -2687,7 +2687,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:194
#: src/features/telemetry/components/usage-screen.tsx:195
msgid "Top functions by call count"
msgstr "Top functions by call count"
@@ -2809,11 +2809,11 @@ msgid "Usage"
msgstr "Usage"
#: src/features/activities/components/activities-table.tsx:202
#: src/features/telemetry/components/client-events-table.tsx:146
#: src/features/telemetry/components/client-events-table.tsx:145
msgid "User Agent"
msgstr "User Agent"
#: src/features/telemetry/components/client-events-table.tsx:131
#: src/features/telemetry/components/client-events-table.tsx:130
msgid "Value"
msgstr "Value"
@@ -2851,7 +2851,7 @@ msgstr "View Predictions"
msgid "Viewport"
msgstr "Viewport"
#: src/features/telemetry/components/usage-screen.tsx:218
#: src/features/telemetry/components/usage-screen.tsx:219
msgid "Vitals"
msgstr "Vitals"
@@ -2890,7 +2890,7 @@ msgstr "Walkout Segment ({segmentDuration}s)"
msgid "Walkout Song"
msgstr "Walkout Song"
#: src/features/telemetry/components/usage-screen.tsx:169
#: src/features/telemetry/components/usage-screen.tsx:170
msgid "WAU"
msgstr "WAU"
+32 -32
View File
@@ -58,7 +58,7 @@ msgid "{0, plural, one {# total activity} other {# total activities}}"
msgstr "{0, plural, one {# actividad total} other {# actividades totales}}"
#. placeholder {0}: result.totalItems
#: src/features/telemetry/components/client-events-table.tsx:87
#: src/features/telemetry/components/client-events-table.tsx:86
msgid "{0, plural, one {# total event} other {# total events}}"
msgstr "{0, plural, one {# evento total} other {# eventos totales}}"
@@ -355,7 +355,7 @@ msgstr "2. Envío más temprano"
msgid "2nd place"
msgstr "2do lugar"
#: src/features/telemetry/components/usage-screen.tsx:263
#: src/features/telemetry/components/usage-screen.tsx:264
msgid "30d"
msgstr "30d"
@@ -371,7 +371,7 @@ msgstr "3er lugar"
msgid "5s"
msgstr "5s"
#: src/features/telemetry/components/usage-screen.tsx:262
#: src/features/telemetry/components/usage-screen.tsx:263
msgid "7d"
msgstr "7d"
@@ -480,7 +480,7 @@ msgstr "Ocurrió un error inesperado. Intenta de nuevo."
msgid "Announce matchup"
msgstr "Anunciar enfrentamiento"
#: src/features/telemetry/components/client-events-table.tsx:49
#: src/features/telemetry/components/client-events-table.tsx:48
msgid "Anonymous"
msgstr "Anónimo"
@@ -716,7 +716,7 @@ msgstr "Quitar jugador seleccionado"
msgid "Client error spike"
msgstr "Aumento de errores de cliente"
#: src/features/telemetry/components/usage-screen.tsx:207
#: src/features/telemetry/components/usage-screen.tsx:208
msgid "Client errors"
msgstr "Errores de cliente"
@@ -846,7 +846,7 @@ msgid "Create Tournament"
msgstr "Crear torneo"
#: src/features/activities/components/activities-table.tsx:198
#: src/features/telemetry/components/client-events-table.tsx:149
#: src/features/telemetry/components/client-events-table.tsx:148
msgid "Created"
msgstr "Creado"
@@ -875,7 +875,7 @@ msgstr "Vasos anotados"
msgid "Custom Hex Code"
msgstr "Código hex personalizado"
#: src/features/telemetry/components/usage-screen.tsx:162
#: src/features/telemetry/components/usage-screen.tsx:163
msgid "Daily active players"
msgstr "Jugadores activos diarios"
@@ -934,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:240
#: src/features/telemetry/components/usage-screen.tsx:241
msgid "Duration p50 / p95"
msgstr "Duración p50 / p95"
@@ -996,7 +996,7 @@ msgstr "Fecha de fin (opcional)"
msgid "End Match"
msgstr "Terminar partido"
#: src/features/telemetry/components/usage-screen.tsx:159
#: src/features/telemetry/components/usage-screen.tsx:160
msgid "Engagement"
msgstr "Interacción"
@@ -1097,15 +1097,15 @@ msgid "Error: {errorMessage}"
msgstr "Error: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:204
#: src/features/telemetry/components/usage-screen.tsx:205
msgid "Errors"
msgstr "Errores"
#: src/features/telemetry/components/client-events-table.tsx:113
#: src/features/telemetry/components/client-events-table.tsx:112
msgid "Event Details"
msgstr "Detalles del evento"
#: src/features/telemetry/components/client-events-table.tsx:70
#: src/features/telemetry/components/client-events-table.tsx:69
msgid "Event name"
msgstr "Nombre del evento"
@@ -1238,7 +1238,7 @@ msgstr "Inscripción de agente libre"
msgid "Free Agents"
msgstr "Agentes libres"
#: src/features/telemetry/components/usage-screen.tsx:233
#: src/features/telemetry/components/usage-screen.tsx:234
msgid "Function"
msgstr "Función"
@@ -1616,7 +1616,7 @@ msgstr "Enfrentamiento"
msgid "Matchup details"
msgstr "Detalles del enfrentamiento"
#: src/features/telemetry/components/usage-screen.tsx:173
#: src/features/telemetry/components/usage-screen.tsx:174
msgid "MAU"
msgstr "MAU"
@@ -1638,7 +1638,7 @@ msgid "MMR Calculation:"
msgstr "Cálculo de MMR:"
#: src/features/teams/components/team-form/index.tsx:200
#: src/features/telemetry/components/client-events-table.tsx:119
#: src/features/telemetry/components/client-events-table.tsx:118
#: src/features/tournaments/components/tournament-form.tsx:137
msgid "Name"
msgstr "Nombre"
@@ -1734,7 +1734,7 @@ msgstr "No hay insignias disponibles"
msgid "No devices found."
msgstr "No se encontraron dispositivos."
#: src/features/telemetry/components/client-events-table.tsx:94
#: src/features/telemetry/components/client-events-table.tsx:93
msgid "No Events Found"
msgstr "No se encontraron eventos"
@@ -1929,15 +1929,15 @@ msgstr "Resumen"
msgid "owo"
msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:100
#: src/features/telemetry/components/usage-screen.tsx:101
msgid "p50"
msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:116
#: src/features/telemetry/components/usage-screen.tsx:117
msgid "p95"
msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:180
#: src/features/telemetry/components/usage-screen.tsx:181
msgid "Page views by route"
msgstr "Vistas de página por ruta"
@@ -1949,7 +1949,7 @@ msgstr "Asignación de compañeros"
msgid "Partners will be randomly assigned when enrollment closes"
msgstr "Los compañeros se asignarán al azar cuando cierre la inscripción"
#: src/features/telemetry/components/client-events-table.tsx:122
#: src/features/telemetry/components/client-events-table.tsx:121
msgid "Path"
msgstr "Ruta"
@@ -1995,8 +1995,8 @@ msgstr "Falló el control de reproducción"
#: src/features/activities/components/activities-table.tsx:98
#: src/features/activities/components/activities-table.tsx:188
#: src/features/admin/components/award-badges.tsx:31
#: src/features/telemetry/components/client-events-table.tsx:73
#: src/features/telemetry/components/client-events-table.tsx:120
#: src/features/telemetry/components/client-events-table.tsx:72
#: src/features/telemetry/components/client-events-table.tsx:119
msgid "Player"
msgstr "Jugador"
@@ -2076,7 +2076,7 @@ msgstr "Perfil"
msgid "Progress "
msgstr "Progreso "
#: src/features/telemetry/components/client-events-table.tsx:136
#: src/features/telemetry/components/client-events-table.tsx:135
msgid "Props"
msgstr "Props"
@@ -2167,7 +2167,7 @@ msgstr "carcajada"
msgid "Round {0}"
msgstr "Ronda {0}"
#: src/features/telemetry/components/client-events-table.tsx:125
#: src/features/telemetry/components/client-events-table.tsx:124
msgid "Route"
msgstr "Ruta"
@@ -2343,7 +2343,7 @@ msgstr "La serie está empatada"
msgid "Server function failing"
msgstr "Función del servidor fallando"
#: src/features/telemetry/components/usage-screen.tsx:190
#: src/features/telemetry/components/usage-screen.tsx:191
msgid "Server functions"
msgstr "Funciones del servidor"
@@ -2351,11 +2351,11 @@ msgstr "Funciones del servidor"
msgid "serverFn name"
msgstr "nombre de serverFn"
#: src/features/telemetry/components/client-events-table.tsx:128
#: src/features/telemetry/components/client-events-table.tsx:127
msgid "Session"
msgstr "Sesión"
#: src/features/telemetry/components/usage-screen.tsx:176
#: src/features/telemetry/components/usage-screen.tsx:177
msgid "Sessions"
msgstr "Sesiones"
@@ -2687,7 +2687,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:194
#: src/features/telemetry/components/usage-screen.tsx:195
msgid "Top functions by call count"
msgstr "Funciones principales por cantidad de llamadas"
@@ -2809,11 +2809,11 @@ msgid "Usage"
msgstr "Uso"
#: src/features/activities/components/activities-table.tsx:202
#: src/features/telemetry/components/client-events-table.tsx:146
#: src/features/telemetry/components/client-events-table.tsx:145
msgid "User Agent"
msgstr "User Agent"
#: src/features/telemetry/components/client-events-table.tsx:131
#: src/features/telemetry/components/client-events-table.tsx:130
msgid "Value"
msgstr "Valor"
@@ -2851,7 +2851,7 @@ msgstr "Ver predicciones"
msgid "Viewport"
msgstr "Viewport"
#: src/features/telemetry/components/usage-screen.tsx:218
#: src/features/telemetry/components/usage-screen.tsx:219
msgid "Vitals"
msgstr "Vitales"
@@ -2890,7 +2890,7 @@ msgstr "Segmento de entrada ({segmentDuration}s)"
msgid "Walkout Song"
msgstr "Canción de entrada"
#: src/features/telemetry/components/usage-screen.tsx:169
#: src/features/telemetry/components/usage-screen.tsx:170
msgid "WAU"
msgstr "WAU"
+32 -32
View File
@@ -58,7 +58,7 @@ msgid "{0, plural, one {# total activity} other {# total activities}}"
msgstr "{0, plural, one {アクティビティ合計#件} other {アクティビティ合計#件}}"
#. placeholder {0}: result.totalItems
#: src/features/telemetry/components/client-events-table.tsx:87
#: src/features/telemetry/components/client-events-table.tsx:86
msgid "{0, plural, one {# total event} other {# total events}}"
msgstr "{0, plural, one {イベント合計#件} other {イベント合計#件}}"
@@ -355,7 +355,7 @@ msgstr "2. 早い提出"
msgid "2nd place"
msgstr "2位"
#: src/features/telemetry/components/usage-screen.tsx:263
#: src/features/telemetry/components/usage-screen.tsx:264
msgid "30d"
msgstr "30日"
@@ -371,7 +371,7 @@ msgstr "3位"
msgid "5s"
msgstr "5秒"
#: src/features/telemetry/components/usage-screen.tsx:262
#: src/features/telemetry/components/usage-screen.tsx:263
msgid "7d"
msgstr "7日"
@@ -480,7 +480,7 @@ msgstr "予期しないエラーが発生しました。もう一度お試しく
msgid "Announce matchup"
msgstr "対戦カードを発表"
#: src/features/telemetry/components/client-events-table.tsx:49
#: src/features/telemetry/components/client-events-table.tsx:48
msgid "Anonymous"
msgstr "匿名"
@@ -716,7 +716,7 @@ msgstr "選択したプレイヤーを解除"
msgid "Client error spike"
msgstr "クライアントエラー急増"
#: src/features/telemetry/components/usage-screen.tsx:207
#: src/features/telemetry/components/usage-screen.tsx:208
msgid "Client errors"
msgstr "クライアントエラー"
@@ -846,7 +846,7 @@ msgid "Create Tournament"
msgstr "トーナメントを作成"
#: src/features/activities/components/activities-table.tsx:198
#: src/features/telemetry/components/client-events-table.tsx:149
#: src/features/telemetry/components/client-events-table.tsx:148
msgid "Created"
msgstr "作成日"
@@ -875,7 +875,7 @@ msgstr "決めたカップ"
msgid "Custom Hex Code"
msgstr "カスタムHEXコード"
#: src/features/telemetry/components/usage-screen.tsx:162
#: src/features/telemetry/components/usage-screen.tsx:163
msgid "Daily active players"
msgstr "デイリーアクティブプレイヤー数"
@@ -934,7 +934,7 @@ msgstr "修正により勝ち上がりの相手が変わったため、以降の
msgid "Duration"
msgstr "所要時間"
#: src/features/telemetry/components/usage-screen.tsx:240
#: src/features/telemetry/components/usage-screen.tsx:241
msgid "Duration p50 / p95"
msgstr "所要時間 p50 / p95"
@@ -996,7 +996,7 @@ msgstr "終了日(任意)"
msgid "End Match"
msgstr "試合を終了"
#: src/features/telemetry/components/usage-screen.tsx:159
#: src/features/telemetry/components/usage-screen.tsx:160
msgid "Engagement"
msgstr "エンゲージメント"
@@ -1097,15 +1097,15 @@ msgid "Error: {errorMessage}"
msgstr "エラー: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:204
#: src/features/telemetry/components/usage-screen.tsx:205
msgid "Errors"
msgstr "エラー"
#: src/features/telemetry/components/client-events-table.tsx:113
#: src/features/telemetry/components/client-events-table.tsx:112
msgid "Event Details"
msgstr "イベント詳細"
#: src/features/telemetry/components/client-events-table.tsx:70
#: src/features/telemetry/components/client-events-table.tsx:69
msgid "Event name"
msgstr "イベント名"
@@ -1238,7 +1238,7 @@ msgstr "フリーエージェント登録"
msgid "Free Agents"
msgstr "フリーエージェント"
#: src/features/telemetry/components/usage-screen.tsx:233
#: src/features/telemetry/components/usage-screen.tsx:234
msgid "Function"
msgstr "関数"
@@ -1616,7 +1616,7 @@ msgstr "対戦カード"
msgid "Matchup details"
msgstr "対戦カードの詳細"
#: src/features/telemetry/components/usage-screen.tsx:173
#: src/features/telemetry/components/usage-screen.tsx:174
msgid "MAU"
msgstr "MAU"
@@ -1638,7 +1638,7 @@ msgid "MMR Calculation:"
msgstr "MMR計算:"
#: src/features/teams/components/team-form/index.tsx:200
#: src/features/telemetry/components/client-events-table.tsx:119
#: src/features/telemetry/components/client-events-table.tsx:118
#: src/features/tournaments/components/tournament-form.tsx:137
msgid "Name"
msgstr "名前"
@@ -1734,7 +1734,7 @@ msgstr "利用可能なバッジがありません"
msgid "No devices found."
msgstr "デバイスが見つかりません。"
#: src/features/telemetry/components/client-events-table.tsx:94
#: src/features/telemetry/components/client-events-table.tsx:93
msgid "No Events Found"
msgstr "イベントが見つかりません"
@@ -1929,15 +1929,15 @@ msgstr "概要"
msgid "owo"
msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:100
#: src/features/telemetry/components/usage-screen.tsx:101
msgid "p50"
msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:116
#: src/features/telemetry/components/usage-screen.tsx:117
msgid "p95"
msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:180
#: src/features/telemetry/components/usage-screen.tsx:181
msgid "Page views by route"
msgstr "ルート別ページビュー数"
@@ -1949,7 +1949,7 @@ msgstr "パートナー割り当て"
msgid "Partners will be randomly assigned when enrollment closes"
msgstr "登録が締め切られると、パートナーはランダムに割り当てられます"
#: src/features/telemetry/components/client-events-table.tsx:122
#: src/features/telemetry/components/client-events-table.tsx:121
msgid "Path"
msgstr "パス"
@@ -1995,8 +1995,8 @@ msgstr "再生コントロールに失敗しました"
#: src/features/activities/components/activities-table.tsx:98
#: src/features/activities/components/activities-table.tsx:188
#: src/features/admin/components/award-badges.tsx:31
#: src/features/telemetry/components/client-events-table.tsx:73
#: src/features/telemetry/components/client-events-table.tsx:120
#: src/features/telemetry/components/client-events-table.tsx:72
#: src/features/telemetry/components/client-events-table.tsx:119
msgid "Player"
msgstr "プレイヤー"
@@ -2076,7 +2076,7 @@ msgstr "プロフィール"
msgid "Progress "
msgstr "進行状況 "
#: src/features/telemetry/components/client-events-table.tsx:136
#: src/features/telemetry/components/client-events-table.tsx:135
msgid "Props"
msgstr "プロパティ"
@@ -2167,7 +2167,7 @@ msgstr "大笑い"
msgid "Round {0}"
msgstr "ラウンド{0}"
#: src/features/telemetry/components/client-events-table.tsx:125
#: src/features/telemetry/components/client-events-table.tsx:124
msgid "Route"
msgstr "ルート"
@@ -2343,7 +2343,7 @@ msgstr "シリーズはタイです"
msgid "Server function failing"
msgstr "サーバー関数が失敗しています"
#: src/features/telemetry/components/usage-screen.tsx:190
#: src/features/telemetry/components/usage-screen.tsx:191
msgid "Server functions"
msgstr "サーバー関数"
@@ -2351,11 +2351,11 @@ msgstr "サーバー関数"
msgid "serverFn name"
msgstr "serverFn名"
#: src/features/telemetry/components/client-events-table.tsx:128
#: src/features/telemetry/components/client-events-table.tsx:127
msgid "Session"
msgstr "セッション"
#: src/features/telemetry/components/usage-screen.tsx:176
#: src/features/telemetry/components/usage-screen.tsx:177
msgid "Sessions"
msgstr "セッション数"
@@ -2687,7 +2687,7 @@ msgstr "各グループの上位{0, plural, one {#チーム} other {#チーム}}
msgid "Top {n} advance"
msgstr "上位{n}チームが勝ち上がり"
#: src/features/telemetry/components/usage-screen.tsx:194
#: src/features/telemetry/components/usage-screen.tsx:195
msgid "Top functions by call count"
msgstr "呼び出し数の多い関数"
@@ -2809,11 +2809,11 @@ msgid "Usage"
msgstr "利用状況"
#: src/features/activities/components/activities-table.tsx:202
#: src/features/telemetry/components/client-events-table.tsx:146
#: src/features/telemetry/components/client-events-table.tsx:145
msgid "User Agent"
msgstr "ユーザーエージェント"
#: src/features/telemetry/components/client-events-table.tsx:131
#: src/features/telemetry/components/client-events-table.tsx:130
msgid "Value"
msgstr "値"
@@ -2851,7 +2851,7 @@ msgstr "予想を見る"
msgid "Viewport"
msgstr "ビューポート"
#: src/features/telemetry/components/usage-screen.tsx:218
#: src/features/telemetry/components/usage-screen.tsx:219
msgid "Vitals"
msgstr "バイタル"
@@ -2890,7 +2890,7 @@ msgstr "ウォークアウト区間({segmentDuration}秒)"
msgid "Walkout Song"
msgstr "ウォークアウトソング"
#: src/features/telemetry/components/usage-screen.tsx:169
#: src/features/telemetry/components/usage-screen.tsx:170
msgid "WAU"
msgstr "WAU"