placementt-core 1.20.190 → 1.20.192
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/features/placements/studentPlacements/activePlacement.js +2 -13
- package/lib/features/placements/studentPlacements/activePlacement.js.map +1 -1
- package/lib/reduxHooks.js +1 -1
- package/lib/reduxHooks.js.map +1 -1
- package/package.json +1 -1
- package/src/features/placements/studentPlacements/activePlacement.ts +3 -15
- package/src/reduxHooks.ts +2 -2
|
@@ -7,7 +7,6 @@ exports.setActivePlacement = exports.activePlacementSlice = exports.fetchActiveP
|
|
|
7
7
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
8
8
|
const firebaseQuery_1 = __importDefault(require("../../../firebase/firebaseQuery"));
|
|
9
9
|
const firestore_1 = require("firebase/firestore");
|
|
10
|
-
const util_1 = require("../../../firebase/util");
|
|
11
10
|
const initialState = {
|
|
12
11
|
status: "",
|
|
13
12
|
values: undefined,
|
|
@@ -15,19 +14,9 @@ const initialState = {
|
|
|
15
14
|
exports.fetchActivePlacement = (0, toolkit_1.createAsyncThunk)("studentPlacements/fetchActivePlacement", async ({ userId }) => {
|
|
16
15
|
const firebaseQuery = new firebaseQuery_1.default();
|
|
17
16
|
try {
|
|
18
|
-
const docs = await firebaseQuery.getDocsWhere(["placements"], [(0, firestore_1.where)("active", "==", true), (0, firestore_1.where)("uid", "==", userId), (0, firestore_1.where)("completed", "==", false)]);
|
|
17
|
+
const docs = await firebaseQuery.getDocsWhere(["placements"], [(0, firestore_1.where)("active", "==", true), (0, firestore_1.where)("uid", "==", userId), (0, firestore_1.where)("completed", "==", false), (0, firestore_1.orderBy)("startDate")]);
|
|
19
18
|
const d = { ...docs };
|
|
20
|
-
|
|
21
|
-
const today = new Date();
|
|
22
|
-
Object.keys(d).forEach((index, key) => {
|
|
23
|
-
const studentPlacementData = d[key];
|
|
24
|
-
const diff = (0, util_1.getDateDiff)(today, new Date(studentPlacementData.startDate));
|
|
25
|
-
if (diff < (0, util_1.getDateDiff)(today, new Date(Object.keys(d)[smallestIdx]))) {
|
|
26
|
-
smallestIdx = Number(index);
|
|
27
|
-
}
|
|
28
|
-
console.log(`Key: ${key}, Data:`, studentPlacementData);
|
|
29
|
-
});
|
|
30
|
-
return d[Object.keys(d)[smallestIdx]] || undefined;
|
|
19
|
+
return d[Object.keys(d)[0]] || undefined;
|
|
31
20
|
}
|
|
32
21
|
catch (error) {
|
|
33
22
|
console.log(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activePlacement.js","sourceRoot":"","sources":["../../../../src/features/placements/studentPlacements/activePlacement.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA+D;AAC/D,oFAA4D;AAE5D,
|
|
1
|
+
{"version":3,"file":"activePlacement.js","sourceRoot":"","sources":["../../../../src/features/placements/studentPlacements/activePlacement.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA+D;AAC/D,oFAA4D;AAE5D,kDAAoD;AAOpD,MAAM,YAAY,GAAgC;IAC9C,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,SAAS;CACpB,CAAA;AAEY,QAAA,oBAAoB,GAAG,IAAA,0BAAgB,EAChD,wCAAwC,EACxC,KAAK,EAAE,EAAC,MAAM,EAAmB,EAAE,EAAE;IACjC,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC1C,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,IAAA,iBAAK,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAA,iBAAK,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAA,mBAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChL,MAAM,CAAC,GAAG,EAAE,GAAG,IAA+C,EAAE,CAAC;QACjE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAE7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,OAAO,SAAS,CAAA;IACpB,CAAC;AACL,CAAC,CACJ,CAAA;AAEY,QAAA,oBAAoB,GAAG,IAAA,qBAAW,EAAC;IAC5C,IAAI,EAAE,iBAAiB;IACvB,YAAY;IAEZ,QAAQ,EAAE;QACN,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAClC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;QACjC,CAAC;KACJ;IAED,aAAa,CAAC,OAAO;QACjB,OAAO;aACN,OAAO,CAAC,4BAAoB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;YAC7B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,CAAC,CAAC;aAED,OAAO,CAAC,4BAAoB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7C,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,CAAC,CAAC;aAED,OAAO,CAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/C,KAAK,CAAC,MAAM,GAAG,OAAO,CAAA;QACzB,CAAC,CAAC,CAAA;IAEP,CAAC;CAEJ,CAAC,CAAA;AAGY,0BAAkB,GAAI,4BAAoB,CAAC,OAAO,oBAAA;AAEhE,kBAAe,4BAAoB,CAAC,OAAO,CAAC"}
|
package/lib/reduxHooks.js
CHANGED
|
@@ -27,7 +27,7 @@ function useStudent({ user }) {
|
|
|
27
27
|
const firebaseQuery = new firebaseQuery_1.default();
|
|
28
28
|
const dispatch = (0, exports.useAppDispatch)();
|
|
29
29
|
const today = new Date();
|
|
30
|
-
const upcomingPlacementsConstraints = [(0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("inProgress", "==", true)];
|
|
30
|
+
const upcomingPlacementsConstraints = [(0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("inProgress", "==", true), (0, firestore_1.orderBy)("startDate")];
|
|
31
31
|
const completedPlacementsConstraints = [(0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("completed", "==", true)];
|
|
32
32
|
const contactsConstraints = [(0, firestore_1.where)("uid", "==", user.id)];
|
|
33
33
|
(0, react_1.useEffect)(() => {
|
package/lib/reduxHooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduxHooks.js","sourceRoot":"","sources":["../src/reduxHooks.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"reduxHooks.js","sourceRoot":"","sources":["../src/reduxHooks.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAmD;AACnD,iCAAiC;AACjC,6CAA4E;AAE5E,qEAAyG;AACzG,yDAA2F;AAC3F,6FAAkH;AAClH,6HAAwN;AACxN,2HAAgO;AAChO,6EAAoD;AAGvC,QAAA,cAAc,GAAoC,yBAAW,CAAA;AACnE,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAA,yBAAW,GAAe,CAAC;AAAlD,QAAA,cAAc,kBAAoC;AAG/D,SAAgB,UAAU,CAAC,EAAC,IAAI,EAAoB;IAChD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAEpD,MAAM,kBAAkB,GAAG,IAAA,sBAAc,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC5F,MAAM,mBAAmB,GAAG,IAAA,sBAAc,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAC9F,MAAM,eAAe,GAAG,IAAA,sBAAc,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAC/E,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACpF,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACjE,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAE1C,MAAM,QAAQ,GAAG,IAAA,sBAAc,GAAE,CAAC;IAElC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IAEzB,MAAM,6BAA6B,GAAG,CAAC,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAA,iBAAK,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,mBAAO,EAAC,WAAW,CAAC,CAAC,CAAA;IAC1H,MAAM,8BAA8B,GAAG,CAAC,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAA,iBAAK,EAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACpG,MAAM,mBAAmB,GAAG,CAAC,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAEzD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,aAAa,CAAC,kBAAkB,CAAC,6DAA4B,EAAE,YAAY,EAAE,6BAA6B,EAAE,QAAQ,CAAC,CAAC;QACtH,aAAa,CAAC,kBAAkB,CAAC,+DAA6B,EAAE,YAAY,EAAE,8BAA8B,EAAE,QAAQ,CAAC,CAAC;QACxH,aAAa,CAAC,kBAAkB,CAAC,2BAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAExB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAM;QACpB,QAAQ,CAAC,IAAA,sCAAoB,EAAC,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC,CAAA;IACrD,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAE3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/B,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC;YACpE,QAAQ,CAAC,IAAA,4CAAW,EAAC,SAAS,CAAC,CAAC,CAAC;YACjC,OAAO;QACX,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/H,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAA,4CAAW,EAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAA,4CAAW,EAAC,SAAS,CAAC,CAAC,CAAA;IAEtG,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAGxD,MAAM,WAAW,GAAG,KAAK,EAAE,IAA6B,EAAE,EAAU,EAAE,EAAE;QACpE,OAAO,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IACrD,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;QAC/C,IAAI,kBAAkB,CAAC,EAAE,CAAC;YAAE,QAAQ,CAAC,IAAA,+DAA8B,EAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC,CAAA;;YAClF,QAAQ,CAAC,IAAA,iEAA+B,EAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAU,EAAE,UAAyC,EAAG,EAAE;QAC3F,IAAI,kBAAkB,CAAC,EAAE,CAAC;YAAE,QAAQ,CAAC,IAAA,+DAA8B,EAAC,EAAC,WAAW,EAAE,EAAE,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;;YAC9F,QAAQ,CAAC,IAAA,iEAA+B,EAAC,EAAC,WAAW,EAAE,EAAE,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;IACjF,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAA8B,EAAE,EAAE;QACjE,IAAI,QAAQ,CAAC,SAAS;YAAE,QAAQ,CAAC,IAAA,+DAA6B,EAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAA;;YACtE,QAAQ,CAAC,IAAA,6DAA4B,EAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,OAAO;QACH,QAAQ,EAAE;YACN,GAAG,EAAE,KAAK,EAAE,WAAoB,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAA,0BAAU,EAAC,EAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC;YAC5G,MAAM,EAAE,KAAK,EAAE,SAAiB,EAAE,IAAsB,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAA,6BAAa,EAAC,EAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;YACpI,MAAM,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAA,6BAAa,EAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC,CAAC;YAC1F,QAAQ;YACR,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC;SACvE;QAED,UAAU,EAAE;YACR,GAAG,EAAE,KAAK,EAAE,QAA8B,EAAE,EAAE,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC;YACjF,MAAM,EAAE,KAAK,EAAE,WAAmB,EAAE,UAAyC,EAAE,EAAE,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC;YACtI,MAAM,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE,CAAC,MAAM,qBAAqB,CAAC,EAAE,CAAC;YAC7D,eAAe;YACf,qBAAqB,EAAE,CAAC,QAA8B,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAA,oCAAkB,EAAC,QAAQ,CAAC,CAAC;YACjG,QAAQ;YACR,uBAAuB,EAAE,CAAC,QAA8B,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAA,4CAAW,EAAC,QAAQ,CAAC,CAAC;YAC5F,kBAAkB,EAAE,kBAAkB,IAAI,EAAE;YAC5C,mBAAmB,EAAE,mBAAmB,IAAI,EAAE;YAC9C,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC;SACzE;KACJ,CAAE;AACP,CAAC;AAnFD,gCAmFC;AAAA,CAAC;AAGF,SAAgB,iBAAiB,CAAC,EAAC,IAAI,EAAmB;IACtD,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAA,sBAAc,GAAE,CAAC;IAElC,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAEpF,MAAM,UAAU,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;QACpC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,GAAG,CAAA;QAEZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACP,CAAC,CAAA;IAED,OAAO;QACH,IAAI,EAAE;YACF,OAAO,EAAE,KAAK,EAAE,IAA4B,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;YACxE,MAAM,EAAE,KAAK,EAAE,EAAC,GAAG,EAAE,KAAK,EAAsC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAA,kBAAM,EAAC,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAC/G,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAE,QAAQ,CAAC,IAAA,uBAAW,EAAC,OAAO,CAAC,CAAC;YAC/D,YAAY,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAkC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAA,wBAAY,EAAC,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YAChI,OAAO,EAAE,UAAU;SACtB;KACJ,CAAA;AAGL,CAAC;AA3BD,8CA2BC;AAED,SAAgB,mBAAmB,CAAC,EAAC,IAAI,EAAmB;IACxD,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAEvF,OAAO;QACH,QAAQ;QACR,UAAU;KACb,CAAA;AAEL,CAAC;AAVD,kDAUC;AAED,SAAgB,WAAW,CAAC,EAAC,IAAI,EAAmB;IAChD,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAEtD,MAAM,EAAC,IAAI,EAAC,GAAG,iBAAiB,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;IAEzC,OAAO;QACH,IAAI;KACP,CAAA;AAEL,CAAC;AATD,kCASC;AAID,kCAAkC;AAClC,yCAAyC;AAEzC,2BAA2B;AAE3B,kBAAkB;AAClB,IAAI;AAEJ,oCAAoC;AACpC,yCAAyC;AAEzC,6BAA6B;AAE7B,kBAAkB;AAClB,IAAI"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import {createSlice, createAsyncThunk} from "@reduxjs/toolkit";
|
|
2
2
|
import FirebaseQuery from "../../../firebase/firebaseQuery";
|
|
3
3
|
import { StudentPlacementData } from "../../../typeDefinitions"
|
|
4
|
-
import { where } from "firebase/firestore";
|
|
5
|
-
import { getDateDiff } from "../../../firebase/util";
|
|
4
|
+
import { orderBy, where } from "firebase/firestore";
|
|
6
5
|
|
|
7
6
|
type InitialActivePlacementSlice = {
|
|
8
7
|
status: string
|
|
@@ -19,20 +18,9 @@ export const fetchActivePlacement = createAsyncThunk(
|
|
|
19
18
|
async ({userId}: {userId: string}) => {
|
|
20
19
|
const firebaseQuery = new FirebaseQuery();
|
|
21
20
|
try {
|
|
22
|
-
const docs = await firebaseQuery.getDocsWhere(["placements"], [where("active", "==", true), where("uid", "==", userId), where("completed", "==", false)]);
|
|
21
|
+
const docs = await firebaseQuery.getDocsWhere(["placements"], [where("active", "==", true), where("uid", "==", userId), where("completed", "==", false), orderBy("startDate")]);
|
|
23
22
|
const d = { ...docs as { [key: string]: StudentPlacementData } };
|
|
24
|
-
|
|
25
|
-
const today = new Date()
|
|
26
|
-
Object.keys(d).forEach((index, key) => {
|
|
27
|
-
const studentPlacementData = d[key];
|
|
28
|
-
const diff = getDateDiff(today, new Date(studentPlacementData.startDate))
|
|
29
|
-
if (diff < getDateDiff(today, new Date(Object.keys(d)[smallestIdx]))) {
|
|
30
|
-
smallestIdx = Number(index)
|
|
31
|
-
}
|
|
32
|
-
console.log(`Key: ${key}, Data:`, studentPlacementData);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
return d[Object.keys(d)[smallestIdx]] || undefined;
|
|
23
|
+
return d[Object.keys(d)[0]] || undefined;
|
|
36
24
|
|
|
37
25
|
} catch (error) {
|
|
38
26
|
console.log(error)
|
package/src/reduxHooks.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { where } from "firebase/firestore"
|
|
1
|
+
import { where, orderBy } from "firebase/firestore"
|
|
2
2
|
import { useEffect } from "react"
|
|
3
3
|
import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux"
|
|
4
4
|
import { AppDispatch, RootState } from "./config"
|
|
@@ -28,7 +28,7 @@ export function useStudent({user} : {user: UserData}) {
|
|
|
28
28
|
|
|
29
29
|
const today = new Date();
|
|
30
30
|
|
|
31
|
-
const upcomingPlacementsConstraints = [where("uid", "==", user.id), where("inProgress", "==", true)]
|
|
31
|
+
const upcomingPlacementsConstraints = [where("uid", "==", user.id), where("inProgress", "==", true), orderBy("startDate")]
|
|
32
32
|
const completedPlacementsConstraints = [where("uid", "==", user.id), where("completed", "==", true)]
|
|
33
33
|
const contactsConstraints = [where("uid", "==", user.id)]
|
|
34
34
|
|