diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..2e83ecf --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,29 @@ +{ + "env": { + "browser": true, + "es2021": true, + "node": true + }, + "extends": ["eslint:recommended", "plugin:react/recommended"], + "parserOptions": { + "ecmaFeatures": { + "jsx": true + }, + "ecmaVersion": 2021, + "sourceType": "module" + }, + "plugins": ["react", "react-hooks"], + "rules": { + // Add or modify rules as needed + "react/prop-types": "off", // Disable prop-types validation (optional) + "react/react-in-jsx-scope": "off", // React is in scope for JSX (optional) + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "warn" + // Other rules... + }, + "settings": { + "react": { + "version": "detect" // Automatically detect the React version + } + } +} diff --git a/babel.config.cjs b/babel.config.cjs index 696ccbf..10e5c10 100644 --- a/babel.config.cjs +++ b/babel.config.cjs @@ -1,4 +1,3 @@ -// babel.config.js or babel.config.cjs module.exports = { presets: [ ["@babel/preset-react", { runtime: "automatic" }], diff --git a/index.html b/index.html index 58be294..460bd4c 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,7 @@ + Codestin Search App diff --git a/package-lock.json b/package-lock.json index 94622dd..8537f7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "antd": "^5.11.1", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-fast-marquee": "^1.6.3", "react-icons": "^4.11.0", "react-router-dom": "^6.18.0", "react-router-hash-link": "^2.4.3", @@ -26,8 +27,9 @@ "@types/react-dom": "^18.2.7", "@vitejs/plugin-react": "^4.0.3", "babel-cli": "^6.26.0", - "eslint": "^8.45.0", - "eslint-plugin-react": "^7.32.2", + "babel-loader": "^9.1.3", + "eslint": "^8.54.0", + "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.3", "sass": "^1.69.5", @@ -2375,9 +2377,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", - "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2445,6 +2447,17 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "devOptional": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -2662,11 +2675,56 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/eslint": { + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "peer": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, + "node_modules/@types/node": { + "version": "20.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", + "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", + "devOptional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@types/prop-types": { "version": "15.7.9", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", @@ -2724,11 +2782,186 @@ "vite": "^4.2.0" } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, "node_modules/acorn": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "dev": true, + "devOptional": true, "bin": { "acorn": "bin/acorn" }, @@ -2736,6 +2969,16 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -2761,6 +3004,55 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -3732,6 +4024,23 @@ "babel-template": "^6.24.1" } }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, "node_modules/babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", @@ -4031,6 +4340,13 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true, + "peer": true + }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -4158,6 +4474,16 @@ "node": ">= 6" } }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -4253,6 +4579,12 @@ "node": ">= 6" } }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, "node_modules/component-emitter": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", @@ -4466,6 +4798,20 @@ "integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==", "dev": true }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/es-abstract": { "version": "1.22.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", @@ -4541,6 +4887,13 @@ "safe-array-concat": "^1.0.1" } }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "peer": true + }, "node_modules/es-set-tostringtag": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", @@ -4636,15 +4989,15 @@ } }, "node_modules/eslint": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", - "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.53.0", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -4937,6 +5290,16 @@ "node": ">=0.10.0" } }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -5111,6 +5474,22 @@ "node": ">=8" } }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -5386,6 +5765,13 @@ "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==" }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -6225,6 +6611,47 @@ "set-function-name": "^2.0.1" } }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6260,6 +6687,13 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -6347,6 +6781,16 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -6452,6 +6896,13 @@ "dev": true, "optional": true }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, "node_modules/micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -6528,6 +6979,29 @@ "node": ">=0.10.0" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -6684,6 +7158,13 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, "node_modules/node-releases": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", @@ -7117,47 +7598,144 @@ "node": ">= 6" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, - "optional": true, + "dependencies": { + "find-up": "^6.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/pkg-dir/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -7271,6 +7849,16 @@ "node": ">=0.10.0" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/rc-cascader": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.20.0.tgz", @@ -7869,6 +8457,15 @@ "react": "^18.2.0" } }, + "node_modules/react-fast-marquee": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/react-fast-marquee/-/react-fast-marquee-1.6.3.tgz", + "integrity": "sha512-oEISmNElv6lua/4i4uPYIteUKDxU0hAKKjH/tY2icje4GCns1rX6pIrkwVhjX0FMCIepUVqeyCchvqkiO/s2vw==", + "peerDependencies": { + "react": ">= 16.8.0 || 18.0.0", + "react-dom": ">= 16.8.0 || 18.0.0" + } + }, "node_modules/react-icons": { "version": "4.11.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.11.0.tgz", @@ -8172,6 +8769,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -8306,8 +8912,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true + "dev": true }, "node_modules/safe-regex": { "version": "1.1.0", @@ -8358,6 +8963,59 @@ "loose-envify": "^1.1.0" } }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/scroll-into-view-if-needed": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", @@ -8375,6 +9033,16 @@ "semver": "bin/semver.js" } }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-function-length": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", @@ -8888,6 +9556,117 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", + "devOptional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true, + "peer": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "devOptional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -9121,6 +9900,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "devOptional": true, + "peer": true + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -9402,6 +10188,121 @@ "vite": ">2.0.0-0" } }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -11038,9 +11939,9 @@ } }, "@eslint/js": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", - "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true }, "@humanwhocodes/config-array": { @@ -11086,6 +11987,17 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "devOptional": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -11239,80 +12151,308 @@ "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", + "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/eslint": { + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "peer": true + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/node": { + "version": "20.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", + "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", + "devOptional": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/prop-types": { + "version": "15.7.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", + "dev": true + }, + "@types/react": { + "version": "18.2.34", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.34.tgz", + "integrity": "sha512-U6eW/alrRk37FU/MS2RYMjx0Va2JGIVXELTODaTIYgvWGCV4Y4TfTUzG8DdmpDNIT0Xpj/R7GfyHOJJrDttcvg==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", + "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", + "dev": true + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "@vitejs/plugin-react": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.1.1.tgz", + "integrity": "sha512-Jie2HERK+uh27e+ORXXwEP5h0Y2lS9T2PRGbfebiHGlwzDO0dEnd2aNtOR/qjBlPb1YgxwAONeblL1xqLikLag==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-transform-react-jsx-self": "^7.22.5", + "@babel/plugin-transform-react-jsx-source": "^7.22.5", + "@types/babel__core": "^7.20.3", + "react-refresh": "^0.14.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "@types/babel__traverse": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", - "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, + "peer": true, "requires": { - "@babel/types": "^7.20.7" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/prop-types": { - "version": "15.7.9", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", - "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", - "dev": true - }, - "@types/react": { - "version": "18.2.34", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.34.tgz", - "integrity": "sha512-U6eW/alrRk37FU/MS2RYMjx0Va2JGIVXELTODaTIYgvWGCV4Y4TfTUzG8DdmpDNIT0Xpj/R7GfyHOJJrDttcvg==", + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, + "peer": true, "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "@types/react-dom": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", - "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, + "peer": true, "requires": { - "@types/react": "*" + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "@types/scheduler": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", - "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", - "dev": true - }, - "@ungap/structured-clone": { + "@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true }, - "@vitejs/plugin-react": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.1.1.tgz", - "integrity": "sha512-Jie2HERK+uh27e+ORXXwEP5h0Y2lS9T2PRGbfebiHGlwzDO0dEnd2aNtOR/qjBlPb1YgxwAONeblL1xqLikLag==", + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true, - "requires": { - "@babel/core": "^7.23.2", - "@babel/plugin-transform-react-jsx-self": "^7.22.5", - "@babel/plugin-transform-react-jsx-source": "^7.22.5", - "@types/babel__core": "^7.20.3", - "react-refresh": "^0.14.0" - } + "peer": true }, "acorn": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "dev": true + "devOptional": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", @@ -11333,6 +12473,43 @@ "uri-js": "^4.2.2" } }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "requires": {} + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -12126,6 +13303,16 @@ "babel-template": "^6.24.1" } }, + "babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "requires": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + } + }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", @@ -12382,6 +13569,13 @@ "update-browserslist-db": "^1.0.13" } }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true, + "peer": true + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -12470,6 +13664,13 @@ } } }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -12549,6 +13750,12 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, "component-emitter": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", @@ -12717,6 +13924,17 @@ "integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==", "dev": true }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, "es-abstract": { "version": "1.22.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", @@ -12786,6 +14004,13 @@ "safe-array-concat": "^1.0.1" } }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "peer": true + }, "es-set-tostringtag": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", @@ -12859,15 +14084,15 @@ "dev": true }, "eslint": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", - "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.53.0", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -13076,6 +14301,13 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true + }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -13223,6 +14455,16 @@ "to-regex-range": "^5.0.1" } }, + "find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "requires": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + } + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -13430,6 +14672,13 @@ "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==" }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -14044,6 +15293,37 @@ "set-function-name": "^2.0.1" } }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -14070,6 +15350,13 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -14142,6 +15429,13 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -14228,6 +15522,13 @@ "dev": true, "optional": true }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -14291,6 +15592,23 @@ } } }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "requires": { + "mime-db": "1.52.0" + } + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -14412,6 +15730,13 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, "node-releases": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", @@ -14736,6 +16061,66 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" }, + "pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "requires": { + "find-up": "^6.3.0" + }, + "dependencies": { + "find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "requires": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + } + }, + "locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "requires": { + "p-locate": "^6.0.0" + } + }, + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "requires": { + "p-limit": "^4.0.0" + } + }, + "path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -14835,6 +16220,16 @@ } } }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "rc-cascader": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.20.0.tgz", @@ -15242,6 +16637,12 @@ "scheduler": "^0.23.0" } }, + "react-fast-marquee": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/react-fast-marquee/-/react-fast-marquee-1.6.3.tgz", + "integrity": "sha512-oEISmNElv6lua/4i4uPYIteUKDxU0hAKKjH/tY2icje4GCns1rX6pIrkwVhjX0FMCIepUVqeyCchvqkiO/s2vw==", + "requires": {} + }, "react-icons": { "version": "4.11.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.11.0.tgz", @@ -15482,6 +16883,12 @@ "is-finite": "^1.0.0" } }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -15566,8 +16973,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true + "dev": true }, "safe-regex": { "version": "1.1.0", @@ -15609,6 +17015,47 @@ "loose-envify": "^1.1.0" } }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, "scroll-into-view-if-needed": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", @@ -15623,6 +17070,16 @@ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "set-function-length": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", @@ -16029,6 +17486,81 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true + }, + "terser": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", + "devOptional": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true, + "peer": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "peer": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "devOptional": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -16210,6 +17742,13 @@ "which-boxed-primitive": "^1.0.2" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "devOptional": true, + "peer": true + }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -16386,6 +17925,89 @@ "tsconfig-paths": "^3.9.0" } }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index c9c1d40..ca09f34 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "antd": "^5.11.1", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-fast-marquee": "^1.6.3", "react-icons": "^4.11.0", "react-router-dom": "^6.18.0", "react-router-hash-link": "^2.4.3", @@ -27,8 +28,9 @@ "@types/react-dom": "^18.2.7", "@vitejs/plugin-react": "^4.0.3", "babel-cli": "^6.26.0", - "eslint": "^8.45.0", - "eslint-plugin-react": "^7.32.2", + "babel-loader": "^9.1.3", + "eslint": "^8.54.0", + "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.3", "sass": "^1.69.5", diff --git a/public/SponsorsAssets/Loft.png b/public/SponsorsAssets/Loft.png new file mode 100644 index 0000000..6e789a6 Binary files /dev/null and b/public/SponsorsAssets/Loft.png differ diff --git a/public/SponsorsAssets/github.png b/public/SponsorsAssets/github.png new file mode 100644 index 0000000..e28a837 Binary files /dev/null and b/public/SponsorsAssets/github.png differ diff --git a/public/SponsorsAssets/presar.jpg b/public/SponsorsAssets/presar.jpg new file mode 100644 index 0000000..49b9044 Binary files /dev/null and b/public/SponsorsAssets/presar.jpg differ diff --git a/public/_redirects b/public/_redirects new file mode 100644 index 0000000..f824337 --- /dev/null +++ b/public/_redirects @@ -0,0 +1 @@ +/* /index.html 200 \ No newline at end of file diff --git a/src/assets/CommunityData/20230207_171323_0000 - Harshavardhan Bajoria.png b/src/assets/CommunityData/20230207_171323_0000 - Harshavardhan Bajoria.png new file mode 100644 index 0000000..7ec74dd Binary files /dev/null and b/src/assets/CommunityData/20230207_171323_0000 - Harshavardhan Bajoria.png differ diff --git a/src/assets/CommunityData/GDSC Aliah logo.png b/src/assets/CommunityData/GDSC Aliah logo.png new file mode 100644 index 0000000..5804ebe Binary files /dev/null and b/src/assets/CommunityData/GDSC Aliah logo.png differ diff --git a/src/assets/CommunityData/GDSC BBIT.png b/src/assets/CommunityData/GDSC BBIT.png new file mode 100644 index 0000000..ecaa0f7 Binary files /dev/null and b/src/assets/CommunityData/GDSC BBIT.png differ diff --git a/src/assets/CommunityData/GDSC IIIT Kalyani.png b/src/assets/CommunityData/GDSC IIIT Kalyani.png new file mode 100644 index 0000000..af096b4 Binary files /dev/null and b/src/assets/CommunityData/GDSC IIIT Kalyani.png differ diff --git a/src/assets/CommunityData/acmlogo.jpeg b/src/assets/CommunityData/acmlogo.jpeg new file mode 100644 index 0000000..2953a97 Binary files /dev/null and b/src/assets/CommunityData/acmlogo.jpeg differ diff --git a/src/assets/CommunityData/clueless.png b/src/assets/CommunityData/clueless.png new file mode 100644 index 0000000..d470111 Binary files /dev/null and b/src/assets/CommunityData/clueless.png differ diff --git a/src/components/Footer/Footer.jsx b/src/components/Footer/Footer.jsx index 6c40d65..ab9a126 100644 --- a/src/components/Footer/Footer.jsx +++ b/src/components/Footer/Footer.jsx @@ -4,20 +4,21 @@ import { InstagramOutlined, LinkedinOutlined, YoutubeOutlined, - TwitterOutlined, } from "@ant-design/icons"; +import { FaXTwitter } from "react-icons/fa6"; // @ts-ignore import wocLogo from "../../assets/wocLogo1.png"; // @ts-ignore import gdscLogo from "../../assets/gdscLogo1.png"; import footerData from "../../constants/footerData"; +import { Link } from "react-router-dom"; const Footer = () => { const openInNewWindow = (url) => { window.open(url, "_blank"); }; return ( -
+
@@ -30,21 +31,29 @@ const Footer = () => { style={{ cursor: "pointer" }} onClick={() => openInNewWindow(footerData.instagram)} /> - openInNewWindow(footerData.linkedin)} /> - openInNewWindow(footerData.youtube̦)} /> - openInNewWindow(footerData.twitter)} />
+
+ Code of Conduct +

Email us for more details

+ + dscnsecorg@gmail.com + +

Resources

diff --git a/src/components/Footer/Footer.scss b/src/components/Footer/Footer.scss index 87fbb7b..0b6b793 100644 --- a/src/components/Footer/Footer.scss +++ b/src/components/Footer/Footer.scss @@ -6,47 +6,56 @@ box-sizing: border-box; position: relative; z-index: 2; + @media screen and (max-width: 560px) { padding: 20px 20px; } } + .footer_top { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 80px; + @media screen and (max-width: 560px) { flex-direction: column; - justify-content: center; + justify-content: space-between; margin-bottom: 30px; align-items: flex-start; } } + .footer_logo_first { display: flex; align-items: center; } + .footer_logo { max-width: 33.33%; display: flex; flex-direction: column; align-items: center; + @media screen and (max-width: 560px) { max-width: 100%; justify-content: center; align-items: center; } } + .footer_woc_logo { width: 40px; height: 40px; margin-right: 10px; + @media screen and (max-width: 560px) { width: 50px; height: 50px; } } + .footer_logo_text { font-size: 20px; font-weight: 600; @@ -62,13 +71,16 @@ align-items: center; justify-content: center; margin-top: 10px; + p { font-size: 10px; + @media screen and (max-width: 560px) { font-size: 15px; } } } + .footer_logo_socials { margin-top: 10px; display: flex; @@ -77,32 +89,40 @@ max-width: 100%; gap: 8px; } + .footer_logo_socials_icons1 { font-size: 25px; + @media screen and (max-width: 560px) { font-size: 15px; background: rgba(255, 255, 255, 0.2); border-radius: 100%; } } + .footer_logo_socials_icons2 { font-size: 25px; + @media screen and (max-width: 560px) { font-size: 15px; background: rgba(255, 255, 255, 0.2); border-radius: 100%; } } + .footer_logo_socials_icons3 { - font-size: 25px; + font-size: 24px; + @media screen and (max-width: 560px) { - font-size: 15px; + font-size: 16px; background: rgba(255, 255, 255, 0.2); border-radius: 100%; } } + .footer_resources { max-width: 33.33%; + @media screen and (max-width: 560px) { max-width: 100%; display: flex; @@ -113,26 +133,31 @@ margin-top: 20px; } } + .footer_resources_heading { margin: 0; margin-bottom: 5px; font-size: 20px; + @media screen and (max-width: 560px) { font-size: 18px; margin-bottom: 12px; } } + .footer_resources_text { margin: 8px 0px; - font-size: 14px; + font-size: 16px; @media screen and (max-width: 560px) { font-size: 12px; margin: 6px 0px; } } + .footer_socials { max-width: 33%; + @media screen and (max-width: 560px) { max-width: 100%; display: flex; @@ -141,41 +166,68 @@ align-items: flex-start; } } + .footer_socials_heading { margin: 0; margin-bottom: 5px; font-size: 20px; + @media screen and (max-width: 560px) { font-size: 18px; margin-bottom: 12px; } } + .footer_socials_text { margin: 8px 0px; - font-size: 14px; + font-size: 16px; @media screen and (max-width: 560px) { font-size: 12px; - margin: 6px 0px ; + margin: 6px 0px; } } + .footer_bottom { display: flex; justify-content: center; align-items: center; flex-direction: column; - } + .footer_bottom img { width: 50%; + @media screen and (max-width: 560px) { width: 100%; } } + .footer_bottom p { margin: 10px 20px; - font-size: 14px; + font-size: 16px; + @media screen and (max-width: 560px) { - font-size: 12px; + font-size: 14px; + } +} + +.footer_coc { + margin-top: 20px; + + .footer_coc_email { + color: #87a0f9; + margin-top: 10px; + margin-bottom: 10px; + } + + .email_2 { + color: #ffffff; + text-transform: lowercase; + font-weight: 600; + } + + @media screen and (max-width: 560px) { + font-size: 15px; } } diff --git a/src/components/Navbar/Navbar.jsx b/src/components/Navbar/Navbar.jsx index 70a2591..dbc1a74 100644 --- a/src/components/Navbar/Navbar.jsx +++ b/src/components/Navbar/Navbar.jsx @@ -5,7 +5,7 @@ import { RxCross2 } from "react-icons/rx"; // @ts-ignore import logo from "../../assets/org-logo.png"; import "./Navbar.scss"; -import { Link, useLocation } from "react-router-dom"; +import { useLocation } from "react-router-dom"; import { HashLink } from "react-router-hash-link"; const Navbar = () => { @@ -47,7 +47,6 @@ const Navbar = () => { } function closeNavMenu() { setShowNav(false); - if (location.pathname !== "/") setNavBackground(false); } return ( @@ -74,6 +73,7 @@ const Navbar = () => { border: "none", borderRadius: "20px 20px 0px 0px", boxShadow: "15px 15px 15px 15px black", + overflow: "hidden", }} open={showNav} onClose={() => setShowNav(false)} @@ -101,34 +101,48 @@ function NavMenu({ isInline = false, closeNavMenu = null }) { window.scrollTo({ top: yCoordinate + yOffset, behavior: "smooth" }); } return ( -
    -
  • - - GDSC NSEC - -
  • -
  • - Team -
  • -
  • - scrollWithOffset(el)} - > - Organization - -
  • -
  • - scrollWithOffset(el)}> - Timeline - -
  • -
  • - scrollWithOffset(el)}> - FAQ - -
  • -
+
+ + GDSC NSEC + + scrollWithOffset(el)} + onClick={closeNavMenu} + > + Team + + scrollWithOffset(el)} + onClick={closeNavMenu} + > + Organization + + scrollWithOffset(el)} + onClick={closeNavMenu} + > + Timeline + + + scrollWithOffset(el)} + onClick={closeNavMenu} + > + FAQ + +
); } diff --git a/src/components/Navbar/Navbar.scss b/src/components/Navbar/Navbar.scss index ada8df7..1d73098 100644 --- a/src/components/Navbar/Navbar.scss +++ b/src/components/Navbar/Navbar.scss @@ -46,12 +46,13 @@ a { color: white; list-style: none; display: flex; + overflow: hidden; } -.menu li { +.menu a { margin-left: 2em; cursor: pointer; } -.navbar > .menu li a { +.navbar > .menu a { color: white; } @@ -59,10 +60,11 @@ a { .navbar { padding: 1.5rem 2rem; } - .menu li { - padding: 1em 0em; + .navbar > .menu { + display: none; } - .menu li a { + .menu a { + padding: 0.9em 0em; color: #505050; } .logoImg { @@ -80,7 +82,4 @@ a { padding: 0.5em; cursor: pointer; } - .navbar > .menu { - display: none; - } } diff --git a/src/components/ProjectCard/ProjectCard.jsx b/src/components/ProjectCard/ProjectCard.jsx new file mode 100644 index 0000000..95409a5 --- /dev/null +++ b/src/components/ProjectCard/ProjectCard.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import "./ProjectCard.scss" +// @ts-ignore +import gdscLogo from "../../assets/woc.svg" +import { useNavigate } from 'react-router-dom'; +const ProjectCard = ({data}) => { + + const navigate = useNavigate(); + const handleClick = () => { + navigate(`/${data.organization}/projects`,{ state: { cardData: data } }) + } + return ( +
+ +
+

{data.organization}

+

{data.noOfProjects} projects

+ +
+ +
+ ); +} + +export default ProjectCard; diff --git a/src/components/ProjectCard/ProjectCard.scss b/src/components/ProjectCard/ProjectCard.scss new file mode 100644 index 0000000..4f48d1e --- /dev/null +++ b/src/components/ProjectCard/ProjectCard.scss @@ -0,0 +1,52 @@ +.single-card-container { + display: flex; + align-items: center; + flex-direction: column; + border-radius: 8px; + overflow: hidden; + margin: 16px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); +background-color: white; + min-height: 300px; + max-height: 300px; + img { + object-fit: contain; + padding-top: 15px; + width: 100%; + height: 50%; + } + + .single-card-description { + padding: 16px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + h2 { + font-size: 1.2rem; + margin-bottom: 8px; + color: #555; + } + + p { + font-size: 1rem; + color: #555; + } + + button { + border: 1px solid #3498db; + background-color: white; + color: black; + //margin-bottom: 10px; + padding: 8px 16px; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s ease; + margin-top: 1rem; + &:hover { + background-color: #2980b9; + color: white; + } + } + } +} diff --git a/src/constants/SponsorData.js b/src/constants/SponsorData.js new file mode 100644 index 0000000..dc3d4d7 --- /dev/null +++ b/src/constants/SponsorData.js @@ -0,0 +1,29 @@ +export const sponsorData = [ + { + id: 1, + name: "GitHub", + profileImage: "../SponsorsAssets/github.png", + websiteLink: "https://www.github.com", + linkedInLink: "https://www.linkedin.com/company/github", + tag: "Gigabyte", + bgColor: "#FACC15", + }, + { + id: 2, + name: "Loft Labs", + profileImage: "../SponsorsAssets/Loft.png", + websiteLink: "https://www.loft.sh", + linkedInLink: "https://www.linkedin.com/company/loft-sh", + tag: "Gigabyte", + bgColor: "#FACC15", + }, + { + id: 3, + name: "Presar", + profileImage: "../SponsorsAssets/presar.jpg", + websiteLink: "https://presear.com/", + linkedInLink: "https://www.linkedin.com/in/janesmith", + tag: "Byte", + bgColor: "#C0C0C0", + }, +]; diff --git a/src/constants/communityData.js b/src/constants/communityData.js new file mode 100644 index 0000000..2a7c542 --- /dev/null +++ b/src/constants/communityData.js @@ -0,0 +1,40 @@ +// @ts-nocheck +import GDSCAliah from "assets/CommunityData/GDSC Aliah logo.png"; +import GDSCBBIT from "assets/CommunityData/GDSC BBIT.png"; +import ClueLess from "assets/CommunityData/clueless.png"; +import GDSCKalyani from "assets/CommunityData/GDSC IIIT Kalyani.png"; +import ACM from "assets/CommunityData/acmlogo.jpeg"; +import Devorld from "assets/CommunityData/20230207_171323_0000 - Harshavardhan Bajoria.png"; + +export const community = [ + { + name: "GDSC Aliah", + url: GDSCAliah, + link: "https://www.linkedin.com/company/gdsc-aliah/", + }, + { + name: "GDSC BBIT", + url: GDSCBBIT, + link: "", + }, + { + name: "ClueLess", + url: ClueLess, + link: "https://www.linkedin.com/company/79089507", + }, + { + name: "GDSC IIIT Kalyani", + url: GDSCKalyani, + link: "https://www.linkedin.com/company/gdsc-iiit-kalyani/", + }, + { + name: "ACM SSCBS", + url: ACM, + link: "https://www.linkedin.com/in/acm-sscbs/", + }, + { + name: "Devorld", + url: Devorld, + link: "https://www.linkedin.com/company/devorld/", + }, +]; diff --git a/src/constants/projectData.js b/src/constants/projectData.js index 44bf58c..743896c 100644 --- a/src/constants/projectData.js +++ b/src/constants/projectData.js @@ -1,90 +1,369 @@ -const projectData = [ +// @ts-ignore +import logo from "../assets/wocLogo1.png" +const newProjectData = [ { - "src": "https://winterofcode.com/static/media/deepfusionai.ca6299a3.png", - "title": "Deep Fusion AI", - "no_of_projects": "1 Project", - "projects": [ + organization: 'GDSC NSEC', + imageUrl: "data:image/png;base64,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", + projects: [ { - "name": "projetc1", - "link": "projectlink.com" + id: 1, + name: "Moksh", + students: 5, + codeLink: "https://github.com/akshitagupta15june/Moksh", + techStack: ["OpenCV", "ML", "HTML", "CSS", "JS", "Reactjs"], + description: `Moksh is a spiritual productivity tool designed for individuals who want to unlock their potential and + achieve true balance in life. Our customized spiritual features help you take control of your work, focus + on what truly matters, and rejuvenate your mind and spirit. By reading Bhagavad Gita, we become soul + conscious and gain the strength to fight life's challenges. With Moksh, you can overcome the mental + problems that arise from our body consciousness and find true happiness. + This platform will help engineers, students, office workers to cope up with stressful environments. + `, + mentor: [{ + name: "Akshita Gupta", + linkedin: "https://www.linkedin.com/in/akshita-gupta-a4a895187", + },], }, { - "name": "projetc1", - "link": "projectlink.com" + id: 2, + name: "face-X", + students: 5, + codeLink: "https://github.com/akshitagupta15june/Face-X", + techStack: ["OpenCV", "ML", "HTML", "CSS", "JS", "Reactjs"], + description: `Face-X is a comprehensive repository of algorithms and operations related to facial recognition, which + includes a range of functionalities from facial filters, image processing, face mask detection, and facial + attendance systems to animated emotions and facial cartoonification. It encompasses all the possible + operations that can be performed on the frontal human face, making it a versatile platform for facial related tasks. + `, + mentor: [{ + name: "Akshita Gupta", + linkedin: "https://www.linkedin.com/in/akshita-gupta-a4a895187", + },], }, { - "name": "projetc1", - "link": "projectlink.com" + id: 3, + name: "PetMe", + students: 5, + codeLink: "https://github.com/akshitagupta15june/PetMe", + techStack: ["OpenCV", "ML", "HTML", "CSS", "JS", "Reactjs"], + description: `PetMe is an all-in-one platform that allows animals to be adopted, donated to pet lovers, and provides + emergency medical care to stray animals in need. + Our mission is to provide a platform that connects animal lovers with pets in need of a forever home, + while also providing emergency medical care for stray animals in distress. We strive to make a + difference in the lives of these innocent creatures by offering options to Adopt, Donate and through our + SOS feature Report stray animals in need of immediate assistance. Together, we can create a better + world for all animals. + `, + mentor: [{ + name: "Akshita Gupta", + linkedin: "https://www.linkedin.com/in/akshita-gupta-a4a895187", + },], }, { - "name": "projetc1", - "link": "projectlink.com" + id: 4, + name: `Hedging of financial Derivatives`, + students: 5, + codeLink: "https://github.com/Akshat111111/Hedging-of-Financial-Derivatives", + techStack: ["Financial Programming", "Fintech", " Machine Learning", "Deep Learning"], + description: `A Hedging is a market neutral trading strategy enabling traders to profit + from virtually any market conditions: uptrend, downtrend, or sideways + movement. This strategy is categorized as a statistical arbitrage and + convergence trading strategy. + + `, + mentor: [{ + name: "Akshat Sharma", + linkedin: "https://www.linkedin.com/in/akshat-sharma11/", + },], }, { - "name": "projetc1", - "link": "projectlink.com" + id: 5, + name: "GeoWellAdvisor", + students: 5, + codeLink: "https://github.com/047pegasus/GeoWellAdvisor", + techStack: ["React ", "Vite","Flutter","Python","LeafletJS"], + description: `GeoWell Advisor is a powerful tool designed to help users determine the feasibility of digging a well at a specific location. Whether you are a farmer, a land developer, or simply someone interested in exploring groundwater resources, GeoWell Advisor provides you with essential information and insights to make informed decisions about well placement. + `, + mentor: [{ + name: "Tanishq Agarwal", + linkedin: "https://www.linkedin.com/in/tanishq047/", + },], + }, + { + id: 6, + name: "DoodleCollab", + students: 5, + codeLink: " https://github.com/WikiPortal/DoodleCollab", + techStack: ["Software Development"], + description: `DoodleCollab is a cutting-edge application designed to transform the way we collaborate, offering an + unparalleled whiteboard and sharing experience. Developed using the powerful ReactJS framework, our + app seamlessly combines intuitive design with advanced functionalities to enhance your collaborative + efforts. + + `, + mentor: [{ + name: "Jyotirmoy Roy", + linkedin: "https://www.linkedin.com/in/jyotirmoyroy69/", + },], + }, + { + id: 7, + name: "Acme Rockets", + students: 7, + codeLink: " https://github.com/Jagroop2001/AcmeRockets", + techStack: ["HTML", "Tailwind CSS", "CSS", "JS", "Reactjs"], + description: `Welcome to the AcmeRockets project! This repository houses the codebase for a captivating static website dedicated to showcasing the innovative rocket-powered products of Acme Rockets. Whether you're an aerospace enthusiast or a curious visitor, this project aims to deliver an immersive experience with its dynamic content and responsive design. + `, + mentor: [{ + name: "Jagroop", + linkedin: "https://www.linkedin.com/in/jagroop-singh-3a2a401b4/", + },], + }, + { + id: 8, + name: "Pages : A book shop landing page ", + students: 7, + codeLink: "https://github.com/Jagroop2001/Pages-A-Book-Shop-Website", + techStack: ["HTML", "Bootstrap", "CSS"], + description: `I created Pages-A-Book-Shop-Website, a stylish and user-friendly landing page tailored for book enthusiasts. The site, crafted using HTML, Bootstrap, and CSS, ensures a seamless browsing experience. It features a diverse book catalog, intuitive navigation, and responsive design. The GitHub repository here offers transparency and collaboration. As the project's mentor, I oversee its development; connect with me on LinkedIn for insights. Immerse yourself in the world of literature with Pages-A-Book-Shop-Website today + `, + mentor: [{ + name: "Jagroop", + linkedin: "https://www.linkedin.com/in/jagroop-singh-3a2a401b4/", + },], }, - ] - }, - { - "src": "https://winterofcode.com/static/media/TechNScience.0edf5897.png", - "title": "Tech N Science", - "no_of_projects": "1 Project", - "projects": [ { - "name": "projetc", - "link": "projectlink.com" + id: 9, + name: "NASA Rocket project", + students: 7, + codeLink: " https://github.com/Jagroop2001/nasa-project-fullstack", + techStack: ["Node", "MongoDb", "Express", "Reactjs"], + description: `Fullstack application for controlling space missions and enabling seamless exploration beyond our planet. 🌌🛰 + Build with Node.js and React Application, a powerful combination for building dynamic and scalable web applications with seamless server-side functionality. + `, + mentor: [{ + name: "Jagroop", + linkedin: "https://www.linkedin.com/in/jagroop-singh-3a2a401b4/", + },], }, { - "name": "projetc1", - "link": "projectlink.com" - } - ] + id: 10, + name: "Music Player App", + students: 7, + codeLink: " https://github.com/Jagroop2001/music-player ", + techStack: ["Vue js"], + description: ` This is a simple music player frontend project created using Vuejs + + `, + mentor: [{ + name: "Jagroop", + linkedin: "https://www.linkedin.com/in/jagroop-singh-3a2a401b4/", + },], + }, + ], + noOfProjects: 10, }, { - "src": "https://winterofcode.com/static/media/dscnitrourkela.4df22901.png", - "title": "DSC NIT Rourkela", - "no_of_projects": "5 Projects", - "projects": [ - { - "name": "projetc1", - "link": "projectlink.com" - } - ] + organization: 'Presar', + imageUrl: "https://presear.com/assets/img/logo.svg", + projects: [ + { + id: 1, + name: "eduAlgo", + students: 5, + codeLink: "https://github.com/edualgo/eduAlgo", + techStack: ["Ai", "Ml", "Python", "Cloud Computing", "Computer Vision"], + description: `This is a very simple python package made up with python script to study different algorithms for educational purposes. + `, + mentor: [{ + name: "Abhijit Tripathy", + linkedin: "https://www.linkedin.com/in/abhijit-tripathy/", + }, + { + name: "ISHWAR", + linkedin: "https://www.linkedin.com/in/ishwar-ajgalley-7a86b3203", + },], + }, + { + id: 2, + name: "Documentation", + students: 5, + codeLink: "https://github.com/edualgo/documentation", + techStack: ["Ai", "Ml", "Python", "Cloud Computing", "Computer Vision"], + description: `The documentation website for the python package "eduAlgo" + `, + mentor: [{ + name: "Abhijit Tripathy", + linkedin: "https://www.linkedin.com/in/abhijit-tripathy/", + }, + { + name: "ISHWAR", + linkedin: "https://www.linkedin.com/in/ishwar-ajgalley-7a86b3203", + },], + }, + { + id: 3, + name: "interview-corner", + students: 5, + codeLink: "https://github.com/edualgo/interview-corner", + techStack: ["Ai", "Ml", "Python", "Cloud Computing", "Computer Vision"], + description: `Many time, when an interview approaches, candidates start searching for different algorithms in different programming languages for practise. This project aims to build a website which will contain the codes along with the techniques and explanations so that it can be helpful for many. + `, + mentor: [{ + name: "Abhijit Tripathy", + linkedin: "https://www.linkedin.com/in/abhijit-tripathy/", + }, + { + name: "ISHWAR", + linkedin: "https://www.linkedin.com/in/ishwar-ajgalley-7a86b3203", + },], + }, + { + id: 4, + name: "Grokking-Machine-Learning", + students: 5, + codeLink: "https://github.com/edualgo/Grokking-Machine-Learning", + techStack: ["Ai", "Ml", "Python", "Cloud Computing", "Computer Vision"], + description: `This repo aims to contain different machine learning use cases along with the descriptions to the model architectures. This project is a part of eduAlgo. + `, + mentor: [{ + name: "Abhijit Tripathy", + linkedin: "https://www.linkedin.com/in/abhijit-tripathy/", + }, + { + name: "ISHWAR", + linkedin: "https://www.linkedin.com/in/ishwar-ajgalley-7a86b3203", + },], + }, + ], + noOfProjects: 4, }, { - "src": "https://winterofcode.com/static/media/canvasbird.a4c243fd.png", - "title": "Canvasbird", - "no_of_projects": "1 Project", - "projects": [ - { - "name": "projetc1", - "link": "projectlink.com" - } - ] + organization: 'Eduhub-Community', + imageUrl: "https://eduhubcommunity.tech/src/images/eduhub/img.png", + projects: [ + { + id: 1, + name: "Eduhub-Community", + students: 5, + codeLink: "https://github.com/Eduhub-Community/Eduhub-Community.github.io", + techStack: ["Blockchain", "Web Development"], + description: `Eduhub is a community of the people, for the people and by the people. Our vision is to create an environment where people can learn and apply technical knowledge together. Our mission is to build a strong technical community which is open-minded and has an intense desire for consistent learning from one another in the community. We have been conducting and organizing numerous Open Source Programs, Hackathons, Meetups, Conferences and 1:1 Mentorships. + + An Open Source project Website built using HTML, CSS, JavaScript and Bootstrap Php + `, + mentor: [{ + name: "Sahitya Roy", + linkedin: "https://www.linkedin.com/in/sahitya-roy-244b941a2/", + },], + }, + + ], + noOfProjects: 1, }, { - "src": "https://winterofcode.com/static/media/canvasbird.a4c243fd.png", - "title": "Canvasbird", - "no_of_projects": "1 Project", - "projects": [ - { - "name": "projetc1", - "link": "projectlink.com" - } - ] + organization: 'Subhankar Mishra Lab', + imageUrl: "https://firebasestorage.googleapis.com/v0/b/winterofcode-55d97.appspot.com/o/tirtha-logo-light.svg?alt=media&token=91567821-ade8-4f7b-bfdb-a578b7d83583", + projects: [ + { + id: 1, + name: " Idea 1: Automatically generate mesh poster images and add automated testing for the process", + students: 4, + codeLink: "https://github.com/smlab-niser/tirtha-public/issues/14", + techStack: ["Javascript", "Python"], + description: `Description: The goal of this project is to automate the generation of the poster images (or previews) for the meshes, after the orientation of the mesh (for a pipeline run) is changed (manually). Currently, we use the JavaScript code mentioned in the linked GH issue to create preview images manually and attach them to the mesh. This project would automate this. A supplementary task is adding Python tests to ensure that the posters are produced and saved correctly. + Expected Outcome: By the end of this project, for each new mesh created using the Tirtha pipeline, the poster image should be automatically generated after the mesh orientation has been updated (manually). A (few) Python test(s) should also be added. + `, + mentor: [{ + name: "Jyotirmaya Shivottam", + linkedin: "", + }, { + name: "Dr. Subhankar Mishra", + linkedin: "", + },], + }, + { + id: 2, + name: " Idea 2: Improve the UI/UX of the Tirtha frontend", + students: 4, + codeLink: "https://github.com/smlab-niser/tirtha-public/issues?q=is%3Aissue+is%3Aopen+label%3Afrontend", + techStack: ["Javascript", "Python","JQuery","HTML","CSS"], + description: `Description: This project aims to improve the UI / UX of the platform’s frontend. At the moment, we seek to overhaul the frontend aspects covered by the GitHub issues in the attached list (above). Some of these include: creation & addition of a dark theme with system-preference-based switching, more details on each run, such as contributor information, auto-update of poster images for each mesh to OpenGraph tags, etc. Based on the qualifications and interests of the candidate, we can work on further frontend improvements. + Expected Outcome: By the end of this project, most of the GH issues in the list should be resolved. + `, + mentor: [{ + name: "Jyotirmaya Shivottam", + linkedin: "", + }, { + name: "Dr. Subhankar Mishra", + linkedin: "", + },], + }, + { + id: 3, + name: " Idea 3: Implement a more private authentication flow", + students: 4, + codeLink: "https://github.com/smlab-niser/tirtha-public/issues/34", + techStack: ["Javascript", "Python"], + description: `Description: We currently use Sign in with Google to tag user contributions (sets of images of heritage sites) and to store a minimal amount of user information (name, email), to attribute them in accordance with the CC BY-NC-SA 4.0 license for user contributions. However, this presents a privacy risk, as Google’s code completely controls the Sign-in button and includes cross-site trackers. We would like to avoid this. One solution is to use a library based on an open authentication standard and to interact with Google Sign-In via web tokens. This will also allow us to support authentication using other social platforms. + Expected Outcome: The candidate is expected to assess possible approaches (e.g., Authlib) and implement the most appropriate one. By the end of this project, Tirtha should move away from Google Auth, and the privacy issue should be resolved. + `, + mentor: [{ + name: "Jyotirmaya Shivottam", + linkedin: "", + }, { + name: "Dr. Subhankar Mishra", + linkedin: "", + },], + }, + { + id: 4, + name: " Idea 4: Make image content-safety checks run on client-side", + students: 4, + codeLink: "https://github.com/smlab-niser/tirtha-public/issues/15", + techStack: ["JavaScript","Tensorflow","HTML","CSS", "Python"], + description: `Description: Currently, we check images submitted by users on the server-side using GantMan/nsfw_model. This should be offloaded to the client-side for two primary reasons: (i) user privacy and (ii) saving bandwidth. This project aims to leverage nsfwjs’s small neural network models written in TensorflowJS to check the images on the client-side. + Expected Outcome: By the end of this project, content safety checks should move to the client-side. + `, + mentor: [{ + name: "Jyotirmaya Shivottam", + linkedin: "", + }, { + name: "Dr. Subhankar Mishra", + linkedin: "", + },], + }, + + ], + noOfProjects: 4, }, { - "src": "https://winterofcode.com/static/media/canvasbird.a4c243fd.png", - "title": "Canvasbird", - "no_of_projects": "1 Project", - "projects": [ - { - "name": "projetc1", - "link": "projectlink.com" - } - ] + organization: 'Cosaimosh', + imageUrl: "https://firebasestorage.googleapis.com/v0/b/twitter-x-clone-f142c.appspot.com/o/cosaimosh.png?alt=media&token=2e8db40d-667b-472d-a14c-3adf424bf6d8", + projects: [ + { + id: 1, + name: "DataBot", + students: 5, + codeLink: "https://github.com/cos-ai-mosh/DataBot", + techStack: ["Typescript", "Next.js","Tailwind CSS","Vector DB","ML"], + description: `The project motto is to develop low latency chatbot applications for any kind of data available. The implementation should/must use free open source tools. + `, + mentor: [{ + name: "Piyush Thakur", + linkedin: "https://www.linkedin.com/in/cosmo3769?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app", + }, + { + name: "Ayush Mishra", + linkedin: "https://www.linkedin.com/in/ayush-mishra-62586b190?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app", + },], + }, + + ], + noOfProjects: 1, }, -] -export default projectData; \ No newline at end of file + + + +] +export default newProjectData; \ No newline at end of file diff --git a/src/constants/teamData.js b/src/constants/teamData.js index 1c2a18b..80243b4 100644 --- a/src/constants/teamData.js +++ b/src/constants/teamData.js @@ -33,23 +33,6 @@ export const teamData = [ }, ], }, - { - name: "Soham Dey", - title: "Design Lead", - image: soham, - socials: [ - { - url: "https://github.com/7sohamd/", - title: "GitHub", - icon: "https://img.icons8.com/3d-fluency/32/github.png", - }, - { - url: "https://www.linkedin.com/in/soham-dey-891332256?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=ios_app", - title: "LinkedIn", - icon: "https://img.icons8.com/color/32/linkedin.png", - }, - ], - }, { name: "Sambaran Das", title: "ML Lead", @@ -123,6 +106,23 @@ export const teamData = [ }, ], }, + { + name: "Soham Dey", + title: "Design Lead", + image: soham, + socials: [ + { + url: "https://github.com/7sohamd/", + title: "GitHub", + icon: "https://img.icons8.com/3d-fluency/32/github.png", + }, + { + url: "https://www.linkedin.com/in/soham-dey-891332256?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=ios_app", + title: "LinkedIn", + icon: "https://img.icons8.com/color/32/linkedin.png", + }, + ], + }, { name: "Debojit Saha", title: "Web Lead", diff --git a/src/constants/timelineData.js b/src/constants/timelineData.js index f332755..804e320 100644 --- a/src/constants/timelineData.js +++ b/src/constants/timelineData.js @@ -2,7 +2,7 @@ export const timelineData = [ { id: 1, bgIconColor: "#EA4335", - dateVal: "20th January, 2024", + dateVal: "24th December, 2023", title: " First contact with Companies established", description: "Finishing off contact with organizations and communities involved.", @@ -10,69 +10,78 @@ export const timelineData = [ { id: 2, bgIconColor: "#FBBC05", - dateVal: "23th January, 2024", + dateVal: "1st January, 2024", title: "Organisation Project registration starts", description: "Organisations will be able to register their project under WoC.", }, { id: 3, - bgIconColor: "#34A853", - dateVal: "12th February, 2024", - title: - "Finalizing Video promos, Proposals and Registrations for Organizations", + bgIconColor: "#4285F4", + dateVal: "27th January, 2024", + title: "Info Session and Pre-registration starts", description: - "Video promos, proposals and registrations for Organizations will be finalized.", + "An info session will be held to introduce the students to the program and the pre-registration starts.", }, { id: 4, - bgIconColor: "#EA4335", - dateVal: "15th February, 2024", - title: "Organization Registration ends", - description: "Registration for projects under organisation ends.", + bgIconColor: "#34A853", + dateVal: "5th February, 2024", + title: + "Pre-registration ends", + description: + "Pre-registration for the students ends and the students will be able to register for the projects.", }, { - id: 5, + id: 6, bgIconColor: "#FBBC05", - dateVal: "17th February, 2024", + dateVal: "5th February, 2024", title: "Proposal submissions Start", description: "Students will be able to submit their proposals for the projects.", }, { - id: 6, + id: 7, bgIconColor: "#4285F4", - dateVal: "27th February, 2024", + dateVal: "20th February, 2024", title: "Proposal submissions end and Screening starts", description: "Proposal submissions will be closed and the screening process will start.", }, { - id: 7, + id: 8, bgIconColor: "#34A853", - dateVal: "3rd March, 2024", + dateVal: "1st March, 2024", title: "Students Announced", - description: "Selected students will be announced to the projects.", + description: "Selected students will be mailed about the projects they are shortlisted in.", }, { - id: 8, + id: 9, bgIconColor: "#4285F4", - dateVal: "6th March, 2024", + dateVal: "3rd March, 2024", title: "Student Contribution Starts", description: "Selected students will be starting to contribute to the assigned projects.", }, { - id: 9, + id: 10, bgIconColor: "#EA4335", + dateVal: "14th March, 2024", + title: "GitHub Offline Event", + description: + "A basic to advanced GitHub session will be held for the students.", + }, + { + id: 11, + bgIconColor: "#FBBC05", dateVal: "17th March, 2024", title: "Project evaluation", description: "Review of the students contribution will be shared by the organisations.", }, { - id: 10, - bgIconColor: "#FBBC05", + id: 12, + bgIconColor: "#EA4335", dateVal: "28th March, 2024", title: "Project submission", description: "Students will be able to submit their projects.", diff --git a/src/index.css b/src/index.css index 436b945..e96c84b 100644 --- a/src/index.css +++ b/src/index.css @@ -26,3 +26,4 @@ body { color: white !important; } } + diff --git a/src/main.jsx b/src/main.jsx index e83454f..ce1986c 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,12 +1,14 @@ import React from "react"; -import ReactDOM from "react-dom/client"; +import { createRoot } from "react-dom/client"; import App from "./App.jsx"; import "./index.css"; -import { RouterProvider, createBrowserRouter } from "react-router-dom"; +import { RouterProvider, createHashRouter } from "react-router-dom"; import NotFound404 from "utils/NotFound404/NotFound404.jsx"; import Home from "pages/Home/Home.jsx"; import Team from "pages/Team/Team.jsx"; +import Organisation from "pages/Organisation/Organisation.jsx"; import MainLayout from "components/Layout/MainLayout.jsx"; +import Coc from "pages/Coc/Coc.jsx"; const routes = [ { @@ -21,6 +23,14 @@ const routes = [ path: "/team", element: , }, + { + path: "/coc", + element: , + }, + { + path: "/:organisation/:projects", + element: , + } ], }, { @@ -29,12 +39,12 @@ const routes = [ }, ]; -const router = createBrowserRouter(routes); +const router = createHashRouter(routes); -ReactDOM.createRoot(document.getElementById("root")).render( +createRoot(document.getElementById("root")).render( - + Loading...

} />
); diff --git a/src/pages/Coc/Coc.jsx b/src/pages/Coc/Coc.jsx new file mode 100644 index 0000000..6fcc905 --- /dev/null +++ b/src/pages/Coc/Coc.jsx @@ -0,0 +1,166 @@ +import React from "react"; +import "./Coc.scss"; +const Coc = () => { + return ( +
+

Code of Conduct

+
+

+ By participating in Winter Of Code, all participants agree to abide by + this Code of Conduct. Failure to comply with this Code of Conduct may + result in disqualification and expulsion from the event, and may also + lead to legal action in severe cases. +

+

+ Respect: + All participants must respect each other's opinions, beliefs, and + values. Discriminatory language or behavior will not be tolerated. + This includes, but is not limited to, sexism, racism, homophobia, and + ableism. +

+

+ Collaboration: + Participants should embrace collaboration and teamwork. Any attempts + to sabotage or undermine other contributors' work will not be + tolerated. +

+

+ Privacy: + Participants must respect the privacy of others. Any confidential + information shared during the Winter of Code must not be disclosed + without the express consent of the person or team that shared it. +

+

+ Professionalism: + Participants should conduct themselves in a professional manner + throughout the Winter of Code. This includes dressing appropriately, + refraining from using inappropriate language, and avoiding any + behavior that would be considered unprofessional. +

+

+ Safety: + Participants should prioritize their safety and the safety of others + throughout the Winter of Code. Any behavior that puts others in + danger, including but not limited to physical violence or verbal + threats, will not be tolerated +

+

+ Code of Conduct Violations: + Any participant who violates the Code of Conduct may be subject to + disciplinary action, up to and including expulsion from the Winter of + Code. All participants have the right to report any Code of Conduct + violations to the event organizers. +

+

+ Inclusivity: + The Winter of Code should be inclusive to all individuals regardless + of gender, ethnicity, race, religion, age, or any other + characteristic. All participants should work towards creating a safe + and welcoming environment for everyone involved. +

+

+ Intellectual Property: + Participants should respect the intellectual property rights of + others. Any use of copyrighted or trademarked material must be + properly attributed or cleared for use +

+

+ Compliance with Laws: + All participants must comply with all applicable laws and regulations + throughout the Winter of Code. Any illegal activities will not be + tolerated. +

+

+ Accountability: + All participants are accountable for their own actions and should take + responsibility for any consequences that may arise from those actions. +

+
+

Reporting a Breach

+
+

+ If you experience or witness a breach of the Winter of Code Code of + Conduct, we encourage you to report it immediately. You can report it + in the following ways: +

+
    +
  • + + Speak with a member of the Winter of Code team:{" "} + + + You can approach any member of the Winter of Code team and share + your concerns with them. They will take appropriate action to + address the situation. The team will be identifiable by Winter of + Code official t-shirts, bearing the Winter of Code logo, along + with a lanyard and identity card. + +
  • +
  • + Email the Winter of Code team: + + You can send an email to the official Winter of Code email address + + dscnsecorg@gmail.com + + {" "} + and describe the incident in detail. We will investigate the + matter and take appropriate action. + +
  • +
  • + + Contact the following Winter of Code Representatives: + + + {" "} + If you prefer to tell us in person but the team is not near, call + the lead organizers below: + + +
  • +
+

+ + We take all reports of Code of Conduct breaches seriously and will + take appropriate action to address the situation. + +

+

+ + Winter of Code reserves the right to amend, make exceptions, or + otherwise revise the policies either partially or fully. If you have + any questions regarding the policies, please contact us at + + dscnsecorg@gmail.com + +

+
+
+ ); +}; + +export default Coc; diff --git a/src/pages/Coc/Coc.scss b/src/pages/Coc/Coc.scss new file mode 100644 index 0000000..b21f0cc --- /dev/null +++ b/src/pages/Coc/Coc.scss @@ -0,0 +1,76 @@ +section { + position: block; +} + +.coc { + width: 70%; + margin: auto; + margin-bottom: 4rem; + margin-top: 8rem; + + .heading { + font-size: 1.5em; + color: #ffffff; + margin: 4rem 0; + position: relative; + + &:after { + content: ""; + position: absolute; + width: 20%; + border: 1px solid #fff; + bottom: -10px; + left: 50%; + transform: translate(-50%, -50%); + } + } + + p { + font-family: var(--body-font); + word-wrap: break-word; + margin: 2rem 0; + font-weight: 200; + } + + .text__bold { + font-weight: 700; + letter-spacing: 1px; + } + + .coc_list { + padding: 0; + } + + li { + font-family: var(--body-font); + margin: 0 0 2rem; + word-wrap: break-word; + + &::marker { + unicode-bidi: isolate; + font-variant-numeric: tabular-nums; + text-transform: none; + text-indent: 0px !important; + text-align: start !important; + text-align-last: start !important; + } + + .emails { + margin-top: 10px; + margin-left: 30px; + padding: 0; + + li { + margin-bottom: 2px; + } + a { + font-weight: 600; + } + } + } + a { + color: #fff; + text-decoration: underline; + font-weight: 600; + } +} diff --git a/src/pages/Home/Home.jsx b/src/pages/Home/Home.jsx index 5607143..a11cb50 100644 --- a/src/pages/Home/Home.jsx +++ b/src/pages/Home/Home.jsx @@ -8,6 +8,8 @@ import Apply from "partials/Apply/Apply"; import Projects from "partials/Projects/Projects"; import Timeline from "partials/Timeline/Timeline"; import FAQ from "partials/FAQ/FAQ.jsx"; +import Community from "partials/Community/Community"; +import Sponsors from "partials/Sponsors/Sponsors"; const Home = () => { return ( @@ -16,8 +18,10 @@ const Home = () => { + + - {/* */} +
diff --git a/src/pages/Organisation/Organisation.jsx b/src/pages/Organisation/Organisation.jsx new file mode 100644 index 0000000..3e43c72 --- /dev/null +++ b/src/pages/Organisation/Organisation.jsx @@ -0,0 +1,215 @@ +import React, { useEffect, useState } from "react"; +import { useLocation } from "react-router-dom"; +import "./Organisation.scss"; +import { Modal, Tag, message } from "antd"; + +const Organisation = () => { + const location = useLocation(); + const cardData = location.state && location.state.cardData; + const [isOpened, setIsOpened] = useState(false); + const [selectedProject, setSelectedProject] = useState(null); + + const openModal = (project) => { + setSelectedProject(project); + setIsOpened(true); + }; + + const closeModal = () => { + setSelectedProject(null); + setIsOpened(false); + }; + const openInNewWindow = (url) => { + window.open(url, "_blank"); + }; + const colors = [ + "magenta", + "red", + "volcano", + "orange", + "gold", + "lime", + "green", + "cyan", + "blue", + "geekblue", + "purple", + ]; + + return ( +
+

{cardData.organization}

+

{cardData.noOfProjects} projects

+
+ {cardData.projects.map((project) => ( +
+
+
+

Students allowed

+

{project.students}

+
+
+

Mentors

+
+ {project.mentor.map((mentor, index) => ( +
+

openInNewWindow(mentor.linkedin) : undefined} > + {mentor.name} + {index < project.mentor.length - 1 && ", "} +

+ +
+ ))} +
+
+ +
+
+ {project.techStack.map((tech, index) => ( + + {tech} + + ))} +
+
+
+
+

{project.name}

+ {project.description.length > 150 ? ( +

+ {project.description.substring(0, 350)} + {"... "} + openModal(project)} + > + See More + +

+ ) : ( +

{project.description}

+ )} +
+
+ {" "} + +

+ openInNewWindow("https://forms.gle/byNwoCxiM4RDEuzX7") + } + > + Apply now +

+
+
+ ))} +
+ {selectedProject && ( + +
+

{selectedProject.name}

+
+
+
+

Students allowed

+

{selectedProject.students}

+
+
+

Mentors

+
+ {selectedProject.mentor.map((mentor, index) => ( +
+

openInNewWindow(mentor.linkedin) : undefined}> + {mentor.name} + {index < selectedProject.mentor.length - 1 && ", "} +

+
+ ))} +
+
+ +
+
+ {selectedProject.techStack.map((tech, index) => ( +
+

+ + {tech} + +

+
+ ))} +
+
+
+
+

{selectedProject.description}

+
+ +
+ + +

+ openInNewWindow("https://forms.gle/byNwoCxiM4RDEuzX7") + } + > + Apply now +

+
+
+
+
+ )} +
+ ); +}; + +export default Organisation; diff --git a/src/pages/Organisation/Organisation.scss b/src/pages/Organisation/Organisation.scss new file mode 100644 index 0000000..98697aa --- /dev/null +++ b/src/pages/Organisation/Organisation.scss @@ -0,0 +1,451 @@ +.Organisation { + margin-top: 100px; + display: flex; + flex-direction: column; + padding: 0rem 2rem; + margin-bottom: 50px; + + h1 { + font-size: 2rem; + margin-bottom: 0.5rem; + } + + h3 { + font-size: 1.2rem; + color: white; + margin-bottom: 1rem; + } + + &-project { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(900px, 1fr)); + gap: 1.5rem; + margin-top: 1.5rem; + + &-card { + background: linear-gradient(70deg, #516dc2c8 0%, #212038b3 79.69%); + color: rgb(255, 255, 255); + padding: 1.5rem; + border-radius: 8px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + display: flex; + flex-direction: column; + justify-content: space-between; + + > div { + gap: 1rem; + } + + &-mentor, + &-tech { + h4{ + font-size: 1rem; + margin-bottom: 1rem; + } + p { + margin: 0; + font-size: 1.3rem; + cursor: pointer; + &:hover { + color: #babac0; + // border-bottom: 1px solid #babac0; + } + } + } + + h2 { + font-size: 1.5rem; + margin-bottom: 0.5rem; + } + + + + button { + background-color: #007bff; + color: white; + padding: 0.5rem 1rem; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s; + + &:hover { + background-color: #0056b3; + } + } + + + + &-first { + display: flex; + flex-direction: row; + } + + &-button { + display: flex; + } + } + } +} +.scroll-modal::-webkit-scrollbar { + width: 5px; +} +.scroll-modal::-webkit-scrollbar-track { + background: #a3b0bc; +} +.scroll-modal::-webkit-scrollbar-thumb { + background: #797fd4; +} +.scroll-modal::-webkit-scrollbar-thumb:hover { + background: #1120f0; +} +.Organisation-project-card-mentor { + margin-right: 5rem; + max-width: 50%; + div { + display: flex; + flex-wrap: wrap; + margin: 0; + } +p{ + text-decoration: underline; +} + +} +.Organisation-project-card-tech { + h4 { + font-size: 1.5rem; + } +} +.Organisation-project-card-description { + h2 { + font-size: 1.5rem; + } + p { + font-size: 1.2rem; + } +} +.Organisation-project-card-button { + margin-top: 1rem; + display: flex; + flex-direction: row; + align-items: center; + button { + background-color: #007bff; + color: white; + padding: 0.5rem 1rem; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s; + &:hover { + background-color: #0056b3; + } + } + p { + margin-left: 1rem; + font-size: 1rem; + cursor: pointer; + } +} +.Organisation-project-card-first{ + margin-bottom: 1rem; +} +.Modal { + h1 { + font-size: 1.5rem; + margin-bottom: 0.5rem; + } + .Modal-Students{ + display: flex; + flex-direction: column; + margin-bottom: 1rem; + h4{ + font-size: 1rem; + } + p{ + font-size: 1.2rem; + } + } + .Modal-first { + display: flex; + flex-direction: row; + justify-content: space-between; + margin-bottom: 1.5rem; + } + .Modal-mentor { + margin-right: 5rem; + max-width: 50%; + div{ + display: flex; + flex-wrap: wrap; + margin: 0; + } + h4 { + font-size: 1rem; + } + p { + font-size: 1.2rem; + font-weight: 500; + cursor: pointer; + text-decoration: underline; + } + &:hover { + p{ + color: #78787e; + //border-bottom: 1px solid #737376; + } + + } + } + .Modal-tech { + max-width: 50%; + h4 { + font-size: 1.2rem; + } + p { + font-size: 1rem; + } + } + .Modal-buttons { + margin-top: 1rem; + display: flex; + flex-direction: row; + align-items: center; + button { + background-color: #007bff; + color: white; + padding: 0.5rem 1rem; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s; + &:hover { + background-color: #0056b3; + } + } + p { + margin-left: 1rem; + font-size: 1rem; + color: #3f49d8; + border-bottom: 1px solid #3f49d8; + } + } +} +//add media query for tablet and mobile +@media only screen and (max-width: 768px) { + .Organisation { + margin-top: 100px; + display: flex; + flex-direction: column; + padding: 0rem 2rem; + h1 { + font-size: 2rem; + margin-bottom: 0.5rem; + } + + h3 { + font-size: 1.2rem; + color: white; + margin-bottom: 1rem; + } + + &-project { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(600px, 1fr)); + gap: 1.5rem; + margin-top: 1.5rem; + + &-card { + + padding: 1.5rem; + border-radius: 8px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + display: flex; + flex-direction: column; + justify-content: space-between; + + > div { + gap: 1rem; + } + + &-mentor, + &-tech { + p { + margin: 0; + } + } + + h2 { + font-size: 1.5rem; + margin-bottom: 0.5rem; + } + + p { + font-size: 1rem; + + } + + button { + background-color: #007bff; + color: white; + padding: 0.5rem 1rem; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s; + + &:hover { + background-color: #0056b3; + } + } + + p { + font-size: 1rem; + margin-top: 1rem; + } + + &-first { + display: flex; + flex-direction: row; + } + + &-button { + display: flex; + } + } + } + } + .Organisation-project-card-first { + display: flex; + flex-direction: column; + } + .Organisation-project-card-mentor { + margin-right: 1.5rem; + h4 { + font-size: 1rem; + } + p{ + text-decoration: underline; + } + } + .Organisation-project-card-tech { + h4 { + font-size: 1rem; + } + } + .Organisation-project-card-description { + h2 { + font-size: 1.5rem; + } + p { + font-size: 1.2rem; + } + } + .Organisation-project-card-button { + margin-top: 1rem; + display: flex; + flex-direction: row; + align-items: center; + button { + background-color: #007bff; + color: white; + padding: 0.5rem 1rem; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s; + &:hover { + background-color: #0056b3; + } + } + p { + margin-left: 1rem; + font-size: 1rem; + color: #3f49d8; + border-bottom: 1px solid #3f49d8; + } + } + .Modal { + h1 { + font-size: 1.5rem; + margin-bottom: 0.5rem; + } + .Modal-first { + display: flex; + flex-direction: column; + margin-bottom: 1.5rem; + } + .Modal-mentor { + max-width: 100%; + h4 { + font-size: 1.2rem; + } + p { + font-size: 1rem; + } + } + .Modal-tech { + margin-top: 2rem; + max-width: 100%; + h4 { + font-size: 1.2rem; + } + p { + font-size: 1rem; + } + } + .Modal-buttons { + margin-top: 1rem; + display: flex; + flex-direction: row; + align-items: center; + button { + background-color: #007bff; + color: white; + padding: 0.5rem 1rem; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s; + &:hover { + background-color: #0056b3; + } + } + p { + margin-left: 1rem; + font-size: 1rem; + color: #3f49d8; + border-bottom: 1px solid #3f49d8; + } + } + } +} +.Organisation-project-card-student{ + min-width: 25%; + h4{ + font-size: 1rem; + margin-bottom:10px; + } + p{ + font-size:1.5rem + } +} +.Organisation-project-card-mentor{ + min-width: 25%; +} +@media only screen and (max-width: 426px) { + .Organisation-project{ + grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); + } +} +@media only screen and (max-width: 932px) and (min-width: 768px) { + .Organisation-project { + grid-template-columns: repeat(auto-fill, minmax(675px, 1fr)); + } +} +@media only screen and (max-width: 630px) and (min-width: 427px) { + .Organisation-project { + grid-template-columns: repeat(auto-fill, minmax(375px, 1fr)); + } +} diff --git a/src/pages/Team/Team.scss b/src/pages/Team/Team.scss index 2a86475..70bc376 100644 --- a/src/pages/Team/Team.scss +++ b/src/pages/Team/Team.scss @@ -52,6 +52,7 @@ @media (max-width: 767px) { grid-template-columns: 1fr; // Single column on mobile + // place-items: center; } } @@ -69,7 +70,7 @@ justify-content: space-around; padding: 15px; - img{ + img { width: 100%; height: 100%; object-fit: cover; diff --git a/src/partials/About/About.jsx b/src/partials/About/About.jsx index c16be0a..5779ff7 100644 --- a/src/partials/About/About.jsx +++ b/src/partials/About/About.jsx @@ -26,6 +26,14 @@ const About = () => { your formative years. Above all, we hope you get encouraged into the world of open source and develop more code for the benefit of all.

+ + See our Brochure +
); }; diff --git a/src/partials/About/About.scss b/src/partials/About/About.scss index 36e38c3..e89a423 100644 --- a/src/partials/About/About.scss +++ b/src/partials/About/About.scss @@ -20,6 +20,15 @@ font-size: 18px; text-align: center; } +.button { + display: inline-block; + color: #fff; + padding: 10px 30px; + margin-top: 30px; + font-size: 18px; + cursor: pointer; + border-radius: 10px; +} /* Responsive styles */ @media (max-width: 768px) { @@ -30,4 +39,8 @@ .description { font-size: 16px; } + .button { + font-size: 15px; + padding: 10px 20px; + } } diff --git a/src/partials/Apply/Apply.jsx b/src/partials/Apply/Apply.jsx index 7be56a9..0ddc2dc 100644 --- a/src/partials/Apply/Apply.jsx +++ b/src/partials/Apply/Apply.jsx @@ -1,13 +1,12 @@ import React from "react"; import "./Apply.scss"; -import { Button, Flex, message } from "antd"; - -// const boxStyle = { -// width: '100%', -// height: 120, -// }; +import { Button, message } from "antd"; const Apply = () => { + const openInNewWindow = (url) => { + window.open(url, "_blank"); + }; + return ( <>
@@ -25,9 +24,7 @@ const Apply = () => { type="primary" className="primary" onClick={() => - message.warning( - "Applications for Organisations have not started yet." - ) + openInNewWindow("https://forms.gle/wx1CKpzGCt6yXY6M7") } > Apply As Organisation @@ -36,9 +33,7 @@ const Apply = () => { type="primary" className="primary" onClick={() => - message.warning( - "Applications for Community Partners have not started yet." - ) + openInNewWindow("https://forms.gle/uY693jkYamRQ6bfv5") } > Apply As Community Partner @@ -49,9 +44,7 @@ const Apply = () => { type="primary" className="primary" onClick={() => - message.warning( - "Applications for Mentors have not started yet." - ) + openInNewWindow("https://forms.gle/VCjpHpUvyR6Abr2W9") } > Apply As Mentor @@ -60,9 +53,7 @@ const Apply = () => { type="primary" className="primary" onClick={() => - message.warning( - "Applications for Students have not started yet." - ) + openInNewWindow("https://forms.gle/oemhBfWoGXdxtTNm8") } > Apply As Student diff --git a/src/partials/Community/Community.jsx b/src/partials/Community/Community.jsx new file mode 100644 index 0000000..7ffb03e --- /dev/null +++ b/src/partials/Community/Community.jsx @@ -0,0 +1,78 @@ +import React from "react"; +import "./Community.scss"; +import Marquee from "react-fast-marquee"; +import { community } from "constants/communityData"; + +const Community = () => { + return ( +
+

Community Partners

+ + {community.map((item) => { + return ( + + {item.name} + + ); + })} + {community.map((item) => { + return ( + + {item.name} + + ); + })} + + + {community.map((item) => { + return ( + + {item.name} + + ); + })} + {community.map((item) => { + return ( + + {item.name} + + ); + })} + {community.map((item) => { + return ( + + {item.name} + + ); + })} + +
+ ); +}; + +export default Community; diff --git a/src/partials/Community/Community.scss b/src/partials/Community/Community.scss new file mode 100644 index 0000000..73b01a1 --- /dev/null +++ b/src/partials/Community/Community.scss @@ -0,0 +1,26 @@ +.scroll { + width: 100%; + height: 400px; + margin: 10px 0px 70px 0px; +} +.image { + height: 130px; + // width: 200px; + background-color: white; + object-fit: cover; + margin: 8px; +} +.community { + text-align: center; + margin-bottom: 40px; +} +@media screen and (max-width: 768px) { + .scroll { + height: 200px; + margin-top: 20px; + } + .image { + height: 70px; + margin: 10px 12px; + } +} diff --git a/src/partials/FAQ/FAQ.jsx b/src/partials/FAQ/FAQ.jsx index f2c3a87..81b3994 100644 --- a/src/partials/FAQ/FAQ.jsx +++ b/src/partials/FAQ/FAQ.jsx @@ -1,6 +1,5 @@ import React, { useEffect, useState } from "react"; -// @ts-ignore -import styles from "./FAQ.scss?inline"; +import "./FAQ.scss"; import { CaretRightOutlined } from "@ant-design/icons"; import { Collapse, Space } from "antd"; @@ -30,7 +29,7 @@ const FAQ = () => { Collapse: { headerPadding: "5px 10px", contentPadding: "2px 10px ", - fontSize: isSmallScreen ? "10px" : "16px", // fixed syntax error + fontSize: isSmallScreen ? "16px" : "18px", // fixed syntax error }, Input: { colorPrimary: "#eb2f96", @@ -42,7 +41,7 @@ const FAQ = () => { {faqData.map((item, index) => { return ( ( { >

{ return ( - <> -

- {projectData.map((projectData, index) => -
- -
- )} +
+
+

Projects

+
+ {newProjectData.map((project, index) => ( + + ))}
- - ) +
+
+ ); }; export default Projects; diff --git a/src/partials/Projects/Projects.scss b/src/partials/Projects/Projects.scss index e69de29..8aee28c 100644 --- a/src/partials/Projects/Projects.scss +++ b/src/partials/Projects/Projects.scss @@ -0,0 +1,50 @@ +.projects-container { + display: flex; + flex-direction: column; + width: 100%; + align-items: center; + + h1 { + text-align: center; + font-size: 3rem; + } + + .projects-card-conatiner { + display: grid; + grid-template-columns: repeat(3, minmax(100px, 1fr)); + + width: 100%; + gap: 5px; + + justify-content: center; + } + //add media query + @media (max-width: 768px) { + .projects-card-conatiner { + grid-template-columns: repeat(2, minmax(100px, 1fr)); + + } + } + //add media query for mobile + @media (max-width: 480px) { + .projects-card-conatiner { + grid-template-columns: repeat(1, minmax(100px, 1fr)); + } + } + } + .projects{ + padding: 0 3rem; + } + //add media query for mobile + @media (max-width: 480px) { + .projects { + padding: 0 0; + } + } + //add media query for tablet + @media (max-width: 768px) { + .projects { + padding: 0 0; + } + } + \ No newline at end of file diff --git a/src/partials/Sponsors/Sponsors.jsx b/src/partials/Sponsors/Sponsors.jsx new file mode 100644 index 0000000..6dd0738 --- /dev/null +++ b/src/partials/Sponsors/Sponsors.jsx @@ -0,0 +1,19 @@ +import React from "react"; +import SponsorsCard from "./SponsorsCard"; +import { sponsorData } from "../../constants/SponsorData"; +import "./Sponsors.scss"; + +function Sponsors() { + return ( +
+

Sponsors

+
+ {sponsorData.map((user) => ( + + ))} +
+
+ ); +} + +export default Sponsors; diff --git a/src/partials/Sponsors/Sponsors.scss b/src/partials/Sponsors/Sponsors.scss new file mode 100644 index 0000000..9b767ac --- /dev/null +++ b/src/partials/Sponsors/Sponsors.scss @@ -0,0 +1,7 @@ +.sponsor-section { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + padding: 20px; +} \ No newline at end of file diff --git a/src/partials/Sponsors/SponsorsCard.jsx b/src/partials/Sponsors/SponsorsCard.jsx new file mode 100644 index 0000000..f20d6cb --- /dev/null +++ b/src/partials/Sponsors/SponsorsCard.jsx @@ -0,0 +1,40 @@ +import React from "react"; +import "./SponsorsCard.scss"; +import { FaGlobe } from "react-icons/fa"; +import { FaLinkedin } from "react-icons/fa"; + +const SponsorsCard = ({ user }) => { + return ( +
+
+ {user.name} +
+
+

{user.tag}

+ +
+
+

{user.name}

+
+
+ ); +}; + +export default SponsorsCard; diff --git a/src/partials/Sponsors/SponsorsCard.scss b/src/partials/Sponsors/SponsorsCard.scss new file mode 100644 index 0000000..d16be5d --- /dev/null +++ b/src/partials/Sponsors/SponsorsCard.scss @@ -0,0 +1,62 @@ +.sponsor-card { + position: relative; + width: 200px; + margin: 10px; + border-radius: 12px; + overflow: hidden; + box-shadow: 1px 3px 10px 4px rgba(0, 0, 0, 0.3882352941); +} + +.circle { + overflow: hidden; + border-radius: 50%; + padding: 24px; +} + +.circle img { + display: block; + width: 100%; + height: auto; + border-radius: 50%; + object-fit: cover; +} + +.overlay { + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background-color: rgba( + 0, + 0, + 0, + 0.7 + ); + color: rgb(255, 255, 255); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + transition: left 0.3s ease-in-out; +} + +.sponsor-card:hover .overlay { + left: 0; +} + +.name-container { + margin: 10px; + text-align: center; + + @media screen and (max-width: 450px) { + font-size: 28px !important; + } +} + +@media screen and (max-width: 479px) { + .sponsor-card { + width: 250px; + } +} \ No newline at end of file diff --git a/src/partials/Timeline/Timeline.jsx b/src/partials/Timeline/Timeline.jsx index aa1fb5b..c92b4cf 100644 --- a/src/partials/Timeline/Timeline.jsx +++ b/src/partials/Timeline/Timeline.jsx @@ -1,4 +1,3 @@ -// eslint-disable-next-line no-unused-vars import React from "react"; import "./Timeline.scss"; import { StarFull } from "assets/timelineIcons"; @@ -9,6 +8,7 @@ import { import "react-vertical-timeline-component/style.min.css"; import { timelineData } from "constants/timelineData"; import { AiFillCaretDown } from "react-icons/ai"; + const Timeline = () => { return (
diff --git a/woc.svg b/woc.svg new file mode 100644 index 0000000..86e2ec0 --- /dev/null +++ b/woc.svg @@ -0,0 +1 @@ + \ No newline at end of file