diff --git a/client/src/example.tsx b/client/src/example.tsx index b72837e..ecdaba5 100644 --- a/client/src/example.tsx +++ b/client/src/example.tsx @@ -3,32 +3,42 @@ import { Spinner } from './components/ui.spinner'; import { Modal } from './components/ui.modal'; import { useQuery } from '@tanstack/react-query'; import { getServerUrl } from './config'; +import { hc } from 'hono/client'; +import type { ServerApi } from '../../server/src/types'; +import { useMonitor } from './services/monitor.use-monitor'; const serverUrl = getServerUrl(); -export const Example = () => { - const [isModalOpen, setIsModalOpen] = useState(false); - const serverOkQuery = useQuery({ - queryKey: ['example'], +const { $get } = hc(serverUrl)['index']; + +const useServerOkQuery = () => { + const { captureException } = useMonitor(); + return useQuery({ + queryKey: ['hello-from-server'], queryFn: async () => { - return fetch(serverUrl) + return $get() .then(async (res) => { if (!res.ok) { throw res; } - return res.text(); + return res.json(); }) .catch((error) => { - console.error(error); + captureException(error); return null; }); }, }); +}; + +export const Example = () => { + const [isModalOpen, setIsModalOpen] = useState(false); + const serverOkQuery = useServerOkQuery(); return (

Hello from React!

-

Server connection: {serverOkQuery.data ? '✅' : '❌'}

+

Server connection: {serverOkQuery.isSuccess ? '✅' : '❌'}

diff --git a/client/tsconfig.app.json b/client/tsconfig.app.json index 891211c..f04e9ad 100644 --- a/client/tsconfig.app.json +++ b/client/tsconfig.app.json @@ -12,5 +12,5 @@ "jsx": "react-jsx", "types": ["vitest/globals"] }, - "include": ["src"] + "include": ["src", "../server/src/*"] } diff --git a/package.json b/package.json index fa7f4d4..e0ad0ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "create-react-spa-cloudflare", "type": "module", - "version": "0.0.18", + "version": "0.0.19", "description": "Starter package for react spa with cloudflare pages, workers, and kv", "bin": "./bin/cli.js", "scripts": {