mirror of
https://github.com/zkldi/Tachi.git
synced 2026-10-14 18:19:42 +03:00
Merge branch 'release/v2.1.6'
This commit is contained in:
@@ -15,6 +15,18 @@ not generally be shown to end users.
|
||||
|
||||
# Changelog
|
||||
|
||||
# 2.1.2
|
||||
|
||||
- [INTERNAL_ENH] Keys no longer *ever* use random ids. This was a fundamental misunderstanding of react on my part.
|
||||
|
||||
*****
|
||||
|
||||
- [BUG] The tierlist viewer no longer crashes if a change causes a bucket to be empty.
|
||||
|
||||
# 2.1.1
|
||||
|
||||
- [BUG] USC Searches no longer display (undefined) next to them.
|
||||
|
||||
## 2.1.0
|
||||
|
||||
- [FEAT] Added UI support for Jubeat, Pop'n, WACCA and PMS.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "tachi-client",
|
||||
"version": "2.1.5",
|
||||
"version": "2.1.6",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "node scripts/start.js -o",
|
||||
@@ -86,7 +86,7 @@
|
||||
"rg-stats": "^0.2.0",
|
||||
"socicon": "3.0.5",
|
||||
"sync-fetch": "^0.3.1",
|
||||
"tachi-common": "0.5.15"
|
||||
"tachi-common": "0.6.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/humanize-duration": "3.25.1",
|
||||
|
||||
Generated
+13
-144
@@ -88,7 +88,7 @@ specifiers:
|
||||
socicon: 3.0.5
|
||||
style-loader: 1.0.0
|
||||
sync-fetch: ^0.3.1
|
||||
tachi-common: 0.5.15
|
||||
tachi-common: 0.6.7
|
||||
terser-webpack-plugin: 1.4.1
|
||||
ts-pnp: 1.1.4
|
||||
typescript: 4.3.5
|
||||
@@ -164,7 +164,7 @@ dependencies:
|
||||
rg-stats: 0.2.0
|
||||
socicon: 3.0.5
|
||||
sync-fetch: 0.3.1
|
||||
tachi-common: 0.5.15
|
||||
tachi-common: 0.6.7
|
||||
|
||||
devDependencies:
|
||||
'@types/humanize-duration': 3.25.1
|
||||
@@ -3050,8 +3050,8 @@ packages:
|
||||
resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
|
||||
dev: false
|
||||
|
||||
/@types/mongodb/3.6.20:
|
||||
resolution: {integrity: sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==}
|
||||
/@types/mongodb/3.6.18:
|
||||
resolution: {integrity: sha512-JSVFt9p0rTfZ4EgzXmVHUB3ue00xe3CRbQho8nXfImzEDDM4O7I3po1bwbWl/EIbLENxUreZxqLOc8lvcnLVPA==}
|
||||
dependencies:
|
||||
'@types/bson': 4.2.0
|
||||
'@types/node': 16.0.0
|
||||
@@ -3953,13 +3953,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/bl/2.2.1:
|
||||
resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==}
|
||||
dependencies:
|
||||
readable-stream: 2.3.7
|
||||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
/bluebird/3.7.2:
|
||||
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
|
||||
dev: true
|
||||
@@ -4143,11 +4136,6 @@ packages:
|
||||
node-releases: 1.1.75
|
||||
dev: true
|
||||
|
||||
/bson/1.1.6:
|
||||
resolution: {integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==}
|
||||
engines: {node: '>=0.6.19'}
|
||||
dev: false
|
||||
|
||||
/bson/4.5.1:
|
||||
resolution: {integrity: sha512-XqFP74pbTVLyLy5KFxVfTUyRrC1mgOlmu/iXHfXqfCKT59jyP9lwbotGfbN59cHBRbJSamZNkrSopjv+N0SqAA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@@ -4738,6 +4726,7 @@ packages:
|
||||
|
||||
/core-util-is/1.0.2:
|
||||
resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=}
|
||||
dev: true
|
||||
|
||||
/cosmiconfig/5.2.1:
|
||||
resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
|
||||
@@ -5277,11 +5266,6 @@ packages:
|
||||
resolution: {integrity: sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==}
|
||||
dev: false
|
||||
|
||||
/denque/1.5.1:
|
||||
resolution: {integrity: sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==}
|
||||
engines: {node: '>=0.10'}
|
||||
dev: false
|
||||
|
||||
/depd/1.1.2:
|
||||
resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=}
|
||||
engines: {node: '>= 0.6'}
|
||||
@@ -7370,6 +7354,7 @@ packages:
|
||||
|
||||
/isarray/1.0.0:
|
||||
resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=}
|
||||
dev: true
|
||||
|
||||
/isexe/2.0.0:
|
||||
resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
|
||||
@@ -7929,11 +7914,6 @@ packages:
|
||||
readable-stream: 2.3.7
|
||||
dev: true
|
||||
|
||||
/memory-pager/1.5.0:
|
||||
resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/merge-deep/3.0.3:
|
||||
resolution: {integrity: sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -8298,86 +8278,6 @@ packages:
|
||||
dependencies:
|
||||
minimist: 1.2.5
|
||||
|
||||
/mongodb/3.7.0:
|
||||
resolution: {integrity: sha512-JOAYjT9WYeRFkIP6XtDidAr3qvpfLRJhT2iokRWWH0tgqCQr9kmSfOJBZ3Ry0E5A3EqKxVPVhN3MV8Gn03o7pA==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
aws4: '*'
|
||||
bson-ext: '*'
|
||||
kerberos: '*'
|
||||
mongodb-client-encryption: '*'
|
||||
mongodb-extjson: '*'
|
||||
snappy: '*'
|
||||
peerDependenciesMeta:
|
||||
aws4:
|
||||
optional: true
|
||||
bson-ext:
|
||||
optional: true
|
||||
kerberos:
|
||||
optional: true
|
||||
mongodb-client-encryption:
|
||||
optional: true
|
||||
mongodb-extjson:
|
||||
optional: true
|
||||
snappy:
|
||||
optional: true
|
||||
dependencies:
|
||||
bl: 2.2.1
|
||||
bson: 1.1.6
|
||||
denque: 1.5.1
|
||||
optional-require: 1.1.7
|
||||
safe-buffer: 5.2.1
|
||||
optionalDependencies:
|
||||
saslprep: 1.0.3
|
||||
dev: false
|
||||
|
||||
/monk-middleware-cast-ids/0.2.1:
|
||||
resolution: {integrity: sha1-QMQOWmyzPM7cKJIglDJ17ohhxSk=}
|
||||
dev: false
|
||||
|
||||
/monk-middleware-fields/0.2.0:
|
||||
resolution: {integrity: sha1-/2N6819ZSIecyyvhWpE2CRG+psE=}
|
||||
dev: false
|
||||
|
||||
/monk-middleware-handle-callback/0.2.2:
|
||||
resolution: {integrity: sha512-5hBynb7asZ2uw9XVze7C3XH0zXT51yFDvYydk/5HnWWzh2NLglDSiKDcX0yLKPHzFgiq+5Z4Laq5fFVnFsmm8w==}
|
||||
dev: false
|
||||
|
||||
/monk-middleware-options/0.2.1:
|
||||
resolution: {integrity: sha1-WNrhxRjUZjbr3/UG+t/Hc7tEKIY=}
|
||||
dev: false
|
||||
|
||||
/monk-middleware-query/0.2.0:
|
||||
resolution: {integrity: sha1-qSbGd9SlYgxiFRsKVtDAwVFnWHQ=}
|
||||
dev: false
|
||||
|
||||
/monk-middleware-wait-for-connection/0.2.0:
|
||||
resolution: {integrity: sha1-MSlY0w5Yi1fQl1TdfJe0hDMWg1o=}
|
||||
dev: false
|
||||
|
||||
/monk/7.3.4:
|
||||
resolution: {integrity: sha512-PkPNiElwroVyKQj01usyziOvwiKYBUVSq7YU1FB4KFr0J3v0GeXW0TebYsLR4u33WB8JGqPiAcuzDspfdujqQg==}
|
||||
dependencies:
|
||||
'@types/mongodb': 3.6.20
|
||||
debug: 4.3.2
|
||||
mongodb: 3.7.0
|
||||
monk-middleware-cast-ids: 0.2.1
|
||||
monk-middleware-fields: 0.2.0
|
||||
monk-middleware-handle-callback: 0.2.2
|
||||
monk-middleware-options: 0.2.1
|
||||
monk-middleware-query: 0.2.0
|
||||
monk-middleware-wait-for-connection: 0.2.0
|
||||
object-assign: 4.1.1
|
||||
transitivePeerDependencies:
|
||||
- aws4
|
||||
- bson-ext
|
||||
- kerberos
|
||||
- mongodb-client-encryption
|
||||
- mongodb-extjson
|
||||
- snappy
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/move-concurrently/1.0.1:
|
||||
resolution: {integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=}
|
||||
dependencies:
|
||||
@@ -8756,13 +8656,6 @@ packages:
|
||||
webpack: 4.41.0
|
||||
dev: false
|
||||
|
||||
/optional-require/1.1.7:
|
||||
resolution: {integrity: sha512-cIeRZocXsZnZYn+SevbtSqNlLbeoS4mLzuNn4fvXRMDRNhTGg0sxuKXl0FnZCtnew85LorNxIbZp5OeliILhMw==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
require-at: 1.0.6
|
||||
dev: false
|
||||
|
||||
/optionator/0.9.1:
|
||||
resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
@@ -9760,6 +9653,7 @@ packages:
|
||||
|
||||
/process-nextick-args/2.0.1:
|
||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||
dev: true
|
||||
|
||||
/process/0.11.10:
|
||||
resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=}
|
||||
@@ -10264,6 +10158,7 @@ packages:
|
||||
safe-buffer: 5.1.2
|
||||
string_decoder: 1.1.1
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/readable-stream/3.6.0:
|
||||
resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
|
||||
@@ -10435,11 +10330,6 @@ packages:
|
||||
engines: {node: '>=0.10'}
|
||||
dev: true
|
||||
|
||||
/require-at/1.0.6:
|
||||
resolution: {integrity: sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/require-directory/2.1.1:
|
||||
resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -10629,6 +10519,7 @@ packages:
|
||||
|
||||
/safe-buffer/5.2.1:
|
||||
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
|
||||
dev: true
|
||||
|
||||
/safe-regex/1.1.0:
|
||||
resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=}
|
||||
@@ -10639,14 +10530,6 @@ packages:
|
||||
/safer-buffer/2.1.2:
|
||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||
|
||||
/saslprep/1.0.3:
|
||||
resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
sparse-bitfield: 3.0.3
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/sass-loader/7.2.0_webpack@4.41.0:
|
||||
resolution: {integrity: sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA==}
|
||||
engines: {node: '>= 6.9.0'}
|
||||
@@ -11023,13 +10906,6 @@ packages:
|
||||
resolution: {integrity: sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==}
|
||||
dev: false
|
||||
|
||||
/sparse-bitfield/3.0.3:
|
||||
resolution: {integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE=}
|
||||
dependencies:
|
||||
memory-pager: 1.5.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/spdx-correct/3.1.1:
|
||||
resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
|
||||
dependencies:
|
||||
@@ -11198,6 +11074,7 @@ packages:
|
||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||
dependencies:
|
||||
safe-buffer: 5.1.2
|
||||
dev: true
|
||||
|
||||
/string_decoder/1.3.0:
|
||||
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
|
||||
@@ -11424,18 +11301,10 @@ packages:
|
||||
strip-ansi: 6.0.0
|
||||
dev: true
|
||||
|
||||
/tachi-common/0.5.15:
|
||||
resolution: {integrity: sha512-7pBspD/7TduoJu1OdguRRxg5LyWwodhbZi5NU4y6aviJmHRetTwWXksCi4QBc72NbKlwqGwnbGrxdKFKdKQNhQ==}
|
||||
/tachi-common/0.6.7:
|
||||
resolution: {integrity: sha512-fdparD1htWITEz+dtEqlcdtHFoo9AZWRDX3iL052ePRGPRu0jRX5bO+V1A4cbYThMcBDefCAh3o0tBIbExyUiw==}
|
||||
dependencies:
|
||||
monk: 7.3.4
|
||||
transitivePeerDependencies:
|
||||
- aws4
|
||||
- bson-ext
|
||||
- kerberos
|
||||
- mongodb-client-encryption
|
||||
- mongodb-extjson
|
||||
- snappy
|
||||
- supports-color
|
||||
'@types/mongodb': 3.6.18
|
||||
dev: false
|
||||
|
||||
/tapable/1.1.3:
|
||||
|
||||
+10
-3
@@ -10,7 +10,6 @@ import Muted from "components/util/Muted";
|
||||
import useApiQuery from "components/util/query/useApiQuery";
|
||||
import SelectButton from "components/util/SelectButton";
|
||||
import { useFormik } from "formik";
|
||||
import { nanoid } from "nanoid";
|
||||
import React, { useEffect, useMemo, useState } from "react";
|
||||
import { Col, Form, Row } from "react-bootstrap";
|
||||
import { Link, useParams } from "react-router-dom";
|
||||
@@ -33,7 +32,7 @@ import { FolderDataset } from "types/tables";
|
||||
import { Playtype } from "types/tachi";
|
||||
import { ONE_DAY } from "util/constants/time";
|
||||
import { CreateChartIDMap, CreateChartLink, CreateSongMap } from "util/data";
|
||||
import { NO_OP } from "util/misc";
|
||||
import { DistinctArr, NO_OP } from "util/misc";
|
||||
import { NumericSOV, StrSOV } from "util/sorts";
|
||||
import { GetScaleAchievedFn } from "util/tierlist";
|
||||
import { FormatDate, FormatTime } from "util/time";
|
||||
@@ -505,7 +504,15 @@ function TierlistInfoLadder({
|
||||
.map(bucket => (
|
||||
<React.Fragment key={bucket[0].data!.value}>
|
||||
<Col className="ladder-header" xs={12}>
|
||||
{bucket[0].data!.value} ({bucket[0].data!.text})
|
||||
{bucket[0].data!.value} (
|
||||
{DistinctArr(
|
||||
bucket.map(e =>
|
||||
gptConfig.tierlists.length === 1
|
||||
? e.data.text
|
||||
: `${e.key}: ${e.data.text}`
|
||||
)
|
||||
).join(", ")}
|
||||
)
|
||||
</Col>
|
||||
|
||||
{bucket.map((tierlistInfo, i) => (
|
||||
|
||||
@@ -8,7 +8,6 @@ import Icon from "components/util/Icon";
|
||||
import Loading from "components/util/Loading";
|
||||
import SelectButton from "components/util/SelectButton";
|
||||
import deepmerge from "deepmerge";
|
||||
import { nanoid } from "nanoid";
|
||||
import React, { useEffect, useMemo, useState } from "react";
|
||||
import { useQuery } from "react-query";
|
||||
import {
|
||||
|
||||
@@ -7,20 +7,6 @@ export default function CHUNITHMJudgementCell({
|
||||
}: {
|
||||
score: ScoreDocument<"chunithm:Single"> | PBScoreDocument<"chunithm:Single">;
|
||||
}) {
|
||||
// even if we dont have judgement data, we know what they got.
|
||||
if (score.scoreData.lamp === "ALL JUSTICE CRITICAL") {
|
||||
return (
|
||||
<td>
|
||||
<strong>
|
||||
<span style={{ color: COLOUR_SET.gold }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.orange }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.green }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.gray }}>0</span>
|
||||
</strong>
|
||||
</td>
|
||||
);
|
||||
}
|
||||
|
||||
const judgements = score.scoreData.judgements;
|
||||
|
||||
if (
|
||||
|
||||
@@ -53,7 +53,7 @@ export default function DifficultyCell({
|
||||
{FormatDifficultyShort(chart, game)}
|
||||
</span>
|
||||
{chart.levelNum.toString() !== chart.level && !chart.level.endsWith(".0") && (
|
||||
<Muted>{chart.levelNum.toFixed(2)}</Muted>
|
||||
<Muted>{chart.levelNum.toString()}</Muted>
|
||||
)}
|
||||
{"isHot" in chart.data && chart.data.isHot && (
|
||||
<QuickTooltip tooltipContent="This chart is from the latest version of the game!">
|
||||
|
||||
@@ -7,21 +7,6 @@ export default function JubeatJudgementCell({
|
||||
}: {
|
||||
score: ScoreDocument<"jubeat:Single"> | PBScoreDocument<"jubeat:Single">;
|
||||
}) {
|
||||
// even if we dont have judgement data, we know what they got.
|
||||
if (score.scoreData.lamp === "EXCELLENT") {
|
||||
return (
|
||||
<td>
|
||||
<strong>
|
||||
<span style={{ color: COLOUR_SET.pink }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.gold }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.blue }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.purple }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.red }}>0</span>
|
||||
</strong>
|
||||
</td>
|
||||
);
|
||||
}
|
||||
|
||||
const judgements = score.scoreData.judgements;
|
||||
|
||||
if (
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import Muted from "components/util/Muted";
|
||||
import React from "react";
|
||||
import { GetGamePTConfig, PBScoreDocument, ScoreDocument } from "tachi-common";
|
||||
import { ToCDNURL } from "util/api";
|
||||
|
||||
@@ -7,20 +7,6 @@ export default function WaccaJudgementCell({
|
||||
}: {
|
||||
score: ScoreDocument<"wacca:Single"> | PBScoreDocument<"wacca:Single">;
|
||||
}) {
|
||||
// even if we dont have judgement data, we know what they got.
|
||||
if (score.scoreData.lamp === "ALL MARVELOUS") {
|
||||
return (
|
||||
<td>
|
||||
<strong>
|
||||
<span style={{ color: COLOUR_SET.vibrantPink }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.gold }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.blue }}>0</span>-
|
||||
<span style={{ color: COLOUR_SET.red }}>0</span>
|
||||
</strong>
|
||||
</td>
|
||||
);
|
||||
}
|
||||
|
||||
const judgements = score.scoreData.judgements;
|
||||
|
||||
if (
|
||||
|
||||
@@ -2,7 +2,6 @@ import React from "react";
|
||||
import { IDStrings, PBScoreDocument, ScoreCalculatedDataLookup, ScoreDocument } from "tachi-common";
|
||||
import BMSOrPMSLampCell from "../cells/BMSOrPMSLampCell";
|
||||
import DeltaCell from "../cells/DeltaCell";
|
||||
import LampCell from "../cells/LampCell";
|
||||
import RatingCell from "../cells/RatingCell";
|
||||
import ScoreCell from "../cells/ScoreCell";
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import useScoreRatingAlg from "components/util/useScoreRatingAlg";
|
||||
import { nanoid } from "nanoid";
|
||||
import React, { useState } from "react";
|
||||
import {
|
||||
ChartDocument,
|
||||
@@ -13,8 +12,7 @@ import { ScoreDataset } from "types/tables";
|
||||
import { Playtype } from "types/tachi";
|
||||
import { NumericSOV } from "util/sorts";
|
||||
import TimestampCell from "../cells/TimestampCell";
|
||||
import SelectableRating from "../components/SelectableRating";
|
||||
import TachiTable, { ZTableTHProps } from "../components/TachiTable";
|
||||
import TachiTable from "../components/TachiTable";
|
||||
import ScoreCoreCells from "../game-core-cells/ScoreCoreCells";
|
||||
import { GetGPTCoreHeaders } from "../headers/GameHeaders";
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { useSessionRatingAlg } from "components/util/useScoreRatingAlg";
|
||||
import { nanoid } from "nanoid";
|
||||
import React, { useState } from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import {
|
||||
|
||||
@@ -12,14 +12,14 @@ import React, { useContext, useState } from "react";
|
||||
import { Alert, OverlayTrigger, Tooltip } from "react-bootstrap";
|
||||
import { Link } from "react-router-dom";
|
||||
import {
|
||||
PublicUserDocument,
|
||||
ChartDocument,
|
||||
FolderDocument,
|
||||
FormatChart,
|
||||
Game,
|
||||
GetGamePTConfig,
|
||||
SongDocument,
|
||||
ChartDocument,
|
||||
FormatChart,
|
||||
FolderDocument,
|
||||
PublicUserDocument,
|
||||
ShowcaseStatDetails,
|
||||
SongDocument,
|
||||
} from "tachi-common";
|
||||
import { UGPTPreferenceStatsReturn } from "types/api-returns";
|
||||
import { GamePT } from "types/react";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const MAJOR = 2;
|
||||
const MINOR = 1;
|
||||
const PATCH = 5;
|
||||
const PATCH = 6;
|
||||
|
||||
// As is with all front-facing zkldi projects, the version names for tachi-client
|
||||
// are from an album I like. In this case, the album is The Cure - Disintegration.
|
||||
|
||||
@@ -278,3 +278,15 @@ export function ConditionalLeadingSpace(maybeStr: string | null) {
|
||||
|
||||
return ` ${maybeStr}`;
|
||||
}
|
||||
|
||||
export function DistinctArr<T>(arr: T[]): T[] {
|
||||
return [...new Set(arr)];
|
||||
}
|
||||
|
||||
export function TruncateString(string: string, len = 30) {
|
||||
if (string.length < len) {
|
||||
return string;
|
||||
}
|
||||
|
||||
return `${string.slice(len - 3)}...`;
|
||||
}
|
||||
|
||||
@@ -108,6 +108,8 @@ export const loggedInSplashes = [
|
||||
"Let's see Paul Allen's score tracker.",
|
||||
"You know there's more to shoegaze than just listening to loveless, right?",
|
||||
"ok deraadt miod",
|
||||
"What good are notebooks?",
|
||||
"Ladies and Gentlemen We Are...",
|
||||
];
|
||||
|
||||
// Stuff that's bad for the kids, you know?
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Game, GPTTierlists, IDStrings, IIDX_LAMPS, ScoreDocument } from "tachi-common";
|
||||
import { Game, GPTTierlists, IDStrings, IIDX_LAMPS, ScoreDocument, SDVX_LAMPS } from "tachi-common";
|
||||
import { Playtype } from "types/tachi";
|
||||
|
||||
type ScaleAchievedFns = {
|
||||
@@ -39,7 +39,9 @@ const ScaleNameAchievedFns: ScaleAchievedFns = {
|
||||
"museca:Single": {
|
||||
"tachi-score": null,
|
||||
},
|
||||
"sdvx:Single": {},
|
||||
"sdvx:Single": {
|
||||
clear: k => k.scoreData.lampIndex >= SDVX_LAMPS.CLEAR,
|
||||
},
|
||||
"usc:Controller": {},
|
||||
"usc:Keyboard": {},
|
||||
"wacca:Single": {},
|
||||
|
||||
Reference in New Issue
Block a user