diff --git a/package-lock.json b/package-lock.json index cc6e52546..a82a933c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,8 @@ "@fortawesome/free-brands-svg-icons": "^6.5.1", "@fortawesome/free-regular-svg-icons": "^6.5.1", "@mdx-js/react": "^3.0.0", + "@mui/material": "^6.1.5", + "@mui/styles": "^6.1.5", "autoprefixer": "^10.4.19", "canvas": "^2.11.2", "clsx": "^2.0.0", @@ -33,8 +35,9 @@ "react-bootstrap": "^2.10.4", "react-dom": "^18.0.0", "react-markdown": "^9.0.1", + "react-router": "^5.3.4", + "react-router-dom": "^5.3.4", "react-slick": "^0.30.2", - "reactjs-popup": "^2.0.6", "request": "^2.88.2", "rss": "^1.2.2", "sharp": "^0.34.2", @@ -3901,16 +3904,166 @@ "node": ">=18.0" } }, - "node_modules/@emnapi/runtime": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", - "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", - "license": "MIT", + "node_modules/@emotion/babel-plugin": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", + "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", + "optional": true, + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.2.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "optional": true, + "peer": true + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.13.1", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", + "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", + "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", + "optional": true, + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/react": { + "version": "11.13.3", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.3.tgz", + "integrity": "sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==", + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/cache": "^11.13.0", + "@emotion/serialize": "^1.3.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", + "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" + }, + "node_modules/@emotion/styled": { + "version": "11.13.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz", + "integrity": "sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==", "optional": true, + "peer": true, "dependencies": { - "tslib": "^2.4.0" + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz", + "integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==", + "optional": true, + "peer": true, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", + "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" + }, "node_modules/@formspree/core": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@formspree/core/-/core-3.0.4.tgz", @@ -3983,146 +4136,6 @@ "@hapi/hoek": "^9.0.0" } }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.2.tgz", - "integrity": "sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.1.0" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.2.tgz", - "integrity": "sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.1.0" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz", - "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz", - "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz", - "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz", - "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz", - "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz", - "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, "node_modules/@img/sharp-libvips-linux-x64": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz", @@ -4139,22 +4152,6 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz", - "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz", @@ -4171,72 +4168,6 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.2.tgz", - "integrity": "sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.1.0" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.2.tgz", - "integrity": "sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.1.0" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.2.tgz", - "integrity": "sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.1.0" - } - }, "node_modules/@img/sharp-linux-x64": { "version": "0.34.2", "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.2.tgz", @@ -4259,28 +4190,6 @@ "@img/sharp-libvips-linux-x64": "1.1.0" } }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.2.tgz", - "integrity": "sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.1.0" - } - }, "node_modules/@img/sharp-linuxmusl-x64": { "version": "0.34.2", "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.2.tgz", @@ -4303,82 +4212,6 @@ "@img/sharp-libvips-linuxmusl-x64": "1.1.0" } }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.2.tgz", - "integrity": "sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.4.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.2.tgz", - "integrity": "sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.2.tgz", - "integrity": "sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz", - "integrity": "sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -4964,6 +4797,253 @@ "react": ">=16" } }, + "node_modules/@mui/core-downloads-tracker": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.1.5.tgz", + "integrity": "sha512-3J96098GrC95XsLw/TpGNMxhUOnoG9NZ/17Pfk1CrJj+4rcuolsF2RdF3XAFTu/3a/A+5ouxlSIykzYz6Ee87g==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/material": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.1.5.tgz", + "integrity": "sha512-rhaxC7LnlOG8zIVYv7BycNbWkC5dlm9A/tcDUp0CuwA7Zf9B9JP6M3rr50cNKxI7Z0GIUesAT86ceVm44quwnQ==", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@mui/core-downloads-tracker": "^6.1.5", + "@mui/system": "^6.1.5", + "@mui/types": "^7.2.18", + "@mui/utils": "^6.1.5", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.11", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "prop-types": "^15.8.1", + "react-is": "^18.3.1", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/material-pigment-css": "^6.1.5", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@mui/material-pigment-css": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@mui/private-theming": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.1.5.tgz", + "integrity": "sha512-FJqweqEXk0KdtTho9C2h6JEKXsOT7MAVH2Uj3N5oIqs6YKxnwBn2/zL2QuYYEtj5OJ87rEUnCfFic6ldClvzJw==", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@mui/utils": "^6.1.5", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.1.5.tgz", + "integrity": "sha512-tiyWzMkHeWlOoE6AqomWvYvdml8Nv5k5T+LDwOiwHEawx8P9Lyja6ZwWPU6xljwPXYYPT2KBp1XvMly7dsK46A==", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@emotion/cache": "^11.13.1", + "@emotion/serialize": "^1.3.2", + "@emotion/sheet": "^1.4.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/styles": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.1.5.tgz", + "integrity": "sha512-AhA/zgaXVg32GsNAUrt0Ojqjet7cVzQ51x4DVMaAA/ohtTh3EEyOEQZCMxhGpxJRRM/ya6fk6xiKd9xSNjr9mA==", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@emotion/hash": "^0.9.2", + "@mui/private-theming": "^6.1.5", + "@mui/types": "^7.2.18", + "@mui/utils": "^6.1.5", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.10.0", + "jss-plugin-camel-case": "^10.10.0", + "jss-plugin-default-unit": "^10.10.0", + "jss-plugin-global": "^10.10.0", + "jss-plugin-nested": "^10.10.0", + "jss-plugin-props-sort": "^10.10.0", + "jss-plugin-rule-value-function": "^10.10.0", + "jss-plugin-vendor-prefixer": "^10.10.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.1.5.tgz", + "integrity": "sha512-vPM9ocQ8qquRDByTG3XF/wfYTL7IWL/20EiiKqByLDps8wOmbrDG9rVznSE3ZbcjFCFfMRMhtxvN92bwe/63SA==", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@mui/private-theming": "^6.1.5", + "@mui/styled-engine": "^6.1.5", + "@mui/types": "^7.2.18", + "@mui/utils": "^6.1.5", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.18", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.18.tgz", + "integrity": "sha512-uvK9dWeyCJl/3ocVnTOS6nlji/Knj8/tVqVX03UVTpdmTJYu/s4jtDd9Kvv0nRGE0CUSNW1UYAci7PYypjealg==", + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.1.5.tgz", + "integrity": "sha512-vp2WfNDY+IbKUIGg+eqX1Ry4t/BilMjzp6p9xO1rfqpYjH1mj8coQxxDfKxcQLzBQkmBJjymjoGOak5VUYwXug==", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@mui/types": "^7.2.18", + "@types/prop-types": "^15.7.13", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -5729,6 +5809,14 @@ "@types/node": "*" } }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/@types/prismjs": { "version": "1.26.5", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", @@ -6543,6 +6631,39 @@ "object.assign": "^4.1.0" } }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "optional": true, + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.13", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", @@ -8032,6 +8153,15 @@ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, + "node_modules/css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "dependencies": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, "node_modules/css-what": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", @@ -9435,6 +9565,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "optional": true, + "peer": true + }, "node_modules/find-up": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", @@ -10642,6 +10779,11 @@ "node": ">=10.17.0" } }, + "node_modules/hyphenate-style-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==" + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -10976,6 +11118,11 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" + }, "node_modules/is-installed-globally": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", @@ -11354,6 +11501,88 @@ "node": ">=0.6.0" } }, + "node_modules/jss": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", + "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/jss" + } + }, + "node_modules/jss-plugin-camel-case": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", + "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-default-unit": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", + "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-global": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", + "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-nested": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", + "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-props-sort": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", + "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-rule-value-function": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", + "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-vendor-prefixer": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", + "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.10.0" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -16913,19 +17142,6 @@ "react-dom": ">=16.6.0" } }, - "node_modules/reactjs-popup": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/reactjs-popup/-/reactjs-popup-2.0.6.tgz", - "integrity": "sha512-A+tt+x9wdgZiZjv0e2WzYLD3IfFwJALaRaqwrCSXGjo0iQdsry/EtBEbQXRSmQs7cHmOi5eytCiSlOm8k4C+dg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -18760,6 +18976,11 @@ "postcss": "^8.4.31" } }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -20241,6 +20462,17 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "license": "ISC" }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/yocto-queue": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", diff --git a/package.json b/package.json index f8b871a20..3a76ddafa 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,8 @@ "@fortawesome/free-brands-svg-icons": "^6.5.1", "@fortawesome/free-regular-svg-icons": "^6.5.1", "@mdx-js/react": "^3.0.0", + "@mui/material": "^6.1.5", + "@mui/styles": "^6.1.5", "autoprefixer": "^10.4.19", "canvas": "^2.11.2", "clsx": "^2.0.0", @@ -47,8 +49,9 @@ "react-bootstrap": "^2.10.4", "react-dom": "^18.0.0", "react-markdown": "^9.0.1", + "react-router": "^5.3.4", + "react-router-dom": "^5.3.4", "react-slick": "^0.30.2", - "reactjs-popup": "^2.0.6", "request": "^2.88.2", "rss": "^1.2.2", "sharp": "^0.34.2", diff --git a/src/components/about/LargePortraitCard.tsx b/src/components/about/LargePortraitCard.tsx index 1e952ecab..0ad6cb712 100644 --- a/src/components/about/LargePortraitCard.tsx +++ b/src/components/about/LargePortraitCard.tsx @@ -6,17 +6,28 @@ import React from "react"; import Avatar from "./Avatar"; export function Distinction({ person }) { - if (person.distinctionTitle.length !== 0) { - return person.distinctionTitle.map((distinction, index) => ( -
- - - {distinction} - -
- )); - } else return
; + const HasPersonDistinction = person.distinctionTitle.length !== 0; + + return ( +
+ {HasPersonDistinction ? ( + + ) : null} +
+ ); } + export default function LargePortraitCard({ person }) { return (
diff --git a/src/components/about/LargePortraitCardPage.tsx b/src/components/about/LargePortraitCardPage.tsx new file mode 100644 index 000000000..234340813 --- /dev/null +++ b/src/components/about/LargePortraitCardPage.tsx @@ -0,0 +1,80 @@ +import React from 'react'; +import Layout from '@theme/Layout'; +import { useHistory, useLocation } from '@docusaurus/router'; +import { useEffect } from 'react'; +import { Route } from 'react-router-dom'; +import { About } from '@site/src/components/about' +import LargePortraitCard from '@site/src/components/about/LargePortraitCard'; +import { getTeamByPageName } from '@site/src/components/about'; +import styles from "@site/src/components/about/styles.module.css"; + +export default function LargePortraitCardPage() { + const location = useLocation(); + const history = useHistory(); + + useEffect(() => { + if (location.state?.fromAbout) { + window.scrollTo({ top: location.state.scrollY ?? 0, behavior: 'auto' }); + } + }, []); + + const handleOverlayClick = () => { + const scrollY = location.state?.scrollY; + setTimeout(() => { + if (scrollY !== undefined) { + window.scrollTo({ top: scrollY, behavior: 'auto' }); + } + }, 0); + history.replace('/about'); + }; + + const handleClose = () => { + const scrollY = location.state?.scrollY; + if (location.state?.fromAbout) { + history.replace('/about'); + + setTimeout(() => { + if (scrollY !== undefined) { + window.scrollTo({ top: scrollY, behavior: 'auto' }); + } + }, 0); + } else { + history.goBack(); + } + } + return ( + + + { + const { pageName } = match.params; /* extract the dynamic part from the url i.e. the pageName*/ + const teamMembers = getTeamByPageName(pageName); + const person = teamMembers.find((person) => person.pageName== pageName); + if (!person) return null; + + return ( +
+
e.stopPropagation()} + > +
+
+ ); + }} + /> +
+ ) +} + diff --git a/src/components/about/SmallPortraitCard.tsx b/src/components/about/SmallPortraitCard.tsx index 947af9200..55ffb31a0 100644 --- a/src/components/about/SmallPortraitCard.tsx +++ b/src/components/about/SmallPortraitCard.tsx @@ -1,113 +1,42 @@ import styles from "./styles.module.css"; -import Popup from "reactjs-popup"; -import SocialMediaContacts from "./SocialMediaContacts"; -import { useRef, useState } from "react"; -import LargePortraitCard from "./LargePortraitCard"; +import { useHistory } from "@docusaurus/router"; import Avatar from "./Avatar"; -const contentStyle = { - background: "white", - borderRadius: "10px", -}; +export function SmallPortraitCard({ person }) { + const history = useHistory(); -const overlayStyle = { - backgroundColor: "var(--ifm-background-color-popup-overlay)", - opacity: "0.4", - width: "100%", - height: "100%", -}; - -function getCenterOfViewport() { - let horizontalCenter = Math.floor(window.innerWidth / 2); - let verticalCenter = Math.floor(window.innerHeight / 2); - return [horizontalCenter, verticalCenter]; -} - -function calculateOffsets(elementRef) { - const rect = elementRef.current.getBoundingClientRect(); - const [xViewportCenter, yViewportCenter] = getCenterOfViewport(); - const [xCardCenter, yCardCenter] = [ - rect.left + rect.width / 2, - rect.top + rect.height / 2, - ]; - const offsets = [ - xViewportCenter - xCardCenter, - yViewportCenter - yCardCenter, - ]; - return offsets; -} - -export function SmallPortraitCard({ person, setOffsets }) { - const elementRef = useRef(null); + function openDialog() { + const completeName = person.completeName.replace(/\s+/g, ''); + const completeNameWithoutAccents = completeName + .normalize("NFD") + .replace(/[\u0300-\u036f]/g, ''); + history.push({ + pathname: `/about/${completeNameWithoutAccents}`, + state: { fromAbout: true, scrollY: window.scrollY, }, + }); + } return ( -
{ - setOffsets(calculateOffsets(elementRef)); - }} - > -
- -
- {person.completeName} -
-
-
-
- {person.position} -
-
- +
+
+
+ +
+ {person.completeName} +
-
-
- ); -} -export default function PopupPortrait({ person }) { - const [offsets, setOffsets] = useState([0, 0]); - let [isPopupOpen, setIsPopupOpen] = useState(false); - - return ( -
- setIsPopupOpen(false)} - trigger={ -
- +
+
+ {person.position}
- } - onOpen={() => { - setIsPopupOpen(true); - }} - contentStyle={contentStyle} - overlayStyle={overlayStyle} - position={"center center"} - offsetX={offsets[0]} - offsetY={offsets[1]} - > -
- -
- +
); } diff --git a/src/components/about/SubTeam.tsx b/src/components/about/SubTeam.tsx index bc3d840af..2522e3dcd 100644 --- a/src/components/about/SubTeam.tsx +++ b/src/components/about/SubTeam.tsx @@ -1,21 +1,16 @@ import styles from "./styles.module.css"; -import PopupPortrait from "./SmallPortraitCard"; +import { SmallPortraitCard } from "./SmallPortraitCard"; -export default function SubTeam({ - subTeamName, - subTeam -}) { +export default function SubTeam({ subTeamName, subTeam }) { return (

{subTeamName}

    {subTeam.map((person, index) => ( -
  • +
  • - +
  • ))} diff --git a/src/components/about/Team/team.ts b/src/components/about/Team/team.ts index 0fcdcec07..c1d725b0a 100644 --- a/src/components/about/Team/team.ts +++ b/src/components/about/Team/team.ts @@ -24,6 +24,8 @@ import GabrielaMD from "@site/src/components/about/Team/Gabriela.md"; import GabrielaAvatarUrl from "@site/static/img/avatars/Gabriela.png"; import GregMD from "@site/src/components/about/Team/Greg.md"; import GregAvatarUrl from "@site/static/img/avatars/Greg.png"; +import GuyMD from "@site/src/components/about/Team/Guy.md"; +import GuyAvatarUrl from "@site/static/img/avatars/Guy.png"; import HindMD from "@site/src/components/about/Team/Hind.md"; import HindAvatarUrl from "@site/static/img/avatars/Hind.png"; import IanMD from "@site/src/components/about/Team/Ian.md"; @@ -48,6 +50,8 @@ import MeriemMD from "@site/src/components/about/Team/Meriem.md"; import MeriemAvatarUrl from "@site/static/img/avatars/Meriem.png"; import NicolasMD from "@site/src/components/about/Team/Nicolas.md"; import NicolasAvatarUrl from "@site/static/img/avatars/Nicolas.png"; +import OusemaMD from "@site/src/components/about/Team/Ousema.md"; +import OusemaAvatarUrl from "@site/static/img/avatars/Ousema.png"; import RaulMD from "@site/src/components/about/Team/Raul.md"; import RaulAvatarUrl from "@site/static/img/avatars/Raul.png"; import RomainMD from "@site/src/components/about/Team/Romain.md"; @@ -64,542 +68,540 @@ import TrungMD from "@site/src/components/about/Team/Trung.md"; import TrungAvatarUrl from "@site/static/img/avatars/Trung.png"; import YahiaMD from "@site/src/components/about/Team/Yahia.md"; import YahiaAvatarUrl from "@site/static/img/avatars/Yahia.png"; -import OusemaMD from "@site/src/components/about/Team/Ousema.md"; -import OusemaAvatarUrl from "@site/static/img/avatars/Ousema.png"; -import GuyMD from "@site/src/components/about/Team/Guy.md"; -import GuyAvatarUrl from "@site/static/img/avatars/Guy.png"; -export const coreTeam = [ - { - completeName: "Thorsten Beier", - firstName: "Thorsten", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/DerThorsten", - LinkedInLink: "https://www.linkedin.com/in/thorsten-beier-95b121189/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@derthorsten", - avatarUrl: ThorstenAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: ThorstenMD, - }, - { - completeName: " Andreas Trawöger", - firstName: "Andreas", - position: "DevOps Engineer", - GitHubLink: "https://github.com/atrawog", - LinkedInLink: "", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@atrawog", - avatarUrl: AndreasAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: AndreasMD, - }, - { - completeName: "Denisa Checiu", - firstName: "Denisa", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/DenisaCG", - LinkedInLink: "https://www.linkedin.com/in/denisa-checiu-georgiana/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "DenisaCheciu", - avatarUrl: DenisaAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "coreTeam", - BioComponent: DenisaMD, - }, - { - completeName: "Joël Lamotte", - firstName: "Joel", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/Klaim", - LinkedInLink: "https://www.linkedin.com/in/a-jo%C3%ABl-lamotte-a5b09b85/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@Klaim", - avatarUrl: JoelAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: JoelMD, - }, - { - completeName: "Florence Haudin", - firstName: "Florence", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/HaudinFlorence", - LinkedInLink: "https://www.linkedin.com/in/florence-haudin-fr/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@HaudinFlorence", - avatarUrl: FlorenceAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: FlorenceMD, - }, - { - completeName: "Nicolas Brichet", - firstName: "Nicolas", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/brichet", - LinkedInLink: "https://www.linkedin.com/in/nicolas-brichet-a26369150/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@brichet", - avatarUrl: NicolasAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "coreTeam", - BioComponent: NicolasMD, - }, - { - completeName: "Isabel Paredes", - firstName: "Isabel", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/ihuicatl", - LinkedInLink: "https://www.linkedin.com/in/isabel-paredes/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@IsabelParedes", - avatarUrl: IsabelAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "coreTeam", - BioComponent: IsabelMD, - }, - { - completeName: "Gabriela Vives", - firstName: "Gabriela", - position: "User Experience Researcher and Designer", - GitHubLink: "https://github.com/GabrielaVives", - LinkedInLink: "https://www.linkedin.com/in/gabriela-vives-831ba853/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@GabrielaVives", - avatarUrl: GabrielaAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: GabrielaMD, - }, - { - completeName: "Hind Montassif", - firstName: "Hind", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/Hind-M", - LinkedInLink: "https://www.linkedin.com/in/hindmontassif/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@Hind-M", - avatarUrl: HindAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: HindMD, - }, - { - completeName: "Julien Jerphanion", - firstName: "Julien", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/jjerphan", - LinkedInLink: "https://www.linkedin.com/in/jjerphan/", - BlueskyLink:"https://bsky.app/profile/jjerphan.xyz", - MastodonLink:"https://fosstodon.org/@jjerphan", - GitHubName: "@jjerphan", - avatarUrl: JulienAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: JulienMD, - }, - { - completeName: "Anutosh Bhat", - firstName: "Anutosh", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/anutosh491", - LinkedInLink: "https://www.linkedin.com/in/anutosh-bhat-66ba961a8/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@anutosh491", - avatarUrl: AnutoshAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: AnutoshMD, - }, - { - completeName: "Greg Mooney", - firstName: "Greg", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/gjmooney", - LinkedInLink: "https://www.linkedin.com/in/gjmooney/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@gjmooney", - avatarUrl: GregAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: GregMD, - }, - { - completeName: "Ian Thomas", - firstName: "Ian", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/ianthomas23", - LinkedInLink: "https://www.linkedin.com/in/ian-thomas-796814240/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@ianthomas23", - avatarUrl: IanAvatarUrl, - distinctionTitle: ["OpenUK Honours List 2025"], - distinctionLink: ["https://openuk.uk/honours/"], - subTeamName: "coreTeam", - BioComponent: IanMD, - }, - { - completeName: "Meriem Ben Ismail", - firstName: "Meriem", - position: " Scientific Software Developer", - GitHubLink: "https://github.com/Meriem-BenIsmail", - LinkedInLink: "https://www.linkedin.com/in/meriem-ben-ismail-163042230/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@Meriem-BenIsmail", - avatarUrl: MeriemAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: MeriemMD, - }, - { - completeName: "Alexis Placet", - firstName: "Alexis", - position: " Scientific Software Developer", - GitHubLink: "https://github.com/Alex-PLACET", - LinkedInLink: "https://www.linkedin.com/in/alexisplacet/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@Alex-PLACET", - avatarUrl: AlexisAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: AlexisMD, - }, - { - completeName: "Anastasiia Sliusar", - firstName: "Anastasiia", - position: " Scientific Software Developer", - GitHubLink: "https://github.com/AnastasiaSliusar", - LinkedInLink: "https://www.linkedin.com/in/anastasiiasliusar-bellis/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@AnastasiaSliusar", - avatarUrl: AnastasiiaAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: AnastasiiaMD, - }, - { - completeName: "Arjun Verma", - firstName: "Arjun", - position: " Scientific Software Development Intern", - GitHubLink: "https://github.com/arjxn-py", - LinkedInLink: - "https://www.linkedin.com/in/arjun-verma-758608226/", - BlueskyLink:"https://bsky.app/profile/arjxn-py.bsky.social", - MastodonLink:"https://mastodon.social/@arjxnpy", - GitHubName: "@arjxn-py", - avatarUrl: ArjunAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: ArjunMD, - }, - { - completeName: "Sandrine Pataut", - firstName: "Sandrine", - position: " Scientific Software Developer", - GitHubLink: "https://github.com/SandrineP", - LinkedInLink: - "https://www.linkedin.com/in/sandrinepataut/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@SandrineP", - avatarUrl: SandrineAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: SandrineMD, - }, - { - completeName: "Raúl Cumplido", - firstName: "Raúl", - position: " Scientific Software Developer", - GitHubLink: "https://github.com/raulcd", - LinkedInLink: - "https://www.linkedin.com/in/raulcumplido/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@raulcd", - avatarUrl: RaulAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: RaulMD, - }, - { - completeName: "Antoine Prouvost", - firstName: "Antoine", - position: " Scientific Software Developer", - GitHubLink: "https://github.com/AntoinePrv", - LinkedInLink: "https://www.linkedin.com/in/antoine-prouvost-0667b6a4/", - BlueskyLink:"https://bsky.app/profile/antoineprv.bsky.social", - MastodonLink:"", - GitHubName: "@AntoinePrv", - avatarUrl: AntoinePrvAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: AntoinePrvMD, - }, - { - completeName: "Yahia Heni", - firstName: "Yahia", - position: " Scientific Software Development Intern", - GitHubLink: "https://github.com/Yahiewi", - LinkedInLink: - "https://www.linkedin.com/in/yahia-heni/", - GitHubName: "@Yahiewi", - avatarUrl: YahiaAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: YahiaMD, - }, - { - completeName: "Ousema Bouaneni", - firstName: "Ousema", - position: " Scientific Software Development Intern", - GitHubLink: "https://github.com/ousema-bouaneni", - LinkedInLink: - "https://www.linkedin.com/in/ousema-bouaneni/", - GitHubName: "@ousema-bouaneni", - avatarUrl: OusemaAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: OusemaMD, - }, - { - completeName: "Guy Mushiata Kibulu", - firstName: "Guy", - position: "Scientific Software Development Intern", - GitHubLink: "https://github.com/Gauss-Taylor-Euler", - LinkedInLink: - "https://www.linkedin.com/in/guy-mushiata-kibulu-189646336/", - GitHubName: "@Gauss-Taylor-Euler", - avatarUrl: GuyAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "coreTeam", - BioComponent: GuyMD, - } -]; +export const teams = { + coreTeam: [ + { + completeName: "Thorsten Beier", + pageName: "ThorstenBeier", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/DerThorsten", + LinkedInLink: "https://www.linkedin.com/in/thorsten-beier-95b121189/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@derthorsten", + avatarUrl: ThorstenAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: ThorstenMD, + }, + { + completeName: " Andreas Trawöger", + pageName: "AndreasTrawoger", + position: "DevOps Engineer", + GitHubLink: "https://github.com/atrawog", + LinkedInLink: "", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@atrawog", + avatarUrl: AndreasAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: AndreasMD, + }, + { + completeName: "Denisa Checiu", + pageName: "DenisaCheciu", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/DenisaCG", + LinkedInLink: "https://www.linkedin.com/in/denisa-checiu-georgiana/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "DenisaCheciu", + avatarUrl: DenisaAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "coreTeam", + BioComponent: DenisaMD, + }, + { + completeName: "Joël Lamotte", + pageName: "JoelLamotte", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/Klaim", + LinkedInLink: "https://www.linkedin.com/in/a-jo%C3%ABl-lamotte-a5b09b85/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@Klaim", + avatarUrl: JoelAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: JoelMD, + }, + { + completeName: "Florence Haudin", + pageName: "FlorenceHaudin", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/HaudinFlorence", + LinkedInLink: "https://www.linkedin.com/in/florence-haudin-fr/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@HaudinFlorence", + avatarUrl: FlorenceAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: FlorenceMD, + }, + { + completeName: "Nicolas Brichet", + pageName: "NicolasBrichet", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/brichet", + LinkedInLink: "https://www.linkedin.com/in/nicolas-brichet-a26369150/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@brichet", + avatarUrl: NicolasAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "coreTeam", + BioComponent: NicolasMD, + }, + { + completeName: "Isabel Paredes", + pageName: "IsabelParedes", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/ihuicatl", + LinkedInLink: "https://www.linkedin.com/in/isabel-paredes/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@IsabelParedes", + avatarUrl: IsabelAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "coreTeam", + BioComponent: IsabelMD, + }, + { + completeName: "Gabriela Vives", + pageName: "GabrielaVives", + position: "User Experience Researcher and Designer", + GitHubLink: "https://github.com/GabrielaVives", + LinkedInLink: "https://www.linkedin.com/in/gabriela-vives-831ba853/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@GabrielaVives", + avatarUrl: GabrielaAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: GabrielaMD, + }, + { + completeName: "Hind Montassif", + pageName: "HindMontassif", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/Hind-M", + LinkedInLink: "https://www.linkedin.com/in/hindmontassif/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@Hind-M", + avatarUrl: HindAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: HindMD, + }, + { + completeName: "Julien Jerphanion", + pageName: "JulienJerphanion", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/jjerphan", + LinkedInLink: "https://www.linkedin.com/in/jjerphan/", + BlueskyLink: "https://bsky.app/profile/jjerphan.xyz", + MastodonLink: "https://fosstodon.org/@jjerphan", + GitHubName: "@jjerphan", + avatarUrl: JulienAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: JulienMD, + }, + { + completeName: "Anutosh Bhat", + pageName: "AnutoshBhat", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/anutosh491", + LinkedInLink: "https://www.linkedin.com/in/anutosh-bhat-66ba961a8/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@anutosh491", + avatarUrl: AnutoshAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: AnutoshMD, + }, + { + completeName: "Greg Mooney", + pageName: "GregMooney", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/gjmooney", + LinkedInLink: "https://www.linkedin.com/in/gjmooney/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@gjmooney", + avatarUrl: GregAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: GregMD, + }, + { + completeName: "Ian Thomas", + pageName: "IanThomas", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/ianthomas23", + LinkedInLink: "https://www.linkedin.com/in/ian-thomas-796814240/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@ianthomas23", + avatarUrl: IanAvatarUrl, + distinctionTitle: ["OpenUK Honours List 2025"], + distinctionLink: ["https://openuk.uk/honours/"], + subTeamName: "coreTeam", + BioComponent: IanMD, + }, + { + completeName: "Meriem Ben Ismail", + pageName: "MeriemBenIsmail", + position: " Scientific Software Developer", + GitHubLink: "https://github.com/Meriem-BenIsmail", + LinkedInLink: "https://www.linkedin.com/in/meriem-ben-ismail-163042230/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@Meriem-BenIsmail", + avatarUrl: MeriemAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: MeriemMD, + }, + { + completeName: "Alexis Placet", + pageName: "AlexisPlacet", + position: " Scientific Software Developer", + GitHubLink: "https://github.com/Alex-PLACET", + LinkedInLink: "https://www.linkedin.com/in/alexisplacet/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@Alex-PLACET", + avatarUrl: AlexisAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: AlexisMD, + }, + { + completeName: "Anastasiia Sliusar", + pageName: "AnastasiiaSliusar", + position: " Scientific Software Developer", + GitHubLink: "https://github.com/AnastasiaSliusar", + LinkedInLink: "https://www.linkedin.com/in/anastasiiasliusar-bellis/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@AnastasiaSliusar", + avatarUrl: AnastasiiaAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: AnastasiiaMD, + }, + { + completeName: "Arjun Verma", + pageName: "ArjunVerma", + position: " Scientific Software Development Intern", + GitHubLink: "https://github.com/arjxn-py", + LinkedInLink: + "https://www.linkedin.com/in/arjun-verma-758608226/", + BlueskyLink: "https://bsky.app/profile/arjxn-py.bsky.social", + MastodonLink: "https://mastodon.social/@arjxnpy", + GitHubName: "@arjxn-py", + avatarUrl: ArjunAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: ArjunMD, + }, + { + completeName: "Sandrine Pataut", + pageName: "SandrinePataut", + position: " Scientific Software Developer", + GitHubLink: "https://github.com/SandrineP", + LinkedInLink: + "https://www.linkedin.com/in/sandrinepataut/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@SandrineP", + avatarUrl: SandrineAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: SandrineMD, + }, + { + completeName: "Raúl Cumplido", + pageName: "RaulCumplido", + position: " Scientific Software Developer", + GitHubLink: "https://github.com/raulcd", + LinkedInLink: + "https://www.linkedin.com/in/raulcumplido/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@raulcd", + avatarUrl: RaulAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: RaulMD, + }, + { + completeName: "Antoine Prouvost", + pageName: "AntoineProuvost", + position: " Scientific Software Developer", + GitHubLink: "https://github.com/AntoinePrv", + LinkedInLink: "https://www.linkedin.com/in/antoine-prouvost-0667b6a4/", + BlueskyLink: "https://bsky.app/profile/antoineprv.bsky.social", + MastodonLink: "", + GitHubName: "@AntoinePrv", + avatarUrl: AntoinePrvAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: AntoinePrvMD, + }, + { + completeName: "Yahia Heni", + pageName: "YahiaHeni", + position: " Scientific Software Development Intern", + GitHubLink: "https://github.com/Yahiewi", + LinkedInLink: + "https://www.linkedin.com/in/yahia-heni/", + GitHubName: "@Yahiewi", + avatarUrl: YahiaAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: YahiaMD, + }, + { + completeName: "Ousema Bouaneni", + pageName: "OusemaBouaneni", + position: " Scientific Software Development Intern", + GitHubLink: "https://github.com/ousema-bouaneni", + LinkedInLink: + "https://www.linkedin.com/in/ousema-bouaneni/", + GitHubName: "@ousema-bouaneni", + avatarUrl: OusemaAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: OusemaMD, + }, + { + completeName: "Guy Mushiata Kibulu", + pageName: "GuyMushiataKibulu", + position: "Scientific Software Development Intern", + GitHubLink: "https://github.com/Gauss-Taylor-Euler", + LinkedInLink: + "https://www.linkedin.com/in/guy-mushiata-kibulu-189646336/", + GitHubName: "@Gauss-Taylor-Euler", + avatarUrl: GuyAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "coreTeam", + BioComponent: GuyMD, + } + ], -export const QSCollaboratorsTeam = [ - { - completeName: "Johan Mabille", - firstName: "Johan", - position: "Technical Director", - GitHubLink: "https://github.com/JohanMabille", - LinkedInLink: "https://www.linkedin.com/in/johan-mabille/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@JohanMabille", - avatarUrl: JohanAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "QSCollaboratorsTeam", - BioComponent: JohanMD, - }, - { - completeName: "Serge Guelton", - firstName: "Serge", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/serge-sans-paille", - LinkedInLink: "", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@serge-sans-paille", - avatarUrl: SergeAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "QSCollaboratorsTeam", - BioComponent: SergeMD, - }, - { - completeName: "Romain Menegaux", - firstName: "Romain", - position: "Scientific Software Developer", - GitHubLink: "https://github.com/rmenegaux", - LinkedInLink: "https://www.linkedin.com/in/romain-menegaux-88a147134/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@trmenegaux", - avatarUrl: RomainAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "QSCollaboratorsTeam", - BioComponent: RomainMD - }, - { - completeName: "Antoine Pitrou", - firstName: "Antoine", - position: "Senior Software Developer", - GitHubLink: "https://github.com/pitrou", - LinkedInLink: - "https://www.linkedin.com/in/pitrou/", - BlueskyLink: "https://bsky.app/profile/pitrou.bsky.social", - MastodonLink:"", - GitHubName: "@pitrou", - avatarUrl: AntoineAvatarUrl, - distinctionTitle: ["Python Software Foundation Fellow"], - distinctionLink: ["https://www.python.org/psf/fellows-roster/"], - subTeamName: "QSCollaboratorsTeam", - BioComponent: AntoineMD, - }, - { - completeName: "Marion Chaffaut", - firstName: "Marion", - position: "Chief Financial Officer", - GitHubLink: "https://github.com/MarionChaff", - LinkedInLink: "https://www.linkedin.com/in/marion-chaffaut/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@MarionChaff", - avatarUrl: MarionAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "QSCollaboratorsTeam", - BioComponent: MarionMD, - }, -]; + QSCollaboratorsTeam: [ + { + completeName: "Johan Mabille", + pageName: "JohanMabille", + position: "Technical Director", + GitHubLink: "https://github.com/JohanMabille", + LinkedInLink: "https://www.linkedin.com/in/johan-mabille/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@JohanMabille", + avatarUrl: JohanAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "QSCollaboratorsTeam", + BioComponent: JohanMD, + }, + { + completeName: "Serge Guelton", + pageName: "SergeGuelton", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/serge-sans-paille", + LinkedInLink: "", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@serge-sans-paille", + avatarUrl: SergeAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "QSCollaboratorsTeam", + BioComponent: SergeMD, + }, + { + completeName: "Romain Menegaux", + pageName: "RomainMenegaux", + position: "Scientific Software Developer", + GitHubLink: "https://github.com/rmenegaux", + LinkedInLink: "https://www.linkedin.com/in/romain-menegaux-88a147134/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@trmenegaux", + avatarUrl: RomainAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "QSCollaboratorsTeam", + BioComponent: RomainMD + }, + { + completeName: "Antoine Pitrou", + pageName: "AntoinePitrou", + position: "Senior Software Developer", + GitHubLink: "https://github.com/pitrou", + LinkedInLink: + "https://www.linkedin.com/in/pitrou/", + BlueskyLink: "https://bsky.app/profile/pitrou.bsky.social", + MastodonLink: "", + GitHubName: "@pitrou", + avatarUrl: AntoineAvatarUrl, + distinctionTitle: ["Python Software Foundation Fellow"], + distinctionLink: ["https://www.python.org/psf/fellows-roster/"], + subTeamName: "QSCollaboratorsTeam", + BioComponent: AntoineMD, + }, + { + completeName: "Marion Chaffaut", + pageName: "MarionChaffaut", + position: "Chief Financial Officer", + GitHubLink: "https://github.com/MarionChaff", + LinkedInLink: "https://www.linkedin.com/in/marion-chaffaut/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@MarionChaff", + avatarUrl: MarionAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "QSCollaboratorsTeam", + BioComponent: MarionMD, + }, + ], -export const leadershipTeam = [ - { - completeName: "Sylvain Corlay", - firstName: "Sylvain", - position: "Chief Executive Officer", - GitHubLink: "https://github.com/SylvainCorlay", - LinkedInLink: "https://www.linkedin.com/sylvaincorlay/?locale=en_US", - BlueskyLink: "https://bsky.app/profile/sylvaincorlay.bsky.social", - MastodonLink: "https://mastodon.social/@SylvainCorlay", - GitHubName: "@SylvainCorlay", - avatarUrl: SylvainAvatarUrl, - distinctionTitle: ["ACM Software System Award"], - distinctionLink: ["https://awards.acm.org/award_winners/corlay_8324973"], - subTeamName: "LeadershipTeam", - BioComponent: SylvainMD, - }, - { - completeName: "Martin Renou", - firstName: "Martin", - position: "Technical Director", - GitHubLink: "https://github.com/martinRenou", - LinkedInLink: "https://www.linkedin.com/in/martin-renou", - BlueskyLink:"https://bsky.app/profile/martinrenou.bsky.social", - MastodonLink:"", - GitHubName: "@martinRenou", - avatarUrl: MartinAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "LeadershipTeam", - BioComponent: MartinMD, - }, - { - completeName: "Jeremy Tuloup", - firstName: "Jeremy", - position: "Technical Director", - GitHubLink: "https://github.com/jtpio", - LinkedInLink: "https://www.linkedin.com/in/jtuloup/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@jtpio", - avatarUrl: JeremyAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "LeadershipTeam", - BioComponent: JeremyMD, - }, - { - completeName: "Afshin Darian", - firstName: "Darian", - position: "Technical Director", - GitHubLink: "https://github.com/afshin", - LinkedInLink: "https://www.linkedin.com/in/afshindarian/", - BlueskyLink:"", - MastodonLink:"", - GitHubName: "@afshin", - avatarUrl: DarianAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "LeadershipTeam", - BioComponent: DarianMD, - }, - { - completeName: "David Brochart", - firstName: "David", - position: "Technical Director", - GitHubLink: "https://github.com/davidbrochart", - LinkedInLink: "https://www.linkedin.com/in/david-brochart-4208721/", - BlueskyLink:"https://bsky.app/profile/davidbrochart.bsky.social", - MastodonLink:"https://mastodon.top/@davidbrochart", - GitHubName: "@davidbrochart", - avatarUrl: DavidAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "LeadershipTeam", - BioComponent: DavidMD, - }, - { - completeName: "Matthias Meschede", - firstName: "Matthias", - position: "Chief Operating Officer", - GitHubLink: "https://github.com/mmesch", - LinkedInLink: "https://www.linkedin.com/in/mmesch/", - BlueskyLink:"", - MastodonLink:"https://fosstodon.org/@mattodon", - GitHubName: "@mmesch", - avatarUrl: MatthiasAvatarUrl, - distinctionTitle: [], - distinctionLink: [], - subTeamName: "LeadershipTeam", - BioComponent: MatthiasMD, - }, - { - completeName: "Le Duc Trung", - firstName: "Trung", - position: "Technical Director", - GitHubLink: "https://github.com/trungleduc", - LinkedInLink: "https://www.linkedin.com/in/ductrung-le/", - BlueskyLink:"https://bsky.app/profile/trungleduc.bsky.social", - MastodonLink:"", - GitHubName: "@trungleduc", - avatarUrl: TrungAvatarUrl, - distinctionTitle: ["Jupyter Distinguished Contributor"], - distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], - subTeamName: "LeadershipTeam", - BioComponent: TrungMD, - }, -]; + leadershipTeam: [ + { + completeName: "Sylvain Corlay", + pageName: "SylvainCorlay", + position: "Chief Executive Officer", + GitHubLink: "https://github.com/SylvainCorlay", + LinkedInLink: "https://www.linkedin.com/sylvaincorlay/?locale=en_US", + BlueskyLink: "https://bsky.app/profile/sylvaincorlay.bsky.social", + MastodonLink: "https://mastodon.social/@SylvainCorlay", + GitHubName: "@SylvainCorlay", + avatarUrl: SylvainAvatarUrl, + distinctionTitle: ["ACM Software System Award"], + distinctionLink: ["https://awards.acm.org/award_winners/corlay_8324973"], + subTeamName: "LeadershipTeam", + BioComponent: SylvainMD, + }, + { + completeName: "Martin Renou", + pageName: "MartinRenou", + position: "Technical Director", + GitHubLink: "https://github.com/martinRenou", + LinkedInLink: "https://www.linkedin.com/in/martin-renou", + BlueskyLink: "https://bsky.app/profile/martinrenou.bsky.social", + MastodonLink: "", + GitHubName: "@martinRenou", + avatarUrl: MartinAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "LeadershipTeam", + BioComponent: MartinMD, + }, + { + completeName: "Jeremy Tuloup", + pageName: "JeremyTuloup", + position: "Technical Director", + GitHubLink: "https://github.com/jtpio", + LinkedInLink: "https://www.linkedin.com/in/jtuloup/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@jtpio", + avatarUrl: JeremyAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "LeadershipTeam", + BioComponent: JeremyMD, + }, + { + completeName: "Afshin Darian", + pageName: "AfshinDarian", + position: "Technical Director", + GitHubLink: "https://github.com/afshin", + LinkedInLink: "https://www.linkedin.com/in/afshindarian/", + BlueskyLink: "", + MastodonLink: "", + GitHubName: "@afshin", + avatarUrl: DarianAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "LeadershipTeam", + BioComponent: DarianMD, + }, + { + completeName: "David Brochart", + pageName: "DavidBrochart", + position: "Technical Director", + GitHubLink: "https://github.com/davidbrochart", + LinkedInLink: "https://www.linkedin.com/in/david-brochart-4208721/", + BlueskyLink: "https://bsky.app/profile/davidbrochart.bsky.social", + MastodonLink: "https://mastodon.top/@davidbrochart", + GitHubName: "@davidbrochart", + avatarUrl: DavidAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "LeadershipTeam", + BioComponent: DavidMD, + }, + { + completeName: "Matthias Meschede", + pageName: "MatthiasMeschede", + position: "Chief Operating Officer", + GitHubLink: "https://github.com/mmesch", + LinkedInLink: "https://www.linkedin.com/in/mmesch/", + BlueskyLink: "", + MastodonLink: "https://fosstodon.org/@mattodon", + GitHubName: "@mmesch", + avatarUrl: MatthiasAvatarUrl, + distinctionTitle: [], + distinctionLink: [], + subTeamName: "LeadershipTeam", + BioComponent: MatthiasMD, + }, + { + completeName: "Le Duc Trung", + pageName: "LeDucTrung", + position: "Technical Director", + GitHubLink: "https://github.com/trungleduc", + LinkedInLink: "https://www.linkedin.com/in/ductrung-le/", + BlueskyLink: "https://bsky.app/profile/trungleduc.bsky.social", + MastodonLink: "", + GitHubName: "@trungleduc", + avatarUrl: TrungAvatarUrl, + distinctionTitle: ["Jupyter Distinguished Contributor"], + distinctionLink: ["https://jupyter.org/about#distinguished-contributors"], + subTeamName: "LeadershipTeam", + BioComponent: TrungMD, + }, + ] +} diff --git a/src/components/about/index.tsx b/src/components/about/index.tsx index 2a307e33b..8fe977970 100644 --- a/src/components/about/index.tsx +++ b/src/components/about/index.tsx @@ -1,12 +1,23 @@ import styles from "./styles.module.css"; -import { coreTeam, QSCollaboratorsTeam, leadershipTeam } from "./Team/team"; +import { teams } from "./Team/team"; import FourValues from "./FourValues"; import SubTeam from "./SubTeam"; import LinkToContact from "../home/LinkToContact"; +export function getTeamByPageName(name: string) { + for (const [teamName, members] of Object.entries(teams)) { + const person = members.find((person) => person.pageName === name); + if (person) { + return members; + } + } + return null; +} + + export function About() { return ( -
    +
    @@ -14,6 +25,7 @@ export function About() {
    +
    @@ -24,19 +36,17 @@ export function About() {
    +
    - +
    diff --git a/src/components/about/styles.module.css b/src/components/about/styles.module.css index 3fc532e17..3a1f74a0a 100644 --- a/src/components/about/styles.module.css +++ b/src/components/about/styles.module.css @@ -1,6 +1,28 @@ +.modal_overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.3); + z-index: 1000; +} + +.modal_content { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: white; + border: 1px solid #ccc; + box-shadow: 0 8px 16px rgba(0,0,0,0.2); + border-radius: 20px; + z-index: 4000; +} + .small_portrait_card { width: 279px; - height: 400px; + height: 320px; background-color: white; color: var(--ifm-color-primary-p2); border-radius: 8px; @@ -11,11 +33,10 @@ .small_portrait_card:hover { border: solid 1px gray; - cursor: pointer; - text-decoration: #0000EE underline; + cursor: pointer; + text-decoration: #0000ee underline; } - .value_text p { font-family: var(--ifm-font-family-roboto); font-size: 14px; @@ -51,7 +72,7 @@ div .row { line-height: 24px; letter-spacing: 0.15px; margin: var(--ifm-spacing-xs) 0; - width: 100% + width: 100%; } .small_card_position { @@ -135,6 +156,19 @@ div .join_the_team_text { padding-right: 5px; } +.card { + border: 1px solid #ccc; + padding: 16px; + margin: 16px; + cursor: pointer; + border-radius: 8px; + transition: box-shadow 0.2s; +} + +.small_portrait_card:hover { + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); +} + @media only screen and (max-width: 996px) { /*Mobile*/ .value_card { @@ -163,16 +197,6 @@ div .join_the_team_text { padding: 0; } - .large_portrait_card { - width: 100%; - height: 100%; - padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); - } - - .large_portrait_card p { - text-align: justify; - } - .subteam_container { margin: var(--ifm-spacing-3xl) var(--ifm-spacing-2xl); } @@ -195,6 +219,24 @@ div .join_the_team_text { } } +@media only screen and (max-width: 500px) { + /*Mobile*/ + .large_portrait_card { + width: 90vw; + overflow: auto; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); + } +} + +@media (min-width: 500px) and (max-width: 996px) { + /*Tablet*/ + .large_portrait_card { + width: 80vw; + overflow: auto; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); + } +} + @media only screen and (min-width: 996px) { /*Desktop*/ .value_card { @@ -219,7 +261,7 @@ div .join_the_team_text { } .large_portrait_card { - width: 1000px; + width: 920px; padding: var(--ifm-spacing-xl) var(--ifm-spacing-2xl); } diff --git a/src/components/careers/Interviews.tsx b/src/components/careers/Interviews.tsx index 6b3c33734..42b5ac7d0 100644 --- a/src/components/careers/Interviews.tsx +++ b/src/components/careers/Interviews.tsx @@ -8,7 +8,7 @@ export default function Interviews({ details, description }) {
      {details.map((person, index) => ( -
    • +
    • diff --git a/src/css/custom.css b/src/css/custom.css index df057e164..79a3da9e2 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -684,3 +684,7 @@ ul.row { flex-wrap: wrap; margin: 0 0; } + +.items-list { + list-style-type: none; +} diff --git a/src/pages/about/AfshinDarian.tsx b/src/pages/about/AfshinDarian.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/AfshinDarian.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/AlexisPlacet.tsx b/src/pages/about/AlexisPlacet.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/AlexisPlacet.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/AnastasiiaSliusar.tsx b/src/pages/about/AnastasiiaSliusar.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/AnastasiiaSliusar.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/AndreasTrawoger.tsx b/src/pages/about/AndreasTrawoger.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/AndreasTrawoger.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/AntoinePitrou.tsx b/src/pages/about/AntoinePitrou.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/AntoinePitrou.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/AntoineProuvost.tsx b/src/pages/about/AntoineProuvost.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/AntoineProuvost.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/AnutoshBhat.tsx b/src/pages/about/AnutoshBhat.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/AnutoshBhat.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/ArjunVerma.tsx b/src/pages/about/ArjunVerma.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/ArjunVerma.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/DavidBrochart.tsx b/src/pages/about/DavidBrochart.tsx new file mode 100644 index 000000000..1bb891810 --- /dev/null +++ b/src/pages/about/DavidBrochart.tsx @@ -0,0 +1,6 @@ +import React from 'react'; +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/DenisaCheciu.tsx b/src/pages/about/DenisaCheciu.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/DenisaCheciu.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/FlorenceHaudin.tsx b/src/pages/about/FlorenceHaudin.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/FlorenceHaudin.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/GabrielaVives.tsx b/src/pages/about/GabrielaVives.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/GabrielaVives.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/GregMooney.tsx b/src/pages/about/GregMooney.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/GregMooney.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/HindMontassif.tsx b/src/pages/about/HindMontassif.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/HindMontassif.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/IanThomas.tsx b/src/pages/about/IanThomas.tsx new file mode 100644 index 000000000..1af83ec9b --- /dev/null +++ b/src/pages/about/IanThomas.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import Layout from '@theme/Layout'; +import { useHistory, useLocation} from '@docusaurus/router'; +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/IsabelParedes.tsx b/src/pages/about/IsabelParedes.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/IsabelParedes.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/JeremyTuloup.tsx b/src/pages/about/JeremyTuloup.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/JeremyTuloup.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/JoelLamotte.tsx b/src/pages/about/JoelLamotte.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/JoelLamotte.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/JohanMabille.tsx b/src/pages/about/JohanMabille.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/JohanMabille.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/JulienJerphanion.tsx b/src/pages/about/JulienJerphanion.tsx new file mode 100644 index 000000000..1af83ec9b --- /dev/null +++ b/src/pages/about/JulienJerphanion.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import Layout from '@theme/Layout'; +import { useHistory, useLocation} from '@docusaurus/router'; +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/LeDucTrung.tsx b/src/pages/about/LeDucTrung.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/LeDucTrung.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/MarionChaffaut.tsx b/src/pages/about/MarionChaffaut.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/MarionChaffaut.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/MartinRenou.tsx b/src/pages/about/MartinRenou.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/MartinRenou.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/MatthiasMeschede.tsx b/src/pages/about/MatthiasMeschede.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/MatthiasMeschede.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/MeriemBenIsmail.tsx b/src/pages/about/MeriemBenIsmail.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/MeriemBenIsmail.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/NicolasBrichet.tsx b/src/pages/about/NicolasBrichet.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/NicolasBrichet.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/OusemaBouaneni.tsx b/src/pages/about/OusemaBouaneni.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/OusemaBouaneni.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/RaulCumplido.tsx b/src/pages/about/RaulCumplido.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/RaulCumplido.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/RomainMenegaux.tsx b/src/pages/about/RomainMenegaux.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/RomainMenegaux.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/SandrinePataut.tsx b/src/pages/about/SandrinePataut.tsx new file mode 100644 index 000000000..7a63b27a3 --- /dev/null +++ b/src/pages/about/SandrinePataut.tsx @@ -0,0 +1,7 @@ +import React from 'react'; +import Layout from '@theme/Layout'; +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/SergeGuelton.tsx b/src/pages/about/SergeGuelton.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/SergeGuelton.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/SylvainCorlay.tsx b/src/pages/about/SylvainCorlay.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/SylvainCorlay.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/ThorstenBeier.tsx b/src/pages/about/ThorstenBeier.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/ThorstenBeier.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about/YahiaHeni.tsx b/src/pages/about/YahiaHeni.tsx new file mode 100644 index 000000000..c1fda0608 --- /dev/null +++ b/src/pages/about/YahiaHeni.tsx @@ -0,0 +1,5 @@ +import LargePortraitCardPage from "@site/src/components/about/LargePortraitCardPage"; + +export default function AboutPage() { + return () +} \ No newline at end of file diff --git a/src/pages/about.tsx b/src/pages/about/index.tsx similarity index 77% rename from src/pages/about.tsx rename to src/pages/about/index.tsx index aa64f34a8..04b239c18 100644 --- a/src/pages/about.tsx +++ b/src/pages/about/index.tsx @@ -1,8 +1,8 @@ import Layout from "@theme/Layout"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; -import {About} from "../components/about"; +import {About} from "@site/src/components/about"; import BrowserOnly from "@docusaurus/BrowserOnly"; -import Footer from "../components/footer/Footer"; +import Footer from "@site/src/components/footer/Footer"; export default function AboutPage(): JSX.Element { const { siteConfig } = useDocusaurusContext(); diff --git "a/static/img/quantstack/Use a dialog to display the LargePortraitCard. by HaudinFlorence \302\267 Pull Request #169 \302\267 QuantStack_quantstack.github.io.html" "b/static/img/quantstack/Use a dialog to display the LargePortraitCard. by HaudinFlorence \302\267 Pull Request #169 \302\267 QuantStack_quantstack.github.io.html" new file mode 100644 index 000000000..0940f01db --- /dev/null +++ "b/static/img/quantstack/Use a dialog to display the LargePortraitCard. by HaudinFlorence \302\267 Pull Request #169 \302\267 QuantStack_quantstack.github.io.html" @@ -0,0 +1,7756 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Use a dialog to display the LargePortraitCard. by HaudinFlorence · Pull Request #169 · QuantStack/quantstack.github.io + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + Skip to content + + + + + + + + + + + + +
      +
      + + + + + + + + + + + + + +
      + +
      + + + + + + + + +
      + + + + + +
      + + + + + + + + + + + +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + +
      + Open in github.dev + Open in a new github.dev tab + Open in codespace + + + + + + +
      + + +
      + +
      + + +
      +
      +
      + + + +
      + +
      + + + + + Code + + + + + + + + + +
      +
      +
      + +
      + +

      + Use a dialog to display the LargePortraitCard. + #169 +

      +
      +
      + +
      +
      + + + +
      + + + + +
      +
      +
      +
      +
      + + Open + +
      + + + + +
      + + + wants to merge + 1 + commit into + + + + +
      +
      + + base: + master + + + + +
      +
      +
      + Choose a base branch + +
      + + +
      + +
      + + + + +
      + + + + + + + + + + + + + + +
      + + +
      +
      +
      +
      + + +
      +
      + +
      + +
      + +from + + + + + +
      +
      + + + + + + + + + + + + + + + + + +
      +
      + +
      + +
      +
      + + + + + + +
      +
      +
      +
      +
      + + Open + +
      + + + + +
      +

      + + Use a dialog pop to display the LargePortraitCard. + + #169 +

      + +
      + + + wants to merge + 1 + commit into + + + + +from + + + + + +
      +
      + + + + +
      +
      +
      +
      +
      +
      +
      +
      + + + + + + + + +
      +
      +

      Conversation

      +
      + + + +
      + +
      + +
      + HaudinFlorence + + +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + Copy link + +
      +
      + + + + + + + + + + Report content + + + +
      +
      +
      + +
      + + + + Member + + + + +
      + +

      +
      + @HaudinFlorence + + + HaudinFlorence + + + + + + + commented + + + Oct 30, 2024 + + + +
      + +

      +
      + +
      +
      + + +
      +

      Use a dialog pop to display the LargePortraitCard.

      +
      +
      + +
      + +
      + +
      +
      +
      + + +
      +
      + + +
      + + + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      +
      +
      + + +
      + + + +
      +
      +
      +

      + Select a reply +

      + +
      +
      + +
      +
      + +
      + +
      + + Loading + + +
      +
      + +
      + + +
      + + +
      + +

      + The content you are editing has changed. + Please copy your edits and refresh the page. +

      + + + +
      + + + + + + + + +
      +
      +
      +
      + + + Slash commands +
      + +
      Beta
      + +
      +
      + + Loading + +
      +
      +
      + +
      +
      +
      +
      + + + Slash commands +
      + +
      Beta
      + +
      +
      +
      + +

      An unexpected error has occurred

      +
      +
      +
      +
      + + +
      + +
      + +
      +
      + +
      + + + + + + + + + + + + +
      +
      +
      + +
      +
      +
      +

      Nothing to preview

      +
      +
      + +
      +
      +
      + + +
      + +
      + + + +
      + + + +
      +
      + + +
      + + +
      +
      + +
      + +
      +
      +
      + + + + + +
      + + +
      + +
      +
      +
      + +
      +
      +
      +
      + +
      +
      + + @HaudinFlorence +
      +
      + + + +
      + + + +
      + +
      + +
      + +
      + + 4a056b3 + +
      +
      +
      +
      + +
      +
      +
      + + +
      + + + + + + +
      + + +
      + + +
      + +
      + @vercel + + + Vercel + +
      + + +
      + +
      +
      +
      +
      + + + + + + + + + +

      + + + + + +

      + + +
      +
      +
      +
      + +
      + + + + + + +
      + +

      +
      + + + + vercel + bot + + + + + + commented + + + Oct 30, 2024 + + + + + + + + +
      + +

      +
      + + +
      + + + + + + + + +
      +

      The latest updates on your projects. Learn more about Vercel for Git ↗︎

      + + + + + + + + + + + + + + + + + + + +
      NameStatusPreviewCommentsUpdated (UTC)
      quantstack-github-io✅ Ready (Inspect)Visit Preview💬 Add feedbackOct 30, 2024 1:41pm
      +
      +
      + + +
      + + + +
      + +
      +
      +
      + +
      +
      + +
      + + +
      + + + + + + + +
      + + +
      + +
      +
      + +
      + +
      + + + +
      + + + + + + +
      + + +
      + +
      +
      + +
      +
      + + + + @HaudinFlorence +HaudinFlorence + + + + + changed the title +Use a dialog pop to display the LargePortraitCard. + +Use a dialog to display the LargePortraitCard. + + + Oct 30, 2024 + +
      +
      + + + + +
      + + + + + + +
      +
      + +
      + + + +
      + +
      + + + +
      + +

      Merge state

      +
      + + + + +
      + +
      + + + +
      +
      + + + + + + + +
      +
      + +
      + +
      + +

      All checks have passed

      + 3 successful and 1 skipped checks +
      + +
      +
      +
      + +
      + + + @github-actions + + + +
      + + Deploy static content to Pages / build (pull_request) + + + Successful in 58s + +
      + +
      + + Details +
      + +
      +
      +
      + +
      + + + @github-actions + + + +
      + + Deploy static content to Pages / deploy (pull_request) + + + Skipped + +
      + +
      + + Details +
      + +
      +
      +
      + +
      + + + @vercel + + + +
      + + Vercel + + + + + — + Deployment has completed +
      + +
      + + Details +
      + +
      +
      +
      + +
      + + + @vercel + + + +
      + + Vercel Preview Comments + + + + + — + ✅ No unresolved feedback +
      + +
      + + Details +
      + +
      +
      +
      + + + + + +
      +
      +
      + +
      + +

      The QuantStack:master branch requires linear history

      + + The base branch does not accept merge commits. Alternate merge methods are preferred. + Learn more about required linear history. + +
      +
      +
      + +
      + +

      This branch has no conflicts with the base branch

      + Only those with write access to this repository can merge pull requests. +
      + +
      +
      + +
      + +

      This branch has no conflicts with the base branch when rebasing

      + + Only those with write access to this repository can merge pull requests. +
      +
      + + + +
      +
      +
      + + + +
      + +
      + + + + + + + +
      + + + +
      +

      Update branch attempt failed

      +

      Oops, something went wrong.

      + +
      +
      + +
      + + +
      +
      +
      + @HaudinFlorence +
      +
      +
      + + +
      + +

      Add a comment

      + + + +
      +
      + + +
      + + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      +
      +
      + + +
      + + + +
      +
      +
      +

      + Select a reply +

      + +
      +
      + +
      +
      + +
      + +
      + + Loading + + +
      +
      + +
      + + +
      + + + + +
      + + + + +
      +
      +
      +
      + + + Slash commands +
      + +
      Beta
      + +
      +
      + + Loading + +
      +
      +
      + +
      +
      +
      +
      + + + Slash commands +
      + +
      Beta
      + +
      +
      +
      + +

      An unexpected error has occurred

      +
      +
      +
      +
      + + +
      + + +
      + +
      +
      + +
      + + + + + + + + + + + + +
      +
      + +
      + +
      +
      + + + +
      +
      +
      +
      + +
      +
      + +
      + +
      +
      + + +
      +
      +
      +
      +
      + +
      +
      +
      + Remember, contributions to this repository should follow + our + GitHub Community Guidelines. +
      + + +
      + + ProTip! + Add comments to specific lines under Files changed. +
      +
      + + +
      +
      +
      + +
      +
      +
      + + + + + + + + + +
      + + + +
      + Labels +
      + + +
      + None yet +
      + +
      + + + + +
      +
      +
      + Projects +
      + +
      +
      + + None yet + + + +
      + + + + + + + + + +
      +
      + +
      + +
      + Development +
      + + + + +

      Successfully merging this pull request may close these issues.

      + + +
      +

      None yet

      +
      + + +
      +
      +
      + + +
      + + + + + +
      +
      +
      + 1 participant +
      +
      + + @HaudinFlorence +
      +
      +
      + + + + + + + + + + + + +
      + +
      +
      + + + + + + + +
      +
      +
      +

      + Allowing edits by maintainers +

      + +
      +
      + +
      +
      + +
      + +

      + If checked, users with write access to QuantStack/quantstack.github.io + can add new commits to your + use_a_dialog_for_the_large_portrait_card branch. +

      + +

      You can always change this setting later.

      + +
      + + Note: By granting write access, maintainers could potentially edit your repository's workflows to + reveal values of secrets and gain access to other branches. + + + +
      +
      + +
      + + + + + +
      + +
      +
      +
      + + +
      + +
      +
      + + + +
      + + +
      + +
      + + +
      +
      + +
      + +
      +

      Footer

      + + + + +
      +
      + + + + + © 2024 GitHub, Inc. + +
      + + +
      +
      + + + + + + + + + + + + + + + + + + + + +
      + +
      HaudinFlorence changed the title Use a dialog pop to display the LargePortraitCard. Use a dialog to display the LargePortraitCard.
      +
      + + + + \ No newline at end of file diff --git a/static/rss.xml b/static/rss.xml index 5e2cf3ae3..99e373cd3 100644 --- a/static/rss.xml +++ b/static/rss.xml @@ -4,7 +4,7 @@ https://quantstack.net RSS for Node - Tue, 01 Jul 2025 16:14:17 GMT + Fri, 04 Jul 2025 15:34:30 GMT diff --git a/static/rss_all.xml b/static/rss_all.xml index 4456cfc15..fef316d89 100644 --- a/static/rss_all.xml +++ b/static/rss_all.xml @@ -4,7 +4,7 @@ https://quantstack.net RSS for Node - Tue, 01 Jul 2025 16:14:17 GMT + Fri, 04 Jul 2025 15:34:30 GMT