From 67501ed6229a63efc29b34513fac35239bd4f8e4 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 1 Feb 2026 16:20:28 +0000 Subject: fix: better looking error message when article content is unavailable --- .../web/components/dashboard/preview/ReaderView.tsx | 21 ++++++++++++++++++++- apps/web/lib/i18n/locales/en/translation.json | 2 ++ 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'apps/web') diff --git a/apps/web/components/dashboard/preview/ReaderView.tsx b/apps/web/components/dashboard/preview/ReaderView.tsx index d096c6a3..76070534 100644 --- a/apps/web/components/dashboard/preview/ReaderView.tsx +++ b/apps/web/components/dashboard/preview/ReaderView.tsx @@ -1,6 +1,8 @@ import { FullPageSpinner } from "@/components/ui/full-page-spinner"; import { toast } from "@/components/ui/sonner"; +import { useTranslation } from "@/lib/i18n/client"; import { useQuery } from "@tanstack/react-query"; +import { FileX } from "lucide-react"; import { useCreateHighlight, @@ -23,6 +25,7 @@ export default function ReaderView({ style?: React.CSSProperties; readOnly: boolean; }) { + const { t } = useTranslation(); const api = useTRPC(); const { data: highlights } = useQuery( api.highlights.getForBookmark.queryOptions({ @@ -91,7 +94,23 @@ export default function ReaderView({ content = ; } else if (!cachedContent) { content = ( -
Failed to fetch link content ...
+
+
+
+
+ +
+
+
+

+ {t("preview.fetch_error_title")} +

+

+ {t("preview.fetch_error_description")} +

+
+
+
); } else { content = ( diff --git a/apps/web/lib/i18n/locales/en/translation.json b/apps/web/lib/i18n/locales/en/translation.json index c253c313..ce607920 100644 --- a/apps/web/lib/i18n/locales/en/translation.json +++ b/apps/web/lib/i18n/locales/en/translation.json @@ -791,6 +791,8 @@ "cached_content": "Cached Content", "reader_view": "Reader View", "archive_info": "Archives may not render correctly inline if they require Javascript. For best results, <1>download it and open in your browser.", + "fetch_error_title": "Content Unavailable", + "fetch_error_description": "We couldn't fetch the content for this link. The page may be protected, require authentication, or be temporarily unavailable.", "tabs": { "content": "Content", "details": "Details" -- cgit v1.2.3-70-g09d2