chore: use axios

This commit is contained in:
2024-12-29 20:30:55 +01:00
parent 98b0510dfb
commit 24fd38eeb0
3 changed files with 4462 additions and 6307 deletions

View File

@@ -5,6 +5,7 @@ import { Button } from './Button';
import { useToast } from '../context/toast/ToastContext'; import { useToast } from '../context/toast/ToastContext';
import { Toasts } from './Toast'; import { Toasts } from './Toast';
import { LineChart, PersonStanding, Download, Sparkles } from 'lucide-react'; import { LineChart, PersonStanding, Download, Sparkles } from 'lucide-react';
import axios from 'axios';
export const Content = () => { export const Content = () => {
const [consumerId, setConsumerId] = useState<number>(); const [consumerId, setConsumerId] = useState<number>();
@@ -58,24 +59,24 @@ export const Content = () => {
setPurchasesResult(null); setPurchasesResult(null);
try { try {
const response = await fetch('/api/consumer', { const { data } = await axios.post(
method: 'POST', '/api/consumer',
{},
{
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
});
if (!response.ok) {
const errorData = await response.json();
throw new Error(errorData.error || 'Failed to generate consumer');
} }
);
const data = await response.json();
setConsumerId(data.id); setConsumerId(data.id);
setConsumer(data.consumer); setConsumer(data.consumer);
setEditedConsumer(JSON.stringify(data.consumer, null, 2)); setEditedConsumer(JSON.stringify(data.consumer, null, 2));
} catch (err) { } catch (err) {
showToast(err instanceof Error ? err.message : 'Something went wrong'); if (axios.isAxiosError(err)) {
const errorMessage = err.response?.data?.error || err.message;
showToast(errorMessage);
} else {
showToast('Something went wrong');
}
} finally { } finally {
setLoading(false); setLoading(false);
} }
@@ -114,22 +115,20 @@ export const Content = () => {
throw new Error(validationResult.error.issues[0].message); throw new Error(validationResult.error.issues[0].message);
} }
const response = await fetch('/api/purchase-list', { const { data } = await axios.post('/api/purchase-list', requestData, {
method: 'POST', headers: { 'Content-Type': 'application/json' }
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(requestData)
}); });
if (!response.ok) {
const errorData = await response.json();
throw new Error(errorData.error || 'Failed to generate purchases');
}
const data = await response.json();
setPurchasesResult(data); setPurchasesResult(data);
} catch (err) { } catch (err) {
showToast(err instanceof Error ? err.message : 'Something went wrong'); if (axios.isAxiosError(err)) {
const errorMessage = err.response?.data?.error || err.message;
showToast(errorMessage);
} else if (err instanceof Error) {
showToast(err.message);
} else {
showToast('Something went wrong');
}
} finally { } finally {
setSubmitting(false); setSubmitting(false);
} }

View File

@@ -22,6 +22,7 @@
"dependencies": { "dependencies": {
"@anthropic-ai/sdk": "^0.32.1", "@anthropic-ai/sdk": "^0.32.1",
"@prisma/client": "^6.0.1", "@prisma/client": "^6.0.1",
"axios": "^1.7.9",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"crypto": "^1.0.1", "crypto": "^1.0.1",

10719
yarn.lock

File diff suppressed because it is too large Load Diff