From 2c9015dd57af46b725628feaad75553ae81742f0 Mon Sep 17 00:00:00 2001
From: Pas <74743263+Pasithea0@users.noreply.github.com>
Date: Thu, 25 Dec 2025 13:00:59 -0700
Subject: [PATCH] hide WatchPartyInputLink if backend requirement isnt met
---
src/components/LinksDropdown.tsx | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/components/LinksDropdown.tsx b/src/components/LinksDropdown.tsx
index 50ae38c0..21573dc7 100644
--- a/src/components/LinksDropdown.tsx
+++ b/src/components/LinksDropdown.tsx
@@ -2,8 +2,10 @@ import classNames from "classnames";
import { useCallback, useEffect, useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
import { useNavigate } from "react-router-dom";
+import { useAsync } from "react-use";
import { base64ToBuffer, decryptData } from "@/backend/accounts/crypto";
+import { getBackendMeta } from "@/backend/accounts/meta";
import { getRoomStatuses } from "@/backend/player/status";
import { UserAvatar } from "@/components/Avatar";
import { Icon, Icons } from "@/components/Icon";
@@ -213,6 +215,17 @@ export function LinksDropdown(props: { children: React.ReactNode }) {
[seed],
);
const { logout } = useAuth();
+ const backendUrl = useBackendUrl();
+
+ // Check backend compatibility for watch party
+ const backendMeta = useAsync(async () => {
+ if (!backendUrl) return;
+ return getBackendMeta(backendUrl);
+ }, [backendUrl]);
+
+ const backendSupportsWatchParty = backendMeta?.value?.version
+ ? backendMeta.value.version >= "2.0.1"
+ : false;
useEffect(() => {
function onWindowClick(evt: MouseEvent) {
@@ -291,7 +304,7 @@ export function LinksDropdown(props: { children: React.ReactNode }) {
{t("navigation.menu.discover")}
)}
-
+ {backendSupportsWatchParty && }
{deviceName ? (