From 2889b562e64993482bd13fd806af8ed0865bab8b Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Sat, 14 Feb 2026 11:52:56 +0900
Subject: refactor: migrate API from GraphQL to REST (TypeSpec/OpenAPI)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Replace the entire GraphQL stack (gqlgen, urql, graphql-codegen) with a
TypeSpec → OpenAPI 3.x pipeline using oapi-codegen for Go server stubs
and openapi-fetch + openapi-typescript for the frontend client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---
 frontend/src/components/ArticleList.tsx | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

(limited to 'frontend/src/components/ArticleList.tsx')

diff --git a/frontend/src/components/ArticleList.tsx b/frontend/src/components/ArticleList.tsx
index ccf7826..2238a43 100644
--- a/frontend/src/components/ArticleList.tsx
+++ b/frontend/src/components/ArticleList.tsx
@@ -1,16 +1,11 @@
 import { useState } from "react";
-import type {
-	GetReadArticlesQuery,
-	GetUnreadArticlesQuery,
-} from "../graphql/generated/graphql";
+import type { components } from "../api/generated";
 import { ArticleItem } from "./ArticleItem";
 
-type ArticleType =
-	| GetUnreadArticlesQuery["unreadArticles"]["articles"]
-	| GetReadArticlesQuery["readArticles"]["articles"];
+type Article = components["schemas"]["Article"];
 
 interface Props {
-	articles: ArticleType;
+	articles: Article[];
 	isReadView?: boolean;
 	isSingleFeed?: boolean;
 	hasNextPage?: boolean;
@@ -82,7 +77,7 @@ export function ArticleList({
 		},
 		{} as Record<
 			string,
-			{ feed: { id: string; title: string }; articles: typeof articles }
+			{ feed: { id: string; title: string }; articles: Article[] }
 		>,
 	);
 
-- 
cgit v1.3-1-g0d28

