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 ? (