Skip to content

Commit 4b0fd49

Browse files
committed
Update API configuration and add more detailed logging
1 parent f7987f4 commit 4b0fd49

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/components/modals/AddStockModal.jsx

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@ import { XMarkIcon } from '@heroicons/react/24/outline';
44
import { TextInput, NumberInput, Button } from '@tremor/react';
55
import axios from 'axios';
66

7-
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL;
7+
// Get API URL from environment variable, fallback to production URL if not set
8+
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'https://portfolio-tracker-backend-y7ne.onrender.com/api';
9+
10+
// Create axios instance with base URL
11+
const api = axios.create({
12+
baseURL: API_BASE_URL,
13+
timeout: 10000
14+
});
815

916
export default function AddStockModal({ open, setOpen, onStockAdded }) {
1017
const [loading, setLoading] = useState(false);
@@ -17,9 +24,15 @@ export default function AddStockModal({ open, setOpen, onStockAdded }) {
1724
target_price: ''
1825
});
1926

20-
// Log API URL on component mount
27+
// Log API URL and environment on component mount
2128
useEffect(() => {
29+
console.log('Environment:', import.meta.env.MODE);
2230
console.log('API Base URL:', API_BASE_URL);
31+
32+
// Test API connection
33+
api.get('/health')
34+
.then(response => console.log('API Health Check:', response.data))
35+
.catch(error => console.error('API Health Check Failed:', error));
2336
}, []);
2437

2538
const handleChange = (e) => {
@@ -28,7 +41,7 @@ export default function AddStockModal({ open, setOpen, onStockAdded }) {
2841
...prev,
2942
[name]: value
3043
}));
31-
setError(''); // Clear error when user makes changes
44+
setError('');
3245
};
3346

3447
const handleSubmit = async (e) => {
@@ -37,7 +50,6 @@ export default function AddStockModal({ open, setOpen, onStockAdded }) {
3750
setError('');
3851

3952
try {
40-
// Validate form data
4153
if (!formData.name || !formData.ticker || !formData.shares || !formData.buy_price) {
4254
throw new Error('Please fill in all required fields');
4355
}
@@ -53,11 +65,10 @@ export default function AddStockModal({ open, setOpen, onStockAdded }) {
5365
console.log('Making API request to:', `${API_BASE_URL}/stocks`);
5466
console.log('Request data:', requestData);
5567

56-
const response = await axios.post(`${API_BASE_URL}/stocks`, requestData);
68+
const response = await api.post('/stocks', requestData);
5769

5870
console.log('Stock added successfully:', response.data);
5971

60-
// Reset form and close modal
6172
setFormData({
6273
name: '',
6374
ticker: '',
@@ -67,7 +78,6 @@ export default function AddStockModal({ open, setOpen, onStockAdded }) {
6778
});
6879
setOpen(false);
6980

70-
// Notify parent component
7181
if (onStockAdded) {
7282
onStockAdded(response.data);
7383
}
@@ -76,7 +86,8 @@ export default function AddStockModal({ open, setOpen, onStockAdded }) {
7686
message: error.message,
7787
response: error.response?.data,
7888
status: error.response?.status,
79-
apiUrl: API_BASE_URL
89+
apiUrl: API_BASE_URL,
90+
mode: import.meta.env.MODE
8091
});
8192
setError(error.response?.data?.error || error.message || 'Failed to add stock');
8293
} finally {

0 commit comments

Comments
 (0)