diff --git a/app/(auth)/player/direct-player.tsx b/app/(auth)/player/direct-player.tsx
index b418a139..7e0aa5c9 100644
--- a/app/(auth)/player/direct-player.tsx
+++ b/app/(auth)/player/direct-player.tsx
@@ -516,7 +516,18 @@ export default function page() {
return () => setIsMounted(false);
}, []);
- if (itemStatus.isLoading || streamStatus.isLoading) {
+ // Show error UI first, before checking loading/missing‐data
+ if (itemStatus.isError || streamStatus.isError) {
+ return (
+
+ {t("player.error")}
+
+ );
+ }
+
+ // Then show loader while either side is still fetching or data isn’t present
+ if (itemStatus.isLoading || streamStatus.isLoading || !item || !stream) {
+ // …loader UI…
return (