ChandimaPrabath
commited on
Commit
•
2a108da
1
Parent(s):
d84cd34
0.0.2 Alpha player
Browse files- frontend/package-lock.json +753 -24
- frontend/package.json +3 -0
- frontend/src/app/player/movie/[title]/MoviePlayerPage.css +2 -0
- frontend/src/components/MoviePlayer.css +71 -16
- frontend/src/components/MoviePlayer.js +26 -14
- frontend/src/components/SeekableProgressBar.css +12 -0
- frontend/src/components/SeekableProgressBar.js +63 -0
frontend/package-lock.json
CHANGED
@@ -8,11 +8,14 @@
|
|
8 |
"name": "frontend",
|
9 |
"version": "0.1.0",
|
10 |
"dependencies": {
|
|
|
|
|
11 |
"@fortawesome/fontawesome-free": "^6.6.0",
|
12 |
"@fortawesome/fontawesome-svg-core": "^6.6.0",
|
13 |
"@fortawesome/free-regular-svg-icons": "^6.6.0",
|
14 |
"@fortawesome/free-solid-svg-icons": "^6.6.0",
|
15 |
"@fortawesome/react-fontawesome": "^0.2.2",
|
|
|
16 |
"axios": "^1.7.4",
|
17 |
"next": "14.2.5",
|
18 |
"react": "^18",
|
@@ -40,6 +43,152 @@
|
|
40 |
"url": "https://github.com/sponsors/sindresorhus"
|
41 |
}
|
42 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
"node_modules/@babel/runtime": {
|
44 |
"version": "7.25.6",
|
45 |
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz",
|
@@ -51,6 +200,57 @@
|
|
51 |
"node": ">=6.9.0"
|
52 |
}
|
53 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
"node_modules/@emnapi/runtime": {
|
55 |
"version": "1.2.0",
|
56 |
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz",
|
@@ -60,6 +260,61 @@
|
|
60 |
"tslib": "^2.4.0"
|
61 |
}
|
62 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
"node_modules/@emotion/is-prop-valid": {
|
64 |
"version": "1.2.2",
|
65 |
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
|
@@ -73,11 +328,114 @@
|
|
73 |
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
|
74 |
"integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
|
75 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
"node_modules/@emotion/unitless": {
|
77 |
"version": "0.8.1",
|
78 |
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
|
79 |
"integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
|
80 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
"node_modules/@eslint-community/eslint-utils": {
|
82 |
"version": "4.4.0",
|
83 |
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
|
@@ -620,7 +978,6 @@
|
|
620 |
"version": "0.3.5",
|
621 |
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
|
622 |
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
|
623 |
-
"dev": true,
|
624 |
"dependencies": {
|
625 |
"@jridgewell/set-array": "^1.2.1",
|
626 |
"@jridgewell/sourcemap-codec": "^1.4.10",
|
@@ -634,7 +991,6 @@
|
|
634 |
"version": "3.1.2",
|
635 |
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
|
636 |
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
637 |
-
"dev": true,
|
638 |
"engines": {
|
639 |
"node": ">=6.0.0"
|
640 |
}
|
@@ -643,7 +999,6 @@
|
|
643 |
"version": "1.2.1",
|
644 |
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
645 |
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
646 |
-
"dev": true,
|
647 |
"engines": {
|
648 |
"node": ">=6.0.0"
|
649 |
}
|
@@ -651,19 +1006,223 @@
|
|
651 |
"node_modules/@jridgewell/sourcemap-codec": {
|
652 |
"version": "1.5.0",
|
653 |
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
654 |
-
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
|
655 |
-
"dev": true
|
656 |
},
|
657 |
"node_modules/@jridgewell/trace-mapping": {
|
658 |
"version": "0.3.25",
|
659 |
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
660 |
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
661 |
-
"dev": true,
|
662 |
"dependencies": {
|
663 |
"@jridgewell/resolve-uri": "^3.1.0",
|
664 |
"@jridgewell/sourcemap-codec": "^1.4.14"
|
665 |
}
|
666 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
667 |
"node_modules/@next/env": {
|
668 |
"version": "14.2.5",
|
669 |
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.5.tgz",
|
@@ -858,6 +1417,15 @@
|
|
858 |
"node": ">=14"
|
859 |
}
|
860 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
861 |
"node_modules/@rushstack/eslint-patch": {
|
862 |
"version": "1.10.4",
|
863 |
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz",
|
@@ -884,6 +1452,33 @@
|
|
884 |
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
|
885 |
"dev": true
|
886 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
887 |
"node_modules/@types/stylis": {
|
888 |
"version": "4.2.5",
|
889 |
"resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz",
|
@@ -1439,6 +2034,20 @@
|
|
1439 |
"deep-equal": "^2.0.5"
|
1440 |
}
|
1441 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1442 |
"node_modules/balanced-match": {
|
1443 |
"version": "1.0.2",
|
1444 |
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
@@ -1513,7 +2122,6 @@
|
|
1513 |
"version": "3.1.0",
|
1514 |
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
1515 |
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
1516 |
-
"dev": true,
|
1517 |
"engines": {
|
1518 |
"node": ">=6"
|
1519 |
}
|
@@ -1611,6 +2219,14 @@
|
|
1611 |
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
1612 |
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
1613 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1614 |
"node_modules/color": {
|
1615 |
"version": "4.2.3",
|
1616 |
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
|
@@ -1674,6 +2290,34 @@
|
|
1674 |
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
1675 |
"dev": true
|
1676 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1677 |
"node_modules/cross-spawn": {
|
1678 |
"version": "7.0.3",
|
1679 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
@@ -1784,7 +2428,6 @@
|
|
1784 |
"version": "4.3.6",
|
1785 |
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
|
1786 |
"integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
|
1787 |
-
"dev": true,
|
1788 |
"dependencies": {
|
1789 |
"ms": "2.1.2"
|
1790 |
},
|
@@ -1921,6 +2564,15 @@
|
|
1921 |
"node": ">=6.0.0"
|
1922 |
}
|
1923 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1924 |
"node_modules/dom-walk": {
|
1925 |
"version": "0.1.2",
|
1926 |
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
|
@@ -1951,6 +2603,19 @@
|
|
1951 |
"node": ">=10.13.0"
|
1952 |
}
|
1953 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1954 |
"node_modules/es-abstract": {
|
1955 |
"version": "1.23.3",
|
1956 |
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
|
@@ -2133,7 +2798,6 @@
|
|
2133 |
"version": "4.0.0",
|
2134 |
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
2135 |
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
2136 |
-
"dev": true,
|
2137 |
"engines": {
|
2138 |
"node": ">=10"
|
2139 |
},
|
@@ -2632,6 +3296,11 @@
|
|
2632 |
"node": ">=8"
|
2633 |
}
|
2634 |
},
|
|
|
|
|
|
|
|
|
|
|
2635 |
"node_modules/find-up": {
|
2636 |
"version": "5.0.0",
|
2637 |
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
|
@@ -2749,7 +3418,6 @@
|
|
2749 |
"version": "1.1.2",
|
2750 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
2751 |
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
2752 |
-
"dev": true,
|
2753 |
"funding": {
|
2754 |
"url": "https://github.com/sponsors/ljharb"
|
2755 |
}
|
@@ -3043,7 +3711,6 @@
|
|
3043 |
"version": "2.0.2",
|
3044 |
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
3045 |
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
3046 |
-
"dev": true,
|
3047 |
"dependencies": {
|
3048 |
"function-bind": "^1.1.2"
|
3049 |
},
|
@@ -3051,6 +3718,14 @@
|
|
3051 |
"node": ">= 0.4"
|
3052 |
}
|
3053 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3054 |
"node_modules/ignore": {
|
3055 |
"version": "5.3.2",
|
3056 |
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
|
@@ -3064,7 +3739,6 @@
|
|
3064 |
"version": "3.3.0",
|
3065 |
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
3066 |
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
|
3067 |
-
"dev": true,
|
3068 |
"dependencies": {
|
3069 |
"parent-module": "^1.0.0",
|
3070 |
"resolve-from": "^4.0.0"
|
@@ -3224,7 +3898,6 @@
|
|
3224 |
"version": "2.15.0",
|
3225 |
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
|
3226 |
"integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
|
3227 |
-
"dev": true,
|
3228 |
"dependencies": {
|
3229 |
"hasown": "^2.0.2"
|
3230 |
},
|
@@ -3581,12 +4254,28 @@
|
|
3581 |
"js-yaml": "bin/js-yaml.js"
|
3582 |
}
|
3583 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3584 |
"node_modules/json-buffer": {
|
3585 |
"version": "3.0.1",
|
3586 |
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
3587 |
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
3588 |
"dev": true
|
3589 |
},
|
|
|
|
|
|
|
|
|
|
|
3590 |
"node_modules/json-schema-traverse": {
|
3591 |
"version": "0.4.1",
|
3592 |
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
@@ -3678,8 +4367,7 @@
|
|
3678 |
"node_modules/lines-and-columns": {
|
3679 |
"version": "1.2.4",
|
3680 |
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
3681 |
-
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
|
3682 |
-
"dev": true
|
3683 |
},
|
3684 |
"node_modules/locate-path": {
|
3685 |
"version": "6.0.0",
|
@@ -3838,8 +4526,7 @@
|
|
3838 |
"node_modules/ms": {
|
3839 |
"version": "2.1.2",
|
3840 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
3841 |
-
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
3842 |
-
"dev": true
|
3843 |
},
|
3844 |
"node_modules/mux.js": {
|
3845 |
"version": "7.0.3",
|
@@ -4171,7 +4858,6 @@
|
|
4171 |
"version": "1.0.1",
|
4172 |
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
4173 |
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
|
4174 |
-
"dev": true,
|
4175 |
"dependencies": {
|
4176 |
"callsites": "^3.0.0"
|
4177 |
},
|
@@ -4179,6 +4865,23 @@
|
|
4179 |
"node": ">=6"
|
4180 |
}
|
4181 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4182 |
"node_modules/path-exists": {
|
4183 |
"version": "4.0.0",
|
4184 |
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
@@ -4209,8 +4912,7 @@
|
|
4209 |
"node_modules/path-parse": {
|
4210 |
"version": "1.0.7",
|
4211 |
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
4212 |
-
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
|
4213 |
-
"dev": true
|
4214 |
},
|
4215 |
"node_modules/path-scurry": {
|
4216 |
"version": "1.11.1",
|
@@ -4232,7 +4934,6 @@
|
|
4232 |
"version": "4.0.0",
|
4233 |
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
4234 |
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
4235 |
-
"dev": true,
|
4236 |
"engines": {
|
4237 |
"node": ">=8"
|
4238 |
}
|
@@ -4535,6 +5236,21 @@
|
|
4535 |
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
4536 |
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
|
4537 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4538 |
"node_modules/read-cache": {
|
4539 |
"version": "1.0.0",
|
4540 |
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
@@ -4604,7 +5320,6 @@
|
|
4604 |
"version": "1.22.8",
|
4605 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
4606 |
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
|
4607 |
-
"dev": true,
|
4608 |
"dependencies": {
|
4609 |
"is-core-module": "^2.13.0",
|
4610 |
"path-parse": "^1.0.7",
|
@@ -4621,7 +5336,6 @@
|
|
4621 |
"version": "4.0.0",
|
4622 |
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
|
4623 |
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
|
4624 |
-
"dev": true,
|
4625 |
"engines": {
|
4626 |
"node": ">=4"
|
4627 |
}
|
@@ -4902,6 +5616,14 @@
|
|
4902 |
"node": ">=8"
|
4903 |
}
|
4904 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4905 |
"node_modules/source-map-js": {
|
4906 |
"version": "1.2.0",
|
4907 |
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
|
@@ -5260,7 +5982,6 @@
|
|
5260 |
"version": "1.0.0",
|
5261 |
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
5262 |
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
5263 |
-
"dev": true,
|
5264 |
"engines": {
|
5265 |
"node": ">= 0.4"
|
5266 |
},
|
@@ -5341,6 +6062,14 @@
|
|
5341 |
"node": ">=0.8"
|
5342 |
}
|
5343 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5344 |
"node_modules/to-regex-range": {
|
5345 |
"version": "5.0.1",
|
5346 |
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
|
|
8 |
"name": "frontend",
|
9 |
"version": "0.1.0",
|
10 |
"dependencies": {
|
11 |
+
"@emotion/react": "^11.13.3",
|
12 |
+
"@emotion/styled": "^11.13.0",
|
13 |
"@fortawesome/fontawesome-free": "^6.6.0",
|
14 |
"@fortawesome/fontawesome-svg-core": "^6.6.0",
|
15 |
"@fortawesome/free-regular-svg-icons": "^6.6.0",
|
16 |
"@fortawesome/free-solid-svg-icons": "^6.6.0",
|
17 |
"@fortawesome/react-fontawesome": "^0.2.2",
|
18 |
+
"@mui/material": "^6.1.1",
|
19 |
"axios": "^1.7.4",
|
20 |
"next": "14.2.5",
|
21 |
"react": "^18",
|
|
|
43 |
"url": "https://github.com/sponsors/sindresorhus"
|
44 |
}
|
45 |
},
|
46 |
+
"node_modules/@babel/code-frame": {
|
47 |
+
"version": "7.24.7",
|
48 |
+
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
|
49 |
+
"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
|
50 |
+
"dependencies": {
|
51 |
+
"@babel/highlight": "^7.24.7",
|
52 |
+
"picocolors": "^1.0.0"
|
53 |
+
},
|
54 |
+
"engines": {
|
55 |
+
"node": ">=6.9.0"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"node_modules/@babel/generator": {
|
59 |
+
"version": "7.25.6",
|
60 |
+
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
|
61 |
+
"integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
|
62 |
+
"dependencies": {
|
63 |
+
"@babel/types": "^7.25.6",
|
64 |
+
"@jridgewell/gen-mapping": "^0.3.5",
|
65 |
+
"@jridgewell/trace-mapping": "^0.3.25",
|
66 |
+
"jsesc": "^2.5.1"
|
67 |
+
},
|
68 |
+
"engines": {
|
69 |
+
"node": ">=6.9.0"
|
70 |
+
}
|
71 |
+
},
|
72 |
+
"node_modules/@babel/helper-module-imports": {
|
73 |
+
"version": "7.24.7",
|
74 |
+
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
|
75 |
+
"integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
|
76 |
+
"dependencies": {
|
77 |
+
"@babel/traverse": "^7.24.7",
|
78 |
+
"@babel/types": "^7.24.7"
|
79 |
+
},
|
80 |
+
"engines": {
|
81 |
+
"node": ">=6.9.0"
|
82 |
+
}
|
83 |
+
},
|
84 |
+
"node_modules/@babel/helper-string-parser": {
|
85 |
+
"version": "7.24.8",
|
86 |
+
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
|
87 |
+
"integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
|
88 |
+
"engines": {
|
89 |
+
"node": ">=6.9.0"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"node_modules/@babel/helper-validator-identifier": {
|
93 |
+
"version": "7.24.7",
|
94 |
+
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
|
95 |
+
"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
|
96 |
+
"engines": {
|
97 |
+
"node": ">=6.9.0"
|
98 |
+
}
|
99 |
+
},
|
100 |
+
"node_modules/@babel/highlight": {
|
101 |
+
"version": "7.24.7",
|
102 |
+
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
|
103 |
+
"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
|
104 |
+
"dependencies": {
|
105 |
+
"@babel/helper-validator-identifier": "^7.24.7",
|
106 |
+
"chalk": "^2.4.2",
|
107 |
+
"js-tokens": "^4.0.0",
|
108 |
+
"picocolors": "^1.0.0"
|
109 |
+
},
|
110 |
+
"engines": {
|
111 |
+
"node": ">=6.9.0"
|
112 |
+
}
|
113 |
+
},
|
114 |
+
"node_modules/@babel/highlight/node_modules/ansi-styles": {
|
115 |
+
"version": "3.2.1",
|
116 |
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
117 |
+
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
118 |
+
"dependencies": {
|
119 |
+
"color-convert": "^1.9.0"
|
120 |
+
},
|
121 |
+
"engines": {
|
122 |
+
"node": ">=4"
|
123 |
+
}
|
124 |
+
},
|
125 |
+
"node_modules/@babel/highlight/node_modules/chalk": {
|
126 |
+
"version": "2.4.2",
|
127 |
+
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
128 |
+
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
129 |
+
"dependencies": {
|
130 |
+
"ansi-styles": "^3.2.1",
|
131 |
+
"escape-string-regexp": "^1.0.5",
|
132 |
+
"supports-color": "^5.3.0"
|
133 |
+
},
|
134 |
+
"engines": {
|
135 |
+
"node": ">=4"
|
136 |
+
}
|
137 |
+
},
|
138 |
+
"node_modules/@babel/highlight/node_modules/color-convert": {
|
139 |
+
"version": "1.9.3",
|
140 |
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
141 |
+
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
142 |
+
"dependencies": {
|
143 |
+
"color-name": "1.1.3"
|
144 |
+
}
|
145 |
+
},
|
146 |
+
"node_modules/@babel/highlight/node_modules/color-name": {
|
147 |
+
"version": "1.1.3",
|
148 |
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
149 |
+
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
|
150 |
+
},
|
151 |
+
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
|
152 |
+
"version": "1.0.5",
|
153 |
+
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
154 |
+
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
|
155 |
+
"engines": {
|
156 |
+
"node": ">=0.8.0"
|
157 |
+
}
|
158 |
+
},
|
159 |
+
"node_modules/@babel/highlight/node_modules/has-flag": {
|
160 |
+
"version": "3.0.0",
|
161 |
+
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
162 |
+
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
163 |
+
"engines": {
|
164 |
+
"node": ">=4"
|
165 |
+
}
|
166 |
+
},
|
167 |
+
"node_modules/@babel/highlight/node_modules/supports-color": {
|
168 |
+
"version": "5.5.0",
|
169 |
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
170 |
+
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
171 |
+
"dependencies": {
|
172 |
+
"has-flag": "^3.0.0"
|
173 |
+
},
|
174 |
+
"engines": {
|
175 |
+
"node": ">=4"
|
176 |
+
}
|
177 |
+
},
|
178 |
+
"node_modules/@babel/parser": {
|
179 |
+
"version": "7.25.6",
|
180 |
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
|
181 |
+
"integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
|
182 |
+
"dependencies": {
|
183 |
+
"@babel/types": "^7.25.6"
|
184 |
+
},
|
185 |
+
"bin": {
|
186 |
+
"parser": "bin/babel-parser.js"
|
187 |
+
},
|
188 |
+
"engines": {
|
189 |
+
"node": ">=6.0.0"
|
190 |
+
}
|
191 |
+
},
|
192 |
"node_modules/@babel/runtime": {
|
193 |
"version": "7.25.6",
|
194 |
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz",
|
|
|
200 |
"node": ">=6.9.0"
|
201 |
}
|
202 |
},
|
203 |
+
"node_modules/@babel/template": {
|
204 |
+
"version": "7.25.0",
|
205 |
+
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
|
206 |
+
"integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
|
207 |
+
"dependencies": {
|
208 |
+
"@babel/code-frame": "^7.24.7",
|
209 |
+
"@babel/parser": "^7.25.0",
|
210 |
+
"@babel/types": "^7.25.0"
|
211 |
+
},
|
212 |
+
"engines": {
|
213 |
+
"node": ">=6.9.0"
|
214 |
+
}
|
215 |
+
},
|
216 |
+
"node_modules/@babel/traverse": {
|
217 |
+
"version": "7.25.6",
|
218 |
+
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
|
219 |
+
"integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
|
220 |
+
"dependencies": {
|
221 |
+
"@babel/code-frame": "^7.24.7",
|
222 |
+
"@babel/generator": "^7.25.6",
|
223 |
+
"@babel/parser": "^7.25.6",
|
224 |
+
"@babel/template": "^7.25.0",
|
225 |
+
"@babel/types": "^7.25.6",
|
226 |
+
"debug": "^4.3.1",
|
227 |
+
"globals": "^11.1.0"
|
228 |
+
},
|
229 |
+
"engines": {
|
230 |
+
"node": ">=6.9.0"
|
231 |
+
}
|
232 |
+
},
|
233 |
+
"node_modules/@babel/traverse/node_modules/globals": {
|
234 |
+
"version": "11.12.0",
|
235 |
+
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
|
236 |
+
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
|
237 |
+
"engines": {
|
238 |
+
"node": ">=4"
|
239 |
+
}
|
240 |
+
},
|
241 |
+
"node_modules/@babel/types": {
|
242 |
+
"version": "7.25.6",
|
243 |
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
|
244 |
+
"integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
|
245 |
+
"dependencies": {
|
246 |
+
"@babel/helper-string-parser": "^7.24.8",
|
247 |
+
"@babel/helper-validator-identifier": "^7.24.7",
|
248 |
+
"to-fast-properties": "^2.0.0"
|
249 |
+
},
|
250 |
+
"engines": {
|
251 |
+
"node": ">=6.9.0"
|
252 |
+
}
|
253 |
+
},
|
254 |
"node_modules/@emnapi/runtime": {
|
255 |
"version": "1.2.0",
|
256 |
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz",
|
|
|
260 |
"tslib": "^2.4.0"
|
261 |
}
|
262 |
},
|
263 |
+
"node_modules/@emotion/babel-plugin": {
|
264 |
+
"version": "11.12.0",
|
265 |
+
"resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz",
|
266 |
+
"integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==",
|
267 |
+
"dependencies": {
|
268 |
+
"@babel/helper-module-imports": "^7.16.7",
|
269 |
+
"@babel/runtime": "^7.18.3",
|
270 |
+
"@emotion/hash": "^0.9.2",
|
271 |
+
"@emotion/memoize": "^0.9.0",
|
272 |
+
"@emotion/serialize": "^1.2.0",
|
273 |
+
"babel-plugin-macros": "^3.1.0",
|
274 |
+
"convert-source-map": "^1.5.0",
|
275 |
+
"escape-string-regexp": "^4.0.0",
|
276 |
+
"find-root": "^1.1.0",
|
277 |
+
"source-map": "^0.5.7",
|
278 |
+
"stylis": "4.2.0"
|
279 |
+
}
|
280 |
+
},
|
281 |
+
"node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": {
|
282 |
+
"version": "0.9.0",
|
283 |
+
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz",
|
284 |
+
"integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="
|
285 |
+
},
|
286 |
+
"node_modules/@emotion/babel-plugin/node_modules/stylis": {
|
287 |
+
"version": "4.2.0",
|
288 |
+
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
|
289 |
+
"integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
|
290 |
+
},
|
291 |
+
"node_modules/@emotion/cache": {
|
292 |
+
"version": "11.13.1",
|
293 |
+
"resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz",
|
294 |
+
"integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==",
|
295 |
+
"dependencies": {
|
296 |
+
"@emotion/memoize": "^0.9.0",
|
297 |
+
"@emotion/sheet": "^1.4.0",
|
298 |
+
"@emotion/utils": "^1.4.0",
|
299 |
+
"@emotion/weak-memoize": "^0.4.0",
|
300 |
+
"stylis": "4.2.0"
|
301 |
+
}
|
302 |
+
},
|
303 |
+
"node_modules/@emotion/cache/node_modules/@emotion/memoize": {
|
304 |
+
"version": "0.9.0",
|
305 |
+
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz",
|
306 |
+
"integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="
|
307 |
+
},
|
308 |
+
"node_modules/@emotion/cache/node_modules/stylis": {
|
309 |
+
"version": "4.2.0",
|
310 |
+
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
|
311 |
+
"integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
|
312 |
+
},
|
313 |
+
"node_modules/@emotion/hash": {
|
314 |
+
"version": "0.9.2",
|
315 |
+
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz",
|
316 |
+
"integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="
|
317 |
+
},
|
318 |
"node_modules/@emotion/is-prop-valid": {
|
319 |
"version": "1.2.2",
|
320 |
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
|
|
|
328 |
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
|
329 |
"integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
|
330 |
},
|
331 |
+
"node_modules/@emotion/react": {
|
332 |
+
"version": "11.13.3",
|
333 |
+
"resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.3.tgz",
|
334 |
+
"integrity": "sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==",
|
335 |
+
"dependencies": {
|
336 |
+
"@babel/runtime": "^7.18.3",
|
337 |
+
"@emotion/babel-plugin": "^11.12.0",
|
338 |
+
"@emotion/cache": "^11.13.0",
|
339 |
+
"@emotion/serialize": "^1.3.1",
|
340 |
+
"@emotion/use-insertion-effect-with-fallbacks": "^1.1.0",
|
341 |
+
"@emotion/utils": "^1.4.0",
|
342 |
+
"@emotion/weak-memoize": "^0.4.0",
|
343 |
+
"hoist-non-react-statics": "^3.3.1"
|
344 |
+
},
|
345 |
+
"peerDependencies": {
|
346 |
+
"react": ">=16.8.0"
|
347 |
+
},
|
348 |
+
"peerDependenciesMeta": {
|
349 |
+
"@types/react": {
|
350 |
+
"optional": true
|
351 |
+
}
|
352 |
+
}
|
353 |
+
},
|
354 |
+
"node_modules/@emotion/serialize": {
|
355 |
+
"version": "1.3.1",
|
356 |
+
"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.1.tgz",
|
357 |
+
"integrity": "sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==",
|
358 |
+
"dependencies": {
|
359 |
+
"@emotion/hash": "^0.9.2",
|
360 |
+
"@emotion/memoize": "^0.9.0",
|
361 |
+
"@emotion/unitless": "^0.10.0",
|
362 |
+
"@emotion/utils": "^1.4.0",
|
363 |
+
"csstype": "^3.0.2"
|
364 |
+
}
|
365 |
+
},
|
366 |
+
"node_modules/@emotion/serialize/node_modules/@emotion/memoize": {
|
367 |
+
"version": "0.9.0",
|
368 |
+
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz",
|
369 |
+
"integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="
|
370 |
+
},
|
371 |
+
"node_modules/@emotion/serialize/node_modules/@emotion/unitless": {
|
372 |
+
"version": "0.10.0",
|
373 |
+
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz",
|
374 |
+
"integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg=="
|
375 |
+
},
|
376 |
+
"node_modules/@emotion/sheet": {
|
377 |
+
"version": "1.4.0",
|
378 |
+
"resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz",
|
379 |
+
"integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg=="
|
380 |
+
},
|
381 |
+
"node_modules/@emotion/styled": {
|
382 |
+
"version": "11.13.0",
|
383 |
+
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz",
|
384 |
+
"integrity": "sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==",
|
385 |
+
"dependencies": {
|
386 |
+
"@babel/runtime": "^7.18.3",
|
387 |
+
"@emotion/babel-plugin": "^11.12.0",
|
388 |
+
"@emotion/is-prop-valid": "^1.3.0",
|
389 |
+
"@emotion/serialize": "^1.3.0",
|
390 |
+
"@emotion/use-insertion-effect-with-fallbacks": "^1.1.0",
|
391 |
+
"@emotion/utils": "^1.4.0"
|
392 |
+
},
|
393 |
+
"peerDependencies": {
|
394 |
+
"@emotion/react": "^11.0.0-rc.0",
|
395 |
+
"react": ">=16.8.0"
|
396 |
+
},
|
397 |
+
"peerDependenciesMeta": {
|
398 |
+
"@types/react": {
|
399 |
+
"optional": true
|
400 |
+
}
|
401 |
+
}
|
402 |
+
},
|
403 |
+
"node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid": {
|
404 |
+
"version": "1.3.0",
|
405 |
+
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz",
|
406 |
+
"integrity": "sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==",
|
407 |
+
"dependencies": {
|
408 |
+
"@emotion/memoize": "^0.9.0"
|
409 |
+
}
|
410 |
+
},
|
411 |
+
"node_modules/@emotion/styled/node_modules/@emotion/memoize": {
|
412 |
+
"version": "0.9.0",
|
413 |
+
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz",
|
414 |
+
"integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="
|
415 |
+
},
|
416 |
"node_modules/@emotion/unitless": {
|
417 |
"version": "0.8.1",
|
418 |
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
|
419 |
"integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
|
420 |
},
|
421 |
+
"node_modules/@emotion/use-insertion-effect-with-fallbacks": {
|
422 |
+
"version": "1.1.0",
|
423 |
+
"resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz",
|
424 |
+
"integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==",
|
425 |
+
"peerDependencies": {
|
426 |
+
"react": ">=16.8.0"
|
427 |
+
}
|
428 |
+
},
|
429 |
+
"node_modules/@emotion/utils": {
|
430 |
+
"version": "1.4.0",
|
431 |
+
"resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz",
|
432 |
+
"integrity": "sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ=="
|
433 |
+
},
|
434 |
+
"node_modules/@emotion/weak-memoize": {
|
435 |
+
"version": "0.4.0",
|
436 |
+
"resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz",
|
437 |
+
"integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg=="
|
438 |
+
},
|
439 |
"node_modules/@eslint-community/eslint-utils": {
|
440 |
"version": "4.4.0",
|
441 |
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
|
|
|
978 |
"version": "0.3.5",
|
979 |
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
|
980 |
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
|
|
|
981 |
"dependencies": {
|
982 |
"@jridgewell/set-array": "^1.2.1",
|
983 |
"@jridgewell/sourcemap-codec": "^1.4.10",
|
|
|
991 |
"version": "3.1.2",
|
992 |
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
|
993 |
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
|
|
994 |
"engines": {
|
995 |
"node": ">=6.0.0"
|
996 |
}
|
|
|
999 |
"version": "1.2.1",
|
1000 |
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
1001 |
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
|
|
1002 |
"engines": {
|
1003 |
"node": ">=6.0.0"
|
1004 |
}
|
|
|
1006 |
"node_modules/@jridgewell/sourcemap-codec": {
|
1007 |
"version": "1.5.0",
|
1008 |
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
1009 |
+
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
|
|
|
1010 |
},
|
1011 |
"node_modules/@jridgewell/trace-mapping": {
|
1012 |
"version": "0.3.25",
|
1013 |
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
1014 |
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
|
|
1015 |
"dependencies": {
|
1016 |
"@jridgewell/resolve-uri": "^3.1.0",
|
1017 |
"@jridgewell/sourcemap-codec": "^1.4.14"
|
1018 |
}
|
1019 |
},
|
1020 |
+
"node_modules/@mui/core-downloads-tracker": {
|
1021 |
+
"version": "6.1.1",
|
1022 |
+
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.1.1.tgz",
|
1023 |
+
"integrity": "sha512-VdQC1tPIIcZAnf62L2M1eQif0x2vlKg3YK4kGYbtijSH4niEgI21GnstykW1vQIs+Bc6L+Hua2GATYVjilJ22A==",
|
1024 |
+
"funding": {
|
1025 |
+
"type": "opencollective",
|
1026 |
+
"url": "https://opencollective.com/mui-org"
|
1027 |
+
}
|
1028 |
+
},
|
1029 |
+
"node_modules/@mui/material": {
|
1030 |
+
"version": "6.1.1",
|
1031 |
+
"resolved": "https://registry.npmjs.org/@mui/material/-/material-6.1.1.tgz",
|
1032 |
+
"integrity": "sha512-b+eULldTqtqTCbN++2BtBWCir/1LwEYw+2mIlOt2GiEUh1EBBw4/wIukGKKNt3xrCZqRA80yLLkV6tF61Lq3cA==",
|
1033 |
+
"dependencies": {
|
1034 |
+
"@babel/runtime": "^7.25.6",
|
1035 |
+
"@mui/core-downloads-tracker": "^6.1.1",
|
1036 |
+
"@mui/system": "^6.1.1",
|
1037 |
+
"@mui/types": "^7.2.17",
|
1038 |
+
"@mui/utils": "^6.1.1",
|
1039 |
+
"@popperjs/core": "^2.11.8",
|
1040 |
+
"@types/react-transition-group": "^4.4.11",
|
1041 |
+
"clsx": "^2.1.1",
|
1042 |
+
"csstype": "^3.1.3",
|
1043 |
+
"prop-types": "^15.8.1",
|
1044 |
+
"react-is": "^18.3.1",
|
1045 |
+
"react-transition-group": "^4.4.5"
|
1046 |
+
},
|
1047 |
+
"engines": {
|
1048 |
+
"node": ">=14.0.0"
|
1049 |
+
},
|
1050 |
+
"funding": {
|
1051 |
+
"type": "opencollective",
|
1052 |
+
"url": "https://opencollective.com/mui-org"
|
1053 |
+
},
|
1054 |
+
"peerDependencies": {
|
1055 |
+
"@emotion/react": "^11.5.0",
|
1056 |
+
"@emotion/styled": "^11.3.0",
|
1057 |
+
"@mui/material-pigment-css": "^6.1.1",
|
1058 |
+
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
1059 |
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
1060 |
+
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
1061 |
+
},
|
1062 |
+
"peerDependenciesMeta": {
|
1063 |
+
"@emotion/react": {
|
1064 |
+
"optional": true
|
1065 |
+
},
|
1066 |
+
"@emotion/styled": {
|
1067 |
+
"optional": true
|
1068 |
+
},
|
1069 |
+
"@mui/material-pigment-css": {
|
1070 |
+
"optional": true
|
1071 |
+
},
|
1072 |
+
"@types/react": {
|
1073 |
+
"optional": true
|
1074 |
+
}
|
1075 |
+
}
|
1076 |
+
},
|
1077 |
+
"node_modules/@mui/material/node_modules/react-is": {
|
1078 |
+
"version": "18.3.1",
|
1079 |
+
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
1080 |
+
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
|
1081 |
+
},
|
1082 |
+
"node_modules/@mui/private-theming": {
|
1083 |
+
"version": "6.1.1",
|
1084 |
+
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.1.1.tgz",
|
1085 |
+
"integrity": "sha512-JlrjIdhyZUtewtdAuUsvi3ZnO0YS49IW4Mfz19ZWTlQ0sDGga6LNPVwHClWr2/zJK2we2BQx9/i8M32rgKuzrg==",
|
1086 |
+
"dependencies": {
|
1087 |
+
"@babel/runtime": "^7.25.6",
|
1088 |
+
"@mui/utils": "^6.1.1",
|
1089 |
+
"prop-types": "^15.8.1"
|
1090 |
+
},
|
1091 |
+
"engines": {
|
1092 |
+
"node": ">=14.0.0"
|
1093 |
+
},
|
1094 |
+
"funding": {
|
1095 |
+
"type": "opencollective",
|
1096 |
+
"url": "https://opencollective.com/mui-org"
|
1097 |
+
},
|
1098 |
+
"peerDependencies": {
|
1099 |
+
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
1100 |
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
1101 |
+
},
|
1102 |
+
"peerDependenciesMeta": {
|
1103 |
+
"@types/react": {
|
1104 |
+
"optional": true
|
1105 |
+
}
|
1106 |
+
}
|
1107 |
+
},
|
1108 |
+
"node_modules/@mui/styled-engine": {
|
1109 |
+
"version": "6.1.1",
|
1110 |
+
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.1.1.tgz",
|
1111 |
+
"integrity": "sha512-HJyIoMpFb11fnHuRtUILOXgq6vj4LhIlE8maG4SwP/W+E5sa7HFexhnB3vOMT7bKys4UKNxhobC8jwWxYilGsA==",
|
1112 |
+
"dependencies": {
|
1113 |
+
"@babel/runtime": "^7.25.6",
|
1114 |
+
"@emotion/cache": "^11.13.1",
|
1115 |
+
"@emotion/sheet": "^1.4.0",
|
1116 |
+
"csstype": "^3.1.3",
|
1117 |
+
"prop-types": "^15.8.1"
|
1118 |
+
},
|
1119 |
+
"engines": {
|
1120 |
+
"node": ">=14.0.0"
|
1121 |
+
},
|
1122 |
+
"funding": {
|
1123 |
+
"type": "opencollective",
|
1124 |
+
"url": "https://opencollective.com/mui-org"
|
1125 |
+
},
|
1126 |
+
"peerDependencies": {
|
1127 |
+
"@emotion/react": "^11.4.1",
|
1128 |
+
"@emotion/styled": "^11.3.0",
|
1129 |
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
1130 |
+
},
|
1131 |
+
"peerDependenciesMeta": {
|
1132 |
+
"@emotion/react": {
|
1133 |
+
"optional": true
|
1134 |
+
},
|
1135 |
+
"@emotion/styled": {
|
1136 |
+
"optional": true
|
1137 |
+
}
|
1138 |
+
}
|
1139 |
+
},
|
1140 |
+
"node_modules/@mui/system": {
|
1141 |
+
"version": "6.1.1",
|
1142 |
+
"resolved": "https://registry.npmjs.org/@mui/system/-/system-6.1.1.tgz",
|
1143 |
+
"integrity": "sha512-PaYsCz2tUOcpu3T0okDEsSuP/yCDIj9JZ4Tox1JovRSKIjltHpXPsXZSGr3RiWdtM1MTQMFMCZzu0+CKbyy+Kw==",
|
1144 |
+
"dependencies": {
|
1145 |
+
"@babel/runtime": "^7.25.6",
|
1146 |
+
"@mui/private-theming": "^6.1.1",
|
1147 |
+
"@mui/styled-engine": "^6.1.1",
|
1148 |
+
"@mui/types": "^7.2.17",
|
1149 |
+
"@mui/utils": "^6.1.1",
|
1150 |
+
"clsx": "^2.1.1",
|
1151 |
+
"csstype": "^3.1.3",
|
1152 |
+
"prop-types": "^15.8.1"
|
1153 |
+
},
|
1154 |
+
"engines": {
|
1155 |
+
"node": ">=14.0.0"
|
1156 |
+
},
|
1157 |
+
"funding": {
|
1158 |
+
"type": "opencollective",
|
1159 |
+
"url": "https://opencollective.com/mui-org"
|
1160 |
+
},
|
1161 |
+
"peerDependencies": {
|
1162 |
+
"@emotion/react": "^11.5.0",
|
1163 |
+
"@emotion/styled": "^11.3.0",
|
1164 |
+
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
1165 |
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
1166 |
+
},
|
1167 |
+
"peerDependenciesMeta": {
|
1168 |
+
"@emotion/react": {
|
1169 |
+
"optional": true
|
1170 |
+
},
|
1171 |
+
"@emotion/styled": {
|
1172 |
+
"optional": true
|
1173 |
+
},
|
1174 |
+
"@types/react": {
|
1175 |
+
"optional": true
|
1176 |
+
}
|
1177 |
+
}
|
1178 |
+
},
|
1179 |
+
"node_modules/@mui/types": {
|
1180 |
+
"version": "7.2.17",
|
1181 |
+
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.17.tgz",
|
1182 |
+
"integrity": "sha512-oyumoJgB6jDV8JFzRqjBo2daUuHpzDjoO/e3IrRhhHo/FxJlaVhET6mcNrKHUq2E+R+q3ql0qAtvQ4rfWHhAeQ==",
|
1183 |
+
"peerDependencies": {
|
1184 |
+
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
1185 |
+
},
|
1186 |
+
"peerDependenciesMeta": {
|
1187 |
+
"@types/react": {
|
1188 |
+
"optional": true
|
1189 |
+
}
|
1190 |
+
}
|
1191 |
+
},
|
1192 |
+
"node_modules/@mui/utils": {
|
1193 |
+
"version": "6.1.1",
|
1194 |
+
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.1.1.tgz",
|
1195 |
+
"integrity": "sha512-HlRrgdJSPbYDXPpoVMWZV8AE7WcFtAk13rWNWAEVWKSanzBBkymjz3km+Th/Srowsh4pf1fTSP1B0L116wQBYw==",
|
1196 |
+
"dependencies": {
|
1197 |
+
"@babel/runtime": "^7.25.6",
|
1198 |
+
"@mui/types": "^7.2.17",
|
1199 |
+
"@types/prop-types": "^15.7.12",
|
1200 |
+
"clsx": "^2.1.1",
|
1201 |
+
"prop-types": "^15.8.1",
|
1202 |
+
"react-is": "^18.3.1"
|
1203 |
+
},
|
1204 |
+
"engines": {
|
1205 |
+
"node": ">=14.0.0"
|
1206 |
+
},
|
1207 |
+
"funding": {
|
1208 |
+
"type": "opencollective",
|
1209 |
+
"url": "https://opencollective.com/mui-org"
|
1210 |
+
},
|
1211 |
+
"peerDependencies": {
|
1212 |
+
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
1213 |
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
1214 |
+
},
|
1215 |
+
"peerDependenciesMeta": {
|
1216 |
+
"@types/react": {
|
1217 |
+
"optional": true
|
1218 |
+
}
|
1219 |
+
}
|
1220 |
+
},
|
1221 |
+
"node_modules/@mui/utils/node_modules/react-is": {
|
1222 |
+
"version": "18.3.1",
|
1223 |
+
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
1224 |
+
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
|
1225 |
+
},
|
1226 |
"node_modules/@next/env": {
|
1227 |
"version": "14.2.5",
|
1228 |
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.5.tgz",
|
|
|
1417 |
"node": ">=14"
|
1418 |
}
|
1419 |
},
|
1420 |
+
"node_modules/@popperjs/core": {
|
1421 |
+
"version": "2.11.8",
|
1422 |
+
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
|
1423 |
+
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
|
1424 |
+
"funding": {
|
1425 |
+
"type": "opencollective",
|
1426 |
+
"url": "https://opencollective.com/popperjs"
|
1427 |
+
}
|
1428 |
+
},
|
1429 |
"node_modules/@rushstack/eslint-patch": {
|
1430 |
"version": "1.10.4",
|
1431 |
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz",
|
|
|
1452 |
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
|
1453 |
"dev": true
|
1454 |
},
|
1455 |
+
"node_modules/@types/parse-json": {
|
1456 |
+
"version": "4.0.2",
|
1457 |
+
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
|
1458 |
+
"integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="
|
1459 |
+
},
|
1460 |
+
"node_modules/@types/prop-types": {
|
1461 |
+
"version": "15.7.13",
|
1462 |
+
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz",
|
1463 |
+
"integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA=="
|
1464 |
+
},
|
1465 |
+
"node_modules/@types/react": {
|
1466 |
+
"version": "18.3.8",
|
1467 |
+
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.8.tgz",
|
1468 |
+
"integrity": "sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==",
|
1469 |
+
"dependencies": {
|
1470 |
+
"@types/prop-types": "*",
|
1471 |
+
"csstype": "^3.0.2"
|
1472 |
+
}
|
1473 |
+
},
|
1474 |
+
"node_modules/@types/react-transition-group": {
|
1475 |
+
"version": "4.4.11",
|
1476 |
+
"resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.11.tgz",
|
1477 |
+
"integrity": "sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==",
|
1478 |
+
"dependencies": {
|
1479 |
+
"@types/react": "*"
|
1480 |
+
}
|
1481 |
+
},
|
1482 |
"node_modules/@types/stylis": {
|
1483 |
"version": "4.2.5",
|
1484 |
"resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz",
|
|
|
2034 |
"deep-equal": "^2.0.5"
|
2035 |
}
|
2036 |
},
|
2037 |
+
"node_modules/babel-plugin-macros": {
|
2038 |
+
"version": "3.1.0",
|
2039 |
+
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
|
2040 |
+
"integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
|
2041 |
+
"dependencies": {
|
2042 |
+
"@babel/runtime": "^7.12.5",
|
2043 |
+
"cosmiconfig": "^7.0.0",
|
2044 |
+
"resolve": "^1.19.0"
|
2045 |
+
},
|
2046 |
+
"engines": {
|
2047 |
+
"node": ">=10",
|
2048 |
+
"npm": ">=6"
|
2049 |
+
}
|
2050 |
+
},
|
2051 |
"node_modules/balanced-match": {
|
2052 |
"version": "1.0.2",
|
2053 |
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
|
|
2122 |
"version": "3.1.0",
|
2123 |
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
2124 |
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
|
|
2125 |
"engines": {
|
2126 |
"node": ">=6"
|
2127 |
}
|
|
|
2219 |
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
2220 |
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
2221 |
},
|
2222 |
+
"node_modules/clsx": {
|
2223 |
+
"version": "2.1.1",
|
2224 |
+
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
|
2225 |
+
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
|
2226 |
+
"engines": {
|
2227 |
+
"node": ">=6"
|
2228 |
+
}
|
2229 |
+
},
|
2230 |
"node_modules/color": {
|
2231 |
"version": "4.2.3",
|
2232 |
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
|
|
|
2290 |
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
2291 |
"dev": true
|
2292 |
},
|
2293 |
+
"node_modules/convert-source-map": {
|
2294 |
+
"version": "1.9.0",
|
2295 |
+
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
|
2296 |
+
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
|
2297 |
+
},
|
2298 |
+
"node_modules/cosmiconfig": {
|
2299 |
+
"version": "7.1.0",
|
2300 |
+
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
|
2301 |
+
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
|
2302 |
+
"dependencies": {
|
2303 |
+
"@types/parse-json": "^4.0.0",
|
2304 |
+
"import-fresh": "^3.2.1",
|
2305 |
+
"parse-json": "^5.0.0",
|
2306 |
+
"path-type": "^4.0.0",
|
2307 |
+
"yaml": "^1.10.0"
|
2308 |
+
},
|
2309 |
+
"engines": {
|
2310 |
+
"node": ">=10"
|
2311 |
+
}
|
2312 |
+
},
|
2313 |
+
"node_modules/cosmiconfig/node_modules/yaml": {
|
2314 |
+
"version": "1.10.2",
|
2315 |
+
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
|
2316 |
+
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
|
2317 |
+
"engines": {
|
2318 |
+
"node": ">= 6"
|
2319 |
+
}
|
2320 |
+
},
|
2321 |
"node_modules/cross-spawn": {
|
2322 |
"version": "7.0.3",
|
2323 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
|
|
2428 |
"version": "4.3.6",
|
2429 |
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
|
2430 |
"integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
|
|
|
2431 |
"dependencies": {
|
2432 |
"ms": "2.1.2"
|
2433 |
},
|
|
|
2564 |
"node": ">=6.0.0"
|
2565 |
}
|
2566 |
},
|
2567 |
+
"node_modules/dom-helpers": {
|
2568 |
+
"version": "5.2.1",
|
2569 |
+
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
|
2570 |
+
"integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
|
2571 |
+
"dependencies": {
|
2572 |
+
"@babel/runtime": "^7.8.7",
|
2573 |
+
"csstype": "^3.0.2"
|
2574 |
+
}
|
2575 |
+
},
|
2576 |
"node_modules/dom-walk": {
|
2577 |
"version": "0.1.2",
|
2578 |
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
|
|
|
2603 |
"node": ">=10.13.0"
|
2604 |
}
|
2605 |
},
|
2606 |
+
"node_modules/error-ex": {
|
2607 |
+
"version": "1.3.2",
|
2608 |
+
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
|
2609 |
+
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
|
2610 |
+
"dependencies": {
|
2611 |
+
"is-arrayish": "^0.2.1"
|
2612 |
+
}
|
2613 |
+
},
|
2614 |
+
"node_modules/error-ex/node_modules/is-arrayish": {
|
2615 |
+
"version": "0.2.1",
|
2616 |
+
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
|
2617 |
+
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
|
2618 |
+
},
|
2619 |
"node_modules/es-abstract": {
|
2620 |
"version": "1.23.3",
|
2621 |
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
|
|
|
2798 |
"version": "4.0.0",
|
2799 |
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
2800 |
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
|
|
2801 |
"engines": {
|
2802 |
"node": ">=10"
|
2803 |
},
|
|
|
3296 |
"node": ">=8"
|
3297 |
}
|
3298 |
},
|
3299 |
+
"node_modules/find-root": {
|
3300 |
+
"version": "1.1.0",
|
3301 |
+
"resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
|
3302 |
+
"integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
|
3303 |
+
},
|
3304 |
"node_modules/find-up": {
|
3305 |
"version": "5.0.0",
|
3306 |
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
|
|
|
3418 |
"version": "1.1.2",
|
3419 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
3420 |
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
|
|
3421 |
"funding": {
|
3422 |
"url": "https://github.com/sponsors/ljharb"
|
3423 |
}
|
|
|
3711 |
"version": "2.0.2",
|
3712 |
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
3713 |
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
|
|
3714 |
"dependencies": {
|
3715 |
"function-bind": "^1.1.2"
|
3716 |
},
|
|
|
3718 |
"node": ">= 0.4"
|
3719 |
}
|
3720 |
},
|
3721 |
+
"node_modules/hoist-non-react-statics": {
|
3722 |
+
"version": "3.3.2",
|
3723 |
+
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
|
3724 |
+
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
|
3725 |
+
"dependencies": {
|
3726 |
+
"react-is": "^16.7.0"
|
3727 |
+
}
|
3728 |
+
},
|
3729 |
"node_modules/ignore": {
|
3730 |
"version": "5.3.2",
|
3731 |
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
|
|
|
3739 |
"version": "3.3.0",
|
3740 |
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
3741 |
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
|
|
|
3742 |
"dependencies": {
|
3743 |
"parent-module": "^1.0.0",
|
3744 |
"resolve-from": "^4.0.0"
|
|
|
3898 |
"version": "2.15.0",
|
3899 |
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
|
3900 |
"integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
|
|
|
3901 |
"dependencies": {
|
3902 |
"hasown": "^2.0.2"
|
3903 |
},
|
|
|
4254 |
"js-yaml": "bin/js-yaml.js"
|
4255 |
}
|
4256 |
},
|
4257 |
+
"node_modules/jsesc": {
|
4258 |
+
"version": "2.5.2",
|
4259 |
+
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
|
4260 |
+
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
|
4261 |
+
"bin": {
|
4262 |
+
"jsesc": "bin/jsesc"
|
4263 |
+
},
|
4264 |
+
"engines": {
|
4265 |
+
"node": ">=4"
|
4266 |
+
}
|
4267 |
+
},
|
4268 |
"node_modules/json-buffer": {
|
4269 |
"version": "3.0.1",
|
4270 |
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
4271 |
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
4272 |
"dev": true
|
4273 |
},
|
4274 |
+
"node_modules/json-parse-even-better-errors": {
|
4275 |
+
"version": "2.3.1",
|
4276 |
+
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
4277 |
+
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
|
4278 |
+
},
|
4279 |
"node_modules/json-schema-traverse": {
|
4280 |
"version": "0.4.1",
|
4281 |
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
|
|
4367 |
"node_modules/lines-and-columns": {
|
4368 |
"version": "1.2.4",
|
4369 |
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
4370 |
+
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
|
|
|
4371 |
},
|
4372 |
"node_modules/locate-path": {
|
4373 |
"version": "6.0.0",
|
|
|
4526 |
"node_modules/ms": {
|
4527 |
"version": "2.1.2",
|
4528 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
4529 |
+
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
|
|
4530 |
},
|
4531 |
"node_modules/mux.js": {
|
4532 |
"version": "7.0.3",
|
|
|
4858 |
"version": "1.0.1",
|
4859 |
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
4860 |
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
|
|
|
4861 |
"dependencies": {
|
4862 |
"callsites": "^3.0.0"
|
4863 |
},
|
|
|
4865 |
"node": ">=6"
|
4866 |
}
|
4867 |
},
|
4868 |
+
"node_modules/parse-json": {
|
4869 |
+
"version": "5.2.0",
|
4870 |
+
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
|
4871 |
+
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
|
4872 |
+
"dependencies": {
|
4873 |
+
"@babel/code-frame": "^7.0.0",
|
4874 |
+
"error-ex": "^1.3.1",
|
4875 |
+
"json-parse-even-better-errors": "^2.3.0",
|
4876 |
+
"lines-and-columns": "^1.1.6"
|
4877 |
+
},
|
4878 |
+
"engines": {
|
4879 |
+
"node": ">=8"
|
4880 |
+
},
|
4881 |
+
"funding": {
|
4882 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
4883 |
+
}
|
4884 |
+
},
|
4885 |
"node_modules/path-exists": {
|
4886 |
"version": "4.0.0",
|
4887 |
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
|
|
4912 |
"node_modules/path-parse": {
|
4913 |
"version": "1.0.7",
|
4914 |
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
4915 |
+
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
|
|
|
4916 |
},
|
4917 |
"node_modules/path-scurry": {
|
4918 |
"version": "1.11.1",
|
|
|
4934 |
"version": "4.0.0",
|
4935 |
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
4936 |
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
|
|
4937 |
"engines": {
|
4938 |
"node": ">=8"
|
4939 |
}
|
|
|
5236 |
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
5237 |
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
|
5238 |
},
|
5239 |
+
"node_modules/react-transition-group": {
|
5240 |
+
"version": "4.4.5",
|
5241 |
+
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
|
5242 |
+
"integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
|
5243 |
+
"dependencies": {
|
5244 |
+
"@babel/runtime": "^7.5.5",
|
5245 |
+
"dom-helpers": "^5.0.1",
|
5246 |
+
"loose-envify": "^1.4.0",
|
5247 |
+
"prop-types": "^15.6.2"
|
5248 |
+
},
|
5249 |
+
"peerDependencies": {
|
5250 |
+
"react": ">=16.6.0",
|
5251 |
+
"react-dom": ">=16.6.0"
|
5252 |
+
}
|
5253 |
+
},
|
5254 |
"node_modules/read-cache": {
|
5255 |
"version": "1.0.0",
|
5256 |
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
|
|
5320 |
"version": "1.22.8",
|
5321 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
5322 |
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
|
|
|
5323 |
"dependencies": {
|
5324 |
"is-core-module": "^2.13.0",
|
5325 |
"path-parse": "^1.0.7",
|
|
|
5336 |
"version": "4.0.0",
|
5337 |
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
|
5338 |
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
|
|
|
5339 |
"engines": {
|
5340 |
"node": ">=4"
|
5341 |
}
|
|
|
5616 |
"node": ">=8"
|
5617 |
}
|
5618 |
},
|
5619 |
+
"node_modules/source-map": {
|
5620 |
+
"version": "0.5.7",
|
5621 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
5622 |
+
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
|
5623 |
+
"engines": {
|
5624 |
+
"node": ">=0.10.0"
|
5625 |
+
}
|
5626 |
+
},
|
5627 |
"node_modules/source-map-js": {
|
5628 |
"version": "1.2.0",
|
5629 |
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
|
|
|
5982 |
"version": "1.0.0",
|
5983 |
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
5984 |
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
|
|
5985 |
"engines": {
|
5986 |
"node": ">= 0.4"
|
5987 |
},
|
|
|
6062 |
"node": ">=0.8"
|
6063 |
}
|
6064 |
},
|
6065 |
+
"node_modules/to-fast-properties": {
|
6066 |
+
"version": "2.0.0",
|
6067 |
+
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
6068 |
+
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
|
6069 |
+
"engines": {
|
6070 |
+
"node": ">=4"
|
6071 |
+
}
|
6072 |
+
},
|
6073 |
"node_modules/to-regex-range": {
|
6074 |
"version": "5.0.1",
|
6075 |
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
frontend/package.json
CHANGED
@@ -9,11 +9,14 @@
|
|
9 |
"lint": "next lint"
|
10 |
},
|
11 |
"dependencies": {
|
|
|
|
|
12 |
"@fortawesome/fontawesome-free": "^6.6.0",
|
13 |
"@fortawesome/fontawesome-svg-core": "^6.6.0",
|
14 |
"@fortawesome/free-regular-svg-icons": "^6.6.0",
|
15 |
"@fortawesome/free-solid-svg-icons": "^6.6.0",
|
16 |
"@fortawesome/react-fontawesome": "^0.2.2",
|
|
|
17 |
"axios": "^1.7.4",
|
18 |
"next": "14.2.5",
|
19 |
"react": "^18",
|
|
|
9 |
"lint": "next lint"
|
10 |
},
|
11 |
"dependencies": {
|
12 |
+
"@emotion/react": "^11.13.3",
|
13 |
+
"@emotion/styled": "^11.13.0",
|
14 |
"@fortawesome/fontawesome-free": "^6.6.0",
|
15 |
"@fortawesome/fontawesome-svg-core": "^6.6.0",
|
16 |
"@fortawesome/free-regular-svg-icons": "^6.6.0",
|
17 |
"@fortawesome/free-solid-svg-icons": "^6.6.0",
|
18 |
"@fortawesome/react-fontawesome": "^0.2.2",
|
19 |
+
"@mui/material": "^6.1.1",
|
20 |
"axios": "^1.7.4",
|
21 |
"next": "14.2.5",
|
22 |
"react": "^18",
|
frontend/src/app/player/movie/[title]/MoviePlayerPage.css
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
.film-player-container{
|
2 |
width: 100dvw;
|
3 |
height: 100dvh;
|
|
|
|
|
4 |
}
|
5 |
|
6 |
.app-container{
|
|
|
1 |
.film-player-container{
|
2 |
width: 100dvw;
|
3 |
height: 100dvh;
|
4 |
+
padding: 0 !important;
|
5 |
+
margin: 0 !important;
|
6 |
}
|
7 |
|
8 |
.app-container{
|
frontend/src/components/MoviePlayer.css
CHANGED
@@ -1,8 +1,9 @@
|
|
1 |
.video-player-container {
|
2 |
position: relative;
|
3 |
max-width: 100dvw;
|
4 |
-
height:
|
5 |
-
margin:
|
|
|
6 |
background-color: #000;
|
7 |
border-radius: 8px;
|
8 |
overflow: hidden;
|
@@ -11,13 +12,15 @@
|
|
11 |
}
|
12 |
|
13 |
.video-title {
|
14 |
-
color: #
|
|
|
|
|
15 |
text-align: left;
|
16 |
-
padding: 20px;
|
17 |
padding-bottom: 50px;
|
|
|
18 |
font-size: 1.5em;
|
19 |
font-weight: bold;
|
20 |
-
background-image: linear-gradient(#
|
21 |
}
|
22 |
|
23 |
.video-element {
|
@@ -31,7 +34,7 @@
|
|
31 |
top: 0;
|
32 |
left: 0;
|
33 |
width: 100%;
|
34 |
-
height:
|
35 |
display: flex;
|
36 |
flex-direction: column;
|
37 |
justify-content: space-between;
|
@@ -60,8 +63,7 @@
|
|
60 |
display: flex;
|
61 |
flex-direction: row;
|
62 |
width: 90dvw;
|
63 |
-
|
64 |
-
justify-content: space-between;
|
65 |
align-items: center;
|
66 |
}
|
67 |
|
@@ -82,22 +84,23 @@
|
|
82 |
justify-content: center;
|
83 |
align-items: center;
|
84 |
padding: 10px;
|
85 |
-
|
|
|
86 |
bottom: 0;
|
87 |
position: relative;
|
88 |
flex-direction: column;
|
89 |
}
|
90 |
|
91 |
-
.current-time,
|
|
|
92 |
color: white;
|
93 |
}
|
94 |
|
95 |
.play-pause-btn,
|
96 |
.control-btn {
|
97 |
-
color: #
|
98 |
border-radius: 10px;
|
99 |
-
padding: 10px
|
100 |
-
margin: 0 5px;
|
101 |
cursor: pointer;
|
102 |
font-size: 1em;
|
103 |
transition: background-color 0.3s;
|
@@ -128,11 +131,11 @@
|
|
128 |
cursor: pointer;
|
129 |
}
|
130 |
|
131 |
-
.download-btn{
|
132 |
color: white;
|
133 |
}
|
134 |
|
135 |
-
.buffering-indicator{
|
136 |
color: white;
|
137 |
background-color: #00000069;
|
138 |
position: fixed;
|
@@ -144,7 +147,7 @@
|
|
144 |
align-items: center;
|
145 |
}
|
146 |
|
147 |
-
.buffering-indicator .position-fix{
|
148 |
transform: translate(-50%, -50%);
|
149 |
}
|
150 |
|
@@ -174,3 +177,55 @@
|
|
174 |
.context-menu li:hover {
|
175 |
background-color: #5755a2;
|
176 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.video-player-container {
|
2 |
position: relative;
|
3 |
max-width: 100dvw;
|
4 |
+
height: 100dvh;
|
5 |
+
margin: 0;
|
6 |
+
padding: 0;
|
7 |
background-color: #000;
|
8 |
border-radius: 8px;
|
9 |
overflow: hidden;
|
|
|
12 |
}
|
13 |
|
14 |
.video-title {
|
15 |
+
color: #d5d6d7;
|
16 |
+
display: flex;
|
17 |
+
align-items: center;
|
18 |
text-align: left;
|
|
|
19 |
padding-bottom: 50px;
|
20 |
+
padding: 20px;
|
21 |
font-size: 1.5em;
|
22 |
font-weight: bold;
|
23 |
+
background-image: linear-gradient(#0e0f19cb 50%, transparent 100%);
|
24 |
}
|
25 |
|
26 |
.video-element {
|
|
|
34 |
top: 0;
|
35 |
left: 0;
|
36 |
width: 100%;
|
37 |
+
height: 100dvh;
|
38 |
display: flex;
|
39 |
flex-direction: column;
|
40 |
justify-content: space-between;
|
|
|
63 |
display: flex;
|
64 |
flex-direction: row;
|
65 |
width: 90dvw;
|
66 |
+
justify-content: center;
|
|
|
67 |
align-items: center;
|
68 |
}
|
69 |
|
|
|
84 |
justify-content: center;
|
85 |
align-items: center;
|
86 |
padding: 10px;
|
87 |
+
padding-top: 50px;
|
88 |
+
background-image: linear-gradient(transparent 5%, #0e0f19cb 60%);
|
89 |
bottom: 0;
|
90 |
position: relative;
|
91 |
flex-direction: column;
|
92 |
}
|
93 |
|
94 |
+
.current-time,
|
95 |
+
.duration {
|
96 |
color: white;
|
97 |
}
|
98 |
|
99 |
.play-pause-btn,
|
100 |
.control-btn {
|
101 |
+
color: #4237b8;
|
102 |
border-radius: 10px;
|
103 |
+
padding: 10px;
|
|
|
104 |
cursor: pointer;
|
105 |
font-size: 1em;
|
106 |
transition: background-color 0.3s;
|
|
|
131 |
cursor: pointer;
|
132 |
}
|
133 |
|
134 |
+
.download-btn {
|
135 |
color: white;
|
136 |
}
|
137 |
|
138 |
+
.buffering-indicator {
|
139 |
color: white;
|
140 |
background-color: #00000069;
|
141 |
position: fixed;
|
|
|
147 |
align-items: center;
|
148 |
}
|
149 |
|
150 |
+
.buffering-indicator .position-fix {
|
151 |
transform: translate(-50%, -50%);
|
152 |
}
|
153 |
|
|
|
177 |
.context-menu li:hover {
|
178 |
background-color: #5755a2;
|
179 |
}
|
180 |
+
|
181 |
+
/********** Range Input Styles **********/
|
182 |
+
/*Range Reset*/
|
183 |
+
input[type="range"] {
|
184 |
+
-webkit-appearance: none;
|
185 |
+
appearance: none;
|
186 |
+
background: transparent;
|
187 |
+
cursor: pointer;
|
188 |
+
}
|
189 |
+
|
190 |
+
/* Removes default focus */
|
191 |
+
input[type="range"]:focus {
|
192 |
+
outline: none;
|
193 |
+
}
|
194 |
+
|
195 |
+
/***** Chrome, Safari, Opera and Edge Chromium styles *****/
|
196 |
+
/* slider track */
|
197 |
+
input[type="range"]::-webkit-slider-runnable-track {
|
198 |
+
background-color: #403f4f;
|
199 |
+
border-radius: 0.5rem;
|
200 |
+
height: 0.5rem;
|
201 |
+
}
|
202 |
+
|
203 |
+
/* slider thumb */
|
204 |
+
input[type="range"]::-webkit-slider-thumb {
|
205 |
+
-webkit-appearance: none; /* Override default look */
|
206 |
+
appearance: none;
|
207 |
+
margin-top: -6px; /* Centers thumb on the track */
|
208 |
+
/*custom styles*/
|
209 |
+
background-color: #4237b8;
|
210 |
+
height: 1.2rem;
|
211 |
+
width: 0.8rem;
|
212 |
+
border-radius: 10px;
|
213 |
+
}
|
214 |
+
|
215 |
+
/******** Firefox styles ********/
|
216 |
+
/* slider track */
|
217 |
+
input[type="range"]::-moz-range-track {
|
218 |
+
background-color: #403f4f;
|
219 |
+
border-radius: 0.5rem;
|
220 |
+
height: 0.5rem;
|
221 |
+
}
|
222 |
+
|
223 |
+
/* slider thumb */
|
224 |
+
input[type="range"]::-moz-range-thumb {
|
225 |
+
border: none; /*Removes extra border that FF applies*/
|
226 |
+
/*custom styles*/
|
227 |
+
background-color: #4237b8;
|
228 |
+
height: 1.2rem;
|
229 |
+
width: 0.8rem;
|
230 |
+
border-radius: 10px;
|
231 |
+
}
|
frontend/src/components/MoviePlayer.js
CHANGED
@@ -11,8 +11,12 @@ import {
|
|
11 |
faVolumeMute,
|
12 |
faExpand,
|
13 |
faDownload,
|
|
|
|
|
|
|
14 |
} from "@fortawesome/free-solid-svg-icons";
|
15 |
import { Spinner } from "@/components/Spinner";
|
|
|
16 |
|
17 |
export default function MoviePlayer({ videoUrl, title }) {
|
18 |
const videoRef = useRef(null);
|
@@ -20,28 +24,33 @@ export default function MoviePlayer({ videoUrl, title }) {
|
|
20 |
const [volume, setVolume] = useState(1);
|
21 |
const [isMuted, setIsMuted] = useState(false);
|
22 |
const [progress, setProgress] = useState(0);
|
|
|
23 |
const [isFullscreen, setIsFullscreen] = useState(false);
|
24 |
const [showControls, setShowControls] = useState(true);
|
25 |
const [isBuffering, setIsBuffering] = useState(false);
|
26 |
const overlayTimeout = useRef(null);
|
27 |
const [contextMenu, setContextMenu] = useState({ visible: false, x: 0, y: 0 });
|
28 |
-
const playerVersion = "0.0.
|
29 |
|
30 |
useEffect(() => {
|
31 |
const videoElement = videoRef.current;
|
32 |
|
33 |
const handlePlay = () => setIsPlaying(true);
|
34 |
const handlePause = () => setIsPlaying(false);
|
35 |
-
const handleTimeUpdate = () =>
|
36 |
setProgress((videoElement.currentTime / videoElement.duration) * 100);
|
|
|
|
|
37 |
const handleWaiting = () => setIsBuffering(true);
|
38 |
const handlePlaying = () => setIsBuffering(false);
|
|
|
39 |
|
40 |
videoElement.addEventListener("play", handlePlay);
|
41 |
videoElement.addEventListener("pause", handlePause);
|
42 |
videoElement.addEventListener("timeupdate", handleTimeUpdate);
|
43 |
videoElement.addEventListener("waiting", handleWaiting);
|
44 |
videoElement.addEventListener("playing", handlePlaying);
|
|
|
45 |
|
46 |
return () => {
|
47 |
videoElement.removeEventListener("play", handlePlay);
|
@@ -49,6 +58,7 @@ export default function MoviePlayer({ videoUrl, title }) {
|
|
49 |
videoElement.removeEventListener("timeupdate", handleTimeUpdate);
|
50 |
videoElement.removeEventListener("waiting", handleWaiting);
|
51 |
videoElement.removeEventListener("playing", handlePlaying);
|
|
|
52 |
};
|
53 |
}, []);
|
54 |
|
@@ -152,11 +162,9 @@ export default function MoviePlayer({ videoUrl, title }) {
|
|
152 |
setIsFullscreen(!isFullscreen);
|
153 |
};
|
154 |
|
155 |
-
const
|
156 |
-
|
157 |
-
|
158 |
-
(progressValue / 100) * videoRef.current.duration;
|
159 |
-
setProgress(progressValue);
|
160 |
};
|
161 |
|
162 |
const handleMouseMove = () => {
|
@@ -178,19 +186,23 @@ export default function MoviePlayer({ videoUrl, title }) {
|
|
178 |
return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`;
|
179 |
};
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
return (
|
182 |
<div className="video-player-container" onMouseMove={handleMouseMove} onContextMenu={handleContextMenu}>
|
183 |
<div className={`player-overlay ${showControls ? "show" : "hide"}`}>
|
184 |
-
|
185 |
<div className="controls">
|
186 |
<div className="player-controls-top">
|
187 |
<label className="current-time">{formatTime(videoRef?.current?.currentTime)}</label>
|
188 |
-
<
|
189 |
-
type="range"
|
190 |
-
className="progress-bar"
|
191 |
-
value={progress}
|
192 |
-
onChange={handleProgressChange}
|
193 |
-
/>
|
194 |
<label className="duration">{formatTime(videoRef?.current?.duration)}</label>
|
195 |
</div>
|
196 |
<div className="player-controls-down">
|
|
|
11 |
faVolumeMute,
|
12 |
faExpand,
|
13 |
faDownload,
|
14 |
+
faArrowLeft,
|
15 |
+
faCaretLeft,
|
16 |
+
faAngleLeft,
|
17 |
} from "@fortawesome/free-solid-svg-icons";
|
18 |
import { Spinner } from "@/components/Spinner";
|
19 |
+
import SeekableProgressBar from "./SeekableProgressBar";
|
20 |
|
21 |
export default function MoviePlayer({ videoUrl, title }) {
|
22 |
const videoRef = useRef(null);
|
|
|
24 |
const [volume, setVolume] = useState(1);
|
25 |
const [isMuted, setIsMuted] = useState(false);
|
26 |
const [progress, setProgress] = useState(0);
|
27 |
+
const [buffer, setBuffer] = useState(0); // Buffer state
|
28 |
const [isFullscreen, setIsFullscreen] = useState(false);
|
29 |
const [showControls, setShowControls] = useState(true);
|
30 |
const [isBuffering, setIsBuffering] = useState(false);
|
31 |
const overlayTimeout = useRef(null);
|
32 |
const [contextMenu, setContextMenu] = useState({ visible: false, x: 0, y: 0 });
|
33 |
+
const playerVersion = "0.0.2 Alpha";
|
34 |
|
35 |
useEffect(() => {
|
36 |
const videoElement = videoRef.current;
|
37 |
|
38 |
const handlePlay = () => setIsPlaying(true);
|
39 |
const handlePause = () => setIsPlaying(false);
|
40 |
+
const handleTimeUpdate = () => {
|
41 |
setProgress((videoElement.currentTime / videoElement.duration) * 100);
|
42 |
+
updateBuffer(); // Update buffer on time update
|
43 |
+
};
|
44 |
const handleWaiting = () => setIsBuffering(true);
|
45 |
const handlePlaying = () => setIsBuffering(false);
|
46 |
+
const handleProgress = () => updateBuffer(); // Update buffer on progress
|
47 |
|
48 |
videoElement.addEventListener("play", handlePlay);
|
49 |
videoElement.addEventListener("pause", handlePause);
|
50 |
videoElement.addEventListener("timeupdate", handleTimeUpdate);
|
51 |
videoElement.addEventListener("waiting", handleWaiting);
|
52 |
videoElement.addEventListener("playing", handlePlaying);
|
53 |
+
videoElement.addEventListener("progress", handleProgress); // Listen to progress events
|
54 |
|
55 |
return () => {
|
56 |
videoElement.removeEventListener("play", handlePlay);
|
|
|
58 |
videoElement.removeEventListener("timeupdate", handleTimeUpdate);
|
59 |
videoElement.removeEventListener("waiting", handleWaiting);
|
60 |
videoElement.removeEventListener("playing", handlePlaying);
|
61 |
+
videoElement.removeEventListener("progress", handleProgress); // Clean up progress listener
|
62 |
};
|
63 |
}, []);
|
64 |
|
|
|
162 |
setIsFullscreen(!isFullscreen);
|
163 |
};
|
164 |
|
165 |
+
const handleSeek = (newProgress) => {
|
166 |
+
videoRef.current.currentTime = (newProgress / 100) * videoRef.current.duration;
|
167 |
+
setProgress(newProgress);
|
|
|
|
|
168 |
};
|
169 |
|
170 |
const handleMouseMove = () => {
|
|
|
186 |
return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`;
|
187 |
};
|
188 |
|
189 |
+
const updateBuffer = () => {
|
190 |
+
const videoElement = videoRef.current;
|
191 |
+
if (videoElement.buffered.length > 0) {
|
192 |
+
const bufferEnd = videoElement.buffered.end(videoElement.buffered.length - 1);
|
193 |
+
const bufferValue = (bufferEnd / videoElement.duration) * 100;
|
194 |
+
setBuffer(bufferValue);
|
195 |
+
}
|
196 |
+
};
|
197 |
+
|
198 |
return (
|
199 |
<div className="video-player-container" onMouseMove={handleMouseMove} onContextMenu={handleContextMenu}>
|
200 |
<div className={`player-overlay ${showControls ? "show" : "hide"}`}>
|
201 |
+
<h2 className="video-title"><div className="control-btn"><FontAwesomeIcon icon={faAngleLeft} size="lg"/></div>{title}</h2>
|
202 |
<div className="controls">
|
203 |
<div className="player-controls-top">
|
204 |
<label className="current-time">{formatTime(videoRef?.current?.currentTime)}</label>
|
205 |
+
<SeekableProgressBar progress={progress} buffer={buffer} onSeek={handleSeek} />
|
|
|
|
|
|
|
|
|
|
|
206 |
<label className="duration">{formatTime(videoRef?.current?.duration)}</label>
|
207 |
</div>
|
208 |
<div className="player-controls-down">
|
frontend/src/components/SeekableProgressBar.css
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.MuiLinearProgress-barColorPrimary{
|
2 |
+
background-color: #4237b8 !important;
|
3 |
+
}
|
4 |
+
|
5 |
+
.MuiLinearProgress-bar2Buffer{
|
6 |
+
background-color: #7970dc !important;
|
7 |
+
}
|
8 |
+
|
9 |
+
.MuiLinearProgress-dashedColorPrimary{
|
10 |
+
background-image: radial-gradient(#282469 0%, #6b68a7 16%, transparent 42%) !important;
|
11 |
+
margin-top: 2px !important;
|
12 |
+
}
|
frontend/src/components/SeekableProgressBar.js
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import React, { useState } from 'react';
|
2 |
+
import { LinearProgress, Box } from '@mui/material';
|
3 |
+
import './SeekableProgressBar.css';
|
4 |
+
|
5 |
+
const SeekableProgressBar = ({
|
6 |
+
progress,
|
7 |
+
buffer,
|
8 |
+
onSeek,
|
9 |
+
width = '100%',
|
10 |
+
height = '10px',
|
11 |
+
margin = '10px',
|
12 |
+
borderRadios = '10px'
|
13 |
+
}) => {
|
14 |
+
const handleMouseDown = (event) => {
|
15 |
+
const progressBar = event.currentTarget;
|
16 |
+
const rect = progressBar.getBoundingClientRect();
|
17 |
+
const seekPosition = ((event.clientX - rect.left) / rect.width) * 100;
|
18 |
+
onSeek(seekPosition);
|
19 |
+
};
|
20 |
+
|
21 |
+
const handleMouseMove = (event) => {
|
22 |
+
if (isSeeking) {
|
23 |
+
const progressBar = event.currentTarget;
|
24 |
+
const rect = progressBar.getBoundingClientRect();
|
25 |
+
const seekPosition = ((event.clientX - rect.left) / rect.width) * 100;
|
26 |
+
onSeek(seekPosition);
|
27 |
+
}
|
28 |
+
};
|
29 |
+
|
30 |
+
const [isSeeking, setIsSeeking] = useState(false);
|
31 |
+
|
32 |
+
return (
|
33 |
+
<Box
|
34 |
+
onMouseDown={(event) => {
|
35 |
+
setIsSeeking(true);
|
36 |
+
handleMouseDown(event);
|
37 |
+
}}
|
38 |
+
onMouseUp={() => setIsSeeking(false)}
|
39 |
+
onMouseLeave={() => setIsSeeking(false)}
|
40 |
+
onMouseMove={handleMouseMove}
|
41 |
+
sx={{ position: 'relative', width: width }}
|
42 |
+
>
|
43 |
+
<LinearProgress
|
44 |
+
variant="buffer"
|
45 |
+
value={progress}
|
46 |
+
valueBuffer={buffer}
|
47 |
+
sx={{ height: height, margin: margin, borderRadius:borderRadios}}
|
48 |
+
/>
|
49 |
+
<Box
|
50 |
+
sx={{
|
51 |
+
position: 'absolute',
|
52 |
+
width: '95%',
|
53 |
+
height: '100%',
|
54 |
+
cursor: 'pointer',
|
55 |
+
top: 0,
|
56 |
+
left: 0,
|
57 |
+
}}
|
58 |
+
/>
|
59 |
+
</Box>
|
60 |
+
);
|
61 |
+
};
|
62 |
+
|
63 |
+
export default SeekableProgressBar;
|