From 7e9382f930e8478c6524159e687d0ea0c4dd8b2a Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Tue, 25 Jun 2024 12:01:44 +0800 Subject: [PATCH 01/44] feat(lambda): change numeric ID to human-readable (#764) Closes issue #739. For posterity, all past waves will still be loaded into Elasticsearch. Co-authored-by: dabby9734 <62941997+dabby9734@users.noreply.github.com> --- pages/mentors.tsx | 2 +- scripts/load_mentors.js | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pages/mentors.tsx b/pages/mentors.tsx index 0cdba522..3318678d 100644 --- a/pages/mentors.tsx +++ b/pages/mentors.tsx @@ -23,7 +23,7 @@ import "../styles/App.css"; import ClearFacets from "../components/ResetButton"; const App = () => { - const WAVE = { waveId: 5, waveName: "Wave 2023" }; + const WAVE = { waveId: "2023", waveName: "Wave 2023" }; const connector = new AppSearchAPIConnector({ engineName: "mentorship-page", diff --git a/scripts/load_mentors.js b/scripts/load_mentors.js index e75b442b..85ca1ab7 100644 --- a/scripts/load_mentors.js +++ b/scripts/load_mentors.js @@ -18,18 +18,21 @@ const AWS_S3_IMAGE_FOLDER = "images/"; const PLACEHOLDER_THUMBNAIL_URL = "/mentor-thumbnail.png"; const WAVES_INFO = new Map([ - [0, { tableId: "4 Tech", waveName: "2021 Wave 1" }], - [1, { tableId: "5 Tech", waveName: "2021 Wave 2" }], - [2, { tableId: "2022 Mentorship [Complete]", waveName: "2022 Wave" }], + ["2021-1", { tableId: "4 Tech", waveName: "2021 Wave 1" }], + ["2021-2", { tableId: "5 Tech", waveName: "2021 Wave 2" }], + ["2022", { tableId: "2022 Mentorship [Complete]", waveName: "2022 Wave" }], [ - 3, + "institution-specific-wave", { tableId: "Institution-Specific Mentorship", waveName: "Institution-Specific Wave", }, ], - [4, { tableId: "VJC Mentorship 2023", waveName: "VJC Mentorship 2023" }], - [5, { tableId: "2023 Mentorship", waveName: "2023 Wave" }], + [ + "2023-vjc", + { tableId: "VJC Mentorship 2023", waveName: "VJC Mentorship 2023" }, + ], + ["2023", { tableId: "2023 Mentorship", waveName: "2023 Wave" }], ]); function* chunks(arr, n) { From 3a2c5eca9dad212bccc390ac34f03c39efe63400 Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Tue, 25 Jun 2024 13:50:39 +0800 Subject: [PATCH 02/44] chore(prettier): ignore build/ --- .prettierignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.prettierignore b/.prettierignore index e3e7e87f..4edbdfef 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,4 @@ /.next +/build /out /public From 6c00ba9e141f24a6f76c5dd7571746c2b01a1f40 Mon Sep 17 00:00:00 2001 From: Terence Chan Zun Mun Date: Fri, 28 Jun 2024 13:58:15 +0800 Subject: [PATCH 03/44] fix(index): debounce carousel render (#784) --- pages/index.tsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pages/index.tsx b/pages/index.tsx index a6f404aa..50b9988e 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,4 +1,4 @@ -import React, { useRef, useEffect } from "react"; +import React, { useRef, useEffect, useState } from "react"; import Glide from "@glidejs/glide"; import "@glidejs/glide/dist/css/glide.core.min.css"; import "@glidejs/glide/dist/css/glide.theme.min.css"; @@ -110,12 +110,6 @@ const Index = () => { } } - useEffect(() => { - initializeGlide(); - - return () => destroyGlide(); - }, []); - function debounce(func, delay) { let timer; return function () { @@ -128,6 +122,16 @@ const Index = () => { }; } + const refreshGlide = debounce(function () { + destroyGlide(); // Clear any past instance + initializeGlide(); + }, 500); + + useEffect(() => { + refreshGlide(); + return () => destroyGlide(); + }, []); + const debouncedResize = debounce(function () { if (glideTestimonial) { glideTestimonial.update({ From 94fad6793740ef1a9b93be4d34dc8b98a958ca4f Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Sat, 29 Jun 2024 22:30:30 +0800 Subject: [PATCH 04/44] fix(lambda): use shorter ID for institution-specific wave --- scripts/load_mentors.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/load_mentors.js b/scripts/load_mentors.js index 85ca1ab7..db5bb99d 100644 --- a/scripts/load_mentors.js +++ b/scripts/load_mentors.js @@ -22,7 +22,7 @@ const WAVES_INFO = new Map([ ["2021-2", { tableId: "5 Tech", waveName: "2021 Wave 2" }], ["2022", { tableId: "2022 Mentorship [Complete]", waveName: "2022 Wave" }], [ - "institution-specific-wave", + "isw", { tableId: "Institution-Specific Mentorship", waveName: "Institution-Specific Wave", From 74657353ebc808873b1daa9f68e6094873bd4711 Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Sat, 29 Jun 2024 22:53:51 +0800 Subject: [PATCH 05/44] fix(lambda): decouple wave ID and name This commit removes `waveName` from `load_mentors.js`, as well as forces `waveId` to be a string. (Due to JavaScript idiosyncracies, a mentor chunk with only numeric IDs may end up causing `waveId` to be interpreted as a number in Elasticsearch's schema.) --- pages/mentors.tsx | 2 +- scripts/load_mentors.js | 24 +++++++----------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/pages/mentors.tsx b/pages/mentors.tsx index 3318678d..6486b728 100644 --- a/pages/mentors.tsx +++ b/pages/mentors.tsx @@ -23,7 +23,7 @@ import "../styles/App.css"; import ClearFacets from "../components/ResetButton"; const App = () => { - const WAVE = { waveId: "2023", waveName: "Wave 2023" }; + const WAVE = { waveId: "2023", waveName: "2023 Wave" }; const connector = new AppSearchAPIConnector({ engineName: "mentorship-page", diff --git a/scripts/load_mentors.js b/scripts/load_mentors.js index db5bb99d..af212304 100644 --- a/scripts/load_mentors.js +++ b/scripts/load_mentors.js @@ -18,21 +18,12 @@ const AWS_S3_IMAGE_FOLDER = "images/"; const PLACEHOLDER_THUMBNAIL_URL = "/mentor-thumbnail.png"; const WAVES_INFO = new Map([ - ["2021-1", { tableId: "4 Tech", waveName: "2021 Wave 1" }], - ["2021-2", { tableId: "5 Tech", waveName: "2021 Wave 2" }], - ["2022", { tableId: "2022 Mentorship [Complete]", waveName: "2022 Wave" }], - [ - "isw", - { - tableId: "Institution-Specific Mentorship", - waveName: "Institution-Specific Wave", - }, - ], - [ - "2023-vjc", - { tableId: "VJC Mentorship 2023", waveName: "VJC Mentorship 2023" }, - ], - ["2023", { tableId: "2023 Mentorship", waveName: "2023 Wave" }], + ["2021-1", { tableId: "4 Tech" }], + ["2021-2", { tableId: "5 Tech" }], + ["2022", { tableId: "2022 Mentorship [Complete]" }], + ["isw", { tableId: "Institution-Specific Mentorship" }], + ["2023-vjc", { tableId: "VJC Mentorship 2023" }], + ["2023", { tableId: "2023 Mentorship" }], ]); function* chunks(arr, n) { @@ -68,8 +59,7 @@ const formatMentor = (id, waveId, fields) => ({ fields.Photo[0].thumbnails ? fields.Photo[0].thumbnails.large.url : PLACEHOLDER_THUMBNAIL_URL, - wave_id: waveId, - wave_name: WAVES_INFO.get(waveId).waveName, + wave_id: String(waveId), last_modified_time: fields["Last Modified Time"], }); From 0b6f07359805881900b4212fa49f2a886dcbf28a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 04:24:44 +0000 Subject: [PATCH 06/44] build(deps-dev): bump pretty-quick from 3.1.3 to 3.3.1 Bumps [pretty-quick](https://github.com/prettier/pretty-quick) from 3.1.3 to 3.3.1. - [Release notes](https://github.com/prettier/pretty-quick/releases) - [Changelog](https://github.com/prettier/pretty-quick/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/pretty-quick/compare/v3.1.3...v3.3.1) --- updated-dependencies: - dependency-name: pretty-quick dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 145 +++++++--------------------------------------- package.json | 2 +- 2 files changed, 22 insertions(+), 125 deletions(-) diff --git a/package-lock.json b/package-lock.json index dd91bd50..08764a0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "husky": "^8.0.3", "postcss": "^8.4.35", "prettier": "^2.8.8", - "pretty-quick": "^3.1.3", + "pretty-quick": "^3.3.1", "tailwindcss": "^3.3.5", "typescript": "^4.9.4" }, @@ -866,12 +866,6 @@ "tslib": "^2.4.0" } }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, "node_modules/@types/node": { "version": "14.18.12", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", @@ -973,33 +967,6 @@ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", "dev": true }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/autoprefixer": { "version": "10.4.16", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", @@ -1906,9 +1873,9 @@ "dev": true }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -2214,22 +2181,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "dev": true, - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -2714,93 +2665,39 @@ } }, "node_modules/pretty-quick": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz", - "integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.3.1.tgz", + "integrity": "sha512-3b36UXfYQ+IXXqex6mCca89jC8u0mYLqFAN5eTQKoXO6oCQYcIVYZEB/5AlBHI7JPYygReM2Vv6Vom/Gln7fBg==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "execa": "^4.0.0", + "execa": "^4.1.0", "find-up": "^4.1.0", - "ignore": "^5.1.4", - "mri": "^1.1.5", - "multimatch": "^4.0.0" + "ignore": "^5.3.0", + "mri": "^1.2.0", + "picocolors": "^1.0.0", + "picomatch": "^3.0.1", + "tslib": "^2.6.2" }, "bin": { - "pretty-quick": "bin/pretty-quick.js" + "pretty-quick": "dist/cli.js" }, "engines": { "node": ">=10.13" }, "peerDependencies": { - "prettier": ">=2.0.0" + "prettier": "^2.0.0" } }, - "node_modules/pretty-quick/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/pretty-quick/node_modules/picomatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-quick/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/pretty-quick/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/pretty-quick/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/prop-types": { diff --git a/package.json b/package.json index ef72424a..d685dfd4 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "husky": "^8.0.3", "postcss": "^8.4.35", "prettier": "^2.8.8", - "pretty-quick": "^3.1.3", + "pretty-quick": "^3.3.1", "tailwindcss": "^3.3.5", "typescript": "^4.9.4" } From 775351b54319196d008c946a87f62bf32e1cb933 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 04:42:38 +0000 Subject: [PATCH 07/44] build(deps-dev): bump husky from 8.0.3 to 9.0.11 Bumps [husky](https://github.com/typicode/husky) from 8.0.3 to 9.0.11. - [Release notes](https://github.com/typicode/husky/releases) - [Commits](https://github.com/typicode/husky/compare/v8.0.3...v9.0.11) --- updated-dependencies: - dependency-name: husky dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 08764a0b..71738e74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "airtable": "^0.12.2", "autoprefixer": "^10.4.16", "aws-sdk": "^2.1529.0", - "husky": "^8.0.3", + "husky": "^9.0.11", "postcss": "^8.4.35", "prettier": "^2.8.8", "pretty-quick": "^3.3.1", @@ -1852,15 +1852,15 @@ } }, "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true, "bin": { - "husky": "lib/bin.js" + "husky": "bin.mjs" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/typicode" diff --git a/package.json b/package.json index d685dfd4..1efc6cc6 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "airtable": "^0.12.2", "autoprefixer": "^10.4.16", "aws-sdk": "^2.1529.0", - "husky": "^8.0.3", + "husky": "^9.0.11", "postcss": "^8.4.35", "prettier": "^2.8.8", "pretty-quick": "^3.3.1", From 0452dfd062bd62df8f7f962391943abdab6d7403 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 14:45:38 +0000 Subject: [PATCH 08/44] build(deps-dev): bump braces from 3.0.2 to 3.0.3 Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 314 ++++++++++++++++++++++++---------------------- 1 file changed, 164 insertions(+), 150 deletions(-) diff --git a/package-lock.json b/package-lock.json index 71738e74..73ee6a7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -772,6 +772,66 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.1.tgz", + "integrity": "sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.1.tgz", + "integrity": "sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.1.tgz", + "integrity": "sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.1.tgz", + "integrity": "sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@next/swc-linux-x64-gnu": { "version": "14.1.1", "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.1.tgz", @@ -802,6 +862,51 @@ "node": ">= 10" } }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.1.tgz", + "integrity": "sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.1.tgz", + "integrity": "sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.1.tgz", + "integrity": "sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1087,6 +1192,18 @@ "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browserslist": { "version": "4.22.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", @@ -1601,6 +1718,18 @@ "reusify": "^1.0.4" } }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", @@ -1647,6 +1776,20 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -1984,6 +2127,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -3296,18 +3448,6 @@ "node": ">=8" } }, - "node_modules/tailwindcss/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tailwindcss/node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -3375,18 +3515,6 @@ "node": ">= 6" } }, - "node_modules/tailwindcss/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tailwindcss/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -3432,15 +3560,6 @@ "node": ">=0.10.0" } }, - "node_modules/tailwindcss/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/tailwindcss/node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -3528,18 +3647,6 @@ "node": ">=8.10.0" } }, - "node_modules/tailwindcss/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/tailwindcss/node_modules/yaml": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", @@ -3588,6 +3695,18 @@ "node": ">=4" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -3801,111 +3920,6 @@ "engines": { "node": ">= 6" } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.1.tgz", - "integrity": "sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.1.tgz", - "integrity": "sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.1.tgz", - "integrity": "sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.1.tgz", - "integrity": "sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.1.tgz", - "integrity": "sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.1.tgz", - "integrity": "sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.1.tgz", - "integrity": "sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } } } } From 4a94fc9173f4b7032891b21e6d3910d0a83eebb2 Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Sun, 30 Jun 2024 13:48:47 +0800 Subject: [PATCH 09/44] feat(index): add CTA (#730) Co-authored-by: Tan Wee Joe <84664178+w3joe@users.noreply.github.com> --- pages/index.tsx | 52 ++++++++++++++++++++++++++++++++++++++++++++++--- styles/App.css | 23 ++++++++++++++++++++++ 2 files changed, 72 insertions(+), 3 deletions(-) diff --git a/pages/index.tsx b/pages/index.tsx index 50b9988e..c1d61cce 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,4 +1,5 @@ -import React, { useRef, useEffect, useState } from "react"; +import React, { useRef, useEffect } from "react"; +import Link from "next/link"; import Glide from "@glidejs/glide"; import "@glidejs/glide/dist/css/glide.core.min.css"; import "@glidejs/glide/dist/css/glide.theme.min.css"; @@ -8,10 +9,10 @@ import useMediaQuery from "@mui/material/useMediaQuery"; import { advisoryMentorshipLogo } from "../components/assets"; import Logo from "../components/Logo"; -import Page from "../components/Page.tsx"; +import Page from "../components/Page"; +import Statistics from "../components/Statistics"; import "../styles/Header.css"; import "../styles/App.css"; -import Statistics from "../components/Statistics.tsx"; const testimonials = [ { @@ -304,6 +305,51 @@ const Index = () => { {">"} +
+ + Start discovering your career interests now! + +

+ Check out our mentors with impressive industry experience on the + mentor page and apply today to discover your career interests. Have + any questions? Head to our FAQ page to get your burning questions + answered! +

+ +
); }; diff --git a/styles/App.css b/styles/App.css index 128f74c6..6b4d717d 100644 --- a/styles/App.css +++ b/styles/App.css @@ -189,3 +189,26 @@ a { * { box-sizing: border-box; } + +.apply-button { + border: none; + text-align: center; + text-decoration: default; + padding: 0px 20px 0px 20px; + cursor: pointer; + -webkit-border-radius: 30; + -moz-border-radius: 30; + border-radius: 30px; + -webkit-box-shadow: 2px 2px 8px #666666; + -moz-box-shadow: 2px 2px 8px #666666; + box-shadow: 2px 2px 8px #666666; + background-color: var(--brand-color); +} + +.vertical-center { + margin: 0; + position: absolute; + top: 50%; + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} From 03c73ca8a5f737c1f607d30bb6ee8c64ac594664 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:45:17 +0000 Subject: [PATCH 10/44] build(deps-dev): bump typescript from 4.9.4 to 5.5.2 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.4 to 5.5.2. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.4...v5.5.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73ee6a7b..bdae4171 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "prettier": "^2.8.8", "pretty-quick": "^3.3.1", "tailwindcss": "^3.3.5", - "typescript": "^4.9.4" + "typescript": "^5.5.2" }, "engines": { "node": "18.x" @@ -3725,16 +3725,16 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", + "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/undici": { diff --git a/package.json b/package.json index 1efc6cc6..8b9f2850 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,6 @@ "prettier": "^2.8.8", "pretty-quick": "^3.3.1", "tailwindcss": "^3.3.5", - "typescript": "^4.9.4" + "typescript": "^5.5.2" } } From 9f13f54101afb3b8714d06788829a70f0944fe77 Mon Sep 17 00:00:00 2001 From: ykIsCoding <64340151+ykIsCoding@users.noreply.github.com> Date: Sun, 30 Jun 2024 13:58:28 +0800 Subject: [PATCH 11/44] fix(footer): make text alignment responsive (#789) --- components/Footer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/Footer.tsx b/components/Footer.tsx index cd6cc7ca..069db7d6 100644 --- a/components/Footer.tsx +++ b/components/Footer.tsx @@ -47,9 +47,9 @@ const Footer = () => { className="flex-col align-center bg-neutral-900 w-screen" id="footer" > -
+
Date: Sun, 30 Jun 2024 14:11:13 +0800 Subject: [PATCH 12/44] build(deps): bump @elastic/search-ui --- package-lock.json | 112 +++++++++++++++++++++------------------------- package.json | 8 ++-- 2 files changed, 55 insertions(+), 65 deletions(-) diff --git a/package-lock.json b/package-lock.json index bdae4171..9e3bdbaa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,10 @@ "name": "mentorship-page", "version": "0.1.0", "dependencies": { - "@elastic/react-search-ui": "1.20.2", - "@elastic/react-search-ui-views": "^1.20.2", - "@elastic/search-ui": "^1.20.2", - "@elastic/search-ui-app-search-connector": "^1.20.2", + "@elastic/react-search-ui": "^1.21.5", + "@elastic/react-search-ui-views": "^1.21.5", + "@elastic/search-ui": "^1.21.5", + "@elastic/search-ui-app-search-connector": "^1.21.5", "@emotion/styled": "^11.11.0", "@glidejs/glide": "^3.6.0", "@iconify/react": "^4.1.1", @@ -152,37 +152,37 @@ } }, "node_modules/@elastic/react-search-ui": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@elastic/react-search-ui/-/react-search-ui-1.20.2.tgz", - "integrity": "sha512-riVo1Dja4TpI3WFuQVQUmMiRPSV+nAxdkF05UCA/4H5P2IAqzrRjEw4jVpR4vcj+4gAHJcLppYwmtjcn3h1dKw==", + "version": "1.21.5", + "resolved": "https://registry.npmjs.org/@elastic/react-search-ui/-/react-search-ui-1.21.5.tgz", + "integrity": "sha512-J7OpqyTavkxl0l95lB6Wlml5iLS6g/7YERZEemmyd/IgzgwLWLxV2XjSC8GMCSMzlFn5Q3Fb61HuJxu8p4+RaA==", "dependencies": { - "@elastic/react-search-ui-views": "1.20.2", - "@elastic/search-ui": "1.20.2" + "@elastic/react-search-ui-views": "1.21.5", + "@elastic/search-ui": "1.21.5" }, "peerDependencies": { - "react": ">= 16.8.0 <= 18", - "react-dom": ">= 16.8.0 <= 18" + "react": ">= 16.8.0 < 19", + "react-dom": ">= 16.8.0 < 19" } }, "node_modules/@elastic/react-search-ui-views": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@elastic/react-search-ui-views/-/react-search-ui-views-1.20.2.tgz", - "integrity": "sha512-nx2XOxQ9ONIrd9MhJ1/z0p7AXYYXUr4Tqx8TPUqQd6m/yTa55qrCdEcBm59+MGSBFtVCRsix8KBMiOij+/afxQ==", + "version": "1.21.5", + "resolved": "https://registry.npmjs.org/@elastic/react-search-ui-views/-/react-search-ui-views-1.21.5.tgz", + "integrity": "sha512-NzXAdbrbBIBiA+fI5VPCGTuCPubGKZhRX3Pcazk7Xn8jrFdzep1uWo1CmE1e9UMOPrVC8Es4Xovk9sqTdH6+Yw==", "dependencies": { - "@elastic/search-ui": "1.20.2", + "@elastic/search-ui": "1.21.5", "downshift": "^3.2.10", - "rc-pagination": "^1.20.1", + "rc-pagination": "^4.0.4", "react-select": "^5.0.0" }, "peerDependencies": { - "react": ">= 16.8.0 <= 18", - "react-dom": ">= 16.8.0 <= 18" + "react": ">= 16.8.0 < 19", + "react-dom": ">= 16.8.0 < 19" } }, "node_modules/@elastic/search-ui": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@elastic/search-ui/-/search-ui-1.20.2.tgz", - "integrity": "sha512-48O0jKeMbhohxnVB6oOxT5R+x4nrwG0UWvFTCWPZJ4hKCLsPZZOWIFHziMaxhR8f0ckZCoiif+eD6FAgDW6kwA==", + "version": "1.21.5", + "resolved": "https://registry.npmjs.org/@elastic/search-ui/-/search-ui-1.21.5.tgz", + "integrity": "sha512-wzhTIhSzCio6RCaSsEbRf/yHUc9LpQSNgySWlcGbvtwdPBXnDP0Cwhsci5AUOdmRPvC3K0FID2qg4yF2c0SX+g==", "dependencies": { "date-fns": "^1.30.1", "deep-equal": "^1.0.1", @@ -191,12 +191,12 @@ } }, "node_modules/@elastic/search-ui-app-search-connector": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@elastic/search-ui-app-search-connector/-/search-ui-app-search-connector-1.20.2.tgz", - "integrity": "sha512-oKXCQV3woyPjn2A8nfsFyG0P5K83hcJlDV0UjjOe1sSM2nUw1nFZa22gYTLVczhVF54N3z6ZTW6ntSJkaqqfAw==", + "version": "1.21.5", + "resolved": "https://registry.npmjs.org/@elastic/search-ui-app-search-connector/-/search-ui-app-search-connector-1.21.5.tgz", + "integrity": "sha512-8AFziRWK/cBxXlQHJ33IemUGkMDw3GNy5in14s0bA+j83noYjApMIIdmX0MA6WCUcHKgLYp4n5mY11BUy7XRPg==", "dependencies": { "@elastic/app-search-javascript": "^8.1.2", - "@elastic/search-ui": "1.20.2" + "@elastic/search-ui": "1.21.5" } }, "node_modules/@elastic/transport": { @@ -1142,20 +1142,6 @@ "node": ">= 10.0.0" } }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1337,9 +1323,9 @@ } }, "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, "node_modules/client-only": { "version": "0.0.1", @@ -1386,13 +1372,6 @@ "safe-buffer": "~5.1.1" } }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2928,14 +2907,30 @@ ] }, "node_modules/rc-pagination": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-1.21.1.tgz", - "integrity": "sha512-Z+iYLbrJOBKHdgoAjLhL9jOgb7nrbPzNmV31p0ikph010/Ov1+UkrauYzWhumUyR+GbRFi3mummdKW/WtlOewA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.2.0.tgz", + "integrity": "sha512-V6qeANJsT6tmOcZ4XiUmj8JXjRLbkusuufpuoBw2GiAn94fIixYjFLmbruD1Sbhn8fPLDnWawPp4CN37zQorvw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.43.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", "dependencies": { - "babel-runtime": "6.x", - "classnames": "^2.2.6", - "prop-types": "^15.5.7", - "react-lifecycles-compat": "^3.0.4" + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, "node_modules/react": { @@ -2966,11 +2961,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, "node_modules/react-select": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.8.0.tgz", diff --git a/package.json b/package.json index 8b9f2850..6a823e4c 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,10 @@ "node": "18.x" }, "dependencies": { - "@elastic/react-search-ui": "1.20.2", - "@elastic/react-search-ui-views": "^1.20.2", - "@elastic/search-ui": "^1.20.2", - "@elastic/search-ui-app-search-connector": "^1.20.2", + "@elastic/react-search-ui": "^1.21.5", + "@elastic/react-search-ui-views": "^1.21.5", + "@elastic/search-ui": "^1.21.5", + "@elastic/search-ui-app-search-connector": "^1.21.5", "@emotion/styled": "^11.11.0", "@glidejs/glide": "^3.6.0", "@iconify/react": "^4.1.1", From bb6c897067171a5ce98017351971a88e51064fe8 Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Thu, 4 Jul 2024 16:50:47 +0800 Subject: [PATCH 13/44] fix(index): rm honorific for mentee --- pages/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/index.tsx b/pages/index.tsx index c1d61cce..690982ce 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -23,7 +23,7 @@ const testimonials = [ text: "“I've benefitted from mentorship tremendously in my career. You gain new perspectives, experience and a friendly ear who will not judge. The job of a mentor is to listen and extend your thinking, then let you make the final decision and own it.”", }, { - person: "Ms. Clarinda Ong", + person: "Clarinda Ong", type: "Mentee", school: "Tampines Meridian Junior College", text: "“Going into this, I thought I knew what career I wanted. With my mentor's advice and guidance, and Advisory's thought-provoking worksheets, however, I discovered what better suited me. I used to be extremely unsure of my future, so I'm very glad this experience helped me shed light on my path forward. I have learnt more about myself and gained insights into what I want to do professionally.”", From be7f56368238c6cf74d350677bb5217a5f24b664 Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Sun, 7 Jul 2024 16:10:05 +0800 Subject: [PATCH 14/44] fix: vertical alignment and padding Closes MPT-57 (https://github.com/AdvisorySG/mentorship-page/issues/692) and supersedes https://github.com/AdvisorySG/mentorship-page/pull/703. --- components/Page.tsx | 1 - pages/faq.tsx | 2 +- pages/index.tsx | 5 ++--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/components/Page.tsx b/components/Page.tsx index a28d2fa8..33264789 100644 --- a/components/Page.tsx +++ b/components/Page.tsx @@ -21,7 +21,6 @@ const Canvas = ({ children }) => ( className="container" style={{ width: "100%", - paddingBottom: "100px", flexDirection: "column", alignItems: "center", boxSizing: "border-box", diff --git a/pages/faq.tsx b/pages/faq.tsx index 14df0f52..0816bf44 100644 --- a/pages/faq.tsx +++ b/pages/faq.tsx @@ -171,7 +171,7 @@ const App = () => {

Programme Structure and Timeline

-
+
{programmeQuestions.map(({ question, answer }, index) => ( { style={{ width: "100%", marginTop: "64px", - marginBottom: "-32px", - padding: "20px 50px", + padding: "60px 0", }} > {

Date: Sun, 7 Jul 2024 16:17:39 +0800 Subject: [PATCH 15/44] fix(drawer): set cursor of apply button to pointer (#794) Closes MPT-114. --- components/Drawer.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/components/Drawer.tsx b/components/Drawer.tsx index bf466cc3..6a43bffb 100644 --- a/components/Drawer.tsx +++ b/components/Drawer.tsx @@ -119,6 +119,7 @@ const ResponsiveDrawer = () => { justifyContent: "center", alignItems: "center", margin: "0 16px", + cursor: "pointer", }} > Apply Now From fcc703466bacbf090f4d3b97b57ba4ea2e53fdde Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Sun, 7 Jul 2024 18:39:03 +0800 Subject: [PATCH 16/44] chore: rename Page to Canvas --- components/{Page.tsx => Canvas.tsx} | 0 pages/faq.tsx | 6 +++--- pages/index.tsx | 6 +++--- pages/mentors.tsx | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) rename components/{Page.tsx => Canvas.tsx} (100%) diff --git a/components/Page.tsx b/components/Canvas.tsx similarity index 100% rename from components/Page.tsx rename to components/Canvas.tsx diff --git a/pages/faq.tsx b/pages/faq.tsx index 0816bf44..13aae64b 100644 --- a/pages/faq.tsx +++ b/pages/faq.tsx @@ -7,7 +7,7 @@ import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import Typography from "@mui/material/Typography"; import { styled } from "@mui/material/styles"; -import Page from "../components/Page.tsx"; +import Canvas from "../components/Canvas"; import "../styles/App.css"; // programme structure and timeline questions @@ -166,7 +166,7 @@ const StyledAccordion = styled(Accordion)(({ theme }) => { const App = () => { return ( - +

Frequently Asked Questions

Programme Structure and Timeline @@ -211,7 +211,7 @@ const App = () => { ))}

- + ); }; diff --git a/pages/index.tsx b/pages/index.tsx index 9b344548..414086bf 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -8,8 +8,8 @@ import Box from "@mui/material/Box"; import useMediaQuery from "@mui/material/useMediaQuery"; import { advisoryMentorshipLogo } from "../components/assets"; +import Canvas from "../components/Canvas"; import Logo from "../components/Logo"; -import Page from "../components/Page"; import Statistics from "../components/Statistics"; import "../styles/Header.css"; import "../styles/App.css"; @@ -158,7 +158,7 @@ const Index = () => { }, [debouncedResize]); return ( - +
{
-
+ ); }; diff --git a/pages/mentors.tsx b/pages/mentors.tsx index 6486b728..542cc1c6 100644 --- a/pages/mentors.tsx +++ b/pages/mentors.tsx @@ -14,7 +14,7 @@ import { } from "@elastic/react-search-ui"; import { FilterType, SortDirection } from "@elastic/search-ui"; -import Page from "../components/Page"; +import Canvas from "../components/Canvas"; import ResultView from "../components/ResultView"; import "@elastic/react-search-ui-views/lib/styles/styles.css"; @@ -77,7 +77,7 @@ const App = () => { }; return ( - +
@@ -130,7 +130,7 @@ const App = () => {
-
+ ); }; From b63859ab6f98b31d50691ba97ba035009112ce73 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 04:38:56 +0000 Subject: [PATCH 17/44] build(deps): bump @iconify/react from 4.1.1 to 5.0.1 Bumps [@iconify/react](https://github.com/iconify/iconify/tree/HEAD/components/react) from 4.1.1 to 5.0.1. - [Commits](https://github.com/iconify/iconify/commits/HEAD/components/react) --- updated-dependencies: - dependency-name: "@iconify/react" dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e3bdbaa..c709e0b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@elastic/search-ui-app-search-connector": "^1.21.5", "@emotion/styled": "^11.11.0", "@glidejs/glide": "^3.6.0", - "@iconify/react": "^4.1.1", + "@iconify/react": "^5.0.1", "@mui/icons-material": "^5.15.11", "@mui/material": "^5.11.16", "html-to-text": "^9.0.5", @@ -427,9 +427,9 @@ "integrity": "sha512-47Aa+JmYjY4xTFpTtYCwrqirmI1arnp1UZETwtWpbTPisXUAuxrdJxKJLH8KHFWMsSrLi9+AcfyfzDIuO75rEA==" }, "node_modules/@iconify/react": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@iconify/react/-/react-4.1.1.tgz", - "integrity": "sha512-jed14EjvKjee8mc0eoscGxlg7mSQRkwQG3iX3cPBCO7UlOjz0DtlvTqxqEcHUJGh+z1VJ31Yhu5B9PxfO0zbdg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@iconify/react/-/react-5.0.1.tgz", + "integrity": "sha512-octpAJRtHZLLS1o6fmz2Ek2Rfwx75kVg48MZyGTqL3QqoxRddEsuLqOt6ADDhRosmlrYnIrVL+7obo1bz2ikNw==", "dependencies": { "@iconify/types": "^2.0.0" }, diff --git a/package.json b/package.json index 6a823e4c..3bd15d37 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@elastic/search-ui-app-search-connector": "^1.21.5", "@emotion/styled": "^11.11.0", "@glidejs/glide": "^3.6.0", - "@iconify/react": "^4.1.1", + "@iconify/react": "^5.0.1", "@mui/icons-material": "^5.15.11", "@mui/material": "^5.11.16", "html-to-text": "^9.0.5", From dcebc96839a1a6555ee7b48b3776cda3c79fa6fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 04:38:40 +0000 Subject: [PATCH 18/44] build(deps): bump @mui/material from 5.14.20 to 5.15.21 Bumps [@mui/material](https://github.com/mui/material-ui/tree/HEAD/packages/mui-material) from 5.14.20 to 5.15.21. - [Release notes](https://github.com/mui/material-ui/releases) - [Changelog](https://github.com/mui/material-ui/blob/v5.15.21/CHANGELOG.md) - [Commits](https://github.com/mui/material-ui/commits/v5.15.21/packages/mui-material) --- updated-dependencies: - dependency-name: "@mui/material" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 122 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index c709e0b2..6c8d7987 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@glidejs/glide": "^3.6.0", "@iconify/react": "^5.0.1", "@mui/icons-material": "^5.15.11", - "@mui/material": "^5.11.16", + "@mui/material": "^5.15.21", "html-to-text": "^9.0.5", "js-cookie": "^3.0.5", "next": "^14.1.1", @@ -405,11 +405,11 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.4.tgz", - "integrity": "sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", + "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", "dependencies": { - "@floating-ui/dom": "^1.5.1" + "@floating-ui/dom": "^1.0.0" }, "peerDependencies": { "react": ">=16.8.0", @@ -494,16 +494,16 @@ } }, "node_modules/@mui/base": { - "version": "5.0.0-beta.26", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.26.tgz", - "integrity": "sha512-gPMRKC84VRw+tjqYoyBzyrBUqHQucMXdlBpYazHa5rCXrb91fYEQk5SqQ2U5kjxx9QxZxTBvWAmZ6DblIgaGhQ==", - "dependencies": { - "@babel/runtime": "^7.23.4", - "@floating-ui/react-dom": "^2.0.4", - "@mui/types": "^7.2.10", - "@mui/utils": "^5.14.20", + "version": "5.0.0-beta.40", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", + "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@floating-ui/react-dom": "^2.0.8", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.14", "@popperjs/core": "^2.11.8", - "clsx": "^2.0.0", + "clsx": "^2.1.0", "prop-types": "^15.8.1" }, "engines": { @@ -525,9 +525,9 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.14.20", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.20.tgz", - "integrity": "sha512-fXoGe8VOrIYajqALysFuyal1q1YmBARqJ3tmnWYDVl0scu8f6h6tZQbS2K8BY28QwkWNGyv4WRfuUkzN5HR3Ow==", + "version": "5.15.21", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.21.tgz", + "integrity": "sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" @@ -559,19 +559,19 @@ } }, "node_modules/@mui/material": { - "version": "5.14.20", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.20.tgz", - "integrity": "sha512-SUcPZnN6e0h1AtrDktEl76Dsyo/7pyEUQ+SAVe9XhHg/iliA0b4Vo+Eg4HbNkELsMbpDsUF4WHp7rgflPG7qYQ==", - "dependencies": { - "@babel/runtime": "^7.23.4", - "@mui/base": "5.0.0-beta.26", - "@mui/core-downloads-tracker": "^5.14.20", - "@mui/system": "^5.14.20", - "@mui/types": "^7.2.10", - "@mui/utils": "^5.14.20", - "@types/react-transition-group": "^4.4.9", - "clsx": "^2.0.0", - "csstype": "^3.1.2", + "version": "5.15.21", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.21.tgz", + "integrity": "sha512-nTyCcgduKwHqiuQ/B03EQUa+utSMzn2sQp0QAibsnYe4tvc3zkMbO0amKpl48vhABIY3IvT6w9615BFIgMt0YA==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/base": "5.0.0-beta.40", + "@mui/core-downloads-tracker": "^5.15.21", + "@mui/system": "^5.15.20", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.20", + "@types/react-transition-group": "^4.4.10", + "clsx": "^2.1.0", + "csstype": "^3.1.3", "prop-types": "^15.8.1", "react-is": "^18.2.0", "react-transition-group": "^4.4.5" @@ -603,12 +603,12 @@ } }, "node_modules/@mui/private-theming": { - "version": "5.14.20", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.20.tgz", - "integrity": "sha512-WV560e1vhs2IHCh0pgUaWHznrcrVoW9+cDCahU1VTkuwPokWVvb71ccWQ1f8Y3tRBPPcNkU2dChkkRJChLmQlQ==", + "version": "5.15.20", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.20.tgz", + "integrity": "sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g==", "dependencies": { - "@babel/runtime": "^7.23.4", - "@mui/utils": "^5.14.20", + "@babel/runtime": "^7.23.9", + "@mui/utils": "^5.15.20", "prop-types": "^15.8.1" }, "engines": { @@ -629,13 +629,13 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.14.20", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.14.20.tgz", - "integrity": "sha512-Vs4nGptd9wRslo9zeRkuWcZeIEp+oYbODy+fiZKqqr4CH1Gfi9fdP0Q1tGYk8OiJ2EPB/tZSAyOy62Hyp/iP7g==", + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz", + "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==", "dependencies": { - "@babel/runtime": "^7.23.4", + "@babel/runtime": "^7.23.9", "@emotion/cache": "^11.11.0", - "csstype": "^3.1.2", + "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { @@ -660,17 +660,17 @@ } }, "node_modules/@mui/system": { - "version": "5.14.20", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.20.tgz", - "integrity": "sha512-jKOGtK4VfYZG5kdaryUHss4X6hzcfh0AihT8gmnkfqRtWP7xjY+vPaUhhuSeibE5sqA5wCtdY75z6ep9pxFnIg==", - "dependencies": { - "@babel/runtime": "^7.23.4", - "@mui/private-theming": "^5.14.20", - "@mui/styled-engine": "^5.14.19", - "@mui/types": "^7.2.10", - "@mui/utils": "^5.14.20", - "clsx": "^2.0.0", - "csstype": "^3.1.2", + "version": "5.15.20", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.20.tgz", + "integrity": "sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/private-theming": "^5.15.20", + "@mui/styled-engine": "^5.15.14", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.20", + "clsx": "^2.1.0", + "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { @@ -699,9 +699,9 @@ } }, "node_modules/@mui/types": { - "version": "7.2.10", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.10.tgz", - "integrity": "sha512-wX1vbDC+lzF7FlhT6A3ffRZgEoKWPF8VqRoTu4lZwouFX2t90KyCMsgepMw5DxLak1BSp/KP86CmtZttikb/gQ==", + "version": "7.2.14", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz", + "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==", "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0" }, @@ -712,11 +712,11 @@ } }, "node_modules/@mui/utils": { - "version": "5.14.20", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.20.tgz", - "integrity": "sha512-Y6yL5MoFmtQml20DZnaaK1znrCEwG6/vRSzW8PKOTrzhyqKIql0FazZRUR7sA5EPASgiyKZfq0FPwISRXm5NdA==", + "version": "5.15.20", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.20.tgz", + "integrity": "sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A==", "dependencies": { - "@babel/runtime": "^7.23.4", + "@babel/runtime": "^7.23.9", "@types/prop-types": "^15.7.11", "prop-types": "^15.8.1", "react-is": "^18.2.0" @@ -1333,9 +1333,9 @@ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, "node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "engines": { "node": ">=6" } diff --git a/package.json b/package.json index 3bd15d37..4c98cdac 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@glidejs/glide": "^3.6.0", "@iconify/react": "^5.0.1", "@mui/icons-material": "^5.15.11", - "@mui/material": "^5.11.16", + "@mui/material": "^5.15.21", "html-to-text": "^9.0.5", "js-cookie": "^3.0.5", "next": "^14.1.1", From ce692f2d23d3d2c4eb247c3c5121fb666c61f8f6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 04:38:52 +0000 Subject: [PATCH 19/44] build(deps): bump react and @types/react Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together. Updates `react` from 18.2.0 to 18.3.1 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react) Updates `@types/react` from 18.2.42 to 18.3.3 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) --- updated-dependencies: - dependency-name: react dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: "@types/react" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 22 ++++++++-------------- package.json | 4 ++-- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6c8d7987..a6494694 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,14 +20,14 @@ "html-to-text": "^9.0.5", "js-cookie": "^3.0.5", "next": "^14.1.1", - "react": "^18.2.0", + "react": "^18.3.1", "react-dom": "^18.2.0", "styled-components": "^6.1.8" }, "devDependencies": { "@elastic/elasticsearch": "^8.8.0", "@next/eslint-plugin-next": "^14.0.4", - "@types/react": "^18.0.21", + "@types/react": "^18.3.3", "airtable": "^0.12.2", "autoprefixer": "^10.4.16", "aws-sdk": "^2.1529.0", @@ -988,12 +988,11 @@ "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/react": { - "version": "18.2.42", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.42.tgz", - "integrity": "sha512-c1zEr96MjakLYus/wPnuWDo1/zErfdU9rNsIGmE+NV71nx88FG9Ttgo5dqorXTu/LImX2f63WBP986gJkMPNbA==", + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, @@ -1005,11 +1004,6 @@ "@types/react": "*" } }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, "node_modules/@types/stylis": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", @@ -2934,9 +2928,9 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dependencies": { "loose-envify": "^1.1.0" }, diff --git a/package.json b/package.json index 4c98cdac..c53ad58e 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "html-to-text": "^9.0.5", "js-cookie": "^3.0.5", "next": "^14.1.1", - "react": "^18.2.0", + "react": "^18.3.1", "react-dom": "^18.2.0", "styled-components": "^6.1.8" }, @@ -48,7 +48,7 @@ "devDependencies": { "@elastic/elasticsearch": "^8.8.0", "@next/eslint-plugin-next": "^14.0.4", - "@types/react": "^18.0.21", + "@types/react": "^18.3.3", "airtable": "^0.12.2", "autoprefixer": "^10.4.16", "aws-sdk": "^2.1529.0", From 703d0fb1355d11dfc28871fb0c989b8c23372a1d Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Mon, 8 Jul 2024 11:47:14 +0800 Subject: [PATCH 20/44] [MPT-115] fix: standardise to Tailwind breakpoints (#797) * fix: standardise to Tailwind breakpoints The default Tailwind breakpoints used are listed at https://tailwindcss.com/docs/screens. * fix(ResultView): revert changes to breakpoints Since ResultView breakpoints correspond to that of Elastic Search UI, which cannot be easily modified, we should stick to the same cutoffs of max-width 800px (or min-width 801px). --- components/Canvas.tsx | 3 +-- components/Drawer.tsx | 21 +++++++++++++-------- pages/index.tsx | 8 ++++---- styles/App.css | 4 ++-- styles/Header.css | 6 +++--- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/components/Canvas.tsx b/components/Canvas.tsx index 33264789..837575ee 100644 --- a/components/Canvas.tsx +++ b/components/Canvas.tsx @@ -14,11 +14,10 @@ const Canvas = ({ children }) => ( paddingRight: "4vw", }} > -
+
{ useEffect(() => { const handleResize = () => { - setIsMobile(window.innerWidth < 600); + setIsMobile(window.innerWidth < drawerWidth); }; handleResize(); @@ -153,7 +153,7 @@ const ResponsiveDrawer = () => { padding: "0px", }} > - + {imageLoaded && ( { )} @@ -176,7 +178,7 @@ const ResponsiveDrawer = () => { aria-label="open drawer" edge="start" onClick={handleDrawerToggle} - sx={{ mr: 2, display: { sm: "none" } }} + sx={{ display: isMobile ? "block" : "none", mr: 2 }} > {mobileOpen ? ( @@ -188,7 +190,10 @@ const ResponsiveDrawer = () => { { keepMounted: false, }} sx={{ - display: { xs: "block", sm: "none" }, + display: isMobile ? "block" : "none", "& .MuiDrawer-paper": { position: "inherit", boxSizing: "border-box", diff --git a/pages/index.tsx b/pages/index.tsx index 414086bf..ff819e53 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -67,7 +67,7 @@ const statistics = [ ]; const Index = () => { - const isSmall = useMediaQuery("(max-width: 800px)"); + const isSmall = useMediaQuery("(max-width: 767px)"); const glideRef = useRef(null); let glideTestimonial; @@ -159,7 +159,7 @@ const Index = () => { return ( -
+
{ style={{ position: "relative", paddingLeft: isSmall ? "25px" : "90px", - maxWidth: 900, + maxWidth: "768px", flexGrow: 1, margin: "auto", justifyContent: "center", @@ -326,7 +326,7 @@ const Index = () => {

Date: Mon, 8 Jul 2024 12:00:03 +0800 Subject: [PATCH 21/44] [MPT-116] feat(umami): record document ID + process env in impression/click (#800) * feat(umami): record document ID + process env in impression/click Due to changes in React 18, under Strict Mode, useEffect will be triggered twice upon render. It is recommended to not override this behaviour, and to instead specify information distinguishing between development and production environment. See https://react.dev/learn/synchronizing-with-effects#sending-analytics for more details. * fix(umami): only track impression if in viewport Although lazy loading is utilised in `ResultView`, all components will still be fetched on the first render (see https://medium.com/@pal.amittras/lazy-loading-react-components-on-page-scroll-using-intersection-observer-api-hook-and-wrapper-1a81e4cf1325). Hence, this commit adds an additional track based on the Intersection Observer API (see https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API). * fixup! fix(umami): only track impression if in viewport --- components/ResultView.tsx | 5 +++++ components/ResultViewGrid.tsx | 37 +++++++++++++++++++++-------------- package-lock.json | 15 ++++++++++++++ package.json | 1 + 4 files changed, 43 insertions(+), 15 deletions(-) diff --git a/components/ResultView.tsx b/components/ResultView.tsx index c6b3f404..762dd997 100644 --- a/components/ResultView.tsx +++ b/components/ResultView.tsx @@ -86,6 +86,7 @@ const COLORS = [ const industryColors = new Map(); type DisplayResult = { + id: string; displayName: string | null; displayIndustries: Array; displayRole: string | null; @@ -100,6 +101,7 @@ type DisplayResult = { const ResultView = ({ result }: { result: SearchResult }) => { const { + id: idObj, course_of_study: courseOfStudy, full_bio: fullBio, industries, @@ -110,6 +112,8 @@ const ResultView = ({ result }: { result: SearchResult }) => { thumbnail_image_url, } = result; + const id = idObj.raw; + const displayName = name && name.raw ? fillHighlights(name.snippet, name.raw) : null; @@ -149,6 +153,7 @@ const ResultView = ({ result }: { result: SearchResult }) => { : null; const displayResult: DisplayResult = { + id, displayCourseOfStudy, displayFullBio, displayIndustries, diff --git a/components/ResultViewGrid.tsx b/components/ResultViewGrid.tsx index 4e8f9674..73de9538 100644 --- a/components/ResultViewGrid.tsx +++ b/components/ResultViewGrid.tsx @@ -1,5 +1,6 @@ -import React, { useState, useEffect, lazy, Suspense } from "react"; +import React, { Suspense, lazy, useEffect, useRef, useState } from "react"; import { Modal, Button, CardActionArea } from "@mui/material"; +import { useInView } from "react-intersection-observer"; import type { DisplayResult } from "./ResultView"; const LazyResultViewList = lazy(() => import("./ResultViewList")); @@ -15,14 +16,30 @@ const ResultViewGrid = ({ }: { displayResult: DisplayResult; }) => { - const { displayName, displayOrganisation, displayRole, thumbnailImageUrl } = - displayResult; + const { ref, inView } = useInView(); + + const { + id, + displayName, + displayOrganisation, + displayRole, + thumbnailImageUrl, + } = displayResult; + + const inViewRef = useRef(false); + useEffect(() => { + if (!inViewRef.current && inView) { + inViewRef.current = true; + window.umami.track("Impression", { id, env: process.env.NODE_ENV }); + } + }, [id, inView]); const [isModalOpen, setIsModalOpen] = useState(false); const handleOpen = () => { window.history.pushState({}, ""); setIsModalOpen(true); + window.umami.track("Click", { id, env: process.env.NODE_ENV }); }; const handleClose = () => { @@ -45,6 +62,7 @@ const ResultViewGrid = ({ height: "auto", padding: "0px", }} + ref={ref} > - diff --git a/package-lock.json b/package-lock.json index a6494694..c67ba678 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "next": "^14.1.1", "react": "^18.3.1", "react-dom": "^18.2.0", + "react-intersection-observer": "^9.10.3", "styled-components": "^6.1.8" }, "devDependencies": { @@ -2950,6 +2951,20 @@ "react": "^18.2.0" } }, + "node_modules/react-intersection-observer": { + "version": "9.10.3", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.10.3.tgz", + "integrity": "sha512-9NYfKwPZRovB6QJee7fDg0zz/SyYrqXtn5xTZU0vwLtLVBtfu9aZt1pVmr825REE49VPDZ7Lm5SNHjJBOTZHpA==", + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", diff --git a/package.json b/package.json index c53ad58e..e0d112ce 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "next": "^14.1.1", "react": "^18.3.1", "react-dom": "^18.2.0", + "react-intersection-observer": "^9.10.3", "styled-components": "^6.1.8" }, "scripts": { From a300c363cca38ed748add83644711d1429f36b7d Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Tue, 16 Jul 2024 15:37:02 +0800 Subject: [PATCH 22/44] [MPT-108] [MPT-103] refactor(styles): use grid (#798) * fix: standardise to Tailwind breakpoints The default Tailwind breakpoints used are listed at https://tailwindcss.com/docs/screens. * fix(ResultView): revert changes to breakpoints Since ResultView breakpoints correspond to that of Elastic Search UI, which cannot be easily modified, we should stick to the same cutoffs of max-width 800px (or min-width 801px). * refactor(styles): use grid This commit fixes both MPT-108 (https://github.com/AdvisorySG/mentorship-page/issues/778) and MPT-103 (https://github.com/AdvisorySG/mentorship-page/issues/770), by switching from flexbox (which is primarily intended for one-dimensional layouts) to grid (which is more suitable for two-dimensional). Due to a quirk of Elastic Search UI which prevents the modification of breakpoints, I have left a comment in `ResultView.css` which explains why the minimum grid width is reduced from 160px to 140px for 801-900px screen widths. --- styles/ResultView.css | 116 +++++++++++++++++++++++++++++------------- 1 file changed, 81 insertions(+), 35 deletions(-) diff --git a/styles/ResultView.css b/styles/ResultView.css index 14aec479..7471fcc0 100644 --- a/styles/ResultView.css +++ b/styles/ResultView.css @@ -1,13 +1,85 @@ -.sui-resultgrid, -.sui-result { +/* Shared */ + +.sui-result__title { + font-weight: 600; +} + +.sui-result__details { + padding: 0 24px; +} + +@media only screen and (max-width: 768px) { + .sui-resultgrid, + .sui-result { + flex-direction: column; + } + + .sui-result__title { + text-align: center; + width: 100%; + } + + .sui-result__body { + padding-top: 8px; + } + + .sui-result__image { + padding-left: 0px; + padding-top: 0px; + object-position: center; + height: 160px; + } + + .sui-result__industries { + display: flex; + flex-wrap: wrap; + justify-content: center; + } + + .sui-result__image img { + max-width: 160px; + height: 160px; + margin: 0 auto; + } +} + +/* Grid */ + +.sui-results-container { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + align-items: stretch; + gap: 24px; +} + +@media only screen and (min-width: 801px) and (max-width: 900px) { + /* This style forces a 3-column layout when Elastic Search UI switches to the sidebar + layout. Because 140px is slightly too small (the preferred size is 160px as used in + the main grid style), this media query is intended to only apply to a narrow range of + screen widths where Elastic Search UI would otherwise display 2-columns in the sidebar + layout. + */ + .sui-results-container { + grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); + } +} + +/* Modal */ + +.sui-result__modal { display: flex; - box-sizing: border-box; - flex-basis: 165px; - flex-grow: 1; + align-items: center; + margin: auto; + width: 90%; + max-width: 800px; + max-height: 90%; + overflow: scroll; } -.sui-result + .sui-result { - margin-top: 0px; +.sui-result { + display: flex; + box-sizing: border-box; + flex: 1 0 160px; } .sui-result__body { @@ -27,20 +99,11 @@ height: 80%; } -.sui-result__title { - font-weight: 600; -} - .sui-result__biography::after { content: " "; } -.sui-result__details { - padding: 0 24px; -} - -@media only screen and (max-width: 800px) { - .sui-resultgrid, +@media only screen and (max-width: 767px) { .sui-result { flex-direction: column; } @@ -74,27 +137,10 @@ } } -@media only screen and (min-width: 801px) { +@media only screen and (min-width: 768px) { .sui-result__image { width: 200px; height: 200px; padding-top: 10px; } } - -.sui-results-container { - display: flex; - flex-flow: row wrap; - justify-content: flex-start; - align-items: stretch; - gap: 24px; -} - -.sui-result__modal { - display: flex; - align-items: center; - margin: auto; - max-width: 800px; - max-height: 80%; - overflow: scroll; -} From 639b5558251ca9070401e260e89e49b0521bd309 Mon Sep 17 00:00:00 2001 From: Ng Wei En Date: Sun, 21 Jul 2024 12:40:17 +0800 Subject: [PATCH 23/44] [MPT-119] Mentorship 2024 Launch (#810) * feat(index): update stats & apply link * chore: shift assets consts to src/ * chore: reorganise directory structure * chore(faq): update qna * fix(styles): rm unnecessary nav * fix: typescript build errors * fixup! chore(faq): update qna * chore: load 2024 mentors * fix: make Apply Now white text + open in new tab * fix(faq): vertical align accordion text * fix(index): update partner logos * fix(index): use yearless programme logo * fix(index): disable testimonials --- components/Logo.tsx | 59 ---- components/assets/index.ts | 34 -- index.html | 6 +- package-lock.json | 7 + package.json | 3 +- pages/faq.tsx | 218 ------------ public/advisory-mentorship-logo-2023.png | Bin 139623 -> 0 bytes public/advisory-mentorship-logo.png | Bin 0 -> 146854 bytes public/advisory-mentorship-partners.png | Bin 207015 -> 0 bytes public/logos/01_AiSP.png | Bin 0 -> 118412 bytes public/logos/02_Avanade.png | Bin 0 -> 15438 bytes public/logos/03_BASF.png | Bin 0 -> 7283 bytes public/logos/04_BCG.png | Bin 0 -> 8465 bytes public/logos/05_BCG X.png | Bin 0 -> 12303 bytes public/logos/06_CAG.png | Bin 0 -> 30581 bytes public/logos/07_Citi.png | Bin 0 -> 7309 bytes public/logos/08_Deloitte.png | Bin 0 -> 7868 bytes public/logos/09_ECDA.png | Bin 0 -> 24614 bytes public/logos/10_EDB.png | Bin 0 -> 12354 bytes public/logos/11_EY.png | Bin 0 -> 18452 bytes public/logos/12_Forward Dyson.png | Bin 0 -> 11802 bytes public/logos/13_GIC.png | Bin 0 -> 13480 bytes public/logos/14_GovTech.png | Bin 0 -> 23418 bytes public/logos/15_IMDA.png | Bin 0 -> 28123 bytes public/logos/16_Maxeon.png | Bin 0 -> 12744 bytes public/logos/17_MHA.png | Bin 0 -> 28668 bytes public/logos/18_NVPC.png | Bin 0 -> 14480 bytes public/logos/19_Standard Chartered.png | Bin 0 -> 12769 bytes public/logos/AISP.png | Bin 4157 -> 0 bytes public/logos/avanade.png | Bin 5433 -> 0 bytes public/logos/basf.png | Bin 3071 -> 0 bytes public/logos/bcg.jpg | Bin 16910 -> 0 bytes public/logos/bigIdea.png | Bin 3053 -> 0 bytes public/logos/bloomberg.png | Bin 2499 -> 0 bytes public/logos/citi.png | Bin 20817 -> 0 bytes public/logos/csa.png | Bin 45937 -> 0 bytes public/logos/dbs.png | Bin 4179 -> 0 bytes public/logos/deloitte.jpg | Bin 12919 -> 0 bytes public/logos/edb.png | Bin 47611 -> 0 bytes public/logos/edelman.jpg | Bin 124881 -> 0 bytes public/logos/ey.png | Bin 56946 -> 0 bytes public/logos/gic.png | Bin 74670 -> 0 bytes public/logos/google.png | Bin 40122 -> 0 bytes public/logos/govtech.png | Bin 7284 -> 0 bytes public/logos/ipr.png | Bin 8648 -> 0 bytes public/logos/kearney.png | Bin 2164 -> 0 bytes public/logos/maxeon.png | Bin 19538 -> 0 bytes public/logos/mha.png | Bin 5916 -> 0 bytes public/logos/nac.png | Bin 18797 -> 0 bytes public/logos/nvpc.png | Bin 4481 -> 0 bytes public/logos/one.png | Bin 25237 -> 0 bytes public/logos/sap.jpg | Bin 4588 -> 0 bytes public/logos/sc.jpg | Bin 9186 -> 0 bytes public/logos/sgtech.png | Bin 2202 -> 0 bytes public/logos/ttsh.png | Bin 29528 -> 0 bytes public/logos/we.png | Bin 22366 -> 0 bytes scripts/load_mentors.js | 1 + src/assets.tsx | 26 ++ {components => src/components}/Canvas.tsx | 6 +- {components => src/components}/Drawer.tsx | 15 +- {components => src/components}/Footer.tsx | 3 +- {components => src/components}/Header.tsx | 3 +- src/components/PartnerLogos.tsx | 24 ++ .../components}/PrivacyNote.tsx | 3 +- .../components}/ResetButton.tsx | 3 +- {components => src/components}/ResultView.tsx | 0 .../components}/ResultViewGrid.tsx | 15 +- .../components}/ResultViewList.tsx | 3 +- {components => src/components}/Statistics.tsx | 16 +- src/globals.d.ts | 5 + src/links.tsx | 6 + {pages => src/pages}/_app.tsx | 3 +- {pages => src/pages}/_document.tsx | 0 src/pages/faq.tsx | 314 ++++++++++++++++++ {pages => src/pages}/index.tsx | 82 +++-- {pages => src/pages}/mentors.tsx | 6 +- {styles => src/styles}/App.css | 0 {styles => src/styles}/Footer.css | 0 {styles => src/styles}/Header.css | 20 +- {styles => src/styles}/Logo.css | 21 +- {styles => src/styles}/ResultView.css | 0 {styles => src/styles}/Statistics.css | 0 {styles => src/styles}/globals.css | 0 83 files changed, 498 insertions(+), 404 deletions(-) delete mode 100644 components/Logo.tsx delete mode 100644 components/assets/index.ts delete mode 100644 pages/faq.tsx delete mode 100644 public/advisory-mentorship-logo-2023.png create mode 100644 public/advisory-mentorship-logo.png delete mode 100644 public/advisory-mentorship-partners.png create mode 100644 public/logos/01_AiSP.png create mode 100644 public/logos/02_Avanade.png create mode 100644 public/logos/03_BASF.png create mode 100644 public/logos/04_BCG.png create mode 100644 public/logos/05_BCG X.png create mode 100644 public/logos/06_CAG.png create mode 100644 public/logos/07_Citi.png create mode 100644 public/logos/08_Deloitte.png create mode 100644 public/logos/09_ECDA.png create mode 100644 public/logos/10_EDB.png create mode 100644 public/logos/11_EY.png create mode 100644 public/logos/12_Forward Dyson.png create mode 100644 public/logos/13_GIC.png create mode 100644 public/logos/14_GovTech.png create mode 100644 public/logos/15_IMDA.png create mode 100644 public/logos/16_Maxeon.png create mode 100644 public/logos/17_MHA.png create mode 100644 public/logos/18_NVPC.png create mode 100644 public/logos/19_Standard Chartered.png delete mode 100644 public/logos/AISP.png delete mode 100644 public/logos/avanade.png delete mode 100644 public/logos/basf.png delete mode 100644 public/logos/bcg.jpg delete mode 100644 public/logos/bigIdea.png delete mode 100644 public/logos/bloomberg.png delete mode 100644 public/logos/citi.png delete mode 100644 public/logos/csa.png delete mode 100644 public/logos/dbs.png delete mode 100644 public/logos/deloitte.jpg delete mode 100644 public/logos/edb.png delete mode 100644 public/logos/edelman.jpg delete mode 100644 public/logos/ey.png delete mode 100644 public/logos/gic.png delete mode 100644 public/logos/google.png delete mode 100644 public/logos/govtech.png delete mode 100644 public/logos/ipr.png delete mode 100644 public/logos/kearney.png delete mode 100644 public/logos/maxeon.png delete mode 100644 public/logos/mha.png delete mode 100644 public/logos/nac.png delete mode 100644 public/logos/nvpc.png delete mode 100644 public/logos/one.png delete mode 100644 public/logos/sap.jpg delete mode 100644 public/logos/sc.jpg delete mode 100644 public/logos/sgtech.png delete mode 100644 public/logos/ttsh.png delete mode 100644 public/logos/we.png create mode 100644 src/assets.tsx rename {components => src/components}/Canvas.tsx (83%) rename {components => src/components}/Drawer.tsx (95%) rename {components => src/components}/Footer.tsx (98%) rename {components => src/components}/Header.tsx (99%) create mode 100644 src/components/PartnerLogos.tsx rename {components => src/components}/PrivacyNote.tsx (96%) rename {components => src/components}/ResetButton.tsx (95%) rename {components => src/components}/ResultView.tsx (100%) rename {components => src/components}/ResultViewGrid.tsx (96%) rename {components => src/components}/ResultViewList.tsx (98%) rename {components => src/components}/Statistics.tsx (71%) create mode 100644 src/links.tsx rename {pages => src/pages}/_app.tsx (97%) rename {pages => src/pages}/_document.tsx (100%) create mode 100644 src/pages/faq.tsx rename {pages => src/pages}/index.tsx (87%) rename {pages => src/pages}/mentors.tsx (98%) rename {styles => src/styles}/App.css (100%) rename {styles => src/styles}/Footer.css (100%) rename {styles => src/styles}/Header.css (83%) rename {styles => src/styles}/Logo.css (73%) rename {styles => src/styles}/ResultView.css (100%) rename {styles => src/styles}/Statistics.css (100%) rename {styles => src/styles}/globals.css (100%) diff --git a/components/Logo.tsx b/components/Logo.tsx deleted file mode 100644 index b336ec66..00000000 --- a/components/Logo.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import React from "react"; -import "../styles/Logo.css"; - -import * as logos from "../components/assets"; - -const Logo: React.FC = () => { - const logoArray = [ - logos.aisp, - logos.avanade, - logos.basf, - logos.bcg, - logos.bigIdea, - logos.bloomberg, - logos.citi, - logos.csa, - logos.dbs, - logos.deloitte, - logos.edb, - logos.edelman, - logos.ey, - logos.gic, - logos.govtech, - logos.ipr, - logos.kearney, - logos.maxeon, - logos.mha, - logos.nac, - logos.nvpc, - logos.one, - logos.sap, - logos.sc, - logos.sgtech, - logos.ttsh, - logos.we, - logos.google, - ]; - - return ( -

-
- {logoArray.map((logo, index) => ( - {`Logo - ))} -
- -
- {logoArray.map((logo, index) => ( - {`Logo - ))} -
-
- ); -}; - -export default Logo; diff --git a/components/assets/index.ts b/components/assets/index.ts deleted file mode 100644 index 0023de8b..00000000 --- a/components/assets/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -export const advisoryLogo = `/advisory-logo.png`; -export const advisoryMentorshipLogo = `/advisory-mentorship-logo-2023.png`; -export const advisoryMentorshipPartners = `/advisory-mentorship-partners.png`; - -export const aisp = "/logos/AISP.png"; -export const avanade = "/logos/avanade.png"; -export const basf = "/logos/basf.png"; -export const bcg = "/logos/bcg.jpg"; -export const bigIdea = "/logos/bigIdea.png"; -export const bloomberg = "/logos/bloomberg.png"; -export const citi = "/logos/citi.png"; -export const csa = "/logos/csa.png"; -export const dbs = "/logos/dbs.png"; -export const deloitte = "/logos/deloitte.jpg"; -export const edb = "/logos/edb.png"; -export const edelman = "/logos/edelman.jpg"; -export const ey = "/logos/ey.png"; -export const gic = "/logos/gic.png"; -export const govtech = "/logos/govtech.png"; -export const ipr = "/logos/ipr.png"; -export const kearney = "/logos/kearney.png"; -export const maxeon = "/logos/maxeon.png"; -export const mha = "/logos/mha.png"; -export const nac = "/logos/nac.png"; -export const nvpc = "/logos/nvpc.png"; -export const one = "/logos/one.png"; -export const sap = "/logos/sap.jpg"; -export const sc = "/logos/sc.jpg"; -export const sgtech = "/logos/sgtech.png"; -export const ttsh = "/logos/ttsh.png"; -export const we = "/logos/we.png"; -export const google = "/logos/google.png"; - -export const footerLogo = "/footer-logo.png"; diff --git a/index.html b/index.html index d66e570c..588f981f 100644 --- a/index.html +++ b/index.html @@ -16,7 +16,7 @@ @@ -28,7 +28,7 @@ /> @@ -39,7 +39,7 @@ />