diff --git a/bot/src/version.ts b/bot/src/version.ts
index 1679e5544..e17d9a6b9 100644
--- a/bot/src/version.ts
+++ b/bot/src/version.ts
@@ -2,23 +2,12 @@ const MAJOR = 2;
const MINOR = 2;
const PATCH = 0;
-const TOKYO_SHOEGAZER_MOONDIVER = [
- "Into the Deep Sky",
- "Your Relief",
- "In Full Bloom",
- "Night Dance",
- "Bedtime Story",
- "Moondive",
- "Stay White",
-];
-
export const VERSION_INFO = {
major: MAJOR,
minor: MINOR,
patch: PATCH,
- name: TOKYO_SHOEGAZER_MOONDIVER[MINOR],
};
export const VERSION_STR = `${MAJOR}.${MINOR}.${PATCH}`;
-export const VERSION_PRETTY = `v${VERSION_STR} (${VERSION_INFO.name})`;
+export const VERSION_PRETTY = `v${VERSION_STR}`;
diff --git a/client/src/app/pages/dashboard/import/ImportPage.tsx b/client/src/app/pages/dashboard/import/ImportPage.tsx
index 21db9576e..ca4479bc9 100644
--- a/client/src/app/pages/dashboard/import/ImportPage.tsx
+++ b/client/src/app/pages/dashboard/import/ImportPage.tsx
@@ -23,6 +23,8 @@ import {
UserDocument,
} from "tachi-common";
import Col from "react-bootstrap/Col";
+import { Alert } from "react-bootstrap";
+import Icon from "components/util/Icon";
export default function ImportPage({ user }: { user: UserDocument }) {
useSetSubheader(["Import Scores"]);
@@ -369,6 +371,11 @@ function ImportInfoDisplayer({ game }: { game: Game }) {
{gameConfig.name}
+
+
+
+
+
{Content}
@@ -376,6 +383,84 @@ function ImportInfoDisplayer({ game }: { game: Game }) {
);
}
+function InputAlert({ game }: { game: Game }) {
+ function doit(game: Game): JSX.Element | null {
+ switch (game) {
+ case "jubeat":
+ case "maimai":
+ case "iidx":
+ case "museca":
+ case "chunithm":
+ case "gitadora":
+ case "maimaidx":
+ case "popn":
+ case "wacca":
+ case "ongeki":
+ return (
+ <>
+ Scores must be achieved on an arcade-size controller!
+
+ Playing on other input devices (like a keyboard) will get you in trouble.
+ >
+ );
+ case "sdvx":
+ return (
+ <>
+ Scores must be achieved on an arcade-size controller!
+
+ Playing on other input devices (like a keyboard) will get you in trouble.
+
+
+ A Pocket-Voltex DOES NOT count as an ARCADE SIZE controller!
+
+ >
+ );
+
+ case "usc":
+ return (
+ <>
+ Please use the right leaderboard for your controller!
+
+
+ Arcade-sized controllers should go on the controller
+ leaderboards.
+
+ Keyboards and anything else go on the Keyboard/Other
+ leaderboards.
+
+
+
+ A Pocket-Voltex DOES NOT count as an ARCADE SIZE controller!
+
+ >
+ );
+
+ case "itg":
+ case "arcaea":
+ case "bms":
+ case "pms":
+ return null;
+ }
+ }
+
+ const ct = doit(game);
+
+ if (!ct) {
+ return <>>;
+ }
+
+ return (
+
+
+
+
+
+
{ct}
+
+
+ );
+}
+
function ImportTypeInfoCard({
importType,
}: {
diff --git a/client/src/app/pages/dashboard/import/USCIRPage.tsx b/client/src/app/pages/dashboard/import/USCIRPage.tsx
index 66af04053..5a769a71c 100644
--- a/client/src/app/pages/dashboard/import/USCIRPage.tsx
+++ b/client/src/app/pages/dashboard/import/USCIRPage.tsx
@@ -33,10 +33,17 @@ export default function USCIRPage() {
Fill out IR Base URL with {ToServerURL("/ir/usc/Keyboard")}.
- You MUST select the right IR! These leaderboards are separated because it
- is unfair to compare the two input devices.
+ You MUST select the right IR! These leaderboards are separated because
+ it's unfair to compare controller and keyboard scores.
- DELIBERATELY SELECTING THE WRONG IR WILL RESULT IN A PERMANENT BAN!
+ Ignoring this will get you in trouble, please don't!
+
+
+ Arcade-sized controllers should go on the controller
+ leaderboards.
+
+ Keyboards and anything else go on the Keyboard/Other
+ leaderboards.
@@ -46,12 +53,6 @@ export default function USCIRPage() {
That's it! Your scores will now automatically upload to the server.
-
-
- Note: If you submit a score on a chart that {TachiConfig.NAME} doesn't recognise,
- you'll need to wait until atleast 2 other players submit scores for that chart
- before it'll show up. This is to combat accidental IR spam.
-
);
}
diff --git a/client/src/app/pages/dashboard/users/games/_game/_playtype/SpecificSessionPage.tsx b/client/src/app/pages/dashboard/users/games/_game/_playtype/SpecificSessionPage.tsx
index 0e16e03b8..6d00d701d 100644
--- a/client/src/app/pages/dashboard/users/games/_game/_playtype/SpecificSessionPage.tsx
+++ b/client/src/app/pages/dashboard/users/games/_game/_playtype/SpecificSessionPage.tsx
@@ -3,7 +3,6 @@ import { CreateChartMap, CreateScoreIDMap, CreateSongMap } from "util/data";
import useSetSubheader from "components/layout/header/useSetSubheader";
import Card from "components/layout/page/Card";
import SessionOverview from "components/sessions/SessionOverview";
-import ScoreTable from "components/tables/scores/ScoreTable";
import ApiError from "components/util/ApiError";
import DebugContent from "components/util/DebugContent";
import Divider from "components/util/Divider";
@@ -250,27 +249,8 @@ function SessionPage({ data, game, playtype }: UGPT & { data: SessionReturns })
scoreDataset={scoreDataset}
sessionData={sessionData}
setSessionData={setSessionData}
+ reqUser={data.user}
/>
-