diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-14 11:52:56 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-14 11:53:08 +0900 |
| commit | 2889b562e64993482bd13fd806af8ed0865bab8b (patch) | |
| tree | 39400ac4d994fb33d2c544e7d4b9d98f8ecbd86a /frontend/src/pages/Settings.tsx | |
| parent | e216c3bc97994b4172d15d52b46d5f6b75f35ea4 (diff) | |
| download | feedaka-2889b562e64993482bd13fd806af8ed0865bab8b.tar.gz feedaka-2889b562e64993482bd13fd806af8ed0865bab8b.tar.zst feedaka-2889b562e64993482bd13fd806af8ed0865bab8b.zip | |
refactor: migrate API from GraphQL to REST (TypeSpec/OpenAPI)
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>
Diffstat (limited to 'frontend/src/pages/Settings.tsx')
| -rw-r--r-- | frontend/src/pages/Settings.tsx | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/frontend/src/pages/Settings.tsx b/frontend/src/pages/Settings.tsx index 9b1e04c..c179fab 100644 --- a/frontend/src/pages/Settings.tsx +++ b/frontend/src/pages/Settings.tsx @@ -1,31 +1,24 @@ -import { useQuery } from "urql"; +import { useCallback, useState } from "react"; import { AddFeedForm, FeedList } from "../components"; -import { GetFeedsDocument } from "../graphql/generated/graphql"; export function Settings() { - const [, refetchFeeds] = useQuery({ - query: GetFeedsDocument, - }); + const [refreshKey, setRefreshKey] = useState(0); - const handleFeedAdded = () => { - refetchFeeds(); - }; - - const handleFeedUnsubscribed = () => { - refetchFeeds(); - }; + const handleChange = useCallback(() => { + setRefreshKey((k) => k + 1); + }, []); return ( <div className="mx-auto max-w-3xl space-y-10"> <section> - <AddFeedForm onFeedAdded={handleFeedAdded} /> + <AddFeedForm onFeedAdded={handleChange} /> </section> <section> <h2 className="mb-4 text-sm font-semibold uppercase tracking-wide text-stone-900"> Your Feeds </h2> - <FeedList onFeedUnsubscribed={handleFeedUnsubscribed} /> + <FeedList key={refreshKey} onFeedUnsubscribed={handleChange} /> </section> </div> ); |
