diff --git a/client/src/components/layout/header/Topbar.tsx b/client/src/components/layout/header/Topbar.tsx
index f88b0784c..bba9889a0 100644
--- a/client/src/components/layout/header/Topbar.tsx
+++ b/client/src/components/layout/header/Topbar.tsx
@@ -1,7 +1,4 @@
import React, { useContext } from "react";
-import SVG from "react-inlinesvg";
-import { OverlayTrigger, Tooltip } from "react-bootstrap";
-import { toAbsoluteUrl } from "../../../_metronic/_helpers";
import { UserNotificationsDropdown } from "../../../_metronic/layout/components/extras/dropdowns/UserNotificationsDropdown";
import { UserProfileDropdown } from "components/layout/header/UserProfileDropdown";
import { UserContext } from "context/UserContext";
@@ -19,7 +16,7 @@ export function Topbar() {
<>
- Quick panel}
>
@@ -42,7 +39,7 @@ export function Topbar() {
-
+ */}
>
diff --git a/client/src/components/tables/components/DropdownRow.tsx b/client/src/components/tables/components/DropdownRow.tsx
new file mode 100644
index 000000000..722da5884
--- /dev/null
+++ b/client/src/components/tables/components/DropdownRow.tsx
@@ -0,0 +1,24 @@
+import React, { useState } from "react";
+import { Collapse } from "react-bootstrap";
+import { JustChildren } from "types/react";
+
+export default function DropdownRow({
+ children,
+ dropdown,
+}: { dropdown: React.ReactNode } & JustChildren) {
+ const [showDropdown, setShowDropdown] = useState(false);
+ return (
+ <>
+
setShowDropdown(!showDropdown)}>{children}
+
+ |
+
+ {dropdown}
+
+ |
+
+ {/* Fake row to ensure striping stays consistent */}
+
+ >
+ );
+}
diff --git a/client/src/components/tables/components/SelectableRating.tsx b/client/src/components/tables/components/SelectableRating.tsx
index 24bf80475..1b655f08b 100644
--- a/client/src/components/tables/components/SelectableRating.tsx
+++ b/client/src/components/tables/components/SelectableRating.tsx
@@ -8,20 +8,23 @@ import {
} from "tachi-common";
import { SetState } from "types/react";
-export default function SelectableRating({
+export default function SelectableRating({
game,
playtype,
+ rating,
setRating,
}: {
game: Game;
playtype: Playtypes[Game];
- setRating: SetState;
+ rating: ScoreCalculatedDataLookup[I];
+ setRating: SetState;
}) {
const gptConfig = GetGamePTConfig(game, playtype);
return (
|