aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/src/pages/ReadArticles.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/pages/ReadArticles.tsx')
-rw-r--r--frontend/src/pages/ReadArticles.tsx34
1 files changed, 34 insertions, 0 deletions
diff --git a/frontend/src/pages/ReadArticles.tsx b/frontend/src/pages/ReadArticles.tsx
new file mode 100644
index 0000000..4863d63
--- /dev/null
+++ b/frontend/src/pages/ReadArticles.tsx
@@ -0,0 +1,34 @@
+import { useQuery } from "urql";
+import { ArticleList } from "../components";
+import { GetReadArticlesDocument } from "../graphql/generated/graphql";
+
+export function ReadArticles() {
+ const [{ data, fetching, error }] = useQuery({
+ query: GetReadArticlesDocument,
+ });
+
+ if (fetching) {
+ return <div className="p-4">Loading read articles...</div>;
+ }
+
+ if (error) {
+ return <div className="p-4 text-red-600">Error: {error.message}</div>;
+ }
+
+ return (
+ <div>
+ <div className="border-b border-gray-200 bg-white px-4 py-3">
+ <h1 className="text-xl font-semibold text-gray-900">Read Articles</h1>
+ {data?.readArticles && (
+ <p className="text-sm text-gray-500">
+ {data.readArticles.length} article
+ {data.readArticles.length !== 1 ? "s" : ""}
+ </p>
+ )}
+ </div>
+ {data?.readArticles && (
+ <ArticleList articles={data.readArticles} showReadStatus={true} />
+ )}
+ </div>
+ );
+}