+ {t("errors.unauthorized", { permission: missing.join(", ") })}
+
+ );
+};
diff --git a/front/packages/ui/src/fetch-infinite.tsx b/front/packages/ui/src/fetch-infinite.tsx
index 7e007e64..54165661 100644
--- a/front/packages/ui/src/fetch-infinite.tsx
+++ b/front/packages/ui/src/fetch-infinite.tsx
@@ -22,7 +22,8 @@ import { Page, QueryIdentifier, useInfiniteFetch } from "@kyoo/models";
import { useBreakpointMap, HR } from "@kyoo/primitives";
import { ContentStyle, FlashList } from "@shopify/flash-list";
import { ComponentProps, ComponentType, isValidElement, ReactElement, useRef } from "react";
-import { EmptyView, ErrorView, Layout, OfflineView, WithLoading, addHeader } from "./fetch";
+import { EmptyView, Layout, OfflineView, WithLoading, addHeader } from "./fetch";
+import { ErrorView } from "./errors";
import { FlatList, View, ViewStyle } from "react-native";
const emulateGap = (
diff --git a/front/packages/ui/src/fetch-infinite.web.tsx b/front/packages/ui/src/fetch-infinite.web.tsx
index a0cd929b..ed3a5baa 100644
--- a/front/packages/ui/src/fetch-infinite.web.tsx
+++ b/front/packages/ui/src/fetch-infinite.web.tsx
@@ -31,7 +31,8 @@ import {
useRef,
} from "react";
import { Stylable, nativeStyleToCss, useYoshiki, ysMap } from "yoshiki";
-import { EmptyView, ErrorView, Layout, WithLoading, addHeader } from "./fetch";
+import { EmptyView, Layout, WithLoading, addHeader } from "./fetch";
+import { ErrorView } from "./errors";
import type { ContentStyle } from "@shopify/flash-list";
const InfiniteScroll =