forked from tpd94/CDRM-Project
		
	remove react-helmet package as it is unmaintained
This commit is contained in:
		
							parent
							
								
									2828edd6b7
								
							
						
					
					
						commit
						84999654ed
					
				
							
								
								
									
										1
									
								
								cdrm-frontend/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								cdrm-frontend/.gitignore
									
									
									
									
										vendored
									
									
								
							@ -10,7 +10,6 @@ lerna-debug.log*
 | 
			
		||||
node_modules
 | 
			
		||||
dist-ssr
 | 
			
		||||
*.local
 | 
			
		||||
dist
 | 
			
		||||
 | 
			
		||||
# Editor directories and files
 | 
			
		||||
.vscode/*
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										193
									
								
								cdrm-frontend/dist/assets/index-1tbqhIbb.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								cdrm-frontend/dist/assets/index-1tbqhIbb.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								cdrm-frontend/dist/assets/index-C8jLRdm9.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdrm-frontend/dist/assets/index-C8jLRdm9.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								cdrm-frontend/dist/assets/index-DQNyIeaF.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								cdrm-frontend/dist/assets/index-DQNyIeaF.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										160
									
								
								cdrm-frontend/dist/assets/index-DWCLK6jB.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										160
									
								
								cdrm-frontend/dist/assets/index-DWCLK6jB.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										38
									
								
								cdrm-frontend/dist/index.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								cdrm-frontend/dist/index.html
									
									
									
									
										vendored
									
									
								
							@ -1,21 +1,21 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<html lang="en" class="w-full h-full">
 | 
			
		||||
  <head>
 | 
			
		||||
    <meta charset="UTF-8" />
 | 
			
		||||
    <link rel="icon" type="image/svg+xml" href="/favico.png" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
			
		||||
    <meta name="description" content="{{ data.description }}"/>
 | 
			
		||||
    <meta name="keywords" content="{{ data.keywords }}"/>
 | 
			
		||||
    <meta property='og:title' content="{{ data.opengraph_title }}" />
 | 
			
		||||
    <meta property='og:description' content="{{ data.opengraph_description }}" />
 | 
			
		||||
    <meta property='og:image' content="{{ data.opengraph_image }}" />
 | 
			
		||||
    <meta property='og:url' content="{{ data.opengraph_url }}" />
 | 
			
		||||
    <meta property='og:locale' content='en_US' />
 | 
			
		||||
    <title>{{ data.tab_title }}</title>
 | 
			
		||||
    <script type="module" crossorigin src="/assets/index-DWCLK6jB.js"></script>
 | 
			
		||||
    <link rel="stylesheet" crossorigin href="/assets/index-DQNyIeaF.css">
 | 
			
		||||
  </head>
 | 
			
		||||
  <body class="w-full h-full">
 | 
			
		||||
    <div id="root" class="w-full h-full"></div>
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
    <head>
 | 
			
		||||
        <meta charset="UTF-8" />
 | 
			
		||||
        <link rel="icon" type="image/svg+xml" href="/favico.png" />
 | 
			
		||||
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
			
		||||
        <meta name="description" content="{{ data.description }}" />
 | 
			
		||||
        <meta name="keywords" content="{{ data.keywords }}" />
 | 
			
		||||
        <meta property="og:title" content="{{ data.opengraph_title }}" />
 | 
			
		||||
        <meta property="og:description" content="{{ data.opengraph_description }}" />
 | 
			
		||||
        <meta property="og:image" content="{{ data.opengraph_image }}" />
 | 
			
		||||
        <meta property="og:url" content="{{ data.opengraph_url }}" />
 | 
			
		||||
        <meta property="og:locale" content="en_US" />
 | 
			
		||||
        <title>{{ data.tab_title }}</title>
 | 
			
		||||
      <script type="module" crossorigin src="/assets/index-1tbqhIbb.js"></script>
 | 
			
		||||
      <link rel="stylesheet" crossorigin href="/assets/index-C8jLRdm9.css">
 | 
			
		||||
    </head>
 | 
			
		||||
    <body class="w-full h-full">
 | 
			
		||||
        <div id="root" class="w-full h-full"></div>
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										311
									
								
								cdrm-frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										311
									
								
								cdrm-frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -12,7 +12,6 @@
 | 
			
		||||
                "axios": "^1.10.0",
 | 
			
		||||
                "react": "^19.1.0",
 | 
			
		||||
                "react-dom": "^19.1.0",
 | 
			
		||||
                "react-helmet": "^6.1.0",
 | 
			
		||||
                "react-router-dom": "^7.7.0",
 | 
			
		||||
                "shaka-player": "^4.15.8",
 | 
			
		||||
                "tailwindcss": "^4.1.11"
 | 
			
		||||
@ -22,6 +21,7 @@
 | 
			
		||||
                "@types/react": "^19.1.8",
 | 
			
		||||
                "@types/react-dom": "^19.1.6",
 | 
			
		||||
                "@vitejs/plugin-react": "^4.7.0",
 | 
			
		||||
                "@vitejs/plugin-react-swc": "^3.11.0",
 | 
			
		||||
                "eslint": "^9.31.0",
 | 
			
		||||
                "eslint-plugin-react-hooks": "^5.2.0",
 | 
			
		||||
                "eslint-plugin-react-refresh": "^0.4.20",
 | 
			
		||||
@ -1258,6 +1258,232 @@
 | 
			
		||||
                "win32"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-jEKKErLC6uwSqA+p6bmZR08usZM5Fpc+HdEu5CAzvye0q43yf1si1kjhHEa9XMkz0A2SAaal3eKCg/YYmtOsCA==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "hasInstallScript": true,
 | 
			
		||||
            "license": "Apache-2.0",
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "@swc/counter": "^0.1.3",
 | 
			
		||||
                "@swc/types": "^0.1.23"
 | 
			
		||||
            },
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            },
 | 
			
		||||
            "funding": {
 | 
			
		||||
                "type": "opencollective",
 | 
			
		||||
                "url": "https://opencollective.com/swc"
 | 
			
		||||
            },
 | 
			
		||||
            "optionalDependencies": {
 | 
			
		||||
                "@swc/core-darwin-arm64": "1.13.1",
 | 
			
		||||
                "@swc/core-darwin-x64": "1.13.1",
 | 
			
		||||
                "@swc/core-linux-arm-gnueabihf": "1.13.1",
 | 
			
		||||
                "@swc/core-linux-arm64-gnu": "1.13.1",
 | 
			
		||||
                "@swc/core-linux-arm64-musl": "1.13.1",
 | 
			
		||||
                "@swc/core-linux-x64-gnu": "1.13.1",
 | 
			
		||||
                "@swc/core-linux-x64-musl": "1.13.1",
 | 
			
		||||
                "@swc/core-win32-arm64-msvc": "1.13.1",
 | 
			
		||||
                "@swc/core-win32-ia32-msvc": "1.13.1",
 | 
			
		||||
                "@swc/core-win32-x64-msvc": "1.13.1"
 | 
			
		||||
            },
 | 
			
		||||
            "peerDependencies": {
 | 
			
		||||
                "@swc/helpers": ">=0.5.17"
 | 
			
		||||
            },
 | 
			
		||||
            "peerDependenciesMeta": {
 | 
			
		||||
                "@swc/helpers": {
 | 
			
		||||
                    "optional": true
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-darwin-arm64": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-zO6SW/jSMTUORPm6dUZFPUwf+EFWZsaXWMGXadRG6akCofYpoQb8pcY2QZkVr43z8TMka6BtXpyoD/DJ0iOPHQ==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "arm64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "darwin"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-darwin-x64": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-8RjaTZYxrlYKE5PgzZYWSOT4mAsyhIuh30Nu4dnn/2r0Ef68iNCbvX4ynGnFMhOIhqunjQbJf+mJKpwTwdHXhw==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "x64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "darwin"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-linux-arm-gnueabihf": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-jEqK6pECs2m4BpL2JA/4CCkq04p6iFOEtVNXTisO+lJ3zwmxlnIEm9UfJZG6VSu8GS9MHRKGB0ieZ1tEdN1qDA==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "arm"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "linux"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-linux-arm64-gnu": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-PbkuIOYXO/gQbWQ7NnYIwm59ygNqmUcF8LBeoKvxhx1VtOwE+9KiTfoplOikkPLhMiTzKsd8qentTslbITIg+Q==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "arm64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "linux"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-linux-arm64-musl": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-JaqFdBCarIBKiMu5bbAp+kWPMNGg97ej+7KzbKOzWP5pRptqKi86kCDZT3WmjPe8hNG6dvBwbm7Y8JNry5LebQ==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "arm64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "linux"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-linux-x64-gnu": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-t4cLkku10YECDaakWUH0452WJHIZtrLPRwezt6BdoMntVMwNjvXRX7C8bGuYcKC3YxRW7enZKFpozLhQIQ37oA==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "x64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "linux"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-linux-x64-musl": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-fSMwZOaG+3ukUucbEbzz9GhzGhUhXoCPqHe9qW0/Vc2IZRp538xalygKyZynYweH5d9EHux1aj3+IO8/xBaoiA==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "x64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "linux"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-win32-arm64-msvc": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-tweCXK/79vAwj1NhAsYgICy8T1z2QEairmN2BFEBYFBFNMEB1iI1YlXwBkBtuihRvgZrTh1ORusKa4jLYzLCZA==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "arm64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "win32"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-win32-ia32-msvc": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-zi7hO9D+2R2yQN9D7T10/CAI9KhuXkNkz8tcJOW6+dVPtAk/gsIC5NoGPELjgrAlLL9CS38ZQpLDslLfpP15ng==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "ia32"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "win32"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/core-win32-x64-msvc": {
 | 
			
		||||
            "version": "1.13.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.1.tgz",
 | 
			
		||||
            "integrity": "sha512-KubYjzqs/nz3H69ncX/XHKsC8c1xqc7UvonQAj26BhbL22HBsqdAaVutZ+Obho6RMpd3F5qQ95ldavUTWskRrw==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "x64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0 AND MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "win32"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=10"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/counter": {
 | 
			
		||||
            "version": "0.1.3",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
 | 
			
		||||
            "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0"
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@swc/types": {
 | 
			
		||||
            "version": "0.1.23",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.23.tgz",
 | 
			
		||||
            "integrity": "sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "Apache-2.0",
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "@swc/counter": "^0.1.3"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@tailwindcss/node": {
 | 
			
		||||
            "version": "4.1.11",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.11.tgz",
 | 
			
		||||
@ -1619,6 +1845,20 @@
 | 
			
		||||
                "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@vitejs/plugin-react-swc": {
 | 
			
		||||
            "version": "3.11.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.11.0.tgz",
 | 
			
		||||
            "integrity": "sha512-YTJCGFdNMHCMfjODYtxRNVAYmTWQ1Lb8PulP/2/f/oEEtglw8oKxKIZmmRkyXrVrHfsKOaVkAc3NT9/dMutO5w==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "@rolldown/pluginutils": "1.0.0-beta.27",
 | 
			
		||||
                "@swc/core": "^1.12.11"
 | 
			
		||||
            },
 | 
			
		||||
            "peerDependencies": {
 | 
			
		||||
                "vite": "^4 || ^5 || ^6 || ^7"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/acorn": {
 | 
			
		||||
            "version": "8.15.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
 | 
			
		||||
@ -2625,6 +2865,7 @@
 | 
			
		||||
            "version": "4.0.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
 | 
			
		||||
            "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "MIT"
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/js-yaml": {
 | 
			
		||||
@ -2962,18 +3203,6 @@
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "MIT"
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/loose-envify": {
 | 
			
		||||
            "version": "1.4.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
 | 
			
		||||
            "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "js-tokens": "^3.0.0 || ^4.0.0"
 | 
			
		||||
            },
 | 
			
		||||
            "bin": {
 | 
			
		||||
                "loose-envify": "cli.js"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/lru-cache": {
 | 
			
		||||
            "version": "5.1.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
 | 
			
		||||
@ -3111,15 +3340,6 @@
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "MIT"
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/object-assign": {
 | 
			
		||||
            "version": "4.1.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
 | 
			
		||||
            "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=0.10.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/optionator": {
 | 
			
		||||
            "version": "0.9.4",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
 | 
			
		||||
@ -3259,17 +3479,6 @@
 | 
			
		||||
                "node": ">= 0.8.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/prop-types": {
 | 
			
		||||
            "version": "15.8.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
 | 
			
		||||
            "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "loose-envify": "^1.4.0",
 | 
			
		||||
                "object-assign": "^4.1.1",
 | 
			
		||||
                "react-is": "^16.13.1"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/proxy-from-env": {
 | 
			
		||||
            "version": "1.1.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
 | 
			
		||||
@ -3307,42 +3516,6 @@
 | 
			
		||||
                "react": "^19.1.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/react-fast-compare": {
 | 
			
		||||
            "version": "3.2.2",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
 | 
			
		||||
            "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
 | 
			
		||||
            "license": "MIT"
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/react-helmet": {
 | 
			
		||||
            "version": "6.1.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz",
 | 
			
		||||
            "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==",
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "object-assign": "^4.1.1",
 | 
			
		||||
                "prop-types": "^15.7.2",
 | 
			
		||||
                "react-fast-compare": "^3.1.1",
 | 
			
		||||
                "react-side-effect": "^2.1.0"
 | 
			
		||||
            },
 | 
			
		||||
            "peerDependencies": {
 | 
			
		||||
                "react": ">=16.3.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/react-helmet/node_modules/react-side-effect": {
 | 
			
		||||
            "version": "2.1.2",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz",
 | 
			
		||||
            "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==",
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "peerDependencies": {
 | 
			
		||||
                "react": "^16.3.0 || ^17.0.0 || ^18.0.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "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==",
 | 
			
		||||
            "license": "MIT"
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/react-refresh": {
 | 
			
		||||
            "version": "0.17.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,6 @@
 | 
			
		||||
        "axios": "^1.10.0",
 | 
			
		||||
        "react": "^19.1.0",
 | 
			
		||||
        "react-dom": "^19.1.0",
 | 
			
		||||
        "react-helmet": "^6.1.0",
 | 
			
		||||
        "react-router-dom": "^7.7.0",
 | 
			
		||||
        "shaka-player": "^4.15.8",
 | 
			
		||||
        "tailwindcss": "^4.1.11"
 | 
			
		||||
@ -24,6 +23,7 @@
 | 
			
		||||
        "@types/react": "^19.1.8",
 | 
			
		||||
        "@types/react-dom": "^19.1.6",
 | 
			
		||||
        "@vitejs/plugin-react": "^4.7.0",
 | 
			
		||||
        "@vitejs/plugin-react-swc": "^3.11.0",
 | 
			
		||||
        "eslint": "^9.31.0",
 | 
			
		||||
        "eslint-plugin-react-hooks": "^5.2.0",
 | 
			
		||||
        "eslint-plugin-react-refresh": "^0.4.20",
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,4 @@
 | 
			
		||||
import React, { useState, useEffect } from "react";
 | 
			
		||||
import { Helmet } from "react-helmet"; // Import Helmet
 | 
			
		||||
import React, { useEffect, useState } from "react";
 | 
			
		||||
 | 
			
		||||
const { protocol, hostname, port } = window.location;
 | 
			
		||||
 | 
			
		||||
@ -58,11 +57,12 @@ function API() {
 | 
			
		||||
            .catch((error) => console.error("Error fetching PlayReady info:", error));
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        document.title = "API | CDRM-Project";
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    return (
 | 
			
		||||
        <div className="flex flex-col w-full overflow-y-auto p-4 text-white">
 | 
			
		||||
            <Helmet>
 | 
			
		||||
                <title>API</title>
 | 
			
		||||
            </Helmet>
 | 
			
		||||
            <details open className="w-full list-none">
 | 
			
		||||
                <summary className="text-2xl">Sending a decryption request</summary>
 | 
			
		||||
                <div className="mt-5 p-5 rounded-lg border-2 border-indigo-500/50">
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,4 @@
 | 
			
		||||
import { useState, useEffect, useRef } from "react";
 | 
			
		||||
import { Helmet } from "react-helmet"; // Import Helmet
 | 
			
		||||
import { useEffect, useRef, useState } from "react";
 | 
			
		||||
 | 
			
		||||
function Cache() {
 | 
			
		||||
    const [searchQuery, setSearchQuery] = useState("");
 | 
			
		||||
@ -52,11 +51,12 @@ function Cache() {
 | 
			
		||||
            .catch((error) => console.error("Error:", error));
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        document.title = "Cache | CDRM-Project";
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    return (
 | 
			
		||||
        <div className="flex flex-col w-full h-full overflow-y-auto p-4">
 | 
			
		||||
            <Helmet>
 | 
			
		||||
                <title>Cache</title>
 | 
			
		||||
            </Helmet>
 | 
			
		||||
            <div className="flex flex-col lg:flex-row w-full lg:h-12 items-center">
 | 
			
		||||
                <input
 | 
			
		||||
                    type="text"
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,5 @@
 | 
			
		||||
import React, { useState, useEffect, useRef } from "react";
 | 
			
		||||
import React, { useEffect, useRef, useState } from "react";
 | 
			
		||||
import { readTextFromClipboard } from "../Functions/ParseChallenge";
 | 
			
		||||
import { Helmet } from "react-helmet"; // Import Helmet
 | 
			
		||||
 | 
			
		||||
function HomePage() {
 | 
			
		||||
    const [pssh, setPssh] = useState("");
 | 
			
		||||
@ -14,6 +13,10 @@ function HomePage() {
 | 
			
		||||
    const [devices, setDevices] = useState([]);
 | 
			
		||||
    const [selectedDevice, setSelectedDevice] = useState("default");
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        document.title = "Home | CDRM-Project";
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    const bottomRef = useRef(null);
 | 
			
		||||
    const messageRef = useRef(null); // Reference to result container
 | 
			
		||||
 | 
			
		||||
@ -131,9 +134,6 @@ function HomePage() {
 | 
			
		||||
    return (
 | 
			
		||||
        <>
 | 
			
		||||
            <div className="flex flex-col w-full overflow-y-auto p-4 min-h-full">
 | 
			
		||||
                <Helmet>
 | 
			
		||||
                    <title>CDRM-Project</title>
 | 
			
		||||
                </Helmet>
 | 
			
		||||
                <form className="flex flex-col w-full h-full bg-black/5 p-4 overflow-y-auto">
 | 
			
		||||
                    <label htmlFor="pssh" className="text-white w-8/10 self-center">
 | 
			
		||||
                        PSSH:{" "}
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
import React, { useState, useEffect } from "react";
 | 
			
		||||
import axios from "axios";
 | 
			
		||||
import React, { useEffect, useState } from "react";
 | 
			
		||||
 | 
			
		||||
function MyAccount() {
 | 
			
		||||
    const [wvList, setWvList] = useState([]);
 | 
			
		||||
@ -29,6 +29,10 @@ function MyAccount() {
 | 
			
		||||
        fetchUserInfo();
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        document.title = "My account | CDRM-Project";
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    // Handle file upload
 | 
			
		||||
    const handleUpload = async (event, cdmType) => {
 | 
			
		||||
        const file = event.target.files[0];
 | 
			
		||||
@ -228,7 +232,9 @@ function MyAccount() {
 | 
			
		||||
                            wvList.map((filename, i) => (
 | 
			
		||||
                                <div
 | 
			
		||||
                                    key={i}
 | 
			
		||||
                                    className={`text-center font-bold text-white p-2 rounded ${i % 2 === 0 ? "bg-black/30" : "bg-black/60"}`}
 | 
			
		||||
                                    className={`text-center font-bold text-white p-2 rounded ${
 | 
			
		||||
                                        i % 2 === 0 ? "bg-black/30" : "bg-black/60"
 | 
			
		||||
                                    }`}
 | 
			
		||||
                                >
 | 
			
		||||
                                    {filename}
 | 
			
		||||
                                </div>
 | 
			
		||||
@ -260,7 +266,9 @@ function MyAccount() {
 | 
			
		||||
                            prList.map((filename, i) => (
 | 
			
		||||
                                <div
 | 
			
		||||
                                    key={i}
 | 
			
		||||
                                    className={`text-center font-bold text-white p-2 rounded ${i % 2 === 0 ? "bg-black/30" : "bg-black/60"}`}
 | 
			
		||||
                                    className={`text-center font-bold text-white p-2 rounded ${
 | 
			
		||||
                                        i % 2 === 0 ? "bg-black/30" : "bg-black/60"
 | 
			
		||||
                                    }`}
 | 
			
		||||
                                >
 | 
			
		||||
                                    {filename}
 | 
			
		||||
                                </div>
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
import React, { useState } from "react";
 | 
			
		||||
import React, { useEffect, useState } from "react";
 | 
			
		||||
 | 
			
		||||
function Register() {
 | 
			
		||||
    const [username, setUsername] = useState("");
 | 
			
		||||
@ -9,6 +9,10 @@ function Register() {
 | 
			
		||||
    const validateUsername = (name) => /^[A-Za-z0-9_-]+$/.test(name);
 | 
			
		||||
    const validatePassword = (pass) => /^\S+$/.test(pass); // No spaces
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        document.title = "Register | CDRM-Project";
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    const handleRegister = async () => {
 | 
			
		||||
        if (!validateUsername(username)) {
 | 
			
		||||
            setStatus("Invalid username. Use only letters, numbers, hyphens, or underscores.");
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,5 @@
 | 
			
		||||
import React, { useState, useEffect, useRef } from "react";
 | 
			
		||||
import shaka from "shaka-player";
 | 
			
		||||
import { Helmet } from "react-helmet"; // Import Helmet
 | 
			
		||||
 | 
			
		||||
function TestPlayer() {
 | 
			
		||||
    const [mpdUrl, setMpdUrl] = useState(""); // State to hold the MPD URL
 | 
			
		||||
@ -109,11 +108,12 @@ function TestPlayer() {
 | 
			
		||||
        return headersObj;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        document.title = "Test player | CDRM-Project";
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    return (
 | 
			
		||||
        <div className="flex flex-col items-center w-full p-4">
 | 
			
		||||
            <Helmet>
 | 
			
		||||
                <title>Test Player</title>
 | 
			
		||||
            </Helmet>
 | 
			
		||||
            <div className="w-full flex flex-col">
 | 
			
		||||
                <video ref={videoRef} width="100%" height="auto" controls className="h-96" />
 | 
			
		||||
                <input
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
import { defineConfig } from "vite";
 | 
			
		||||
import react from "@vitejs/plugin-react";
 | 
			
		||||
import react from "@vitejs/plugin-react-swc";
 | 
			
		||||
import tailwindcss from "@tailwindcss/vite";
 | 
			
		||||
 | 
			
		||||
// https://vite.dev/config/
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user