diff --git a/.eslintrc.js b/.eslintrc.js index 2f74e61..48a8331 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,20 +1,32 @@ -module.exports = { +export default { env: { browser: true, es2021: true, - node: true, + node: true }, extends: [ 'eslint:recommended', - 'plugin:prettier/recommended', + 'plugin:react/recommended', + 'plugin:react-hooks/recommended', + 'plugin:prettier/recommended' ], parserOptions: { + ecmaFeatures: { + jsx: true + }, ecmaVersion: 'latest', - sourceType: 'module', + sourceType: 'module' }, + plugins: ['react', 'react-hooks', 'prettier'], rules: { - 'prettier/prettier': 'error', - 'no-unused-vars': 'warn', - 'no-console': 'warn', + 'react/react-in-jsx-scope': 'off', + 'react/prop-types': 'off', + 'prettier/prettier': 'warn', + 'no-unused-vars': 'warn' }, + settings: { + react: { + version: 'detect' + } + } }; \ No newline at end of file diff --git a/about.html b/about.html deleted file mode 100644 index 6fa315b..0000000 --- a/about.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - О фильме - Online Cinema Theater - - - - - - - -
-
-
-
-
- Movie Poster -
-
-
-
-
-

Груз 200

- - - - - - - - - - - - - - - - - - - - - - - -
Продолжительность1 час 50 минут
Год выпуска2007
СтранаРоссия
РежиссерАлексей Балабанов
Жанртриллер, драма, криминал
-
Описание:
-

- Груз 200 - это история о двух братьях, которые вместе с другими людьми отправляются в грузовике на - поиски золота в Африке. Однако путь к цели оказывается опасным и сложным, и братья сталкиваются - с различными препятствиями, в том числе с коррупцией и жестокостью. -

-
- -
-
-
-
-
-
-
- - - - - - - - diff --git a/add-movie.html b/add-movie.html deleted file mode 100644 index 776ad59..0000000 --- a/add-movie.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - Добавить новый фильм - Online Cinema Theater - - - - - - -
- -
- -
-
-
-
-
-

Добавить новый фильм

-
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- Предпросмотр постера -
-
-
- Отмена - -
-
-
-
-
-
-
- - - - - - - \ No newline at end of file diff --git a/catalog.html b/catalog.html deleted file mode 100644 index 3234f0b..0000000 --- a/catalog.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - Каталог - Online Cinema Theater - - - - - - - - - -
-
-

Каталог фильмов

- - -
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
- - - - -
- -
- - - -
-
- - - - - - - - - - - - \ No newline at end of file diff --git a/db.json b/db.json index e47e0cc..ee972c2 100644 --- a/db.json +++ b/db.json @@ -1,123 +1,130 @@ { "movies": [ { - "title": "arw", - "directorId": 10, - "year": "2006", - "description": "arewr", - "poster": "data:image/png;base64,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", + "id": "1", + "title": "Inception", + "directorId": "1", + "year": "2010", + "description": "A thief who steals corporate secrets through the use of dream-sharing technology is given the inverse task of planting an idea into the mind of a C.E.O.", + "poster": "https://m.media-amazon.com/images/M/MV5BMjAxMzY3NjcxNF5BMl5BanBnXkFtZTcwNTI5OTM0Mw@@._V1_.jpg", "genreIds": [ - 2 + 1, + 2, + 3 + ] + }, + { + "id": "2", + "title": "The Shawshank Redemption", + "directorId": "2", + "year": "1994", + "description": "Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.", + "poster": "https://m.media-amazon.com/images/M/MV5BNDE3ODcxYzMtY2YzZC00NmNlLWJiNDMtZDViZWM2MzIxZDYwXkEyXkFqcGdeQXVyNjAwNDUxODI@._V1_.jpg", + "genreIds": [ + 4, + 5 + ] + }, + { + "id": "3", + "title": "The Dark Knight", + "directorId": "1", + "year": "2008", + "description": "When the menace known as the Joker wreaks havoc and chaos on the people of Gotham, Batman must accept one of the greatest psychological and physical tests of his ability to fight injustice.", + "poster": "https://m.media-amazon.com/images/M/MV5BMTMxNTMwODM0NF5BMl5BanBnXkFtZTcwODAyMTk2Mw@@._V1_.jpg", + "genreIds": [ + 1, + 6, + 7 + ] + }, + { + "id": "4", + "title": "Pulp Fiction", + "directorId": "3", + "year": "1994", + "description": "The lives of two mob hitmen, a boxer, a gangster and his wife, and a pair of diner bandits intertwine in four tales of violence and redemption.", + "poster": "https://m.media-amazon.com/images/M/MV5BNGNhMDIzZTUtNTBlZi00MTRlLWFjM2ItYzViMjE3YzI5MjljXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_.jpg", + "genreIds": [ + 7, + 5 + ] + }, + { + "title": "2134", + "director": "23432", + "genres": [ + "Комедия", + "Фантастика" ], - "id": 2 + "year": "2024", + "description": "23423424", + "poster": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABV8AAAL2CAYAAABWl+a4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhe7N0FfBTH2wfwHzEsWCBogru7uxX3AqWUUngLpbRYW6SUYsX7L4UCLRR3d3d3d5dAsGAJcePdZ24vCWkuJCFyufy+/VxzO7u3d3syyzzzzGyydxoQERERERERERERUayy0v8SERERERERERERUSxi8JWIiIiIiIiIiIgoDjD4SkRERERERERERBQHGHwlIiIiIiIiIiIiigMMvhIRERERERERERHFAQZfiYiIiIiIiIiIiOIAg69EREREREREREREcYDBVyIiIiIiIiIiIqI4wOArERERERERERERURxg8JWIiIiIiIiIiIgoDjD4SkRERERERERERBQHGHwlIiIiIiIiIiIiigMMvhIRERERERERERHFAQZfiYiIiIiIiIiIiOIAg69EREREREREREREcYDBVyIiIiIiIiIiIqI4wOArERERERERERERURxg8JWIiIiIiIiIiIgoDjD4SkRERERERERERBQHGHwlIiIiIiIiIiIiigMMvhIRERERERERERHFAQZfiYiIiIiIiIiIiOIAg69EREREREREREREcYDBVyIiIiIiIiIiIqI4wOArERERERERERERURxg8JWIiIiIiIiIiIgoDjD4SkRERERERERERBQHGHwlIiIiIiIiIiIiigMMvhIRERERERERERHFAQZfiYiIiIiIiIiIiOIAg69EREREREREREREcYDBVyIiIiIiIiIiIqI4wOArERERERERERERURxg8JWIiIiIiIiIiIgoDjD4SkRERERERERERBQHGHwlIiIiIiIiIiIiigMMvhIRERERERERERHFAQZfiYiIiIiIiIiIiOIAg69EREREREREREREcYDBVyIiIiIiIiIiIqI4wOArERERERERERERURxI9k6j30863gXh3N71WL1yGXYdPoXHz9/A9YWHvpKIoiqHYzrkyJoZDevXRbsuPVGqdBl9DRERERERJSlsZxOZPbbhE0aSC77ePLEDAwf+hNNX76NTvRJoVDE/nOXLlymNvgURRZXri7d46OaO7SdvY+neK6hYsQImTfkH+fLl07cgIiIiIiJLx3Y2UeLA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E5zS2yJHhhT6FkSU4Kzt8PhtMFy9bLHjrAsWrdmGihUrYuLEicx4jWMMvpLZYfCViIiIiIgo8blw4QLWrFmDnTt3wtXVFY8ePdLXEJE5cHJyQo4cOdCwYUO0bduWF9eKJwy+UoKSQGtU8GtKRERERERElHCYKEUUMwy+ktlhhU5ERERERERkXthWJ4oZXnCLiIiIPsrIkSP1e0RE5oX1ExERESU0Zr6S2WFvGhFR4sJ6m4jMFesnIqLYwzqVKGaY+UpEREREREREREQUBxh8JSIiIiIiIiIiIooDDL4SERERERERERERxQEGX4mIiOijjBgxQr9HRGReWD8REcWMzO8a/hZRORF9GC+4RWZHKnB+LYmIiIiIiIjMB9vqRDHDzFciIiIiIiIiIiKiOMDgKxEREREREREREVEcYPCViIiIiIiIiIiIKA4w+EpEREQfZeTIkfo9IiLzwvqJiIiIEhovuEVmh5N4ExElLqy3ichcsX4iIoo9rFOJYoaZr0RERERERERERERxgMFXIiIiIiIiIiIiojjA4CsRERERERERERFRHGDwlYiIiD7KiBEj9HtEROaF9RMRERElNF5wi8wOJ/EmIiIiIiIiMi9sqxPFDDNfiYiIiIiIiIiIiOIAg69EREREREREREREcYDBVyIiIiIiIiIiIqI4wOArERERfZSRI0fq94iIzAvrJyIiIkpovOAWmR1O4k1ElLiw3iYic8X6iYgo9rBOJYoZZr4SERERERERERERxQEGX4mIiIiIiIiIiIjiAIOvRERERERERERERHGAwVcyC1evXsXXX3+NUqVKwdraGmXLlsXo0aMREBCgb0FEROZqxIgR+j0iIvPC+omIiIgSGi+4RQlu8uTJGDNmDPr27YtWrVohX758uHHjBsaNGwcXFxccPHgQdnZ2+tZEREREREREFN94wS2imGHwlRLUqlWrMGDAABw6dAi5c+fWS0O1b98eJUqUwLBhw/QSIiIiIiIiIooPMkpVEqZOnjyJK1euoGTJkmjdujUGDx4MW1tbfSsiigynHaAENXbsWEyfPj3CwKsYMmQI1q9fry8RERERERERUXyQoGvNmjWRM2dOLF68GB4eHpgzZw4uXbqEGjVqwN/fX9+SiCLDzFdKUKlSpcLDhw+RMWNGveR9np6eyJYtG96+fauXEBEREREREVFc4ihVotjD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E5kPk69kcS5cuICBAwciLCwMDg4OOHfuHL799luEh4frWxARkSXhHW+JyFKxfSIiSjzG5ETmxeQrWZRJkyahYcOGKFSoEBYvXqzmmJH5Zs6ePat626TxJyIiIiIiIiLzY0xOZH6c85UsxooVKzB06FDs3bsXRYoU0Wujde/eHRUqVMDo0aP1GiIisgRyF1z+5wQRWSK2T0RECceYnChlMPlKFqNKlSpqXq6OHTvqNc87efIk/ve//+H48eN6DRERWQImN4jIUrF9IiJKOMbkRCmD0w6QxXB3d0e9evX00otKliyJy5cv6yUiIrIUnFORiCwV2yciooRjTE6UMph8JYtRunRp7N+/Xy+96MqVKyhVqpReIiIiSzFmzBj9GRGRZWH7RESUcIzJiVIGk69kMb744gt1R8WbN2/qNc+bMGECOnfurJeIiIiIiIiIyFwYkxOlDJuxvBaHLET58uXVvFzvvvsuQkJC4OzsjGzZsuHcuXMYPHgwPDw8MHv2bNjY2OivICIiIiIiIiJzYExOlDJ4wy2yONKg//DDD+pyh/Pnz6NixYp4/fXXMXLkSNjZ2elbEREREREREZG5MSYnMi8mX8mi8Q61RESWT+6Ky3kVicgSsX0iIkoexuREycfkK1k0NvRERJaPbTURWSq2T0REycN2lCj5eMMtIiIiIiIiIiIiohTA5CsRERERERERERFRCmDylYiIiIiIiIiIiCgFMPlKREREyTJ27Fj9GRGRZWH7RERERKmNN9wii8bJvYmIiIiIiIhSB2NyouTjyFciIiIiIiIiIiKiFMDkKxEREREREREREVEKYPKViIiIiIiIiIiIKAUw+UpERETJMm7cOP0ZEZFlYftEREREqY033CKLxsm9iYgsH9tqIrJUbJ+IiJKH7ShR8nHkKxEREREREREREVEKYPKViIiIiIiIiIiIKAUw+UpERERERERERESUAph8JSIiomQZO3as/oyIyLKwfSIiIqLUxhtukUXj5N5EREREREREqYMxOVHyceQrERERERERERERUQpg8pWIiIiIiIiIiIgoBTD5SkRERERERERERJQCmHwlIiKiZBk3bpz+jIjIsrB9IiIiotTGG26RRePk3kRElo9tNRFZKrZPRETJw3aUKPk48pWIiIiIiIiIiIgoBTD5SkRERERERERERJQCmHwlIiIiIiIiIiIi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v2lYs2YNKlWqpNdSauHIVyIiIiIiIiKyGJUqV0H16tXx5+qjeg0RJcaMvd7qb4iJV8vAka9EREREREREZFGuXbuGerVqYOmXHVGzTEG9lohe5oSfC7oN/gH79+9H8eLF9VpKTRz5SkREREREREQWRZJGc/9eiLcnrMWRS556LRHFRxKv3Yf8hLlz5zLxakE48pWIiIiIiIiILNKmTZvwbu+eGNytLga0Kc85YIniIHO8ylQDv05fgPnz56N169b6GrIETL4SERERERERkcWSKQiGD/8cRw4eQM92ddGqiitcc9ihYE4HfQuiDMbGHl7+UfAMtMPmEx5YsHIjatasiZ9++okjXi0Qk69EREREREREZPFOnz6NlStXYsuWLfD09MSdO3f0NUQZj6urKwoWLIiWLVuia9euvLmWBWPylYiIiIiIiIiIiCgF8IZbRERERERERERERCmAyVciIiIiIiIiIiKiFMDkKxEREREREREREVEKYPKViIiIiIiIiIiIKAUw+UpERERERERERESUAph8JSIiIiIiIiIiIkoBTL4SERERERERERERpQAmX4mIiIiIiIiIiIhSAJOvRERERERERERERCmAyVciIiIiIiIiIiKiFMDkKxEREREREREREVEKYPKViIiIiIiIiIiIKAUw+UpERERERERERESUAph8JSIiIiIiIiIiIkoBTL4SERERERERERERpQAmX4mIiIiIiIiIiIhSAJOvRERERERERERERCmAyVciIiIiIiIiIiKiFMDkKxEREREREREREVEKYPKViIiIiIiIiIiIKAUw+UpERERERERERESUAph8JSIiIiIiIiIiIkoBTL4SERERERERERERpQAmX4mIiIiIiIiIiIhSAJOvRERERERERERERCmAyVciIiIiIiIiIiKiFMDkKxEREREREREREVEKYPKViIiIiIiIiIiIKAUw+UpERERERERERESUAph8JSIiIiIiIiIiIkoBTL4SERERERERERERpQAmX4mIiIiIiIiIiIhSAJOvRERERERERERERCmAyVciIiIiIiIiIiKiFMDkKxEREREREREREVEKYPKViIiIiIiIiIiIKAUw+UpERERERERERESUAph8JSIiIiIiIiIiIjI74P+27X7iTISRdQAAAABJRU5ErkJggg==", + "id": "zbKOc5U" + } + ], + "directors": [ + { + "id": "1", + "name": "Christopher Nolan", + "birthYear": "1970", + "country": "United Kingdom" + }, + { + "id": "2", + "name": "Frank Darabont", + "birthYear": "1959", + "country": "France" + }, + { + "id": "3", + "name": "Quentin Tarantino", + "birthYear": "1963", + "country": "United States" + }, + { + "id": "4", + "name": "Lana and Lilly Wachowski", + "birthYear": "1965", + "country": "United States" } ], "genres": [ { "id": 1, - "name": "Триллер" - }, - { - "id": 2, - "name": "Драма" - }, - { - "id": 3, - "name": "Криминал" - }, - { - "id": 4, "name": "Боевик" }, { - "id": 5, - "name": "Арт-хаус" - }, - { - "id": 6, - "name": "Комедия" - }, - { - "id": 7, - "name": "Ужасы" - }, - { - "id": 8, + "id": 2, "name": "Фантастика" }, - { - "id": 9, - "name": "Приключения" - }, - { - "id": 10, - "name": "Мелодрама" - }, - { - "id": 11, - "name": "Детектив" - } - ], - "directors": [ - { - "id": 1, - "name": "Алексей Балабанов", - "birthYear": "1959", - "country": "Россия" - }, - { - "id": 2, - "name": "Светлана Баскова", - "birthYear": "1965", - "country": "Россия" - }, { "id": 3, - "name": "Кристофер Нолан", - "birthYear": "1970", - "country": "США" + "name": "Триллер" }, { "id": 4, - "name": "Квентин Тарантино", - "birthYear": "1963", - "country": "США" + "name": "Драма" }, { - "name": "345345", - "birthYear": "Unknown", - "country": "Unknown", - "id": 5 + "id": 5, + "name": "Криминал" }, { - "name": "werwer", - "birthYear": "Unknown", - "country": "Unknown", - "id": 6 + "id": 6, + "name": "Приключения" }, { - "name": "", - "birthYear": "Unknown", - "country": "Unknown", - "id": 7 + "id": 7, + "name": "Детектив" }, { - "name": "Unknown Director", - "birthYear": "Unknown", - "country": "Unknown", - "id": 8 + "id": 8, + "name": "Комедия" }, { - "name": "123", - "birthYear": "Unknown", - "country": "Unknown", - "id": 9 - }, - { - "name": "wer", - "birthYear": "Unknown", - "country": "Unknown", - "id": 10 + "id": 9, + "name": "Ужасы" } ] } \ No newline at end of file diff --git a/edit-movie.html b/edit-movie.html deleted file mode 100644 index d53eb59..0000000 --- a/edit-movie.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - Редактировать фильм - Online Cinema Theater - - - - - - - - -
- -
- -
-
-
-
-
-

Редактировать фильм

-
-
-
- -
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- Предпросмотр постера -
-
-
- Отмена - -
-
-
-
-
-
-
- - - - - - \ No newline at end of file diff --git a/films.html b/films.html deleted file mode 100644 index 67ee178..0000000 --- a/films.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - Фильмы - Online Cinema Theater - - - - - - - - - - - -
- - - -
-

Фильмы

-
- -
-
- - - - -
- - - - - - - - - \ No newline at end of file diff --git a/index.html b/index.html index b68b674..9ab34a0 100644 --- a/index.html +++ b/index.html @@ -1,127 +1,12 @@ - + - - - Online Cinema Theater - - - - - + + + Кинотеатр - React SPA - -
- -
- - -
-
- -
-

Популярные фильмы

-
- -
-
- - - -
-
- - - - - - - +
+ \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 57a9137..ee4a8e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,17 +10,319 @@ "license": "ISC", "dependencies": { "bootstrap": "^5.3.3", - "bootstrap-icons": "^1.11.3" + "bootstrap-icons": "^1.11.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3" }, "devDependencies": { - "eslint": "^9.22.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.1", "eslint-config-prettier": "^10.1.1", "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^5.2.0", "json-server": "^0.17.4", "prettier": "^3.2.5", "vite": "^5.2.6" } }, + "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.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "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.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", + "@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.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-validator-option": "^7.25.9", + "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.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/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/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -431,19 +733,6 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", @@ -454,55 +743,17 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", - "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", - "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@eslint/eslintrc": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz", - "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -510,82 +761,36 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/js": { - "version": "9.22.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", - "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", - "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.12.0", - "levn": "^0.4.1" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">=10.10.0" } }, "node_modules/@humanwhocodes/module-importer": { @@ -602,18 +807,103 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" + "license": "BSD-3-Clause" + }, + "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" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "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/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, "node_modules/@pkgr/core": { @@ -640,6 +930,15 @@ "url": "https://opencollective.com/popperjs" } }, + "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/@rollup/rollup-android-arm-eabi": { "version": "4.36.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz", @@ -906,6 +1205,51 @@ "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.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -913,12 +1257,32 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "dev": true, - "license": "MIT" + "license": "ISC" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } }, "node_modules/accepts": { "version": "1.3.8", @@ -1017,6 +1381,23 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -1024,6 +1405,151 @@ "dev": true, "license": "MIT" }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1139,6 +1665,39 @@ "concat-map": "0.0.1" } }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "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.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -1149,6 +1708,25 @@ "node": ">= 0.8" } }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -1190,6 +1768,27 @@ "node": ">=6" } }, + "node_modules/caniuse-lite": { + "version": "1.0.30001710", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001710.tgz", + "integrity": "sha512-B5C0I0UmaGqHgo5FuqJ7hBd4L57A4dDD+Xi+XX1nXOoxGeDdY4Ko38qJYOyqznBVJEqON5p8P1x5zRR3+rsnxA==", + "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/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1331,6 +1930,13 @@ "node": ">= 0.6" } }, + "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/cookie": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", @@ -1377,6 +1983,60 @@ "node": ">= 8" } }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", @@ -1402,6 +2062,42 @@ "dev": true, "license": "MIT" }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -1423,6 +2119,19 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -1445,6 +2154,13 @@ "dev": true, "license": "MIT" }, + "node_modules/electron-to-chromium": { + "version": "1.5.132", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.132.tgz", + "integrity": "sha512-QgX9EBvWGmvSRa74zqfnG7+Eno0Ak0vftBll0Pt2/z5b3bEGYL6OUXLgKPtvx73dn3dvwrlyVkjPKRRlhLYTEg==", + "dev": true, + "license": "ISC" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -1476,6 +2192,72 @@ "node": ">= 0.8" } }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -1496,6 +2278,34 @@ "node": ">= 0.4" } }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", @@ -1509,6 +2319,53 @@ "node": ">= 0.4" } }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -1579,64 +2436,60 @@ } }, "node_modules/eslint": { - "version": "9.22.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", - "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.2", - "@eslint/config-helpers": "^0.1.0", - "@eslint/core": "^0.12.0", - "@eslint/eslintrc": "^3.3.0", - "@eslint/js": "9.22.0", - "@eslint/plugin-kit": "^0.2.7", - "@humanfs/node": "^0.16.6", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", + "cross-spawn": "^7.0.2", "debug": "^4.3.2", + "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-config-prettier": { @@ -1683,10 +2536,56 @@ } } }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, "node_modules/eslint-scope": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -1694,38 +2593,51 @@ "estraverse": "^5.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.14.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -1900,17 +2812,27 @@ "dev": true, "license": "MIT" }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=16.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/finalhandler": { @@ -1967,17 +2889,18 @@ } }, "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.4" + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=16" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { @@ -1987,6 +2910,22 @@ "dev": true, "license": "ISC" }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -2007,6 +2946,13 @@ "node": ">= 0.6" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2032,6 +2978,47 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2081,6 +3068,46 @@ "node": ">= 0.4" } }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2095,18 +3122,38 @@ } }, "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -2127,6 +3174,26 @@ "dev": true, "license": "ISC" }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2137,6 +3204,35 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -2150,6 +3246,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -2230,6 +3342,18 @@ "node": ">=0.8.19" } }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -2237,6 +3361,21 @@ "dev": true, "license": "ISC" }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -2247,6 +3386,141 @@ "node": ">= 0.10" } }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2257,6 +3531,22 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -2267,6 +3557,25 @@ "node": ">=8" } }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2280,6 +3589,46 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-promise": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", @@ -2287,6 +3636,151 @@ "dev": true, "license": "MIT" }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -2301,6 +3795,24 @@ "dev": true, "license": "ISC" }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", @@ -2308,6 +3820,12 @@ "dev": true, "license": "MIT" }, + "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==", + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2321,6 +3839,19 @@ "js-yaml": "bin/js-yaml.js" } }, + "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/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -2386,6 +3917,35 @@ "dev": true, "license": "MIT" }, + "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/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -2450,6 +4010,18 @@ "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/lowdb": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", @@ -2467,6 +4039,16 @@ "node": ">=4" } }, + "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/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -2689,6 +4271,13 @@ "node": ">= 0.6" } }, + "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/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -2712,6 +4301,91 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -2735,6 +4409,16 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -2753,6 +4437,24 @@ "node": ">= 0.8.0" } }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -2818,6 +4520,16 @@ "node": ">=8" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -2828,6 +4540,13 @@ "node": ">=8" } }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, "node_modules/path-to-regexp": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", @@ -2872,6 +4591,16 @@ "node": ">=4" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", @@ -2940,6 +4669,18 @@ "node": ">=6.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -2980,6 +4721,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -3006,6 +4768,124 @@ "node": ">= 0.8" } }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.30.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", + "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "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.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz", + "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.0", + "react-router": "6.30.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3016,6 +4896,24 @@ "node": ">=0.10.0" } }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -3026,6 +4924,34 @@ "node": ">=4" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rollup": { "version": "4.36.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz", @@ -3065,6 +4991,57 @@ "fsevents": "~2.3.2" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -3086,6 +5063,48 @@ ], "license": "MIT" }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -3093,6 +5112,25 @@ "dev": true, "license": "MIT" }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "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/semver-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", @@ -3175,6 +5213,55 @@ "dev": true, "license": "ISC" }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -3326,6 +5413,104 @@ "node": ">=8" } }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -3365,6 +5550,19 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/synckit": { "version": "0.9.2", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", @@ -3382,6 +5580,13 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -3412,6 +5617,19 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -3426,6 +5644,103 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -3436,6 +5751,37 @@ "node": ">= 0.8" } }, + "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/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -3542,6 +5888,102 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -3570,6 +6012,13 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -3580,6 +6029,13 @@ "node": ">=10" } }, + "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" + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/package.json b/package.json index b8a3bf7..c1b5d8c 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,9 @@ "dev": "vite", "build": "vite build", "preview": "vite preview", - "lint": "eslint . --ext .js", - "lint:fix": "eslint . --ext .js --fix", - "format": "prettier --write \"**/*.{js,html,css,json}\"", + "lint": "eslint . --ext .js,.jsx", + "lint:fix": "eslint . --ext .js,.jsx --fix", + "format": "prettier --write \"**/*.{js,jsx,html,css,json}\"", "server": "json-server --watch db.json --port 3000" }, "repository": { @@ -20,15 +20,21 @@ "license": "ISC", "description": "", "devDependencies": { - "eslint": "^9.22.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.1", "eslint-config-prettier": "^10.1.1", "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^5.2.0", "json-server": "^0.17.4", "prettier": "^3.2.5", "vite": "^5.2.6" }, "dependencies": { "bootstrap": "^5.3.3", - "bootstrap-icons": "^1.11.3" + "bootstrap-icons": "^1.11.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3" } } diff --git a/reviews.html b/reviews.html deleted file mode 100644 index b25b752..0000000 --- a/reviews.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - Рецензии - Online Cinema Theater - - - - - - - -
-
-

Рецензии на фильмы

-
-
-
-
-
- Movie Poster -
-
-
-
Груз 200
-

Режиссер: Алексей Балабанов

-

Жанр: триллер, драма, криминал

-

Год выпуска: 2007

-
- -
-
-
-
-
-
-
-

Популярные рецензии

- -
-
-
-
-
-
- - - - - - - \ No newline at end of file diff --git a/seriales.html b/seriales.html deleted file mode 100644 index 2df4349..0000000 --- a/seriales.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Сериалы - Online Cinema Theater - - - - - - - - - - - -
- - -
-

Новые серии

-
-
-
- - - - - - - - - - - - - - - - - -
НазваниеСезонСерияДата выхода
Преступление и наказание1801.04.2024
-
-
-
-
-
- - - - - - - - - diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..a05ee8e --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,72 @@ +import React from 'react'; +import { Routes, Route, Link } from 'react-router-dom'; +import HomePage from './pages/HomePage'; +import CatalogPage from './pages/CatalogPage'; +import AddMoviePage from './pages/AddMoviePage'; +import EditMoviePage from './pages/EditMoviePage'; +import AboutPage from './pages/AboutPage'; + +function App() { + return ( +
+ + +
+ + } /> + } /> + } /> + } /> + } /> + +
+ + +
+ ); +} + +export default App; \ No newline at end of file diff --git a/src/components/movie/MovieCard.jsx b/src/components/movie/MovieCard.jsx new file mode 100644 index 0000000..5b00dd1 --- /dev/null +++ b/src/components/movie/MovieCard.jsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; + +function MovieCard({ movie, onDelete }) { + const handleDelete = () => { + if (window.confirm('Вы уверены, что хотите удалить этот фильм?')) { + onDelete(movie.id); + } + }; + + return ( +
+ {`${movie.title} +
+
+ {movie.title} +
+

+ {movie.director} +

+

+ + {Array.isArray(movie.genres) ? movie.genres.join(', ') : movie.genres} +

+

+ {movie.year} +

+ {movie.description && ( +
+

+ + {movie.description.length > 100 + ? movie.description.substring(0, 100) + '...' + : movie.description} +

+
+ )} +
+
+ + Смотреть + +
+ + + + +
+
+
+ ); +} + +export default MovieCard; \ No newline at end of file diff --git a/src/components/movie/MovieController.js b/src/components/movie/MovieController.js deleted file mode 100644 index 0def06d..0000000 --- a/src/components/movie/MovieController.js +++ /dev/null @@ -1,292 +0,0 @@ -export class MovieController { - constructor(model, view) { - this.model = model; - this.view = view; - - // Initialize the controller based on the current page - this.initializeController(); - } - - initializeController() { - // Check which page we're on and initialize accordingly - const path = window.location.pathname; - - if (path.includes('catalog.html')) { - // Catalog page initialization - this.initializeCatalogPage(); - } else if (path.includes('add-movie.html')) { - // Add movie page initialization - this.initializeAddMoviePage(); - } else if (path.includes('edit-movie.html')) { - // Edit movie page initialization - this.initializeEditMoviePage(); - } else if (path.endsWith('index.html') || path.endsWith('/')) { - // Homepage initialization - this.initializeHomepage(); - } - } - - initializeHomepage() { - // Load and display featured movies on the homepage - this.model.getMovies().then(movies => { - // Sort movies by some criteria to get "featured" ones - // For example, sort by year (newest first) - const sortedMovies = [...movies].sort((a, b) => b.year - a.year); - this.view.renderMovies(sortedMovies); - - // Bind delete functionality on homepage too - this.view.bindDeleteMovie(this.handleDeleteMovie.bind(this)); - }); - } - - initializeCatalogPage() { - // Load and display all movies - this.model.getMovies().then(movies => { - this.view.renderMovies(movies); - }); - - // Bind event handlers for the catalog page - this.view.bindDeleteMovie(this.handleDeleteMovie.bind(this)); - this.view.bindFilterMovies(this.handleFilterMovies.bind(this)); - } - - initializeAddMoviePage() { - // Bind the save new movie handler - const addMovieForm = document.getElementById('addMovieForm'); - if (addMovieForm) { - addMovieForm.addEventListener('submit', (e) => { - e.preventDefault(); - - const newMovie = { - title: document.getElementById('movieTitle').value, - director: document.getElementById('movieDirector').value, - genres: Array.from(document.getElementById('movieGenre').selectedOptions).map(option => option.text), - year: document.getElementById('movieYear').value, - description: document.getElementById('movieDescription').value, - poster: document.getElementById('posterPreview')?.src || 'resources/movies/placeholder.jpg' - }; - - this.handleSaveNewMovie(newMovie); - }); - } - - // Handle poster preview - const moviePoster = document.getElementById('moviePoster'); - const posterPreview = document.getElementById('posterPreview'); - const previewContainer = document.querySelector('.preview-container'); - - if (moviePoster && posterPreview && previewContainer) { - moviePoster.addEventListener('change', (e) => { - const file = e.target.files[0]; - if (file) { - const reader = new FileReader(); - reader.onload = (e) => { - posterPreview.src = e.target.result; - previewContainer.classList.remove('d-none'); - }; - reader.readAsDataURL(file); - } - }); - } - } - - initializeEditMoviePage() { - // Get movie ID from URL - const urlParams = new URLSearchParams(window.location.search); - const movieId = urlParams.get('id'); - - if (!movieId) { - alert('Фильм не найден'); - window.location.href = 'catalog.html'; - return; - } - - // Load movie data and set up form - this.model.getMovieById(movieId) - .then(movie => { - if (!movie) { - alert('Фильм не найден'); - window.location.href = 'catalog.html'; - return; - } - - // Fill form with movie data - document.getElementById('movieId').value = movie.id; - document.getElementById('movieTitle').value = movie.title; - document.getElementById('movieDirector').value = movie.director; - document.getElementById('movieYear').value = movie.year; - document.getElementById('movieDescription').value = movie.description || ''; - - // Handle genres (multi-select) - const genreSelect = document.getElementById('movieGenre'); - if (Array.isArray(movie.genres)) { - Array.from(genreSelect.options).forEach(option => { - option.selected = movie.genres.includes(option.text); - }); - } - - // Handle poster preview - const posterPreview = document.getElementById('posterPreview'); - if (movie.poster) { - posterPreview.src = movie.poster; - document.querySelector('.preview-container').classList.remove('d-none'); - } - }) - .catch(error => { - console.error('Error loading movie:', error); - alert('Произошла ошибка при загрузке фильма'); - window.location.href = 'catalog.html'; - }); - - // Handle poster file input change - const moviePoster = document.getElementById('moviePoster'); - const posterPreview = document.getElementById('posterPreview'); - const previewContainer = document.querySelector('.preview-container'); - - if (moviePoster && posterPreview && previewContainer) { - moviePoster.addEventListener('change', (e) => { - const file = e.target.files[0]; - if (file) { - const reader = new FileReader(); - reader.onload = (e) => { - posterPreview.src = e.target.result; - previewContainer.classList.remove('d-none'); - }; - reader.readAsDataURL(file); - } - }); - } - - // Handle form submission - const editMovieForm = document.getElementById('editMovieForm'); - if (editMovieForm) { - editMovieForm.addEventListener('submit', (e) => { - e.preventDefault(); - - const updatedMovie = { - id: movieId, - title: document.getElementById('movieTitle').value, - director: document.getElementById('movieDirector').value, - genres: Array.from(document.getElementById('movieGenre').selectedOptions).map(option => option.text), - year: document.getElementById('movieYear').value, - description: document.getElementById('movieDescription').value, - poster: document.getElementById('posterPreview').src - }; - - this.model.updateMovie(movieId, updatedMovie) - .then(() => { - alert('Фильм успешно обновлен!'); - window.location.href = 'catalog.html'; - }) - .catch(error => { - console.error('Error updating movie:', error); - alert('Произошла ошибка при обновлении фильма'); - }); - }); - } - } - - handleSaveNewMovie(movieData) { - this.model.addMovie(movieData) - .then(() => { - alert('Фильм успешно добавлен!'); - window.location.href = 'catalog.html'; - }) - .catch(error => { - console.error('Error adding movie:', error); - alert('Произошла ошибка при добавлении фильма.'); - }); - } - - handleDeleteMovie(movieId) { - // Find the movie card element - const movieCard = document.querySelector(`.movie-card[data-movie-id="${movieId}"]`); - - if (movieCard) { - // Add visual indication that deletion is in progress - movieCard.classList.add('deleting'); - movieCard.style.opacity = '0.5'; - movieCard.style.transition = 'all 0.3s ease'; - } - - this.model.deleteMovie(movieId) - .then(() => { - // Remove the movie card from DOM without page refresh - if (movieCard) { - movieCard.style.opacity = '0'; - movieCard.style.transform = 'scale(0.8)'; - - // Remove the element after animation completes - setTimeout(() => { - movieCard.remove(); - }, 300); - } - - // Show success notification - this.showNotification('Фильм успешно удален!', 'success'); - }) - .catch(error => { - console.error('Error deleting movie:', error); - - // Reset the card if deletion failed - if (movieCard) { - movieCard.classList.remove('deleting'); - movieCard.style.opacity = '1'; - movieCard.style.transform = 'none'; - } - - this.showNotification('Произошла ошибка при удалении фильма.', 'danger'); - }); - } - - // Add a notification method to show feedback without alerts - showNotification(message, type = 'info') { - // Create notification element - const notification = document.createElement('div'); - notification.className = `alert alert-${type} notification-toast`; - notification.style.position = 'fixed'; - notification.style.top = '20px'; - notification.style.right = '20px'; - notification.style.zIndex = '9999'; - notification.style.minWidth = '250px'; - notification.style.opacity = '0'; - notification.style.transform = 'translateY(-20px)'; - notification.style.transition = 'all 0.3s ease'; - notification.innerHTML = message; - - // Add close button - const closeBtn = document.createElement('button'); - closeBtn.type = 'button'; - closeBtn.className = 'btn-close'; - closeBtn.setAttribute('aria-label', 'Close'); - closeBtn.style.float = 'right'; - closeBtn.onclick = () => notification.remove(); - notification.prepend(closeBtn); - - // Add to document - document.body.appendChild(notification); - - // Animate in - setTimeout(() => { - notification.style.opacity = '1'; - notification.style.transform = 'translateY(0)'; - }, 10); - - // Auto remove after 5 seconds - setTimeout(() => { - notification.style.opacity = '0'; - notification.style.transform = 'translateY(-20px)'; - setTimeout(() => notification.remove(), 300); - }, 5000); - } - - handleFilterMovies(filters) { - this.model.getFilteredMovies(filters) - .then(movies => { - this.view.renderMovies(movies); - }) - .catch(error => { - console.error('Error filtering movies:', error); - }); - } -} \ No newline at end of file diff --git a/src/components/movie/MovieForm.jsx b/src/components/movie/MovieForm.jsx new file mode 100644 index 0000000..0f0182a --- /dev/null +++ b/src/components/movie/MovieForm.jsx @@ -0,0 +1,167 @@ +import React, { useState, useEffect } from 'react'; + +function MovieForm({ movie, onSubmit, isEditing = false }) { + const [title, setTitle] = useState(''); + const [director, setDirector] = useState(''); + const [genres, setGenres] = useState([]); + const [year, setYear] = useState(''); + const [description, setDescription] = useState(''); + const [poster, setPoster] = useState(''); + const [previewVisible, setPreviewVisible] = useState(false); + + // Initialize form with movie data if editing + useEffect(() => { + if (movie) { + setTitle(movie.title || ''); + setDirector(movie.director || ''); + setGenres(Array.isArray(movie.genres) ? movie.genres : []); + setYear(movie.year || ''); + setDescription(movie.description || ''); + setPoster(movie.poster || ''); + if (movie.poster) { + setPreviewVisible(true); + } + } + }, [movie]); + + const handleGenreChange = (e) => { + const selectedGenres = Array.from(e.target.selectedOptions).map(option => option.value); + setGenres(selectedGenres); + }; + + const handlePosterChange = (e) => { + const file = e.target.files[0]; + if (file) { + const reader = new FileReader(); + reader.onload = (e) => { + setPoster(e.target.result); + setPreviewVisible(true); + }; + reader.readAsDataURL(file); + } + }; + + const handleSubmit = (e) => { + e.preventDefault(); + + const movieData = { + title, + director, + genres, + year, + description, + poster + }; + + onSubmit(movieData); + }; + + return ( +
+
+ + setTitle(e.target.value)} + required + /> +
+ +
+ + setDirector(e.target.value)} + required + /> +
+ +
+ + +
+ +
+ + setYear(e.target.value)} + required + /> +
+ +
+ + +
+ +
+ + +
+ + {previewVisible && ( +
+ + Предпросмотр постера +
+ )} + +
+ + +
+
+ ); +} + +export default MovieForm; \ No newline at end of file diff --git a/src/components/movie/MovieList.jsx b/src/components/movie/MovieList.jsx new file mode 100644 index 0000000..93847ab --- /dev/null +++ b/src/components/movie/MovieList.jsx @@ -0,0 +1,45 @@ +import React from 'react'; +import MovieCard from './MovieCard'; +import { Link } from 'react-router-dom'; + +function MovieList({ movies, onDeleteMovie, isHomepage = false }) { + // If we're on the homepage, only show up to 6 featured movies + const moviesToShow = isHomepage ? movies.slice(0, 6) : movies; + + return ( +
+
+

+ {isHomepage ? 'Популярные фильмы' : 'Каталог фильмов'} +

+ + Добавить фильм + +
+ +
+ {moviesToShow.length > 0 ? ( + moviesToShow.map(movie => ( +
+ +
+ )) + ) : ( +
+

Фильмы не найдены

+
+ )} +
+ + {isHomepage && movies.length > 6 && ( +
+ + Смотреть все фильмы + +
+ )} +
+ ); +} + +export default MovieList; \ No newline at end of file diff --git a/src/components/movie/MovieModel.js b/src/components/movie/MovieModel.js deleted file mode 100644 index ed376ca..0000000 --- a/src/components/movie/MovieModel.js +++ /dev/null @@ -1,356 +0,0 @@ -export class MovieModel { - constructor() { - this.apiUrl = 'http://localhost:3000'; - this.movies = []; - this.genres = []; - this.directors = []; - - // Initialize data - this.initializeData(); - } - - async initializeData() { - try { - await this.fetchAllData(); - } catch (error) { - console.error('Failed to initialize from API, using localStorage:', error); - - // Fallback to localStorage - let movies = JSON.parse(localStorage.getItem('movies')) || []; - - if (movies.length === 0) { - movies = this.getSampleMovies(); - localStorage.setItem('movies', JSON.stringify(movies)); - } - - this.movies = movies; - } - } - - async fetchAllData() { - try { - // Fetch all necessary data in parallel using Fetch API - const [moviesResponse, genresResponse, directorsResponse] = await Promise.all([ - fetch(`${this.apiUrl}/movies`), - fetch(`${this.apiUrl}/genres`), - fetch(`${this.apiUrl}/directors`) - ]); - - if (!moviesResponse.ok || !genresResponse.ok || !directorsResponse.ok) { - throw new Error('Failed to fetch data from server'); - } - - this.movies = await moviesResponse.json(); - this.genres = await genresResponse.json(); - this.directors = await directorsResponse.json(); - - // Process movies to include full genre and director objects - this.movies = this.movies.map(movie => this.processMovie(movie)); - - return this.movies; - } catch (error) { - console.error('Error fetching data:', error); - throw error; - } - } - - processMovie(movie) { - // Convert genreIds to full genre names - const genres = movie.genreIds?.map(id => - this.genres.find(genre => genre.id === id)?.name - ).filter(Boolean) || []; - - // Get director name - const director = this.directors.find(dir => dir.id === movie.directorId)?.name || 'Unknown Director'; - - return { - ...movie, - genres, - director - }; - } - - // Add this method to match what's being called in the controller - async getMovies() { - return this.getAllMovies(); - } - - async getAllMovies() { - if (this.movies.length === 0) { - try { - await this.fetchAllData(); - } catch (error) { - console.error('Error fetching movies:', error); - // Fallback to localStorage - this.movies = JSON.parse(localStorage.getItem('movies')) || this.getSampleMovies(); - this.saveToStorage(); - } - } - return this.movies; - } - - async getMovieById(id) { - try { - const response = await fetch(`${this.apiUrl}/movies/${id}`); - if (!response.ok) { - throw new Error('Failed to fetch movie'); - } - const movie = await response.json(); - return this.processMovie(movie); - } catch (error) { - console.error('Error fetching movie:', error); - // Fallback to local cache - return this.movies.find(movie => movie.id === id); - } - } - - async addMovie(movie) { - try { - // Convert genre names to ids - const genreIds = movie.genres.map(genreName => { - const genre = this.genres.find(g => g.name === genreName); - return genre ? genre.id : null; - }).filter(Boolean); - - // Find director id by name or create a new one - let directorId; - const directorObj = this.directors.find(d => d.name === movie.director); - - if (directorObj) { - directorId = directorObj.id; - } else { - // If director doesn't exist, create a new one - const newDirector = { - name: movie.director, - birthYear: "Unknown", - country: "Unknown" - }; - - const dirResponse = await fetch(`${this.apiUrl}/directors`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(newDirector) - }); - - if (!dirResponse.ok) { - throw new Error('Failed to add new director'); - } - - const createdDirector = await dirResponse.json(); - this.directors.push(createdDirector); - directorId = createdDirector.id; - } - - const movieData = { - title: movie.title, - directorId, - year: movie.year, - description: movie.description || '', - poster: movie.poster, - genreIds - }; - - const response = await fetch(`${this.apiUrl}/movies`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(movieData) - }); - - if (!response.ok) { - throw new Error('Failed to add movie'); - } - - const newMovie = await response.json(); - const processedMovie = this.processMovie(newMovie); - this.movies.push(processedMovie); - - return processedMovie; - } catch (error) { - console.error('Error adding movie:', error); - // Fallback to local storage - return this.addMovieLocally(movie); - } - } - - async deleteMovie(id) { - try { - const response = await fetch(`${this.apiUrl}/movies/${id}`, { - method: 'DELETE' - }); - - if (!response.ok) { - throw new Error('Failed to delete movie'); - } - - this.movies = this.movies.filter(movie => movie.id !== id); - return true; - } catch (error) { - console.error('Error deleting movie:', error); - // Fallback to local storage - return this.deleteMovieLocally(id); - } - } - - async updateMovie(id, updatedMovie) { - try { - // Convert genre names to ids - const genreIds = updatedMovie.genres.map(genreName => { - const genre = this.genres.find(g => g.name === genreName); - return genre ? genre.id : null; - }).filter(Boolean); - - // Find director id by name - let directorId; - const directorObj = this.directors.find(d => d.name === updatedMovie.director); - - if (directorObj) { - directorId = directorObj.id; - } else { - // If director doesn't exist, create a new one - const newDirector = { - name: updatedMovie.director, - birthYear: "Unknown", - country: "Unknown" - }; - - const dirResponse = await fetch(`${this.apiUrl}/directors`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(newDirector) - }); - - if (!dirResponse.ok) { - throw new Error('Failed to add new director'); - } - - const createdDirector = await dirResponse.json(); - this.directors.push(createdDirector); - directorId = createdDirector.id; - } - - const movieData = { - title: updatedMovie.title, - directorId, - year: updatedMovie.year, - description: updatedMovie.description || '', - poster: updatedMovie.poster, - genreIds - }; - - const response = await fetch(`${this.apiUrl}/movies/${id}`, { - method: 'PUT', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(movieData) - }); - - if (!response.ok) { - throw new Error('Failed to update movie'); - } - - const updatedMovieData = await response.json(); - const processedMovie = this.processMovie(updatedMovieData); - - const index = this.movies.findIndex(movie => movie.id === id); - if (index !== -1) { - this.movies[index] = processedMovie; - return processedMovie; - } - return null; - } catch (error) { - console.error('Error updating movie:', error); - // Fallback to local storage - const index = this.movies.findIndex(movie => movie.id === id); - if (index !== -1) { - this.movies[index] = { ...this.movies[index], ...updatedMovie }; - this.saveToStorage(); - return this.movies[index]; - } - return null; - } - } - - // Helper methods for local storage fallback - addMovieLocally(movie) { - const newMovie = { - id: Date.now().toString(), - ...movie - }; - this.movies.push(newMovie); - this.saveToStorage(); - return newMovie; - } - - deleteMovieLocally(id) { - this.movies = this.movies.filter(movie => movie.id !== id); - this.saveToStorage(); - return true; - } - - saveToStorage() { - localStorage.setItem('movies', JSON.stringify(this.movies)); - } - - filterMovies(filters = {}) { - return this.movies.filter(movie => { - let match = true; - - if (filters.genre && filters.genre !== 'all') { - match = match && movie.genres.includes(filters.genre); - } - - if (filters.year && filters.year !== 'all') { - match = match && movie.year === filters.year; - } - - if (filters.search) { - const searchLower = filters.search.toLowerCase(); - match = match && ( - movie.title.toLowerCase().includes(searchLower) || - movie.director.toLowerCase().includes(searchLower) - ); - } - - return match; - }); - } - - getSampleMovies() { - return [ - { - id: '1', - title: 'Груз 200', - director: 'Алексей Балабанов', - genres: ['Триллер', 'Драма', 'Криминал'], - year: '2007', - description: 'Действие фильма происходит в 1984 году в провинциальном городе. Молодая девушка оказывается в руках маньяка, который представляется сотрудником милиции.', - poster: 'resources/movies/gruz.jpeg' - }, - { - id: '2', - title: 'Брат', - director: 'Алексей Балабанов', - genres: ['Драма', 'Криминал', 'Боевик'], - year: '1997', - description: 'Демобилизовавшись, Данила Багров возвращается в родной городок. Но скучная жизнь провинциального городка не устраивает его, и он решает поехать в Петербург, где, по слухам, уже давно процветает его старший брат.', - poster: 'resources/movies/brat.webp' - }, - { - id: '3', - title: 'Зеленый слоник', - director: 'Светлана Баскова', - genres: ['Драма', 'Арт-хаус'], - year: '1999', - description: 'Два офицера, "Младший лейтенант" и "Капитан", сидят в одной камере на гауптвахте. Капитан — дослуживающий до пенсии армейский алкоголик, а Младший лейтенант — молодой офицер, мечтающий о карьере.', - poster: 'resources/movies/slonik.jpg' - } - ]; - } -} \ No newline at end of file diff --git a/src/components/movie/MovieView.js b/src/components/movie/MovieView.js deleted file mode 100644 index d5997c2..0000000 --- a/src/components/movie/MovieView.js +++ /dev/null @@ -1,277 +0,0 @@ -// Import Bootstrap modal functionality -import { Modal } from 'bootstrap'; - -export class MovieView { - constructor() { - this.movieContainer = document.getElementById('movieContainer'); - - // Create add movie button if we're on the catalog page - if (window.location.pathname.includes('catalog.html')) { - this.createAddMovieButton(); - } - - // Initialize featured movies section if we're on the homepage - if (window.location.pathname.endsWith('index.html') || window.location.pathname.endsWith('/')) { - this.initializeHomepage(); - } - } - - // Initialize homepage elements - initializeHomepage() { - // We'll use the same movieContainer for homepage - if (!this.movieContainer) { - console.error('Movie container element not found on homepage'); - return; - } - - // Add a heading for the featured movies section if not already present - const parentSection = this.movieContainer.closest('section'); - if (parentSection) { - const heading = parentSection.querySelector('h2'); - if (heading) { - heading.textContent = 'Популярные фильмы'; - heading.className = 'text-orange mb-4'; - } - } - - // Add a button to add movies on the homepage too - this.createAddMovieButton(); - } - - // Create "Add Movie" button and append it to the page - createAddMovieButton() { - // Find the appropriate container - either .mb-5 or the section containing movieContainer - let container = document.querySelector('.mb-5'); - if (!container && this.movieContainer) { - container = this.movieContainer.closest('section'); - } - if (!container) return; - - // Check if button already exists - if (container.querySelector('.add-movie-btn')) return; - - const buttonContainer = document.createElement('div'); - buttonContainer.className = 'mb-4 d-flex justify-content-end'; - - const addButton = document.createElement('a'); - addButton.className = 'btn btn-success add-movie-btn'; - addButton.href = 'add-movie.html'; - addButton.innerHTML = 'Добавить фильм'; - - buttonContainer.appendChild(addButton); - container.insertBefore(buttonContainer, this.movieContainer); - } - - // Bind the save new movie form submit event - bindSaveNewMovie(handler) { - const addMovieForm = document.getElementById('addMovieForm'); - if (!addMovieForm) return; - - addMovieForm.addEventListener('submit', (e) => { - e.preventDefault(); - - const newMovie = { - title: document.getElementById('movieTitle').value, - director: document.getElementById('movieDirector').value, - genres: Array.from(document.getElementById('movieGenre').selectedOptions).map(option => option.text), - year: document.getElementById('movieYear').value, - description: document.getElementById('movieDescription').value, - poster: document.getElementById('posterPreview')?.src || 'resources/movies/placeholder.jpg' - }; - - handler(newMovie); - - // Redirect back to catalog after adding - window.location.href = 'catalog.html'; - }); - } - - createMovieElement(movie) { - const movieCard = document.createElement('div'); - movieCard.className = 'card movie-card h-100 bg-dark'; - movieCard.dataset.movieId = movie.id; - - movieCard.innerHTML = ` - ${movie.title} Poster -
-
${movie.title}
-

Режиссер: ${movie.director}

-

Жанр: ${Array.isArray(movie.genres) ? movie.genres.join(', ') : movie.genres}

-

Год выпуска: ${movie.year}

- ${movie.description ? `

Описание: ${movie.description}

` : ''} -
- - `; - - return movieCard; - } - - bindDeleteMovie(handler) { - if (!this.movieContainer) return; - - // Use event delegation to handle delete button clicks - this.movieContainer.addEventListener('click', (e) => { - if (e.target.closest('.delete-movie')) { - const movieCard = e.target.closest('.movie-card'); - const movieId = movieCard.dataset.movieId; - if (confirm('Вы уверены, что хотите удалить этот фильм?')) { - handler(movieId); - } - } - }); - } - - renderMovies(movies) { - // Make sure movies is an array before using forEach - if (!Array.isArray(movies)) { - console.error('Expected movies to be an array but got:', movies); - movies = []; - } - - // Use movieContainer property instead of looking for 'movies-container' - if (!this.movieContainer) { - console.error('Movie container element not found. Make sure an element with id "movieContainer" exists in your HTML.'); - return; - } - - // Save scroll position before clearing the container - const scrollPosition = window.scrollY; - - this.movieContainer.innerHTML = ''; - - // If we're on the homepage, only show up to 6 featured movies - const isHomepage = window.location.pathname.endsWith('index.html') || window.location.pathname.endsWith('/'); - const moviesToShow = isHomepage ? movies.slice(0, 6) : movies; - - moviesToShow.forEach(movie => { - const movieCard = this.createMovieElement(movie); - this.movieContainer.appendChild(movieCard); - }); - - // If we're on the homepage and there are more movies, add a "See All" button - if (isHomepage && movies.length > 6) { - const seeAllContainer = document.createElement('div'); - seeAllContainer.className = 'col-12 text-center mt-4'; - - const seeAllButton = document.createElement('a'); - seeAllButton.href = 'catalog.html'; - seeAllButton.className = 'btn btn-primary'; - seeAllButton.textContent = 'Смотреть все фильмы'; - - seeAllContainer.appendChild(seeAllButton); - this.movieContainer.parentNode.appendChild(seeAllContainer); - } - - // Restore scroll position after rendering - window.scrollTo(0, scrollPosition); - } - - fillEditModal(movie) { - if (!this.editModal) return; - - const titleInput = this.editModal.querySelector('#editMovieTitle'); - const directorInput = this.editModal.querySelector('#editMovieDirector'); - const genreSelect = this.editModal.querySelector('#editMovieGenre'); - const yearInput = this.editModal.querySelector('#editMovieYear'); - const descriptionInput = this.editModal.querySelector('#editMovieDescription'); - const posterPreview = this.editModal.querySelector('#editPosterPreview'); - - titleInput.value = movie.title; - directorInput.value = movie.director; - - // Handle genres (multi-select) - if (Array.isArray(movie.genres)) { - Array.from(genreSelect.options).forEach(option => { - option.selected = movie.genres.includes(option.text); - }); - } - - yearInput.value = movie.year; - descriptionInput.value = movie.description || ''; - - if (movie.poster) { - posterPreview.src = movie.poster; - this.editModal.querySelector('.preview-container').classList.remove('d-none'); - } - - this.editModal.dataset.movieId = movie.id; - } - - bindEditMovie(handler) { - if (!this.movieContainer) return; - - this.movieContainer.addEventListener('click', (e) => { - if (e.target.closest('.edit-movie')) { - const movieCard = e.target.closest('.movie-card'); - const movieId = movieCard.dataset.movieId; - handler(movieId); - } - }); - } - - bindSaveEditedMovie(handler) { - if (!this.editModal) return; - - const form = this.editModal.querySelector('form'); - form.addEventListener('submit', (e) => { - e.preventDefault(); - - const movieId = this.editModal.dataset.movieId; - const updatedMovie = { - title: form.querySelector('#editMovieTitle').value, - director: form.querySelector('#editMovieDirector').value, - genres: Array.from(form.querySelector('#editMovieGenre').selectedOptions).map(option => option.text), - year: form.querySelector('#editMovieYear').value, - description: form.querySelector('#editMovieDescription').value, - poster: form.querySelector('#editPosterPreview').src - }; - - handler(movieId, updatedMovie); - - // Close modal using Bootstrap - bootstrap.Modal.getInstance(this.editModal).hide(); - }); - } - - bindFilterMovies(handler) { - const genreSelect = document.getElementById('genre-select'); - const yearSelect = document.getElementById('year-select'); - const searchInput = document.getElementById('search-input'); - - if (genreSelect) { - genreSelect.addEventListener('change', () => { - const filters = { - genre: genreSelect.value, - year: yearSelect ? yearSelect.value : 'all', - search: searchInput ? searchInput.value : '' - }; - handler(filters); - }); - } - - if (yearSelect) { - yearSelect.addEventListener('change', () => { - const filters = { - genre: genreSelect ? genreSelect.value : 'all', - year: yearSelect.value, - search: searchInput ? searchInput.value : '' - }; - handler(filters); - }); - } - - if (searchInput) { - searchInput.addEventListener('input', () => { - const filters = { - genre: genreSelect ? genreSelect.value : 'all', - year: yearSelect ? yearSelect.value : 'all', - search: searchInput.value - }; - handler(filters); - }); - } - } -} \ No newline at end of file diff --git a/src/main.js b/src/main.js deleted file mode 100644 index 38b435e..0000000 --- a/src/main.js +++ /dev/null @@ -1,243 +0,0 @@ -// Импортируем Bootstrap -import 'bootstrap/dist/css/bootstrap.min.css'; -import * as bootstrap from 'bootstrap/dist/js/bootstrap.bundle.min.js'; - -// Make bootstrap available globally -window.bootstrap = bootstrap; - -// Импортируем собственные стили -import '../style.css'; - -// Импортируем MVC компоненты -import { MovieModel } from './components/movie/MovieModel.js'; -import { MovieView } from './components/movie/MovieView.js'; -import { MovieController } from './components/movie/MovieController.js'; - -// Инициализация общего функционала сайта -document.addEventListener('DOMContentLoaded', () => { - if (!document.querySelector('style#custom-styles')) { - const styleElement = document.createElement('style'); - styleElement.id = 'custom-styles'; - styleElement.textContent = ` - .btn-orange { - background-color: #fd7e14; - color: white; - } - .btn-orange:hover { - background-color: #e76b00; - color: white; - } - .text-orange { - color: #fd7e14 !important; - } - `; - document.head.appendChild(styleElement); - } - - console.log('Сайт успешно загружен!'); - - // Инициализация MVC компонентов - const movieModel = new MovieModel(); - const movieView = new MovieView(); - const movieController = new MovieController(movieModel, movieView); - - // Инициализация выпадающего меню, если оно есть на странице - const dropdownElements = document.querySelectorAll('.dropdown'); - if (dropdownElements.length > 0) { - dropdownElements.forEach(dropdown => { - dropdown.addEventListener('click', () => { - dropdown.querySelector('.features-menu')?.classList.toggle('active'); - }); - }); - } - - // Initialize all Bootstrap modals properly - const modalElements = document.querySelectorAll('.modal'); - if (modalElements.length > 0) { - modalElements.forEach(modalEl => { - new bootstrap.Modal(modalEl, { - keyboard: true, - focus: true - }); - }); - } - - // Add event listeners for close and cancel buttons in modals - const closeButtons = document.querySelectorAll('[data-bs-dismiss="modal"]'); - if (closeButtons.length > 0) { - closeButtons.forEach(button => { - button.addEventListener('click', () => { - const modalElement = button.closest('.modal'); - if (modalElement) { - const modalInstance = bootstrap.Modal.getInstance(modalElement); - if (modalInstance) { - modalInstance.hide(); - } - } - }); - }); - } - - // Обработка формы добавления фильма - const addMovieForm = document.getElementById('addMovieForm'); - if (addMovieForm) { - // Предпросмотр постера - const addMoviePoster = document.getElementById('addMoviePoster'); - const addPosterPreview = document.getElementById('addPosterPreview'); - const addPreviewContainer = document.querySelector('#addMovieModal .preview-container'); - - if (addMoviePoster && addPosterPreview && addPreviewContainer) { - addMoviePoster.addEventListener('change', (e) => { - const file = e.target.files[0]; - if (file) { - const reader = new FileReader(); - reader.onload = (e) => { - addPosterPreview.src = e.target.result; - addPreviewContainer.classList.remove('d-none'); - }; - reader.readAsDataURL(file); - } - }); - } - - // Отправка формы - addMovieForm.addEventListener('submit', (e) => { - e.preventDefault(); - - const movieData = { - title: document.getElementById('addMovieTitle').value, - director: document.getElementById('addMovieDirector').value, - genres: Array.from(document.getElementById('addMovieGenre').selectedOptions) - .map(option => option.text), - year: document.getElementById('addMovieYear').value, - description: document.getElementById('addMovieDescription').value, - poster: document.getElementById('addPosterPreview')?.src || '' - }; - - movieController.handleSaveNewMovie(movieData); - addMovieForm.reset(); - - if (addPreviewContainer) { - addPreviewContainer.classList.add('d-none'); - } - - // Close the modal window - const addMovieModal = document.getElementById('addMovieModal'); - if (addMovieModal) { - const modalInstance = bootstrap.Modal.getInstance(addMovieModal); - if (modalInstance) { - modalInstance.hide(); - } - } - - alert('Фильм успешно добавлен!'); - }); - - // Add cancel button handler - const cancelButton = addMovieForm.querySelector('button[type="button"]'); - if (cancelButton) { - cancelButton.addEventListener('click', () => { - const modalElement = cancelButton.closest('.modal'); - if (modalElement) { - const modalInstance = bootstrap.Modal.getInstance(modalElement); - if (modalInstance) { - modalInstance.hide(); - } else { - // Fallback if modal instance isn't available - modalElement.classList.remove('show'); - modalElement.style.display = 'none'; - document.body.classList.remove('modal-open'); - const backdrop = document.querySelector('.modal-backdrop'); - if (backdrop) { - backdrop.remove(); - } - } - } - }); - } - } - - // Обработка формы редактирования фильма - const editMovieForm = document.getElementById('editMovieForm'); - if (editMovieForm) { - const editMoviePoster = document.getElementById('editMoviePoster'); - const editPosterPreview = document.getElementById('editPosterPreview'); - const editPreviewContainer = editMovieForm.querySelector('.preview-container'); - - if (editMoviePoster && editPosterPreview && editPreviewContainer) { - editMoviePoster.addEventListener('change', (e) => { - const file = e.target.files[0]; - if (file) { - const reader = new FileReader(); - reader.onload = (e) => { - editPosterPreview.src = e.target.result; - editPreviewContainer.classList.remove('d-none'); - }; - reader.readAsDataURL(file); - } - }); - } - } - - - // Инициализация фильтров для каталога - const genreSelect = document.getElementById('genre-select'); - const yearSelect = document.getElementById('year-select'); - const searchInput = document.getElementById('search-input'); - - if (genreSelect || yearSelect || searchInput) { - // Заполнение выпадающего списка годов - if (yearSelect) { - const currentYear = new Date().getFullYear(); - yearSelect.innerHTML = ''; - for (let year = currentYear; year >= 1900; year--) { - const option = document.createElement('option'); - option.value = year.toString(); - option.textContent = year.toString(); - yearSelect.appendChild(option); - } - } - } -}); - -// Add this to your main.js or in a script tag at the end of your HTML - -// Handle poster image preview for Add Movie modal -document.addEventListener('DOMContentLoaded', function() { - const addPosterInput = document.getElementById('addMoviePoster'); - const addPosterPreview = document.getElementById('addPosterPreview'); - const addPreviewContainer = document.querySelector('#addMovieModal .preview-container'); - - if (addPosterInput && addPosterPreview && addPreviewContainer) { - addPosterInput.addEventListener('change', function() { - const file = this.files[0]; - if (file) { - const reader = new FileReader(); - reader.onload = function(e) { - addPosterPreview.src = e.target.result; - addPreviewContainer.classList.remove('d-none'); - } - reader.readAsDataURL(file); - } - }); - } - - // Similar code for edit modal if needed - const editPosterInput = document.getElementById('editMoviePoster'); - const editPosterPreview = document.getElementById('editPosterPreview'); - const editPreviewContainer = document.querySelector('#editMovieModal .preview-container'); - - if (editPosterInput && editPosterPreview && editPreviewContainer) { - editPosterInput.addEventListener('change', function() { - const file = this.files[0]; - if (file) { - const reader = new FileReader(); - reader.onload = function(e) { - editPosterPreview.src = e.target.result; - editPreviewContainer.classList.remove('d-none'); - } - reader.readAsDataURL(file); - } - }); - } -}); \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx new file mode 100644 index 0000000..e6df09e --- /dev/null +++ b/src/main.jsx @@ -0,0 +1,17 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import { BrowserRouter } from 'react-router-dom'; +import App from './App'; + +// Import Bootstrap +import 'bootstrap/dist/css/bootstrap.min.css'; +import 'bootstrap-icons/font/bootstrap-icons.css'; +import './style.css'; + +ReactDOM.createRoot(document.getElementById('root')).render( + + + + + +); \ No newline at end of file diff --git a/src/pages/AboutPage.jsx b/src/pages/AboutPage.jsx new file mode 100644 index 0000000..7647858 --- /dev/null +++ b/src/pages/AboutPage.jsx @@ -0,0 +1,23 @@ +import React from 'react'; + +function AboutPage() { + return ( +
+

О нас

+
+
+
Наш кинотеатр
+

+ Мы предлагаем широкий выбор фильмов различных жанров и направлений. + Наша цель - сделать просмотр кино максимально комфортным и приятным для вас. +

+

+ Наслаждайтесь просмотром любимых фильмов в отличном качестве! +

+
+
+
+ ); +} + +export default AboutPage; \ No newline at end of file diff --git a/src/pages/AddMoviePage.jsx b/src/pages/AddMoviePage.jsx new file mode 100644 index 0000000..f88e868 --- /dev/null +++ b/src/pages/AddMoviePage.jsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import MovieForm from '../components/Movie/MovieForm'; +import MovieService from '../services/MovieService'; + +function AddMoviePage() { + const navigate = useNavigate(); + + const handleAddMovie = async (movieData) => { + try { + await MovieService.addMovie(movieData); + alert('Фильм успешно добавлен!'); + navigate('/catalog'); + } catch (error) { + console.error('Error adding movie:', error); + alert('Произошла ошибка при добавлении фильма.'); + } + }; + + return ( +
+

Добавить новый фильм

+ +
+ ); +} + +export default AddMoviePage; \ No newline at end of file diff --git a/src/pages/CatalogPage.jsx b/src/pages/CatalogPage.jsx new file mode 100644 index 0000000..773f635 --- /dev/null +++ b/src/pages/CatalogPage.jsx @@ -0,0 +1,98 @@ +import React, { useState, useEffect } from 'react'; +import MovieList from '../components/Movie/MovieList'; +import MovieService from '../services/MovieService'; + +function CatalogPage() { + const [movies, setMovies] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + // For filtering + const [searchTerm, setSearchTerm] = useState(''); + const [selectedGenre, setSelectedGenre] = useState(''); + const [genres, setGenres] = useState([]); + + useEffect(() => { + const fetchMovies = async () => { + try { + const data = await MovieService.getMovies(); + setMovies(data); + + // Extract unique genres for filter + const allGenres = data.flatMap(movie => movie.genres || []); + const uniqueGenres = [...new Set(allGenres)]; + setGenres(uniqueGenres); + + setLoading(false); + } catch (error) { + console.error('Error fetching movies:', error); + setError('Не удалось загрузить фильмы. Пожалуйста, попробуйте позже.'); + setLoading(false); + } + }; + + fetchMovies(); + }, []); + + const handleDeleteMovie = async (id) => { + try { + await MovieService.deleteMovie(id); + setMovies(movies.filter(movie => movie.id !== id)); + } catch (error) { + console.error('Error deleting movie:', error); + alert('Произошла ошибка при удалении фильма.'); + } + }; + + // Filter movies based on search term and selected genre + const filteredMovies = movies.filter(movie => { + const matchesSearch = searchTerm ? + (movie.title?.toLowerCase().includes(searchTerm.toLowerCase()) || + movie.director?.toLowerCase().includes(searchTerm.toLowerCase())) : true; + + const matchesGenre = selectedGenre === '' || + (Array.isArray(movie.genres) && movie.genres.includes(selectedGenre)); + + return matchesSearch && matchesGenre; + }); + + if (loading) { + return
; + } + + if (error) { + return
{error}
; + } + + return ( +
+
+
+ setSearchTerm(e.target.value)} + /> +
+
+ +
+
+ + +
+ ); +} + +export default CatalogPage; \ No newline at end of file diff --git a/src/pages/EditMoviePage.jsx b/src/pages/EditMoviePage.jsx new file mode 100644 index 0000000..2aae2e9 --- /dev/null +++ b/src/pages/EditMoviePage.jsx @@ -0,0 +1,60 @@ +import React, { useState, useEffect } from 'react'; +import { useParams, useNavigate } from 'react-router-dom'; +import MovieForm from '../components/Movie/MovieForm'; +import MovieService from '../services/MovieService'; + +function EditMoviePage() { + const { id } = useParams(); + const navigate = useNavigate(); + const [movie, setMovie] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchMovie = async () => { + try { + const data = await MovieService.getMovieById(id); + if (!data) { + setError('Фильм не найден'); + } else { + setMovie(data); + } + } catch (error) { + console.error('Error fetching movie:', error); + setError('Не удалось загрузить данные фильма'); + } finally { + setLoading(false); + } + }; + + fetchMovie(); + }, [id]); + + const handleUpdateMovie = async (movieData) => { + try { + await MovieService.updateMovie(id, movieData); + alert('Фильм успешно обновлен!'); + navigate('/catalog'); + } catch (error) { + console.error('Error updating movie:', error); + alert('Произошла ошибка при обновлении фильма.'); + } + }; + + if (loading) { + return
; + } + + if (error) { + return
{error}
; + } + + return ( +
+

Редактировать фильм

+ +
+ ); +} + +export default EditMoviePage; \ No newline at end of file diff --git a/src/pages/HomePage.jsx b/src/pages/HomePage.jsx new file mode 100644 index 0000000..6077a0e --- /dev/null +++ b/src/pages/HomePage.jsx @@ -0,0 +1,60 @@ +import React, { useState, useEffect } from 'react'; +import MovieList from '../components/Movie/MovieList'; +import MovieService from '../services/MovieService'; + +function HomePage() { + const [movies, setMovies] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchMovies = async () => { + try { + const data = await MovieService.getMovies(); + // Sort by year (newest first) for featured movies + const sortedMovies = [...data].sort((a, b) => b.year - a.year); + setMovies(sortedMovies); + setLoading(false); + } catch (error) { + console.error('Error fetching movies:', error); + setError('Не удалось загрузить фильмы. Пожалуйста, попробуйте позже.'); + setLoading(false); + } + }; + + fetchMovies(); + }, []); + + const handleDeleteMovie = async (id) => { + try { + await MovieService.deleteMovie(id); + setMovies(movies.filter(movie => movie.id !== id)); + } catch (error) { + console.error('Error deleting movie:', error); + alert('Произошла ошибка при удалении фильма.'); + } + }; + + if (loading) { + return
; + } + + if (error) { + return
{error}
; + } + + return ( +
+
+

Добро пожаловать в наш кинотеатр!

+

Лучшие фильмы и сериалы в одном месте

+
+

Смотрите новинки кино и классику в отличном качестве

+
+ + +
+ ); +} + +export default HomePage; \ No newline at end of file diff --git a/src/services/MovieService.js b/src/services/MovieService.js new file mode 100644 index 0000000..0b88d6f --- /dev/null +++ b/src/services/MovieService.js @@ -0,0 +1,82 @@ +const API_URL = 'http://localhost:3000'; + +export default class MovieService { + static async getMovies() { + try { + const response = await fetch(`${API_URL}/movies`); + if (!response.ok) { + throw new Error('Failed to fetch movies'); + } + return await response.json(); + } catch (error) { + console.error('Error fetching movies:', error); + return []; + } + } + + static async getMovieById(id) { + try { + const response = await fetch(`${API_URL}/movies/${id}`); + if (!response.ok) { + throw new Error('Failed to fetch movie'); + } + return await response.json(); + } catch (error) { + console.error('Error fetching movie:', error); + return null; + } + } + + static async addMovie(movie) { + try { + const response = await fetch(`${API_URL}/movies`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(movie) + }); + if (!response.ok) { + throw new Error('Failed to add movie'); + } + return await response.json(); + } catch (error) { + console.error('Error adding movie:', error); + throw error; + } + } + + static async updateMovie(id, movie) { + try { + const response = await fetch(`${API_URL}/movies/${id}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(movie) + }); + if (!response.ok) { + throw new Error('Failed to update movie'); + } + return await response.json(); + } catch (error) { + console.error('Error updating movie:', error); + throw error; + } + } + + static async deleteMovie(id) { + try { + const response = await fetch(`${API_URL}/movies/${id}`, { + method: 'DELETE' + }); + if (!response.ok) { + throw new Error('Failed to delete movie'); + } + return true; + } catch (error) { + console.error('Error deleting movie:', error); + throw error; + } + } +} \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..5a8bcb7 --- /dev/null +++ b/src/style.css @@ -0,0 +1,150 @@ +/* Custom styles for the movie application */ +.btn-orange { + background-color: #fd7e14; + color: white; +} +.btn-orange:hover { + background-color: #e76b00; + color: white; +} +.text-orange { + color: #fd7e14 !important; +} + +/* Redesigned movie card styling */ +.movie-card { + height: 100%; + display: flex; + flex-direction: column; + overflow: hidden; + background-color: #212529 !important; + border: none; + border-radius: 8px; + box-shadow: 0 6px 12px rgba(0,0,0,0.15); + transition: transform 0.3s ease, box-shadow 0.3s ease; +} +.movie-card:hover { + transform: translateY(-5px); + box-shadow: 0 12px 16px rgba(0,0,0,0.2); +} +.movie-card .card-body { + flex: 1 1 auto; + padding: 1.25rem; +} +.card-img-top { + height: 380px; + object-fit: cover; + width: 100%; + padding: 0 !important; + margin: 0 !important; + border-top-left-radius: 8px; + border-top-right-radius: 8px; +} +.movie-card .card-title { + font-size: 1.25rem; + margin-bottom: 0.75rem; + font-weight: 600; +} +.movie-card .card-text { + font-size: 0.9rem; + margin-bottom: 0.5rem; +} +.movie-card .card-footer { + background-color: rgba(0,0,0,0.1) !important; + border-top: none !important; + padding: 0.75rem 1.25rem; +} +.movie-card .btn { + font-size: 0.85rem; + padding: 0.375rem 0.75rem; + border-radius: 4px; +} + +/* Animation for card deletion */ +.movie-card.deleting { + animation: fadeOut 0.5s ease forwards; +} +@keyframes fadeOut { + from { opacity: 1; transform: scale(1); } + to { opacity: 0; transform: scale(0.8); } +} + +/* Form styling */ +.preview-container { + max-width: 300px; + margin-bottom: 1rem; +} + +/* Jumbotron styling for homepage */ +.jumbotron { + background-color: #212529; + border-radius: 0.5rem; + padding: 2rem; + margin-bottom: 2rem; +} +body { + background-color: #131516; + color: #f8f9fa; +} + +/* Global text color adjustments */ +h1, h2, h3, h4, h5, h6, p, span, div, label, a { + color: #f8f9fa; +} + +.form-label { + color: #f8f9fa; +} + +.form-control, .form-select { + background-color: #212529; + color: #f8f9fa; + border-color: #495057; +} + +.form-control:focus, .form-select:focus { + background-color: #2c3034; + color: #f8f9fa; +} + +/* Add these styles for placeholder text */ +.form-control::placeholder { + color: #adb5bd; + opacity: 1; +} + +/* For Firefox */ +.form-control::-moz-placeholder { + color: #adb5bd; + opacity: 1; +} + +/* For Internet Explorer */ +.form-control:-ms-input-placeholder { + color: #adb5bd; +} + +/* For Microsoft Edge */ +.form-control::-ms-input-placeholder { + color: #adb5bd; +} +.card { + background-color: #212529; + color: #f8f9fa; +} + +.alert { + color: #f8f9fa; +} + +.text-muted { + color: #adb5bd !important; +} + +.nav-link { + color: #f8f9fa; +} + +.nav-link:hover { + color: #fd7e14; +} \ No newline at end of file diff --git a/style.css b/style.css deleted file mode 100644 index 6af221f..0000000 --- a/style.css +++ /dev/null @@ -1,53 +0,0 @@ -/* Минимальные настройки внешнего вида */ -body { - background-color: #121212; - color: #fff; -} - -/* Кастомные цвета для элементов */ -.bg-dark-custom { - background-color: #222222; -} - -.text-orange { - color: #ff6600 !important; -} - -.btn-orange { - background-color: #ff6600; - color: #fff; -} - -.btn-orange:hover { - background-color: #e55c00; - color: #fff; -} - -/* Стили для карточек фильмов */ -.movie-card { - background-color: #222222; - border-radius: 10px; - overflow: hidden; - transition: transform 0.3s ease; -} - -.movie-card:hover { - transform: translateY(-5px); -} - -/* Стили для футера */ -.footer-custom { - background-color: #222222; - color: #999; -} - -/* Стили для социальных иконок */ -.social-icon { - width: 24px; - height: 24px; - transition: transform 0.3s ease; -} - -.social-icon:hover { - transform: scale(1.1); -} \ No newline at end of file diff --git a/template.html b/template.html deleted file mode 100644 index d2d912e..0000000 --- a/template.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - Page Title - - - -
-
- - -
-
-
-
- -
-
- - - \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 67df6f1..e13f48e 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,29 +1,11 @@ import { defineConfig } from 'vite'; import { resolve } from 'path'; - -// Получаем список HTML-файлов для мультистраничного приложения -const pages = [ - 'index.html', - 'catalog.html', - 'films.html', - 'seriales.html', - 'reviews.html', - 'about.html', - 'add-movie.html', - 'edit-movie.html' -]; - -// Создаем объект с входными точками для каждой страницы -const input = {}; -pages.forEach(page => { - input[page.replace('.html', '')] = resolve(__dirname, page); -}); +import react from '@vitejs/plugin-react'; export default defineConfig({ + plugins: [react()], build: { - rollupOptions: { - input - } + outDir: 'dist', }, resolve: { alias: { @@ -31,6 +13,6 @@ export default defineConfig({ } }, server: { - open: '/index.html' + open: true } }); \ No newline at end of file diff --git a/Отчет.docx b/Отчет.docx index 933cc46..6c76740 100644 Binary files a/Отчет.docx and b/Отчет.docx differ