aboutsummaryrefslogtreecommitdiff
path: root/modern/src/reports/TripReportPage.js
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/reports/TripReportPage.js')
-rw-r--r--modern/src/reports/TripReportPage.js18
1 files changed, 13 insertions, 5 deletions
diff --git a/modern/src/reports/TripReportPage.js b/modern/src/reports/TripReportPage.js
index bb987e1b..10f1c464 100644
--- a/modern/src/reports/TripReportPage.js
+++ b/modern/src/reports/TripReportPage.js
@@ -6,15 +6,23 @@ import ReportFilter from './ReportFilter';
import ReportLayoutPage from './ReportLayoutPage';
import { useAttributePreference } from '../common/preferences';
-const ReportFilterForm = ({ onResult }) => {
+const ReportFilterForm = ({ setItems }) => {
- const handleSubmit = async (deviceId, from, to) => {
- const query = new URLSearchParams({ deviceId, from, to });
- const response = await fetch(`/api/reports/trips?${query.toString()}`, { headers: { Accept: 'application/json' } });
+ const handleSubmit = async (deviceId, from, to, mail, headers) => {
+ const query = new URLSearchParams({ deviceId, from, to, mail });
+ const response = await fetch(`/api/reports/trips?${query.toString()}`, { headers });
if (response.ok) {
- onResult(await response.json());
+ const contentType = response.headers.get('content-type');
+ if (contentType) {
+ if (contentType === 'application/json') {
+ setItems(await response.json());
+ } else {
+ window.location.assign(window.URL.createObjectURL(await response.blob()));
+ }
+ }
}
}
+
return <ReportFilter handleSubmit={handleSubmit} />;
}