diff --git a/projects/website/public/assets/bs-pepe.gif b/projects/website/public/assets/bs-pepe.gif new file mode 100644 index 0000000..43400ba Binary files /dev/null and b/projects/website/public/assets/bs-pepe.gif differ diff --git a/projects/website/src/components/logos/beatsaber-pepe-logo.tsx b/projects/website/src/components/logos/beatsaber-pepe-logo.tsx new file mode 100644 index 0000000..a2830dc --- /dev/null +++ b/projects/website/src/components/logos/beatsaber-pepe-logo.tsx @@ -0,0 +1,9 @@ +import Image from "next/image"; + +type BeatSaberPepeLogoProps = { + size?: number; +}; + +export default function BeatSaberPepeLogo({ size = 32 }: BeatSaberPepeLogoProps) { + return {"BeatSaber; +} diff --git a/projects/website/src/components/score/score-buttons.tsx b/projects/website/src/components/score/score-buttons.tsx index fed16f6..2056a0b 100644 --- a/projects/website/src/components/score/score-buttons.tsx +++ b/projects/website/src/components/score/score-buttons.tsx @@ -13,6 +13,7 @@ import ScoreEditorButton from "@/components/score/score-editor-button"; import ScoreSaberScore from "@ssr/common/score/impl/scoresaber-score"; import ScoreSaberLeaderboard from "@ssr/common/leaderboard/impl/scoresaber-leaderboard"; import { BeatSaverMap } from "@ssr/common/model/beatsaver/beatsaver-map"; +import BeatSaberPepeLogo from "@/components/logos/beatsaber-pepe-logo"; type Props = { score?: ScoreSaberScore; @@ -34,6 +35,7 @@ export default function ScoreButtons({ const [leaderboardExpanded, setLeaderboardExpanded] = useState(false); const { toast } = useToast(); + const additionalData = score?.additionalData; return (
+ + {additionalData != undefined && ( + <> + {/* Open score replay */} + { + window.open(`https://replay.beatleader.xyz/?scoreId=${additionalData.scoreId}`, "_blank"); + }} + tooltip={

Click to view the score replay!

} + > + +
+ + )}