+
{{> headerBar}}
{{> Template.dynamic template=main}}
diff --git a/client/main.css b/client/main.css
index 0e9a4d2..7656db1 100644
--- a/client/main.css
+++ b/client/main.css
@@ -29,9 +29,9 @@
transition: background-color 0.2s ease;
}
-.collection-item:hover {
+/* .collection-item:hover {
background-color: #282828
-}
+} */
/* Remove bottom border from last item */
.collection-item:last-child {
diff --git a/imports/api/logEntry.js b/imports/api/logEntry.js
index df88841..dc30e14 100644
--- a/imports/api/logEntry.js
+++ b/imports/api/logEntry.js
@@ -1,6 +1,7 @@
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
import { check } from 'meteor/check';
+import dayjs from 'dayjs';
export const LogEntry = new Mongo.Collection('logEntry');
@@ -12,39 +13,45 @@ LogEntry.allow({
});
Meteor.methods({
- async 'add.logEntry' (routineId, logId, exerciseName, measName1, measure1, measUnit1, measName2, measure2, measUnit2, measName3, measure3, measUnit3) {
- check(routineId, String);
- check(logId, String);
+ async 'add.logEntry' (exerciseId, exerciseName, exerciseWeight) {
+ check(exerciseId, String);
check(exerciseName, String);
- check(measName1, String);
- check(measure1, Number);
- check(measUnit1, String);
- check(measName2, String);
- check(measure2, Number);
- check(measUnit2, String);
- check(measName3, String);
- check(measure3, Number);
- check(measUnit3, String);
+ check(exerciseWeight, Number);
if (!this.userId) {
throw new Meteor.Error('You are not allowed to add log entries. Make sure you are logged in with valid user credentials.');
}
+ let rightNow = new Date();
+ let dateAdded = dayjs(rightNow).format('YYYY-MM-DD');
+ let timeAdded = dayjs(rightNow).format("HH:MM:SS");
+
return await LogEntry.insertAsync({
- routineId: routineId,
- logId: logId,
+ exerciseId: exerciseId,
exerciseName: exerciseName,
- measName1: measName1,
- measure1: measure1,
- measUnit1: measUnit1,
- measName2: measName2,
- measrue2: measure2,
- measUnit2: measUnit2,
- measName3: measName3,
- measure3: measure3,
- measUnit3: measUnit3,
+ exerciseWeight: exerciseWeight,
+ dateAdded: dateAdded,
+ timeAdded: timeAdded,
addedBy: this.userId,
- addedOn: new Date()
+ });
+ },
+ async 'add.setToLog' (logId, setNo, repCount) {
+ check(logId, String);
+ check(setNo, Number);
+ check(repCount, Number);
+
+ if (!this.userId) {
+ throw new Meteor.Error('You are not allowed to add sets to log entries. Make sure you are logged in with valid user credentials.');
+ }
+
+ return await LogEntry.updateAsync({ _id: logId }, {
+ $addToSet: {
+ sets:
+ {
+ setNumber: setNo,
+ repCount: repCount,
+ }
+ }
});
},
});
\ No newline at end of file
diff --git a/lib/route.js b/lib/route.js
index fd571bd..7f0e4eb 100644
--- a/lib/route.js
+++ b/lib/route.js
@@ -103,4 +103,11 @@ FlowRouter.route('/measLogEntry', {
action() {
this.render('MainLayout', { main: 'measLogEntry'});
}
+});
+
+FlowRouter.route('/workoutData', {
+ name: 'workoutData',
+ action() {
+ this.render('MainLayout', { main: 'workoutData'});
+ }
});
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 915c1c7..4627944 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,6 +7,8 @@
"name": "meteor-app",
"dependencies": {
"@babel/runtime": "^7.17.9",
+ "chart.js": "^4.5.1",
+ "dayjs": "^1.11.19",
"jquery": "^3.6.0",
"meteor-node-stubs": "^1.2.1",
"node-cron": "^3.0.3",
@@ -25,6 +27,12 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@kurkle/color": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
+ "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==",
+ "license": "MIT"
+ },
"node_modules/addressparser": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
@@ -107,6 +115,18 @@
"integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
"license": "Apache-2.0"
},
+ "node_modules/chart.js": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz",
+ "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==",
+ "license": "MIT",
+ "dependencies": {
+ "@kurkle/color": "^0.3.0"
+ },
+ "engines": {
+ "pnpm": ">=8"
+ }
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -137,6 +157,12 @@
"node": ">=0.10"
}
},
+ "node_modules/dayjs": {
+ "version": "1.11.19",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
+ "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==",
+ "license": "MIT"
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
diff --git a/package.json b/package.json
index 71bbd9c..343510b 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,8 @@
},
"dependencies": {
"@babel/runtime": "^7.17.9",
+ "chart.js": "^4.5.1",
+ "dayjs": "^1.11.19",
"jquery": "^3.6.0",
"meteor-node-stubs": "^1.2.1",
"node-cron": "^3.0.3",