From 6b2062c53644b723825e06418fbebb4999aae1d7 Mon Sep 17 00:00:00 2001 From: Shivan Samala <112183968+shivan2004@users.noreply.github.com> Date: Sat, 8 Jun 2024 13:29:03 +0530 Subject: [PATCH 1/8] updated typo for ep2 --- src/components/Pages/RequestEpisode.jsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/components/Pages/RequestEpisode.jsx b/src/components/Pages/RequestEpisode.jsx index a0a4412..b810eca 100644 --- a/src/components/Pages/RequestEpisode.jsx +++ b/src/components/Pages/RequestEpisode.jsx @@ -54,6 +54,17 @@ const RequestEpisode = (props) => { setProgress(80); let trimData = segregate(URL); let nextTrimData = nextURL ? segregate(nextURL) : { title: 'No more episodes available,', content: 'this is the finale' }; + + // Special case for episode 2 + if (episodeNumber === 2) { + trimData.content = 'गुलामी से मुक्ति'; + } + + // Special case for episode 1 up next + if (episodeNumber === 1 && nextTrimData.title.includes('Ep 02')) { + nextTrimData.content = 'गुलामी से मुक्ति'; + } + setContent(trimData.content); setUrl(trimData.url); setNextTitle(nextTrimData.title); @@ -87,7 +98,7 @@ const RequestEpisode = (props) => { {nextTitle && nextContent && (
Up Next:
-

{nextTitle} {nextContent}

+

{nextTitle} {nextContent}

)} From cc763f5416f6b784777421bf4313502ace43fac4 Mon Sep 17 00:00:00 2001 From: Kapil Gupta Date: Sat, 8 Jun 2024 14:26:51 +0530 Subject: [PATCH 2/8] https://github.com/Avdhesh-Varshney/Chanakya-Niti/issues/36 --- src/components/Alert/Alert.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Alert/Alert.jsx b/src/components/Alert/Alert.jsx index 993451b..f13dedc 100644 --- a/src/components/Alert/Alert.jsx +++ b/src/components/Alert/Alert.jsx @@ -2,7 +2,7 @@ import React from 'react' const Alert = (props) => { return ( -
+
{props.alert &&
{props.alert.msg}
} From 2eb1ba8167df1ac8603c2069cd475911ec7521d6 Mon Sep 17 00:00:00 2001 From: Kapil Gupta Date: Sun, 9 Jun 2024 11:38:36 +0530 Subject: [PATCH 3/8] did modification for issue #36 --- src/App.jsx | 6 +++--- src/components/Alert/Alert.css | 8 ++++++++ src/components/Alert/Alert.jsx | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 src/components/Alert/Alert.css diff --git a/src/App.jsx b/src/App.jsx index e63e8c3..c978932 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -41,9 +41,9 @@ function App() { setAlert({ msg: message }) - setTimeout(() => { - setAlert(null); - }, 3500); + // setTimeout(() => { + // setAlert(null); + // }, 3500); } return ( diff --git a/src/components/Alert/Alert.css b/src/components/Alert/Alert.css new file mode 100644 index 0000000..8800eb0 --- /dev/null +++ b/src/components/Alert/Alert.css @@ -0,0 +1,8 @@ +.addMarginBottom{ + margin-bottom: 5% ; +} +@media (min-width:321px) and (max-width:621px){ + .addMarginBottom{ + margin-bottom: 12% ; + } +} \ No newline at end of file diff --git a/src/components/Alert/Alert.jsx b/src/components/Alert/Alert.jsx index f13dedc..905b324 100644 --- a/src/components/Alert/Alert.jsx +++ b/src/components/Alert/Alert.jsx @@ -1,8 +1,8 @@ import React from 'react' - +import './Alert.css' const Alert = (props) => { return ( -
+
{props.alert &&
{props.alert.msg}
} From 7306e4b0fe44162f4551885665b9a27edb86154b Mon Sep 17 00:00:00 2001 From: KAPIL GUPTA <59639410+kapilG0@users.noreply.github.com> Date: Mon, 10 Jun 2024 08:16:12 +0530 Subject: [PATCH 4/8] Update App.jsx --- src/App.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index c978932..cbba53b 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -41,9 +41,9 @@ function App() { setAlert({ msg: message }) - // setTimeout(() => { - // setAlert(null); - // }, 3500); + setTimeout(() => { + setAlert(null); + }, 3500); } return ( From 3043a7bd9a540a17ece751b43c4f1ba5130676bb Mon Sep 17 00:00:00 2001 From: Bhavy_Zala Date: Tue, 11 Jun 2024 12:11:21 +0530 Subject: [PATCH 5/8] Scrollbar with style added --- src/index.css | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/index.css b/src/index.css index 51c0651..f0a271b 100644 --- a/src/index.css +++ b/src/index.css @@ -11,8 +11,30 @@ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } +/*scrollbar*/ +::-webkit-scrollbar-track +{ + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); + background-color: #F5F5F5; + border-radius: 10px; +} +::-webkit-scrollbar +{ + width: 10px; + background-color: #F5F5F5; +} +::-webkit-scrollbar-thumb +{ + border-radius: 10px; + background-image: -webkit-gradient(linear, + left bottom, + left top, + color-stop(0.44, rgb(122,153,217)), + color-stop(0.72, rgb(73,125,189)), + color-stop(0.86, rgb(28,58,148))); +} /* BACKGROUND with wave animation */ From 38199d6cd8e49ed8fc969d3a3c15e27bc44fc79d Mon Sep 17 00:00:00 2001 From: Bhavy Zala <126322584+zalabhavy@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:21:02 +0530 Subject: [PATCH 6/8] Update index.css --- src/index.css | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/index.css b/src/index.css index f0a271b..2a4f1dd 100644 --- a/src/index.css +++ b/src/index.css @@ -12,30 +12,19 @@ -moz-osx-font-smoothing: grayscale; } /*scrollbar*/ -::-webkit-scrollbar-track -{ +::-webkit-scrollbar-track{ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); background-color: #F5F5F5; border-radius: 10px; } - -::-webkit-scrollbar -{ +::-webkit-scrollbar{ width: 10px; background-color: #F5F5F5; } - -::-webkit-scrollbar-thumb -{ +::-webkit-scrollbar-thumb{ border-radius: 10px; - background-image: -webkit-gradient(linear, - left bottom, - left top, - color-stop(0.44, rgb(122,153,217)), - color-stop(0.72, rgb(73,125,189)), - color-stop(0.86, rgb(28,58,148))); + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.44, rgb(122,153,217)), color-stop(0.72, rgb(73,125,189)), color-stop(0.86, rgb(28,58,148))); } - /* BACKGROUND with wave animation */ From 23b6f97c45dc830b724b3b392ca32cd2e2a3a263 Mon Sep 17 00:00:00 2001 From: Unnati101 <143032635+Unnati101@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:04:27 +0530 Subject: [PATCH 7/8] input modified --- package-lock.json | 631 +++++++++++++++++++++++++++++++++++++++--- package.json | 3 + src/App.jsx | 16 +- src/assets/options.js | 7 + 4 files changed, 619 insertions(+), 38 deletions(-) create mode 100644 src/assets/options.js diff --git a/package-lock.json b/package-lock.json index 9d0902a..5244325 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,9 @@ "name": "chanakya", "version": "0.0.0", "dependencies": { + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@mui/material": "^5.15.19", "bootstrap": "^5.3.2", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -51,7 +54,6 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" @@ -168,7 +170,6 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, "dependencies": { "@babel/types": "^7.22.15" }, @@ -232,7 +233,6 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -241,7 +241,6 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -273,7 +272,6 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -375,7 +373,6 @@ "version": "7.23.9", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", - "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -385,6 +382,155 @@ "node": ">=6.9.0" } }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", + "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz", + "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/styled": { + "version": "11.11.5", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz", + "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.2", + "@emotion/serialize": "^1.1.4", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -824,6 +970,40 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz", + "integrity": "sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", + "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz", + "integrity": "sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -924,6 +1104,236 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mui/base": { + "version": "5.0.0-beta.40", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", + "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@floating-ui/react-dom": "^2.0.8", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.14", + "@popperjs/core": "^2.11.8", + "clsx": "^2.1.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.15.19", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.19.tgz", + "integrity": "sha512-tCHSi/Tomez9ERynFhZRvFO6n9ATyrPs+2N80DMDzp6xDVirbBjEwhPcE+x7Lj+nwYw0SqFkOxyvMP0irnm55w==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/material": { + "version": "5.15.19", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.19.tgz", + "integrity": "sha512-lp5xQBbcRuxNtjpWU0BWZgIrv2XLUz4RJ0RqFXBdESIsKoGCQZ6P3wwU5ZPuj5TjssNiKv9AlM+vHopRxZhvVQ==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/base": "5.0.0-beta.40", + "@mui/core-downloads-tracker": "^5.15.19", + "@mui/system": "^5.15.15", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.14", + "@types/react-transition-group": "^4.4.10", + "clsx": "^2.1.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@mui/private-theming": { + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz", + "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/utils": "^5.15.14", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz", + "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@emotion/cache": "^11.11.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.15.15", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz", + "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/private-theming": "^5.15.14", + "@mui/styled-engine": "^5.15.14", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.14", + "clsx": "^2.1.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.14", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz", + "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==", + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz", + "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@types/prop-types": "^15.7.11", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -963,7 +1373,6 @@ "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -1185,17 +1594,20 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, "node_modules/@types/prop-types": { "version": "15.7.11", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/react": { "version": "18.2.52", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.52.tgz", "integrity": "sha512-E/YjWh3tH+qsLKaUzgpZb5AY0ChVa+ZJzF7ogehVILrFpdQk6nC/WXOv0bfFEABbXbgNxLBGU7IIZByPKb6eBw==", - "dev": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -1211,11 +1623,18 @@ "@types/react": "*" } }, + "node_modules/@types/react-transition-group": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", + "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", @@ -1292,7 +1711,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -1432,6 +1850,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1516,7 +1964,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -1545,7 +1992,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1555,11 +2001,18 @@ "node": ">=4" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -1567,8 +2020,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -1582,6 +2034,21 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1599,8 +2066,7 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/debug": { "version": "4.3.4", @@ -1668,12 +2134,29 @@ "node": ">=6.0.0" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.656", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.656.tgz", "integrity": "sha512-9AQB5eFTHyR3Gvt2t/NwR0le2jBSUNwCnMbUCejFWHD+so4tH40/dRLgoE+jxlPeWS43XJewyvCv+I8LPMl49Q==", "dev": true }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/es-abstract": { "version": "1.22.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", @@ -1849,7 +2332,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -2195,6 +2677,11 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -2264,7 +2751,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2427,7 +2913,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -2487,7 +2972,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -2495,6 +2979,14 @@ "node": ">= 0.4" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -2508,7 +3000,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2575,6 +3066,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, "node_modules/is-async-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", @@ -2634,7 +3130,6 @@ "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, "dependencies": { "hasown": "^2.0.0" }, @@ -2926,6 +3421,11 @@ "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==" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2987,6 +3487,11 @@ "node": ">= 0.8.0" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3080,7 +3585,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3242,7 +3746,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -3250,6 +3753,23 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3280,8 +3800,15 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } }, "node_modules/picocolors": { "version": "1.0.0", @@ -3330,7 +3857,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -3405,8 +3931,7 @@ "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-refresh": { "version": "0.14.0", @@ -3428,6 +3953,21 @@ "react": "^16 || ^17 || ^18" } }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", @@ -3491,7 +4031,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -3693,6 +4232,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -3791,11 +4338,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -3807,7 +4358,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -3825,7 +4375,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -4131,6 +4680,14 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index b628aa1..2e804cb 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,9 @@ "preview": "vite preview" }, "dependencies": { + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@mui/material": "^5.15.19", "bootstrap": "^5.3.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/src/App.jsx b/src/App.jsx index c415ce5..59d7e58 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -4,6 +4,10 @@ import RequestEpisode from './components/Pages/RequestEpisode'; import Alert from './components/Alert/Alert'; import './App.css'; import QuoteSection from './components/Quotes/QuotesSection'; +import TextField from '@mui/material/TextField'; +import Autocomplete from '@mui/material/Autocomplete'; +import { options } from './assets/options.js'; + function App() { const [value, setValue] = useState(1); @@ -57,12 +61,22 @@ function App() { +
+
- + } + /> +
- + {startPlayback && }
); diff --git a/src/components/Alert/Alert.css b/src/components/Alert/Alert.css index 8800eb0..f524274 100644 --- a/src/components/Alert/Alert.css +++ b/src/components/Alert/Alert.css @@ -1,8 +1,9 @@ -.addMarginBottom{ - margin-bottom: 5% ; +.addMarginBottom { + margin-bottom: 5%; } -@media (min-width:321px) and (max-width:621px){ - .addMarginBottom{ - margin-bottom: 12% ; - } + +@media (min-width:321px) and (max-width:621px) { + .addMarginBottom { + margin-bottom: 12%; + } } \ No newline at end of file diff --git a/src/components/Alert/Alert.jsx b/src/components/Alert/Alert.jsx index 905b324..59a3c99 100644 --- a/src/components/Alert/Alert.jsx +++ b/src/components/Alert/Alert.jsx @@ -1,8 +1,8 @@ -import React from 'react' -import './Alert.css' +import React from "react" +import "./Alert.css" const Alert = (props) => { return ( -
+
{props.alert &&
{props.alert.msg}
} diff --git a/src/components/Cards/Card.css b/src/components/Cards/Card.css index b4fcd9d..a6f890a 100644 --- a/src/components/Cards/Card.css +++ b/src/components/Cards/Card.css @@ -1,70 +1,64 @@ body { - padding: 1rem; - } + padding: 1rem; +} - .custom-card { - max-width: 400px; - border: 1px solid #ffffff81; - box-shadow: 0 7px 20px 5px #00000088; - border-radius: .7rem; - backdrop-filter: blur(1px); - -webkit-backdrop-filter: blur(1px); - overflow: hidden; - transition: .5s all; - padding: 0.1rem; - } - - - .card-img-overlay { - display: flex; - flex-direction: column; - width: 90%; - padding: 1rem; - backdrop-filter: blur(2px); - } - - - .card-text { - margin-bottom: 1rem; - font-size: 1.3rem; - font-weight: 600; - color: #000000; - padding-left: 6rem; - padding-top: 5rem; - } +.custom-card { + max-width: 400px; + border: 1px solid #ffffff81; + box-shadow: 0 7px 20px 5px #00000088; + border-radius: .7rem; + backdrop-filter: blur(1px); + -webkit-backdrop-filter: blur(1px); + overflow: hidden; + transition: .5s all; + padding: 0.1rem; +} - - .rhap_container { - background-color: rgba(86, 78, 21, 0.613); /* Semi-transparent background */ - backdrop-filter: blur(10px); - padding: 1.2rem 1rem; - border-radius: 5px; - width: 368px; - } - - .rhap_main-controls-button { - color: #000000 ; - } - - .rhap_time { - color: #000000 ; - } - - .rhap_progress-indicator { - background-color: #000000 ; - } - - .rhap_progress-filled { - background-color: #2e2e2e ; - } - - - .custom-card:hover { - border: 1px solid #ffffff; - box-shadow: 0 7px 50px 10px #000000aa; - transform: scale(1.09); - filter: brightness(1.01); - backdrop-filter: blur(0px); - } - - \ No newline at end of file +.card-img-overlay { + display: flex; + flex-direction: column; + width: 90%; + padding: 1rem; + backdrop-filter: blur(2px); +} + +.card-text { + margin-bottom: 1rem; + font-size: 1.3rem; + font-weight: 600; + color: #000000; + padding-left: 6rem; + padding-top: 5rem; +} + +.rhap_container { + background-color: rgba(86, 78, 21, 0.613); + backdrop-filter: blur(10px); + padding: 1.2rem 1rem; + border-radius: 5px; + width: 368px; +} + +.rhap_main-controls-button { + color: #000000; +} + +.rhap_time { + color: #000000; +} + +.rhap_progress-indicator { + background-color: #000000; +} + +.rhap_progress-filled { + background-color: #2e2e2e; +} + +.custom-card:hover { + border: 1px solid #ffffff; + box-shadow: 0 7px 50px 10px #000000aa; + transform: scale(1.09); + filter: brightness(1.01); + backdrop-filter: blur(0px); +} \ No newline at end of file diff --git a/src/components/Cards/Card.jsx b/src/components/Cards/Card.jsx index 79a21bd..2d3e251 100644 --- a/src/components/Cards/Card.jsx +++ b/src/components/Cards/Card.jsx @@ -1,15 +1,17 @@ -import React, { useState } from 'react'; -import AudioPlayer from 'react-h5-audio-player'; -import 'react-h5-audio-player/lib/styles.css'; -import './Card.css'; - +import React, { useState } from "react"; +import AudioPlayer from "react-h5-audio-player"; +import "react-h5-audio-player/lib/styles.css"; +import "./Card.css"; const Card = (props) => { const { title, content, url, setEpisodeNumber, episodeNumber, fetchData, useEffect } = props; + const [epsNumber, setEpsNumber] = useState(episodeNumber); + useEffect(() => { fetchData(epsNumber); }, [epsNumber]); + useEffect(() => { setEpsNumber(episodeNumber); }, [episodeNumber]); @@ -18,10 +20,12 @@ const Card = (props) => { setEpsNumber(epsNumber - 1); setEpisodeNumber(episodeNumber - 1); }; + const handleNext = () => { setEpsNumber(epsNumber + 1); setEpisodeNumber(episodeNumber + 1); }; + return (
Chanakya-Image @@ -35,10 +39,9 @@ const Card = (props) => { customAdditionalControls={[]} customVolumeControls={[]} showDownloadProgress={[]} - className='audio-player' + className="audio-player" showSkipControls={true} style={{ color: "white" }} - />
diff --git a/src/components/Cards/Cards.css b/src/components/Cards/Cards.css index dd3359b..6c4c49d 100644 --- a/src/components/Cards/Cards.css +++ b/src/components/Cards/Cards.css @@ -1,3 +1,3 @@ .rhap_time { - color: white; + color: white; } \ No newline at end of file diff --git a/src/components/Pages/RequestEpisode.jsx b/src/components/Pages/RequestEpisode.jsx index b810eca..9bacdbc 100644 --- a/src/components/Pages/RequestEpisode.jsx +++ b/src/components/Pages/RequestEpisode.jsx @@ -1,5 +1,5 @@ -import React, { useState, useEffect } from 'react'; -import Card from '../Cards/Card'; +import React, { useState, useEffect } from "react"; +import Card from "../Cards/Card"; const segregate = (url) => { const parts = url.split("/"); @@ -19,16 +19,16 @@ const segregate = (url) => { const RequestEpisode = (props) => { const { episodeNumber, setProgress, setEpisodeNumber } = props; - const [content, setContent] = useState(''); - const [url, setUrl] = useState(''); - const [nextContent, setNextContent] = useState(''); - const [nextTitle, setNextTitle] = useState(''); + const [content, setContent] = useState(""); + const [url, setUrl] = useState(""); + const [nextContent, setNextContent] = useState(""); + const [nextTitle, setNextTitle] = useState(""); const fetchData = async (episodeNumber) => { setProgress(5); setEpisodeNumber(episodeNumber); - let episodeName = ''; - let nextEpisodeName = ''; + let episodeName = ""; + let nextEpisodeName = ""; if (episodeNumber < 10) { episodeName = `Ep 0${episodeNumber}`; nextEpisodeName = `Ep 0${episodeNumber + 1}`; @@ -38,11 +38,11 @@ const RequestEpisode = (props) => { } setProgress(10); try { - const response = await fetch('https://api.github.com/repos/hack-boi/Chanakya/contents'); + const response = await fetch("https://api.github.com/repos/hack-boi/Chanakya/contents"); setProgress(30); const data = await response.json(); const audioFiles = data - .filter(file => file.name.endsWith('.mp3') || file.name.endsWith('.wav') || file.name.endsWith('.m4a') || file.name.endsWith('.aac')) + .filter(file => file.name.endsWith(".mp3") || file.name.endsWith(".wav") || file.name.endsWith(".m4a") || file.name.endsWith(".aac")) .map(file => file.download_url); setProgress(55); @@ -53,16 +53,16 @@ const RequestEpisode = (props) => { } setProgress(80); let trimData = segregate(URL); - let nextTrimData = nextURL ? segregate(nextURL) : { title: 'No more episodes available,', content: 'this is the finale' }; + let nextTrimData = nextURL ? segregate(nextURL) : { title: "No more episodes available,", content: "this is the finale" }; // Special case for episode 2 if (episodeNumber === 2) { - trimData.content = 'गुलामी से मुक्ति'; + trimData.content = "गुलामी से मुक्ति"; } // Special case for episode 1 up next - if (episodeNumber === 1 && nextTrimData.title.includes('Ep 02')) { - nextTrimData.content = 'गुलामी से मुक्ति'; + if (episodeNumber === 1 && nextTrimData.title.includes("Ep 02")) { + nextTrimData.content = "गुलामी से मुक्ति"; } setContent(trimData.content); @@ -70,10 +70,10 @@ const RequestEpisode = (props) => { setNextTitle(nextTrimData.title); setNextContent(nextTrimData.content); } catch (error) { - console.error('Error fetching episode:', error); - setContent('Error fetching episode'); - setNextTitle('Error fetching next episode'); - setNextContent(''); + console.error("Error fetching episode:", error); + setContent("Error fetching episode"); + setNextTitle("Error fetching next episode"); + setNextContent(""); } setProgress(100); }; diff --git a/src/components/Quotes/QuoteSection.css b/src/components/Quotes/QuoteSection.css index 1a36a3d..2478840 100644 --- a/src/components/Quotes/QuoteSection.css +++ b/src/components/Quotes/QuoteSection.css @@ -1,17 +1,10 @@ - -@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap'); - - +@import url("https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap"); .quote-text { - font-family: 'Great Vibes', cursive; - font-size: 1.9rem; + font-family: "Great Vibes", cursive; + font-size: 1.9rem; font-style: italic; - color: #ffc107; + color: #ffc107; margin: 10px; - text-align: center; -} - - - - \ No newline at end of file + text-align: center; +} \ No newline at end of file diff --git a/src/components/Quotes/QuotesSection.jsx b/src/components/Quotes/QuotesSection.jsx index aa1ee9c..d1d710c 100644 --- a/src/components/Quotes/QuotesSection.jsx +++ b/src/components/Quotes/QuotesSection.jsx @@ -1,9 +1,9 @@ -import React, { useEffect, useState } from 'react'; -import quotes from './quotes.json'; -import './QuoteSection.css'; // Import the CSS file +import React, { useEffect, useState } from "react"; +import quotes from "./quotes.json"; +import "./QuoteSection.css"; // Import the CSS file const QuoteSection = () => { - const [quote, setQuote] = useState(''); + const [quote, setQuote] = useState(""); useEffect(() => { fetchDailyQuote(); @@ -11,9 +11,9 @@ const QuoteSection = () => { const fetchDailyQuote = async () => { try { - const response = await fetch('https://api.yourquoteapi.com/quotes?author=Chanakya', { + const response = await fetch("https://api.yourquoteapi.com/quotes?author=Chanakya", { headers: { - 'Authorization': `4fe303f4bamshb97ef5b1dd575e0p1ccc51jsnd9644d3c587b` + "Authorization": `4fe303f4bamshb97ef5b1dd575e0p1ccc51jsnd9644d3c587b` } }); const data = await response.json(); @@ -23,7 +23,7 @@ const QuoteSection = () => { setFallbackQuote(); } } catch (error) { - console.error('Error fetching the quote:', error); + console.error("Error fetching the quote:", error); setFallbackQuote(); } }; diff --git a/src/components/Quotes/quotes.json b/src/components/Quotes/quotes.json index 22da05c..59af639 100644 --- a/src/components/Quotes/quotes.json +++ b/src/components/Quotes/quotes.json @@ -1,97 +1,284 @@ - [ - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." }, - { "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." }, - { "quote": "A man is great by deeds, not by birth." }, - { "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." }, - { "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." }, - { "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." }, - { "quote": "A man is great by deeds, not by birth." }, - { "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." }, - { "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." }, - { "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." }, - { "quote": "A man is great by deeds, not by birth." }, - { "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." }, - { "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." }, - { "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." }, - { "quote": "A man is great by deeds, not by birth." }, - { "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." }, - { "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." }, - { "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." }, - { "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." }, - { "quote": "Even if a snake is not poisonous, it should pretend to be venomous." }, - { "quote": "As soon as the fear approaches near, attack and destroy it." }, - { "quote": "The world's biggest power is the youth and beauty of a woman." }, - { "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." }, - { "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." }, - { "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." }, - { "quote": "A man is great by deeds, not by birth." }, - { "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness."} -] + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." + }, + { + "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." + }, + { + "quote": "A man is great by deeds, not by birth." + }, + { + "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." + }, + { + "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." + }, + { + "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." + }, + { + "quote": "A man is great by deeds, not by birth." + }, + { + "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." + }, + { + "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." + }, + { + "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." + }, + { + "quote": "A man is great by deeds, not by birth." + }, + { + "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." + }, + { + "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." + }, + { + "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." + }, + { + "quote": "A man is great by deeds, not by birth." + }, + { + "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." + }, + { + "quote": "Books are as useful to a stupid person as a mirror is useful to a blind person." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "Test a servant while in the discharge of his duty, a relative in difficulty, a friend in adversity, and a wife in misfortune." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Wealth, a friend, a wife, and a kingdom may be regained; but this body when lost may never be acquired again." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth." + }, + { + "quote": "Before you start some work, always ask yourself three questions – Why am I doing it, What the results might be, and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead." + }, + { + "quote": "A person should not be too honest. Straight trees are cut first and honest people are screwed first." + }, + { + "quote": "Even if a snake is not poisonous, it should pretend to be venomous." + }, + { + "quote": "As soon as the fear approaches near, attack and destroy it." + }, + { + "quote": "The world's biggest power is the youth and beauty of a woman." + }, + { + "quote": "Education is the best friend. An educated person is respected everywhere. Education beats the beauty and the youth." + }, + { + "quote": "The fragrance of flowers spreads only in the direction of the wind. But the goodness of a person spreads in all direction." + }, + { + "quote": "God is not present in idols. Your feelings are your god. The soul is your temple." + }, + { + "quote": "A man is great by deeds, not by birth." + }, + { + "quote": "Never make friends with people who are above or below you in status. Such friendships will never give you any happiness." + } +] \ No newline at end of file diff --git a/src/index.css b/src/index.css index 2a4f1dd..e39e77c 100644 --- a/src/index.css +++ b/src/index.css @@ -11,23 +11,25 @@ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } -/*scrollbar*/ -::-webkit-scrollbar-track{ - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); - background-color: #F5F5F5; - border-radius: 10px; -} -::-webkit-scrollbar{ - width: 10px; - background-color: #F5F5F5; + +/* scrollbar */ +::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + background-color: #F5F5F5; + border-radius: 10px; } -::-webkit-scrollbar-thumb{ - border-radius: 10px; - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.44, rgb(122,153,217)), color-stop(0.72, rgb(73,125,189)), color-stop(0.86, rgb(28,58,148))); + +::-webkit-scrollbar { + width: 10px; + background-color: #F5F5F5; } -/* BACKGROUND with wave animation */ +::-webkit-scrollbar-thumb { + border-radius: 10px; + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.44, rgb(122, 153, 217)), color-stop(0.72, rgb(73, 125, 189)), color-stop(0.86, rgb(28, 58, 148))); +} +/* BACKGROUND with wave animation */ body { margin: auto; font-family: -apple-system, BlinkMacSystemFont, sans-serif; @@ -41,13 +43,15 @@ body { @keyframes gradient { 0% { - background-position: 0% 0%; + background-position: 0% 0%; } + 50% { - background-position: 100% 100%; + background-position: 100% 100%; } + 100% { - background-position: 0% 0%; + background-position: 0% 0%; } } @@ -79,23 +83,23 @@ body { @keyframes wave { 2% { - transform: translateX(1); + transform: translateX(1); } 25% { - transform: translateX(-25%); + transform: translateX(-25%); } 50% { - transform: translateX(-50%); + transform: translateX(-50%); } 75% { - transform: translateX(-25%); + transform: translateX(-25%); } 100% { - transform: translateX(1); + transform: translateX(1); } } @@ -114,7 +118,7 @@ body { padding: 16px; margin-top: 20px; width: 450px; - height: auto; /* Allow height to adjust to content */ + height: auto; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); background-color: rgba(40, 40, 40, 0.8); color: #fff; @@ -128,10 +132,10 @@ body { margin-bottom: 20px; } -.next-episode-card h5, .next-episode-card p { - color: #FFBF00; /* Adjusting text color */ +.next-episode-card h5, +.next-episode-card p { + color: #FFBF00; display: inline-block; padding: 0 4px; border-radius: 4px; -} - +} \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx index 9f009e8..e44b509 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,10 +1,10 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.jsx' -import 'bootstrap/dist/css/bootstrap.min.css' -import './index.css' +import React from "react" +import ReactDOM from "react-dom/client" +import App from "./App.jsx" +import "bootstrap/dist/css/bootstrap.min.css" +import "./index.css" -ReactDOM.createRoot(document.getElementById('root')).render( +ReactDOM.createRoot(document.getElementById("root")).render( ,