feat(frontend): layout header + drawer + router (9 routes)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
4
frontend/src/api/client.js
Normal file
4
frontend/src/api/client.js
Normal file
@@ -0,0 +1,4 @@
|
||||
import axios from 'axios';
|
||||
export default axios.create({
|
||||
baseURL: import.meta.env.VITE_API_URL ?? '',
|
||||
});
|
||||
11
frontend/src/api/gardens.js
Normal file
11
frontend/src/api/gardens.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import client from './client';
|
||||
export const gardensApi = {
|
||||
list: () => client.get('/api/gardens').then(r => r.data),
|
||||
get: (id) => client.get(`/api/gardens/${id}`).then(r => r.data),
|
||||
create: (g) => client.post('/api/gardens', g).then(r => r.data),
|
||||
update: (id, g) => client.put(`/api/gardens/${id}`, g).then(r => r.data),
|
||||
delete: (id) => client.delete(`/api/gardens/${id}`),
|
||||
cells: (id) => client.get(`/api/gardens/${id}/cells`).then(r => r.data),
|
||||
measurements: (id) => client.get(`/api/gardens/${id}/measurements`).then(r => r.data),
|
||||
addMeasurement: (id, m) => client.post(`/api/gardens/${id}/measurements`, m).then(r => r.data),
|
||||
};
|
||||
10
frontend/src/api/plantings.js
Normal file
10
frontend/src/api/plantings.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import client from './client';
|
||||
export const plantingsApi = {
|
||||
list: () => client.get('/api/plantings').then(r => r.data),
|
||||
get: (id) => client.get(`/api/plantings/${id}`).then(r => r.data),
|
||||
create: (p) => client.post('/api/plantings', p).then(r => r.data),
|
||||
update: (id, p) => client.put(`/api/plantings/${id}`, p).then(r => r.data),
|
||||
delete: (id) => client.delete(`/api/plantings/${id}`),
|
||||
events: (id) => client.get(`/api/plantings/${id}/events`).then(r => r.data),
|
||||
addEvent: (id, e) => client.post(`/api/plantings/${id}/events`, e).then(r => r.data),
|
||||
};
|
||||
8
frontend/src/api/tasks.js
Normal file
8
frontend/src/api/tasks.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import client from './client';
|
||||
export const tasksApi = {
|
||||
list: (params) => client.get('/api/tasks', { params }).then(r => r.data),
|
||||
get: (id) => client.get(`/api/tasks/${id}`).then(r => r.data),
|
||||
create: (t) => client.post('/api/tasks', t).then(r => r.data),
|
||||
update: (id, t) => client.put(`/api/tasks/${id}`, t).then(r => r.data),
|
||||
delete: (id) => client.delete(`/api/tasks/${id}`),
|
||||
};
|
||||
8
frontend/src/api/varieties.js
Normal file
8
frontend/src/api/varieties.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import client from './client';
|
||||
export const varietiesApi = {
|
||||
list: () => client.get('/api/varieties').then(r => r.data),
|
||||
get: (id) => client.get(`/api/varieties/${id}`).then(r => r.data),
|
||||
create: (v) => client.post('/api/varieties', v).then(r => r.data),
|
||||
update: (id, v) => client.put(`/api/varieties/${id}`, v).then(r => r.data),
|
||||
delete: (id) => client.delete(`/api/varieties/${id}`),
|
||||
};
|
||||
Reference in New Issue
Block a user