diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..3186bcd4
Binary files /dev/null and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..54f07af5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 00000000..26e16f31
--- /dev/null
+++ b/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+ Movie App
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 00000000..d7203e53
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1732 @@
+{
+<<<<<<< HEAD
+ "name": "oz_react_mini_11",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {}
+=======
+ "name": "react-movie-complete",
+ "version": "0.0.1",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "react-movie-complete",
+ "version": "0.0.1",
+ "dependencies": {
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0",
+ "react-router-dom": "^6.23.0"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-react": "^4.4.1",
+ "vite": "^6.3.5"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.27.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz",
+ "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.27.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
+ "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.27.3",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.27.3",
+ "@babel/helpers": "^7.27.4",
+ "@babel/parser": "^7.27.4",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.27.4",
+ "@babel/types": "^7.27.3",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.27.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz",
+ "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.27.5",
+ "@babel/types": "^7.27.3",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.27.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
+ "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.27.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+ "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+ "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.27.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz",
+ "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.27.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.27.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz",
+ "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.27.3"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.27.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
+ "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.27.3",
+ "@babel/parser": "^7.27.4",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.27.3",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.27.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz",
+ "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
+ "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
+ "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
+ "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
+ "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
+ "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
+ "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
+ "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
+ "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
+ "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
+ "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
+ "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
+ "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
+ "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
+ "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
+ "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
+ "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
+ "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
+ "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
+ "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
+ "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
+ "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
+ "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
+ "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
+ "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
+ "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@remix-run/router": {
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz",
+ "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-beta.11",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.11.tgz",
+ "integrity": "sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz",
+ "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz",
+ "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz",
+ "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz",
+ "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz",
+ "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz",
+ "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz",
+ "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz",
+ "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz",
+ "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz",
+ "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz",
+ "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz",
+ "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz",
+ "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz",
+ "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz",
+ "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz",
+ "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz",
+ "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz",
+ "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz",
+ "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz",
+ "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
+ "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
+ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vitejs/plugin-react": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.2.tgz",
+ "integrity": "sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.27.4",
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+ "@rolldown/pluginutils": "1.0.0-beta.11",
+ "@types/babel__core": "^7.20.5",
+ "react-refresh": "^0.17.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz",
+ "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001718",
+ "electron-to-chromium": "^1.5.160",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.3"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001723",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz",
+ "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.168",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.168.tgz",
+ "integrity": "sha512-RUNQmFLNIWVW6+z32EJQ5+qx8ci6RGvdtDC0Ls+F89wz6I2AthpXF0w0DIrn2jpLX0/PU9ZCo+Qp7bg/EckJmA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
+ "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.5",
+ "@esbuild/android-arm": "0.25.5",
+ "@esbuild/android-arm64": "0.25.5",
+ "@esbuild/android-x64": "0.25.5",
+ "@esbuild/darwin-arm64": "0.25.5",
+ "@esbuild/darwin-x64": "0.25.5",
+ "@esbuild/freebsd-arm64": "0.25.5",
+ "@esbuild/freebsd-x64": "0.25.5",
+ "@esbuild/linux-arm": "0.25.5",
+ "@esbuild/linux-arm64": "0.25.5",
+ "@esbuild/linux-ia32": "0.25.5",
+ "@esbuild/linux-loong64": "0.25.5",
+ "@esbuild/linux-mips64el": "0.25.5",
+ "@esbuild/linux-ppc64": "0.25.5",
+ "@esbuild/linux-riscv64": "0.25.5",
+ "@esbuild/linux-s390x": "0.25.5",
+ "@esbuild/linux-x64": "0.25.5",
+ "@esbuild/netbsd-arm64": "0.25.5",
+ "@esbuild/netbsd-x64": "0.25.5",
+ "@esbuild/openbsd-arm64": "0.25.5",
+ "@esbuild/openbsd-x64": "0.25.5",
+ "@esbuild/sunos-x64": "0.25.5",
+ "@esbuild/win32-arm64": "0.25.5",
+ "@esbuild/win32-ia32": "0.25.5",
+ "@esbuild/win32-x64": "0.25.5"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/fdir": {
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/js-tokens": {
+ "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/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/react": {
+ "version": "19.1.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
+ "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "19.1.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
+ "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
+ "license": "MIT",
+ "dependencies": {
+ "scheduler": "^0.26.0"
+ },
+ "peerDependencies": {
+ "react": "^19.1.0"
+ }
+ },
+ "node_modules/react-refresh": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-router": {
+ "version": "6.30.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz",
+ "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@remix-run/router": "1.23.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "6.30.1",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz",
+ "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==",
+ "license": "MIT",
+ "dependencies": {
+ "@remix-run/router": "1.23.0",
+ "react-router": "6.30.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz",
+ "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.7"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.43.0",
+ "@rollup/rollup-android-arm64": "4.43.0",
+ "@rollup/rollup-darwin-arm64": "4.43.0",
+ "@rollup/rollup-darwin-x64": "4.43.0",
+ "@rollup/rollup-freebsd-arm64": "4.43.0",
+ "@rollup/rollup-freebsd-x64": "4.43.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.43.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.43.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.43.0",
+ "@rollup/rollup-linux-arm64-musl": "4.43.0",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.43.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.43.0",
+ "@rollup/rollup-linux-riscv64-musl": "4.43.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.43.0",
+ "@rollup/rollup-linux-x64-gnu": "4.43.0",
+ "@rollup/rollup-linux-x64-musl": "4.43.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.43.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.43.0",
+ "@rollup/rollup-win32-x64-msvc": "4.43.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.26.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
+ "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+ "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/vite": {
+ "version": "6.3.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
+ "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.25.0",
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2",
+ "postcss": "^8.5.3",
+ "rollup": "^4.34.9",
+ "tinyglobby": "^0.2.13"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "jiti": ">=1.21.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ }
+ }
+>>>>>>> a187eeffe724661cd0e23b3119c76db1ac4f803f
+}
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..491d8bb5
--- /dev/null
+++ b/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "react-movie-complete",
+ "private": true,
+ "version": "0.0.1",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0",
+ "react-router-dom": "^6.23.0"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-react": "^4.4.1",
+ "vite": "^6.3.5"
+ }
+}
\ No newline at end of file
diff --git a/public/.DS_Store b/public/.DS_Store
new file mode 100644
index 00000000..b6011b63
Binary files /dev/null and b/public/.DS_Store differ
diff --git a/public/data/.DS_Store b/public/data/.DS_Store
new file mode 100644
index 00000000..3ea94bf4
Binary files /dev/null and b/public/data/.DS_Store differ
diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 00000000..652f278a
Binary files /dev/null and b/src/.DS_Store differ
diff --git a/src/App.jsx b/src/App.jsx
new file mode 100644
index 00000000..dc168b81
--- /dev/null
+++ b/src/App.jsx
@@ -0,0 +1,16 @@
+
+import { Routes, Route } from 'react-router-dom';
+import Layout from './components/Layout';
+import MovieList from './components/MovieList';
+import MovieDetail from './pages/MovieDetail';
+
+export default function App() {
+ return (
+
+ }>
+ } />
+ } />
+
+
+ );
+}
diff --git a/src/components/Layout.jsx b/src/components/Layout.jsx
new file mode 100644
index 00000000..7ad7396d
--- /dev/null
+++ b/src/components/Layout.jsx
@@ -0,0 +1,14 @@
+
+import { Outlet } from 'react-router-dom';
+import NavBar from './NavBar';
+
+export default function Layout() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
diff --git a/src/components/MovieCard.jsx b/src/components/MovieCard.jsx
new file mode 100644
index 00000000..2a54a992
--- /dev/null
+++ b/src/components/MovieCard.jsx
@@ -0,0 +1,14 @@
+
+import { useNavigate } from 'react-router-dom';
+const IMG_BASE = 'https://image.tmdb.org/t/p/w500';
+
+export default function MovieCard({ title, vote_average, poster_path }) {
+ const navigate = useNavigate();
+ return (
+ navigate('/details')} style={{ cursor: 'pointer' }}>
+

+
{title}
+
โญ {vote_average}
+
+ );
+}
diff --git a/src/components/MovieList.jsx b/src/components/MovieList.jsx
new file mode 100644
index 00000000..31356dcf
--- /dev/null
+++ b/src/components/MovieList.jsx
@@ -0,0 +1,13 @@
+
+import movies from '../data/movieListData.json';
+import MovieCard from './MovieCard';
+
+export default function MovieList() {
+ return (
+
+ {movies.results.map((m) => (
+
+ ))}
+
+ );
+}
diff --git a/src/components/NavBar.jsx b/src/components/NavBar.jsx
new file mode 100644
index 00000000..14b733bc
--- /dev/null
+++ b/src/components/NavBar.jsx
@@ -0,0 +1,30 @@
+
+import { NavLink } from 'react-router-dom';
+
+export default function NavBar() {
+ const navStyle = {
+ padding: '1rem',
+ background: '#222',
+ color: 'white',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ };
+
+ const linkStyle = {
+ color: 'white',
+ textDecoration: 'none',
+ marginLeft: '1rem',
+ };
+
+ return (
+
+ );
+}
diff --git a/src/data/.DS_Store b/src/data/.DS_Store
new file mode 100644
index 00000000..e8510062
Binary files /dev/null and b/src/data/.DS_Store differ
diff --git a/src/data/movieDetailData.json b/src/data/movieDetailData.json
new file mode 100644
index 00000000..ccc4cc41
--- /dev/null
+++ b/src/data/movieDetailData.json
@@ -0,0 +1,74 @@
+{
+ "adult": false,
+ "backdrop_path": "/kYgQzzjNis5jJalYtIHgrom0gOx.jpg",
+ "belongs_to_collection": {
+ "id": 77816,
+ "name": "์ฟตํธํฌ๋ ์๋ฆฌ์ฆ",
+ "poster_path": "/xoYc0RYKSc3xC4S9OpPZxKocKtj.jpg",
+ "backdrop_path": "/uDosHOFFWtF5YteBRygHALFqLw2.jpg"
+ },
+ "budget": 85000000,
+ "genres": [
+ {
+ "id": 16,
+ "name": "์ ๋๋ฉ์ด์
"
+ },
+ {
+ "id": 28,
+ "name": "์ก์
"
+ },
+ {
+ "id": 10751,
+ "name": "๊ฐ์กฑ"
+ },
+ {
+ "id": 35,
+ "name": "์ฝ๋ฏธ๋"
+ },
+ {
+ "id": 14,
+ "name": "ํํ์ง"
+ }
+ ],
+ "homepage": "",
+ "id": 1011985,
+ "imdb_id": "tt21692408",
+ "origin_country": [
+ "US"
+ ],
+ "original_language": "en",
+ "original_title": "Kung Fu Panda 4",
+ "overview": "๋ง์นจ๋ด ๋ด๋ฉด์ ํํโฆ ๋๋ฉด์ ํํโฆ๊ฐ ์ฐพ์์๋ค๊ณ ๋ฏฟ๋ ์ฉ์ ์ ์ฌ 'ํฌ' ์ด์ ํํ์ ๊ณ๊ณก์ ์์ ์ง๋์๊ฐ ๋๊ณ , ์์ ์ ๋์ ํ ํ๊ณ์๋ฅผ ์ฐพ์์ผ๋ง ํ๋ค. \"์ด์ ์ฉ์ ์ ์ฌ๋ ๊ทธ๋ง๋ฌ์ผ ํด์?\" ์ฉ์ ์ ์ฌ๋ก์ ๋ชจ์ต์ด ์ต์ํด์ง๊ณ ์๋ก์ด ์ฑ์ฅ์ ํ๊ธฐ๋ณด๋ค ์ง๊ธ ์ด๋๋ก๊ฐ ์ข์ 'ํฌ' ํ์ง๋ง ๋ชจ๋ ์ฟตํธ ๋ง์คํฐ๋ค์ ๋ฅ๋ ฅ์ ๊ทธ๋๋ก ๋ณต์ ํ๋ ๊ฐ๋ ฅํ ๋น๋ฐ '์นด๋ฉ๋ ์จ'์ด ๋ํ๋๊ณ ๊ทธ๋
๋ฅผ ๋ง๊ธฐ ์ํด ์ ์ฒด๋ฅผ ์ ์ ์๋ ์ฟตํธ ๊ณ ์ '์ '๊ณผ ํจ๊ป ๋ชจํ์ ๋ ๋๊ฒ ๋๋๋ฐโฆ ํฌ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋น๋ฐ๊ณผ ์๊ธฐ ์์ ๋ง์ ๋ฐ์ด๋๊ณ ์ง์ ํ ๋ณํ๋ฅผ ํ ์ ์์๊น?",
+ "popularity": 1037.028,
+ "poster_path": "/1ZNOOMmILNUzVYbzG1j7GYb5bEV.jpg",
+ "production_companies": [
+ {
+ "id": 521,
+ "logo_path": "/kP7t6RwGz2AvvTkvnI1uteEwHet.png",
+ "name": "DreamWorks Animation",
+ "origin_country": "US"
+ }
+ ],
+ "production_countries": [
+ {
+ "iso_3166_1": "US",
+ "name": "United States of America"
+ }
+ ],
+ "release_date": "2024-03-02",
+ "revenue": 533540090,
+ "runtime": 94,
+ "spoken_languages": [
+ {
+ "english_name": "English",
+ "iso_639_1": "en",
+ "name": "English"
+ }
+ ],
+ "status": "Released",
+ "tagline": "์ค๋๋ง์ด์ง! ๋๋ฆผ์์ค ๋ ์ ๋ ์๋ฆฌ์ฆ ๋ง์นจ๋ด ์ปด๋ฐฑ!",
+ "title": "์ฟตํธํฌ๋ 4",
+ "video": false,
+ "vote_average": 7.135,
+ "vote_count": 1751
+}
\ No newline at end of file
diff --git a/src/data/movieListData.json b/src/data/movieListData.json
new file mode 100644
index 00000000..26abcc97
--- /dev/null
+++ b/src/data/movieListData.json
@@ -0,0 +1,401 @@
+{
+ "page": 1,
+ "results": [
+ {
+ "adult": false,
+ "backdrop_path": "/sR0SpCrXamlIkYMdfz83sFn5JS6.jpg",
+ "genre_ids": [
+ 878,
+ 28,
+ 12
+ ],
+ "id": 823464,
+ "original_language": "en",
+ "original_title": "Godzilla x Kong: The New Empire",
+ "overview": "๋ ํ์ดํ์ ์ ์ค์ ์ธ ๋๊ฒฐ ์ดํ ํ ๋ก์ฐ ์ด์ค์ ๋จ์ ์ฝฉ์ ๋๋์ด ์ ํ๊ฒ ์ฐพ๋ ๋์กฑ์ ๋ฐ๊ฒฌํ์ง๋ง ๊ทธ ๋ค์ ๋์ฌ๋ฆฌ๊ณ ์๋ ์์์น ๋ชปํ ์ํ์ ๋ง๋ฅ๋จ๋ฆฐ๋ค. ํํธ, ๊น์ ๋๋ฉด์ ๋น ์ง ๊ณ ์ง๋ผ๋ ์ ์ ์๋ ์ ํธ๋ก ์ธํด ๊นจ์ด๋๊ณ ํธ๋ฅธ ๋์ ํญ๊ตฐ ์ค์นด ํน์ ์ง๋ฐฐ ์๋ ์๊ธฐ์ ์ฒํ ํ ๋ก์ฐ ์ด์ค๋ฅผ ๋ง์ฃผํ๊ฒ ๋๋ค. ํ ๋ก์ฐ ์ด์ค๋ ๋ฌผ๋ก , ์ง๊ตฌ์์๋ ์ถ๋ชฐํด ์ ์ธ๊ณ๋ฅผ ์ดํ ํ์ํค๋ ํ์ดํ๋ค์ ๋๋ฐ ์์์ ๊ณ ์ง๋ผ์ ์ฝฉ์ ์ฌ์ ์ฒ์์ผ๋ก ํ ํ์ ์ด๋ค ๋ฐ๊ฒฉ์ ๋์๊ธฐ๋ก ํ๋๋ฐโฆ",
+ "popularity": 5014.446,
+ "poster_path": "/4z1VMmlxHrziG45901esjB4dpIa.jpg",
+ "release_date": "2024-03-27",
+ "title": "๊ณ ์ง๋ผ X ์ฝฉ: ๋ด ์ ํ์ด์ด",
+ "video": false,
+ "vote_average": 7.243,
+ "vote_count": 2019
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/fqv8v6AycXKsivp1T5yKtLbGXce.jpg",
+ "genre_ids": [
+ 878,
+ 12,
+ 28
+ ],
+ "id": 653346,
+ "original_language": "en",
+ "original_title": "Kingdom of the Planet of the Apes",
+ "overview": "์งํํ ์ ์ธ์๊ณผ ํดํ๋ ์ธ๊ฐ๋ค์ด ์ด์๊ฐ๋ ๋
. ์ ์ธ์ ๋ฆฌ๋ ํ๋ก์๋ฌด์ค๋ ์์ ํ ๊ตฐ๋ฆผ์ ์ํด ์ธ๊ฐ๋ค์ ์ฌ๋ฅํ๋ฉฐ ์์ ์ ์ ๊ตญ์ ๊ฑด์คํ๋ค. ํํธ, ๋ ๋ค๋ฅธ ์ ์ธ์ ๋
ธ์๋ ์ฐ์ฐํ ์จ๊ฒจ์ง ๊ณผ๊ฑฐ์ ์ด์ผ๊ธฐ์ ์์ ์ ๊ฐ๋ฅด์นจ์ ๋ฃ๊ฒ ๋๊ณ ์ธ๊ฐ๊ณผ ์ ์ธ์์ด ํจ๊ป ํ ์๋ก์ด ์ธ์์ ๊ฟ๊พผ๋ค. ์ด๋ ๋ ๊ทธ์ ์์ ๋ํ๋ ์๋ฌธ์ ํ ์ธ๊ฐ ์๋
. ๋
ธ์๋ ๊ทธ๋
์ ํจ๊ป ์์ ๋ฅผ ํฅํ ์ฌ์ ์ ์์ํ๊ฒ ๋๋๋ฐโฆ",
+ "popularity": 1585.42,
+ "poster_path": "/plNOSbqkSuGEK2i15A5btAXtB7t.jpg",
+ "release_date": "2024-05-08",
+ "title": "ํน์ฑํ์ถ: ์๋ก์ด ์๋",
+ "video": false,
+ "vote_average": 7.15,
+ "vote_count": 526
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/fY3lD0jM5AoHJMunjGWqJ0hRteI.jpg",
+ "genre_ids": [
+ 878,
+ 27,
+ 28
+ ],
+ "id": 940721,
+ "original_language": "ja",
+ "original_title": "ใดใธใฉ-1.0",
+ "overview": "๊ณ ์ง๋ผ ํ์ 70์ฃผ๋
๊ธฐ๋
์ํ. ์๋ฆฌ์ฆ ์ฌ์ ์ต์
์ ์ ๋ง์ด ์ผ๋ณธ์ ์ต๊ฒฉํ๋ค! ์ ํ, ์ ๋ก๊ฐ ๋ ์ผ๋ณธ์ ๋ค์ซ๋ฏ ๋ํ๋ ๊ณ ์ง๋ผ๊ฐ ์ด ๋๋ผ๋ฅผ ๋ง์ด๋์ค๋ก ๋จ์ด๋จ๋ฆฐ๋ค. ์ฌ์ ์ต๊ณ ๋ก ์ ๋ง์ ์ธ ์ํฉ ์์์์ ์ต๊ฒฉ์ ๋๊ฐ? ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ? ์ผ๋ณธ์ ๋ง์๊ฒ ๋๋ ๊ฒ์ธ๊ฐ...",
+ "popularity": 1133.298,
+ "poster_path": "/buvBq2zLP7CcJth8tjrI4znvfEO.jpg",
+ "release_date": "2023-11-03",
+ "title": "๊ณ ์ง๋ผ: ๋ง์ด๋์ค ์",
+ "video": false,
+ "vote_average": 7.688,
+ "vote_count": 1131
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/piLUbWQ3pgkma1nCyjHLEoMCSsN.jpg",
+ "genre_ids": [
+ 18,
+ 10770
+ ],
+ "id": 1219685,
+ "original_language": "fr",
+ "original_title": "Un pรจre idรฉal",
+ "overview": "",
+ "popularity": 1084.605,
+ "poster_path": "/4xJd3uwtL1vCuZgEfEc8JXI9Uyx.jpg",
+ "release_date": "2024-04-21",
+ "title": "Un pรจre idรฉal",
+ "video": false,
+ "vote_average": 6.44,
+ "vote_count": 25
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/xOMo8BRK7PfcJv9JCnx7s5hj0PX.jpg",
+ "genre_ids": [
+ 878,
+ 12
+ ],
+ "id": 693134,
+ "original_language": "en",
+ "original_title": "Dune: Part Two",
+ "overview": "ํฉ์ ์ ๋ชจ๋ต์ผ๋ก ๋ฉธ๋ฌธํ ๊ฐ๋ฌธ์ ์ ์ผํ ํ๊ณ์ ํด. ์ด๋จธ๋ ๋ ์ด๋ ์ ์์นด์ ๊ฐ์ ํ ๋ชฉ์จ๋ง ๋ถ์งํ ์ฑ ์ฌ๋ง์ผ๋ก ๋๋ง์น๋ค. ๊ทธ๊ณณ์์ ๋ง๋ ๋ฐ๋๊ตฐ๋ค๊ณผ ์จ์ด ์ง๋ด๋ค ๊ทธ๋ค๊ณผ ํจ๊ป ํฉ์ ์ ๋ชจ๋ ๊ฒ์ ํ๊ดดํ ์ ํฌ๋ฅผ ์ค๋นํ๋ค. ํํธ ๋ฐ๋๊ตฐ๋ค์ ๊ธฐ์ธ๊ฐ ๋์์ง์๋ก ๋ถ์ํด์ง ํฉ์ ์ ๊ท์กฑ ๊ฐ๋ฌธ์ ์ํนํ ์์ด์ ํ์ด๋ ๋กํ๋ฅผ ๋ณด๋ด ๋ฐ๋๊ตฐ์ ๋ชฐ์ดํ๋ ค ํ๋๋ฐโฆ",
+ "popularity": 1029.23,
+ "poster_path": "/8uUU2pxm6IYZw8UgnKJyx7Dqwu9.jpg",
+ "release_date": "2024-02-27",
+ "title": "๋: ํํธ 2",
+ "video": false,
+ "vote_average": 8.186,
+ "vote_count": 4041
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/tdkCqOQ87ns39bWtzjJYsGTloH9.jpg",
+ "genre_ids": [
+ 28,
+ 80,
+ 9648,
+ 53
+ ],
+ "id": 996154,
+ "original_language": "en",
+ "original_title": "Black Lotus",
+ "overview": "๋งํ
์ค๋ ์ธ์ง ๊ตฌ์ถ ์์ ์ค, ์์ฌ ์กด์ ๋ช
๋ น์ ๋ฌด์ํ๊ณ ํ์๋ค์ ์๊ธฐ์ ๋ชฐ์๋ฃ๋๋ค. ๊ทธ๋ค์ ๊ฐ๊น์ค๋ก ์ธ์ง๋ฒ๋ค์ ์ํํ์ง๋ง, ์ธ์ง๋ก ์์ฅํ๊ณ ์๋ ๋ฒ์ธ ์ค ํ ๋ช
์ด ์กด์ ์ฌ์ดํ๋ค. ๊ทธ ํ ๋งํ
์ค๋ ์ ์ญํ๊ณ ์ ์ธ๊ณ๋ฅผ ๋ ๋๋ฉฐ ์ผ์ฉ์ง์ผ๋ก ๊ทผ๊ทผํ ์ด์๊ฐ๋ค. ์กด์ด ์ธ์์ ๋ ๋ ์ง 5๋
์ด ๋๋ ๋ , ๋งํ
์ค๋ ์กด์ ์๋ด ํฌ๋ ์ ์ฐพ์๊ฐ ์ฌ๊ณผํ๋ค. ํฌ๋ ์ ํ๋ก ๋ธ ์ค์ง๋ฅผ ํค์ฐ๋ค๊ฐ ํฌ์ ํ์ฌ ์ฌ์ฅ ํด๊ณผ ์๋
์ ์ฌํผ์ ํ๋ค. ๋ฑํ ๋ฌต์ ๊ณณ์ด ์๋ ๋งํ
์ค๋ ํฌ๋ ์ ์ง์์ ๋ฉฐ์น ๋ฌต๊ธฐ๋ก ํ๊ณ , ๊ทธ์ ๋ธ ์ค์ง์ ์นํด์ง๋ค. ํํธ, ํด์ ํญ๋ ฅ์กฐ์ง์ ๋๋ชฉ ๊ฐ๋ธ๋ฆฌ์ผ ์ฌ๋ฐ์ ๋์ ๊ด๋ฆฌํ๋ค๊ฐ ํฌ์๋ฅผ ์๋ชปํด 1,500๋ง ์ ๋ก๋ฅผ ๋ ๋ ค ๋ฒ๋ฆฐ๋ค. ์ฌ๋ฐ์ ๋์ ์ฐพ์๋ด๋ผ๋ฉฐ ํด์ ์๋ฐํ๊ณ , ํด์ด ๋ณ๋ช
๋ง ๋์ด๋์, ๊ทธ์ ๋ธ ์ค์ง๋ฅผ ๋ฉ์นํ๋ค. ์ด์ ๋งํ
์ค๋ ์ค์ง๋ฅผ ์ฐพ์ ๋์๋๋ฐโฆ",
+ "popularity": 821.393,
+ "poster_path": "/jqHaAESQIA6bpEwPnE2Wulba40D.jpg",
+ "release_date": "2023-04-12",
+ "title": "๋ธ๋ ๋กํฐ์ค",
+ "video": false,
+ "vote_average": 6.462,
+ "vote_count": 92
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/kYgQzzjNis5jJalYtIHgrom0gOx.jpg",
+ "genre_ids": [
+ 16,
+ 28,
+ 10751,
+ 35,
+ 14
+ ],
+ "id": 1011985,
+ "original_language": "en",
+ "original_title": "Kung Fu Panda 4",
+ "overview": "๋ง์นจ๋ด ๋ด๋ฉด์ ํํโฆ ๋๋ฉด์ ํํโฆ๊ฐ ์ฐพ์์๋ค๊ณ ๋ฏฟ๋ ์ฉ์ ์ ์ฌ โํฌโ ์ด์ ํํ์ ๊ณ๊ณก์ ์์ ์ง๋์๊ฐ ๋๊ณ , ์์ ์ ๋์ ํ ํ๊ณ์๋ฅผ ์ฐพ์์ผ๋ง ํ๋ค. โ์ด์ ์ฉ์ ์ ์ฌ๋ ๊ทธ๋ง๋ฌ์ผ ํด์?โ ์ฉ์ ์ ์ฌ๋ก์ ๋ชจ์ต์ด ์ต์ํด์ง๊ณ ์๋ก์ด ์ฑ์ฅ์ ํ๊ธฐ๋ณด๋ค ์ง๊ธ ์ด๋๋ก๊ฐ ์ข์ โํฌโ ํ์ง๋ง ๋ชจ๋ ์ฟตํธ ๋ง์คํฐ๋ค์ ๋ฅ๋ ฅ์ ๊ทธ๋๋ก ๋ณต์ ํ๋ ๊ฐ๋ ฅํ ๋น๋ฐ โ์นด๋ฉ๋ ์จโ์ด ๋ํ๋๊ณ ๊ทธ๋
๋ฅผ ๋ง๊ธฐ ์ํด ์ ์ฒด๋ฅผ ์ ์ ์๋ ์ฟตํธ ๊ณ ์ โ์ โ๊ณผ ํจ๊ป ๋ชจํ์ ๋ ๋๊ฒ ๋๋๋ฐโฆ ํฌ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋น๋ฐ๊ณผ ์๊ธฐ ์์ ๋ง์ ๋ฐ์ด๋๊ณ ์ง์ ํ ๋ณํ๋ฅผ ํ ์ ์์๊น?",
+ "popularity": 841.65,
+ "poster_path": "/1ZNOOMmILNUzVYbzG1j7GYb5bEV.jpg",
+ "release_date": "2024-03-02",
+ "title": "์ฟตํธํฌ๋ 4",
+ "video": false,
+ "vote_average": 7.128,
+ "vote_count": 1720
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/q8IEFmEGGSGmAWfwRs23XDwdFN4.jpg",
+ "genre_ids": [
+ 878,
+ 28,
+ 12
+ ],
+ "id": 786892,
+ "original_language": "en",
+ "original_title": "Furiosa: A Mad Max Saga",
+ "overview": "๋ฌธ๋ช
๋ถ๊ดด 45๋
ํ, ํฉํํด์ง ์ธ์์ ๋ฌด์ฐธํ ๋์ ธ์ง 'ํจ๋ฆฌ์ค์ฌ'๊ฐ ๊ณ ํฅ์ผ๋ก ๋์๊ฐ๊ธฐ ์ํด ์์ ์ ์ธ์ ์ ๋ถ๋ฅผ ๊ฑธ๊ณ ๋ ๋๋ ๊ฑฐ๋ํ ์ฌ์ ์ ๊ทธ๋ฆฐ ์ก์
๋ธ๋ก๋ฒ์คํฐ",
+ "popularity": 794.804,
+ "poster_path": "/zaUFDdJidS4Nyyd6jb2Ok3Kq4Vo.jpg",
+ "release_date": "2024-05-22",
+ "title": "ํจ๋ฆฌ์ค์ฌ: ๋งค๋๋งฅ์ค ์ฌ๊ฐ",
+ "video": false,
+ "vote_average": 7.6,
+ "vote_count": 79
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/rmNlWyez5cniGtXkgixG1ezdqVk.jpg",
+ "genre_ids": [
+ 28,
+ 53
+ ],
+ "id": 1093995,
+ "original_language": "en",
+ "original_title": "Chief of Station",
+ "overview": "",
+ "popularity": 755.809,
+ "poster_path": "/uuA01PTtPombRPvL9dvsBqOBJWm.jpg",
+ "release_date": "2024-05-02",
+ "title": "Chief of Station",
+ "video": false,
+ "vote_average": 5.338,
+ "vote_count": 34
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/y9Hz04SvfWxUKWYvehZYxRvFoFY.jpg",
+ "genre_ids": [
+ 27,
+ 53
+ ],
+ "id": 1087388,
+ "original_language": "en",
+ "original_title": "Sting",
+ "overview": "๋ธ๋ฃจํด๋ฆฐ์ ์ฌ๋ ํ ๊ฐ์กฑ๊ณผ ์ฐ์ฃผ์์ ์จ ๊ฑฐ๋ ๊ฑฐ๋ฏธ์์ ์ธ์์ ๊ทธ๋ฆฐ ๊ณตํฌ ์ํ. ์ฃผ์ธ๊ณต ์ฌ๋กฏ์ ์ฐ์ฃผ์์ ์จ ๊ฑฐ๋ฏธ๋ฅผ ์ฐ์ฐํ ๋ฐ๊ฒฌํ๊ณ ์คํ
์ด๋ผ๋ ์ด๋ฆ์ ์ง์ด์ฃผ๊ณ ๋ฐ๋ ค๋๋ฌผ๋ก ํค์ฐ๊ธฐ ์์ํ๋ค. ํ์ง๋ง ์ด ๊ฑฐ๋ฏธ๋ ์ ์ ๋ ๊ฑฐ๋ํ ๊ดด๋ฌผ๋ก ๋ณํ์ฌ ์ฌ๋กฏ์ ์ํํธ ๋จ์ง๋ฅผ ๊ณตํฌ์ ๋น ๋จ๋ฆฌ๋๋ฐ...",
+ "popularity": 716.554,
+ "poster_path": "/uXUs1fwSuE06LgYETw2mi4JxQvc.jpg",
+ "release_date": "2024-04-12",
+ "title": "์คํ
",
+ "video": false,
+ "vote_average": 6.6,
+ "vote_count": 66
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/wODqakS0jinTUECNS6n4VomQbew.jpg",
+ "genre_ids": [
+ 14,
+ 12,
+ 35
+ ],
+ "id": 967847,
+ "original_language": "en",
+ "original_title": "Ghostbusters: Frozen Empire",
+ "overview": "๋ฌด๋์ด ์ฌ๋ฆ์ ๋ด์์ ์ด๋ ๋ , ๊ณ ๋ ์ ๋ฌผ ์ ๊นจ์ด๋ ๋ฐ์ค์น ๋ก ์ธํด ์ ์ฒด๋ถ๋ช
์ ๋๊ธฐ๊ฐ ๋ชฐ๋ ค์ค๊ณ ๋ง์นจ๋ด ๋์๋ ์ผ์ด๋ถ๊ณ ๋ง๋ค. ์ ๋ น์ ํด์นํ๋ ๊ทธ๋ฃจ๋ฒ์จ๊ณผ ๋ผ์ด์ฆ ๋ฒ์คํฐ์ฆ ๋ฉค๋ฒ๋ค์ ์ผ์ด๋ถ์ ์ธ์์ ๊นจ๋ถ์๊ธฐ ์ํด ์ ๋ น ๊ตฐ๋จ์ ์ซ๊ธฐ ์์ํ๋๋ฐโฆ",
+ "popularity": 628.946,
+ "poster_path": "/mGzSIfzmcf9H91DS06cnka1SYrP.jpg",
+ "release_date": "2024-03-20",
+ "title": "๊ณ ์คํธ๋ฒ์คํฐ์ฆ: ์ค์นํ ๋ด์",
+ "video": false,
+ "vote_average": 6.676,
+ "vote_count": 822
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/jnE1GA7cGEfv5DJBoU2t4bZHaP4.jpg",
+ "genre_ids": [
+ 28,
+ 878
+ ],
+ "id": 1094844,
+ "original_language": "en",
+ "original_title": "Ape vs. Mecha Ape",
+ "overview": "NASA๋ ๊ฑฐ๋ ์ ์ธ์ ์๋ธ๋ผํจ์ ๋ชจ๋ธ๋ก ํ๊ณผ ๊ท๋ชจ์์ ์๋ธ๋ผํจ์ ๋ฒ๊ธ๊ฐ๋ ๊ธฐ๊ณ ์ ์ธ์์ ์ค๊ณํ๋ค. ํ์ง๋ง ์ฒซ ๋ฒ์งธ ์คํ ๊ฒฐ๊ณผ๊ฐ ์ข์ง ์๊ฒ ๋์ค์ ๋ฏธ ๊ตญ๋ฐฉ์ฑ์์๋ ๋ํญํ ๊ธฐ๊ณ ์ ์ธ์์ ๋ง๊ธฐ ์ํด ๊ฐ์ฅ์ ๊ฐํ ์๋ธ๋ผํจ์ ์๋ฐฉํ๋๋ก ์ง์ํ๋ค. ํํธ ๋ณผ๋ก๋๋ ์ธ ์นด ์ธ๊ตญ ์ ๋ณด๋ถ๋ ๊ธฐ๊ณ ์ ์ธ์์ ํตํ๋๋ฅผ ๋ถ์ฐฉํด ๊ธฐ๊ณ ์ ์ธ์์ ์์คํ
์ ๊ต๋์์ผ ๋ฏธ๊ตญ ์์นด๊ณ ๋ฅผ ๋ ๋ ค๋ฒ๋ฆด ๊ณ๋ต์ ๊พธ๋ฏผ๋ค. ์ด๋ฅผ ๋ง๊ธฐ ์ํด NASA์ ๊ด๊ณ์๋ค์ ์๋ธ๋ผํจ๊ณผ ์ํตํ๋ ๋ฐฉ๋ฒ์ ํตํด ๊ธฐ๊ณ ์ ์ธ์์ ๋ง์ผ๋ ค ํ๋๋ฐ....",
+ "popularity": 704.388,
+ "poster_path": "/dJaIw8OgACelojyV6YuVsOhtTLO.jpg",
+ "release_date": "2023-03-24",
+ "title": "ํน VS. ๋จธ์ ํน",
+ "video": false,
+ "vote_average": 5.679,
+ "vote_count": 196
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/tDmAhKMBv0e4sYyg4FX5LVfe64S.jpg",
+ "genre_ids": [
+ 28,
+ 878,
+ 53,
+ 10749
+ ],
+ "id": 1072589,
+ "original_language": "th",
+ "original_title": "เธชเธฅเธดเธ เนเธเธฃเนเธเธเธเนเธฅเนเธฒ",
+ "overview": "",
+ "popularity": 689.963,
+ "poster_path": "/hge5nHu953g3CpR4xD2F0qhsTJm.jpg",
+ "release_date": "2023-12-05",
+ "title": "เธชเธฅเธดเธ เนเธเธฃเนเธเธเธเนเธฅเนเธฒ",
+ "video": false,
+ "vote_average": 3.833,
+ "vote_count": 3
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/vWzJDjLPmycnQ42IppEjMpIhrhc.jpg",
+ "genre_ids": [
+ 16,
+ 35,
+ 10751
+ ],
+ "id": 748783,
+ "original_language": "en",
+ "original_title": "The Garfield Movie",
+ "overview": "์ธ์๊ท์ฐฎ ์ง๋ฅ์ด, ๋ฐ์๊ณ ํ๋ํ ์ธ์์ ๋์ ธ์ก๋ค! ์ง์ฌ โ์กดโ๊ณผ ๋ฐ๋ ค๊ฒฌ โ์ค๋โ๋ฅผ ๊ธฐ๋ฅด๋ฉฐ ํํ๋ก์ด ๋๋ ์ ๋ณด๋ด๋ ์ง๋ฅ์ด โ๊ฐํ๋โ. ์ด๋ ๋ , ํ์
ํ ๊ธธ๋ฅ์ด ๋ฌด๋ฆฌ์๊ฒ ๋ฉ์น๋นํด ๋ํนํ ๊ฑฐ๋ฆฌ๋ก ๋์ ธ์ง๋ค. ๋๋ด์ฃผ๋ ์ง์ฌ๊ฐ ์๋ ์ง ๋ฐ ์ธ์์ ๋๋ฌด๋๋ ์ ์ ์๊ฒ ๋์๊ฐ๊ณ ๊ธธ์์ ์ฐ์ฐํ ๋ค์ ๋ง๋ ์๋น ๊ธธ๋ฅ์ด โ๋น
โ์ ์คํ๋ ค โ๊ฐํ๋โ๋ฅผ ์๊ธฐ์ ๋น ์ง๊ฒ ํ๋๋ฐโฆ ํ๋ํ ์ธ์, ์ด์๋จ์์ผ ํ๋ค!",
+ "popularity": 679.475,
+ "poster_path": "/57g3pHYi3p0JNVO1LkcyYbeMDBf.jpg",
+ "release_date": "2024-04-30",
+ "title": "๊ฐํ๋ ๋ ๋ฌด๋น",
+ "video": false,
+ "vote_average": 6.6,
+ "vote_count": 87
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/lUlz0oE3zhAku7QvGoDJCeaFuiO.jpg",
+ "genre_ids": [
+ 28,
+ 9648,
+ 53
+ ],
+ "id": 1111966,
+ "original_language": "en",
+ "original_title": "Mercy",
+ "overview": "์ ์ง ๊ตฐ์๊ด์ด ๊ทผ๋ฌดํ๋ ๋ณ์์ ์์ผ๋๋ ๋งํผ์๊ฐ ์ฅ์
ํ๋ฉด์ ์์กด์ ์ํ ์น๋ช
์ ์ธ ์ ํฌ์ ํ๋ง๋ฆฌ๊ฒ ๋ฉ๋๋ค. ์๋ค์ด ์ธ์ง๋ก ์กํ์, ๊ทธ๋
๋ ์์ ์ธ์๋ ๊ตฌํด์ค ์ฌ๋์ด ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ณ ์ ํฌ๋ก ๋จ๋ จ๋ ๊ณผ๊ฑฐ์ ์น๋ช
์ ์ธ ๊ธฐ์ ์ ์์กดํด์ผ๋ง ํฉ๋๋ค.",
+ "popularity": 638.358,
+ "poster_path": "/8voINwqMlscROrjhN97fGkmhvEV.jpg",
+ "release_date": "2023-05-12",
+ "title": "๋จธ์",
+ "video": false,
+ "vote_average": 6.2,
+ "vote_count": 50
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/4CcUgdiGe83MeqJW1NyJVmZqRrF.jpg",
+ "genre_ids": [
+ 10749,
+ 18
+ ],
+ "id": 937287,
+ "original_language": "en",
+ "original_title": "Challengers",
+ "overview": "์คํ๊ธ์ ์ธ๊ธฐ๋ฅผ ๋๋ฆฌ๋ ํ
๋์ค ์ฒ์ฌ ํ์๋ ๋ถ์์ผ๋ก ์ธํด ๋ ์ด์ ์ ์ ์ํ์ ํ์ง ๋ชปํ๊ณ ์ง๊ธ์ ๋จํธ ์ํธ์ ์ฝ์น๋ฅผ ๋งก๊ณ ์๋ค. ์ฐํจ ์ฌ๋ผํ์์ ๋น ์ ธ๋์ค์ง ๋ชปํ๋ ์ํธ๋ฅผ ์ฑ๋ฆฐ์ ๊ธ ๋ํ์ ์ฐธ๊ฐ์ํจ ํ์๋ ๋จํธ๊ณผ ๋๋ ์๋ ์น๊ตฌ ์ฌ์ด์ด์ ์์ ์ ์ ๋จ์น์ธ ํจํธ๋ฆญ์ ๋ค์ ๋ง๋๊ฒ ๋๋ค. ์ ๋๋ ์ธ ๋จ๋
์ ์์ฌ์์ฌํ ๊ด๊ณ๋ ํ
๋์ค ์ฝํธ ๋ฐ์์ ๋์ฑ ๊ฒฉ๋ ฌํ๊ฒ ์ด์ด์ง๋๋ฐโฆ ๊ฒฐ์น์ D-DAY, ๊ฐ์ฅ ๋งคํน์ ์ธ ๋ ๋ฆฌ๊ฐ ์์๋๋ค!",
+ "popularity": 634.307,
+ "poster_path": "/iUDG0gsPZxNm9IOLqpIUZiUMVMZ.jpg",
+ "release_date": "2024-04-18",
+ "title": "์ฑ๋ฆฐ์ ์ค",
+ "video": false,
+ "vote_average": 7.308,
+ "vote_count": 677
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/4woSOUD0equAYzvwhWBHIJDCM88.jpg",
+ "genre_ids": [
+ 28,
+ 27,
+ 53
+ ],
+ "id": 1096197,
+ "original_language": "en",
+ "original_title": "No Way Up",
+ "overview": "๋ฉ์์ฝ ํด์์ง๋ก ๊ฐ๋ ๋นํ๊ธฐ ํ์ง๋ง ๋นํ๊ธฐ์ ์์ง ๋ฌธ์ ๋ก ์ฌ๊ณ ๊ฐ ๋ฐ์ํ๊ณ ๊น์ ๋ฐ๋ท์์ผ๋ก ์ถ๋ฝํ๋ค. ์ฃผ์ง์ฌ์ ๋ธ โ์์ด๋ฐโ์ ๊ฒฝํธ์ โ๋ธ๋๋โ, ๋จ์์น๊ตฌ โ์ ๋โ, โ์นด์ผโ ๊ทธ๋ฆฌ๊ณ ์ด๋ฆฐ ์๋
โ๋ก์โ์ ํ ๋จธ๋, ์น๋ฌด์ โ๋ค๋๋กโ๊น์ง ๋จ 7๋ช
๋ง์ด ์ด์๋จ์ง๋ง ๋นํ๊ธฐ ์์ดํฌ์ผ ์ ๊ณต๊ธฐ๊ฐ ๋จ์ด์ง๋ฉด์ ์ ์ ๊น์ด ๊ฐ๋ผ์๋๋ค ์์กด ์๊ฐ์ ํฑ ๋๊น์ง ์ฐจ์ค๋ฅด๊ณ ์์ด ๋ผ๋ง์ ์ด๋ค์ ์ํํ๋๋ฐโฆ",
+ "popularity": 632.084,
+ "poster_path": "/2NGWNTGLrOsoblP5cDpmsvMfKJE.jpg",
+ "release_date": "2024-01-18",
+ "title": "๋
ธ ์จ์ด ์
",
+ "video": false,
+ "vote_average": 6.424,
+ "vote_count": 670
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/lzWHmYdfeFiMIY4JaMmtR7GEli3.jpg",
+ "genre_ids": [
+ 878,
+ 12
+ ],
+ "id": 438631,
+ "original_language": "en",
+ "original_title": "Dune",
+ "overview": "10191๋
, ์ํธ๋ ์ด๋ฐ์ค ๊ฐ๋ฌธ์ ํ๊ณ์์ธ ํด์ ์๊ฐ๊ณผ ๊ณต๊ฐ์ ์ด์ํด ๊ณผ๊ฑฐ์ ๋ฏธ๋๋ฅผ ๋ชจ๋ ๋ณผ ์ ์๊ณ , ๋ ๋์ ๋ฏธ๋๋ฅผ ๋ง๋ค ์ ์ผํ ๊ตฌ์์์ธ ์์ง๋ ์์ ์ด๋ช
์ ํ๊ณ ๋ฌ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๊ณ์์ฒ๋ผ ๋งค์ผ ๊ฟ์์ ์๋ผํค์ค์ ํ์ฑ์ ์๋ ํ ์ฌ์ธ์ ๋ง๋๋ค. ๊ท์กฑ๋ค์ด ์ง์งํ๋ ์ํธ๋ ์ด๋ฐ์ค ๊ฐ๋ฌธ์ ๋ํ ํฉ์ ์ ์งํฌ๋ ํด๊ณผ ๊ทธ ์ผ์กฑ๋ค์ ์ฃฝ์์ด ๊ธฐ๋ค๋ฆฌ๋ ์๋ผํค์ค๋ก ์ด๋๋๋ฐ...",
+ "popularity": 628.96,
+ "poster_path": "/7zV8FTYofAORGm0Umgh1mNNCym8.jpg",
+ "release_date": "2021-09-15",
+ "title": "๋",
+ "video": false,
+ "vote_average": 7.78,
+ "vote_count": 11677
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/7kQvHmGyKJv2wSKVfCUux50rd7A.jpg",
+ "genre_ids": [
+ 878
+ ],
+ "id": 920342,
+ "original_language": "zh",
+ "original_title": "ๅผๅ
ฝๆๅบ",
+ "overview": "",
+ "popularity": 600.889,
+ "poster_path": "/nBVYp2xxx2R02n21EGlDky8CgWR.jpg",
+ "release_date": "2021-12-27",
+ "title": "ๅผๅ
ฝๆๅบ",
+ "video": false,
+ "vote_average": 7.054,
+ "vote_count": 28
+ },
+ {
+ "adult": false,
+ "backdrop_path": "/nb3xI8XI3w4pMVZ38VijbsyBqP4.jpg",
+ "genre_ids": [
+ 18,
+ 36
+ ],
+ "id": 872585,
+ "original_language": "en",
+ "original_title": "Oppenheimer",
+ "overview": "์ 2์ฐจ ์ธ๊ณ๋์ ๋น์ ํต๋ฌด๊ธฐ ๊ฐ๋ฐ์ ์ํด ์งํ๋์๋ ๋น๋ฐ ํ๋ก์ ํธ โ๋งจํดํผ ํ๋ก์ ํธโ๋ฅผ ์ฃผ๋ํ ๋ฏธ๊ตญ์ ๋ฌผ๋ฆฌํ์ โ๋ก๋ฒํธ ์คํํ์ด๋จธโ์ ์ด์ผ๊ธฐ",
+ "popularity": 602.85,
+ "poster_path": "/jpD6z9fgNe7OqsHoDeAWQWoULde.jpg",
+ "release_date": "2023-07-19",
+ "title": "์คํํ์ด๋จธ",
+ "video": false,
+ "vote_average": 8.102,
+ "vote_count": 8078
+ }
+ ],
+ "total_pages": 44317,
+ "total_results": 886324
+}
\ No newline at end of file
diff --git a/src/main.jsx b/src/main.jsx
new file mode 100644
index 00000000..5846e232
--- /dev/null
+++ b/src/main.jsx
@@ -0,0 +1,12 @@
+
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import { BrowserRouter } from 'react-router-dom';
+import App from './App';
+import './style.css';
+
+ReactDOM.createRoot(document.getElementById('root')).render(
+
+
+
+);
diff --git a/src/pages/MovieDetail.jsx b/src/pages/MovieDetail.jsx
new file mode 100644
index 00000000..e3346c09
--- /dev/null
+++ b/src/pages/MovieDetail.jsx
@@ -0,0 +1,22 @@
+
+import data from '../data/movieDetailData.json';
+const IMG_BASE = 'https://image.tmdb.org/t/p/w500';
+
+export default function MovieDetail() {
+ const { title, overview, vote_average, genres, poster_path, backdrop_path } = data;
+ return (
+
+

+
+
{title}
+
โญ {vote_average}
+
+ {genres.map((g) => (
+ {g.name}
+ ))}
+
+
{overview}
+
+
+ );
+}
diff --git a/src/style.css b/src/style.css
new file mode 100644
index 00000000..940bb403
--- /dev/null
+++ b/src/style.css
@@ -0,0 +1,33 @@
+
+body {
+ margin: 0;
+ font-family: sans-serif;
+ background: #111;
+ color: #eee;
+}
+.movie-list {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 1.5rem;
+}
+.movie-card {
+ width: 200px;
+ background: #222;
+ padding: 0.5rem;
+ border-radius: 8px;
+ text-align: center;
+ transition: transform 0.2s ease;
+}
+.movie-card:hover {
+ transform: scale(1.05);
+}
+.movie-card img {
+ width: 100%;
+ border-radius: 6px;
+}
+.detail-page {
+ display: flex;
+ gap: 2rem;
+}
+.detail-img { width: 300px; border-radius: 8px; }
+.genre { background: #444; padding: 0.25rem 0.5rem; margin-right: 0.5rem; border-radius: 4px; }
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 00000000..bd5899b6
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,3 @@
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react';
+export default defineConfig({ plugins: [react()] });