diff --git a/README.md b/README.md
index e7f327a6b..f083caeb9 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# Endurain
-
+
A self-hosted fitness tracking service • Endurain Mastodon profile
@@ -13,7 +13,7 @@
> [!WARNING]
> This project is currently in **Alpha** state. You can try it out at your own risk, but be aware that things might break and **DATA LOSS** may occur.
-Endurain is a self-hosted fitness tracking service that operates much like Strava but allows users to have complete control over their data and the hosting environment. The application's frontend is built using a combination of PHP, HTML, basic JavaScript, and Bootstrap CSS. On the backend, it leverages Python FastAPI, Alembic, SQLAlchemy, stravalib and gpxpy for seamless integration with Strava and .gpx file import. The MariaDB database engine is employed to efficiently store and manage user data, while Jaeger is used for basic observability.
+Endurain is a self-hosted fitness tracking service that operates much like Strava but allows users to have complete control over their data and the hosting environment. The application's frontend is built using Vue.js and Bootstrap CSS. On the backend, it leverages Python FastAPI, Alembic, SQLAlchemy, stravalib and gpxpy for seamless integration with Strava and .gpx file import. The MariaDB database engine is employed to efficiently store and manage user data, while Jaeger is used for basic observability.
To deploy Endurain, Docker images are available, and a comprehensive example can be found in the "docker-compose.yml" file provided. Configuration is facilitated through environment variables, ensuring flexibility and ease of customization.
diff --git a/frontend_vue/src/components/Activities/ActivitySummaryComponent.vue b/frontend_vue/src/components/Activities/ActivitySummaryComponent.vue
index 8fa435505..68286a07b 100644
--- a/frontend_vue/src/components/Activities/ActivitySummaryComponent.vue
+++ b/frontend_vue/src/components/Activities/ActivitySummaryComponent.vue
@@ -254,6 +254,7 @@ export default {
formattedPace,
sourceProp,
submitDeleteActivity,
+ errorMessage,
};
},
};
diff --git a/frontend_vue/src/i18n/en/activityView.json b/frontend_vue/src/i18n/en/activityView.json
index 6dbfe4b50..5af32c4a6 100644
--- a/frontend_vue/src/i18n/en/activityView.json
+++ b/frontend_vue/src/i18n/en/activityView.json
@@ -4,6 +4,11 @@
"modalLabelAddGear": "Add gear to activity",
"modalLabelSelectGear": "Select gear",
"modalButtonAddGear": "Add gear",
+ "modalLabelDeleteGear": "Delete gear from activity",
+ "modalLabelDeleteGearBody": "Are you sure you want to remove the gear from the activity?",
+ "modalLabelDeleteGearButton": "Delete gear",
"labelGraph": "Activity data graphs",
- "labelDownsampling": "Data downsampled to ~200 points"
+ "labelDownsampling": "Data downsampled to ~200 points",
+ "successMessageGearAdded": "Gear added to activity",
+ "successMessageGearDeleted": "Gear deleted from activity"
}
\ No newline at end of file
diff --git a/frontend_vue/src/services/activities.js b/frontend_vue/src/services/activities.js
index 550d06082..543fea444 100644
--- a/frontend_vue/src/services/activities.js
+++ b/frontend_vue/src/services/activities.js
@@ -1,4 +1,4 @@
-import { fetchGetRequest, fetchPostFileRequest, fetchDeleteRequest } from '@/utils/serviceUtils';
+import { fetchGetRequest, fetchPostFileRequest, fetchDeleteRequest, fetchPutRequest } from '@/utils/serviceUtils';
export const activities = {
getUserThisWeekStats(user_id) {
@@ -25,6 +25,12 @@ export const activities = {
uploadActivityFile(formData) {
return fetchPostFileRequest('activities/create/upload', formData);
},
+ addGearToActivity(activityId, gearId) {
+ return fetchPutRequest(`activities/${activityId}/addgear/${gearId}`);
+ },
+ deleteGearFromActivity(activityId) {
+ return fetchPutRequest(`activities/${activityId}/deletegear`);
+ },
deleteActivity(activityId) {
return fetchDeleteRequest(`activities/${activityId}/delete`);
}
diff --git a/frontend_vue/src/views/ActivityView.vue b/frontend_vue/src/views/ActivityView.vue
index 98d3622d4..0230f9d64 100644
--- a/frontend_vue/src/views/ActivityView.vue
+++ b/frontend_vue/src/views/ActivityView.vue
@@ -1,5 +1,12 @@
+
+
+
+
+
+
+