diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index a34de45f6..000000000 --- a/.editorconfig +++ /dev/null @@ -1,8 +0,0 @@ -root = true - -[*] -end_of_line = lf -indent_size = 2 -indent_style = space -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 60477535d..000000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -*.js -nodes_modules/ \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 6955f5f7f..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,43 +0,0 @@ -module.exports = { - extends: [ - 'mantine', - 'plugin:@next/next/recommended', - 'eslint:recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:vitest/recommended', - ], - plugins: ['testing-library', 'react-hooks', 'react', 'unused-imports', 'vitest'], - overrides: [ - { - files: ['**/?(*.)+(spec|test).[jt]s?(x)'], - extends: ['plugin:testing-library/react'], - }, - ], - parserOptions: { - project: './tsconfig.json', - }, - rules: { - 'import/no-cycle': 'off', - 'react/react-in-jsx-scope': 'off', - 'react/no-children-prop': 'off', - 'unused-imports/no-unused-imports': 'warn', - '@typescript-eslint/no-unused-vars': 'off', - '@typescript-eslint/no-unused-imports': 'off', - '@typescript-eslint/no-unused-expressions': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-shadow': 'off', - '@typescript-eslint/no-use-before-define': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - 'no-continue': 'off', - 'linebreak-style': 0, - 'import/extensions': 'off', - 'vitest/max-nested-describe': [ - 'error', - { - max: 3, - }, - ], - 'testing-library/no-node-access': ['error', { allowContainerFirstChild: true }], - }, -}; diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 2e8c262ca..ec89d9563 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -35,7 +35,7 @@ body: label: Logs description: Provide your Homarr logs so we can investigate what's going on validations: - required: true + required: false - type: textarea id: context attributes: diff --git a/.github/workflows/docker_dev.yml b/.github/workflows/docker_dev.yml index c1ee4a2cc..5c507e327 100644 --- a/.github/workflows/docker_dev.yml +++ b/.github/workflows/docker_dev.yml @@ -153,56 +153,4 @@ jobs: - name: Build next.js app # change this if your site requires a custom build command - run: yarn turbo build - - # Here's the first place where next-bundle-analysis' own script is used - # This step pulls the raw bundle stats for the current bundle - - name: Analyze bundle - run: npx -p nextjs-bundle-analysis report - - - name: Upload bundle - uses: actions/upload-artifact@v3 - with: - name: bundle - path: .next/analyze/__bundle_analysis.json - - - name: Download base branch bundle stats - uses: dawidd6/action-download-artifact@v2 - continue-on-error: true - if: success() && github.event.number - with: - workflow: nextjs_bundle_analysis.yml - branch: ${{ github.event.pull_request.base.ref }} - path: .next/analyze/base - - # And here's the second place - this runs after we have both the current and - # base branch bundle stats, and will compare them to determine what changed. - # There are two configurable arguments that come from package.json: - # - # - budget: optional, set a budget (bytes) against which size changes are measured - # it's set to 350kb here by default, as informed by the following piece: - # https://infrequently.org/2021/03/the-performance-inequality-gap/ - # - # - red-status-percentage: sets the percent size increase where you get a red - # status indicator, defaults to 20% - # - # Either of these arguments can be changed or removed by editing the `nextBundleAnalysis` - # entry in your package.json file. - - name: Compare with base branch bundle - if: success() && github.event.number - run: ls -laR .next/analyze/base && npx -p nextjs-bundle-analysis compare - - - name: Get Comment Body - id: get-comment-body - if: success() && github.event.number - # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings - run: | - echo "body<> $GITHUB_OUTPUT - echo "$(cat .next/analyze/__bundle_analysis_comment.txt)" >> $GITHUB_OUTPUT - echo EOF >> $GITHUB_OUTPUT - - - name: Comment - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: next-touched-pages - message: ${{ steps.get-comment-body.outputs.body }} \ No newline at end of file + run: yarn turbo build \ No newline at end of file diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 48f1261fd..000000000 --- a/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "printWidth": 100, - "tabWidth": 2, - "parser": "typescript", - "singleQuote": true, - "trailingComma": "es5", - "useTabs": false, - "endOfLine": "lf" -} \ No newline at end of file diff --git a/README.md b/README.md index 74e8569c1..dfc2ca244 100644 --- a/README.md +++ b/README.md @@ -121,3 +121,5 @@ You can also support us by helping with [translating the entire project](https:/ **Please read our [Contribution Guidelines](/CONTRIBUTING.md)** All contributions, regardless of their size or scope, are welcome and highly appreciated! Thank you ❤️ + +![Alt](https://repobeats.axiom.co/api/embed/60a6f68f193faf831f64221bdf90782adec51c93.svg "Repobeats analytics image") diff --git a/checkly.config.ts b/checkly.config.ts deleted file mode 100644 index 09bf657ce..000000000 --- a/checkly.config.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { defineConfig } from 'checkly' - -/** - * See https://www.checklyhq.com/docs/cli/project-structure/ - */ -const config = defineConfig({ - /* A human friendly name for your project */ - projectName: 'homarr', - /** A logical ID that needs to be unique across your Checkly account, - * See https://www.checklyhq.com/docs/cli/constructs/ to learn more about logical IDs. - */ - logicalId: 'homarr', - /* An optional URL to your Git repo */ - repoUrl: 'https://github.com/checkly/checkly-cli', - /* Sets default values for Checks */ - checks: { - /* A default for how often your Check should run in minutes */ - frequency: 10, - /* Checkly data centers to run your Checks as monitors */ - locations: ['us-east-1', 'eu-west-1'], - /* An optional array of tags to organize your Checks */ - tags: ['mac'], - /** The Checkly Runtime identifier, determining npm packages and the Node.js version available at runtime. - * See https://www.checklyhq.com/docs/cli/npm-packages/ - */ - runtimeId: '2023.02', - /* A glob pattern that matches the Checks inside your repo, see https://www.checklyhq.com/docs/cli/using-check-test-match/ */ - checkMatch: '**/__checks__/**/*.check.ts', - browserChecks: { - /* A glob pattern matches any Playwright .spec.ts files and automagically creates a Browser Check. This way, you - * can just write native Playwright code. See https://www.checklyhq.com/docs/cli/using-check-test-match/ - * */ - testMatch: '**/__checks__/**/*.spec.ts', - }, - }, - cli: { - /* The default datacenter location to use when running npx checkly test */ - runLocation: 'eu-west-1', - /* An array of default reporters to use when a reporter is not specified with the "--reporter" flag */ - reporters: ['list'], - }, -}) - -export default config diff --git a/data/configs/default.json b/data/configs/default.json index 11635a8b2..d690977bb 100644 --- a/data/configs/default.json +++ b/data/configs/default.json @@ -1,389 +1,393 @@ { - "schemaVersion": 1, - "configProperties": { - "name": "default" - }, - "categories": [ - { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f", - "position": 1, - "name": "Welcome to Homarr 🎉", - "type": "category" - } - ], - "wrappers": [ - { - "id": "default", - "position": 0 - }, - { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a326", - "position": 1 - } - ], - "apps": [ - { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a337", - "name": "Discord", - "url": "https://discord.com/invite/aCsmEV5RgA", - "behaviour": { - "onClickUrl": "https://discord.com/invite/aCsmEV5RgA", - "isOpeningNewTab": true, - "externalUrl": "https://discord.com/invite/aCsmEV5RgA" - }, - "network": { - "enabledStatusChecker": false, - "statusCodes": [ - "200" - ] - }, - "appearance": { - "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/discord.png" - }, - "integration": { - "type": null, - "properties": [] - }, - "area": { - "type": "category", - "properties": { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" - } - }, - "shape": { - "md": { - "location": { - "x": 3, - "y": 1 - }, - "size": { - "width": 3, - "height": 1 - } - }, - "sm": { - "location": { - "x": 2, - "y": 1 - }, - "size": { - "width": 1, - "height": 1 - } - }, - "lg": { - "location": { - "x": 2, - "y": 1 - }, - "size": { - "width": 1, - "height": 1 - } - } - } - }, - { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a990", - "name": "Donate", - "url": "https://ko-fi.com/ajnart", - "behaviour": { - "onClickUrl": "https://ko-fi.com/ajnart", - "externalUrl": "https://ko-fi.com/ajnart", - "isOpeningNewTab": true - }, - "network": { - "enabledStatusChecker": false, - "statusCodes": [ - "200" - ] - }, - "appearance": { - "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/ko-fi.png" - }, - "integration": { - "type": null, - "properties": [] - }, - "area": { - "type": "category", - "properties": { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" - } - }, - "shape": { - "md": { - "location": { - "x": 2, - "y": 1 - }, - "size": { - "width": 1, - "height": 1 - } - }, - "sm": { - "location": { - "x": 2, - "y": 2 - }, - "size": { - "width": 1, - "height": 1 - } - }, - "lg": { - "location": { - "x": 3, - "y": 1 - }, - "size": { - "width": 1, - "height": 1 - } - } - } - }, - { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a330", - "name": "Contribute", - "url": "https://github.com/ajnart/homarr", - "behaviour": { - "onClickUrl": "https://github.com/ajnart/homarr", - "externalUrl": "https://github.com/ajnart/homarr", - "isOpeningNewTab": true - }, - "network": { - "enabledStatusChecker": false, - "statusCodes": [] - }, - "appearance": { - "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/github.png" - }, - "integration": { - "type": null, - "properties": [] - }, - "area": { - "type": "category", - "properties": { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" - } - }, - "shape": { - "md": { - "location": { - "x": 2, - "y": 0 - }, - "size": { - "width": 2, - "height": 1 - } - }, - "sm": { - "location": { - "x": 0, - "y": 2 - }, - "size": { - "width": 2, - "height": 1 - } - }, - "lg": { - "location": { - "x": 4, - "y": 0 - }, - "size": { - "width": 2, - "height": 2 - } - } - } - }, - { - "id": "5df743d9-5cb1-457c-85d2-64ff86855652", - "name": "Documentation", - "url": "https://homarr.dev", - "behaviour": { - "onClickUrl": "https://homarr.dev", - "externalUrl": "https://homarr.dev", - "isOpeningNewTab": true - }, - "network": { - "enabledStatusChecker": false, - "statusCodes": [ - "200" - ] - }, - "appearance": { - "iconUrl": "/imgs/logo/logo.png" - }, - "integration": { - "type": null, - "properties": [] - }, - "area": { - "type": "category", - "properties": { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" - } - }, - "shape": { - "md": { - "location": { - "x": 0, - "y": 1 - }, - "size": { - "width": 2, - "height": 1 - } - }, - "sm": { - "location": { - "x": 0, - "y": 0 - }, - "size": { - "width": 1, - "height": 1 - } - }, - "lg": { - "location": { - "x": 0, - "y": 1 - }, - "size": { - "width": 2, - "height": 1 - } - } - } - } - ], - "widgets": [ - { - "id": "971aa859-8570-49a1-8d34-dd5c7b3638d1", - "type": "date", - "properties": { - "display24HourFormat": true - }, - "area": { - "type": "category", - "properties": { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" - } - }, - "shape": { - "sm": { - "location": { - "x": 0, - "y": 1 - }, - "size": { - "width": 2, - "height": 1 - } - }, - "md": { - "location": { - "x": 4, - "y": 0 - }, - "size": { - "width": 2, - "height": 1 - } - }, - "lg": { - "location": { - "x": 2, - "y": 0 - }, - "size": { - "width": 2, - "height": 1 - } - } - } - }, - { - "id": "e3004052-6b83-480e-b458-56e8ccdca5f0", - "type": "weather", - "properties": { - "displayInFahrenheit": false, - "location": "Paris" - }, - "area": { - "type": "category", - "properties": { - "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" - } - }, - "shape": { - "md": { - "location": { - "x": 0, - "y": 0 - }, - "size": { - "width": 2, - "height": 1 - } - }, - "sm": { - "location": { - "x": 1, - "y": 0 - }, - "size": { - "width": 2, - "height": 1 - } - }, - "lg": { - "location": { - "x": 0, - "y": 0 - }, - "size": { - "width": 2, - "height": 1 - } - } - } - } - ], - "settings": { - "common": { - "searchEngine": { - "type": "google", - "properties": {} - } - }, - "customization": { - "layout": { - "enabledLeftSidebar": false, - "enabledRightSidebar": false, - "enabledDocker": false, - "enabledPing": false, - "enabledSearchbar": true - }, - "pageTitle": "Homarr v0.12 ⭐️", - "logoImageUrl": "/imgs/logo/logo.png", - "faviconUrl": "/imgs/favicon/favicon-squared.png", - "backgroundImageUrl": "", - "customCss": "", - "colors": { - "primary": "red", - "secondary": "yellow", - "shade": 7 - }, - "appOpacity": 100 - } + "schemaVersion": 1, + "configProperties": { + "name": "default" + }, + "categories": [ + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f", + "position": 1, + "name": "Welcome to Homarr 🎉", + "type": "category" } + ], + "wrappers": [ + { + "id": "default", + "position": 0 + }, + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a326", + "position": 1 + } + ], + "apps": [ + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a337", + "name": "Discord", + "url": "https://discord.com/invite/aCsmEV5RgA", + "behaviour": { + "onClickUrl": "https://discord.com/invite/aCsmEV5RgA", + "isOpeningNewTab": true, + "externalUrl": "https://discord.com/invite/aCsmEV5RgA" + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [ + "200" + ] + }, + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/discord.png" + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "category", + "properties": { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" + } + }, + "shape": { + "md": { + "location": { + "x": 3, + "y": 1 + }, + "size": { + "width": 3, + "height": 1 + } + }, + "sm": { + "location": { + "x": 2, + "y": 1 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 2, + "y": 1 + }, + "size": { + "width": 1, + "height": 1 + } + } + } + }, + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a990", + "name": "Donate", + "url": "https://ko-fi.com/ajnart", + "behaviour": { + "onClickUrl": "https://ko-fi.com/ajnart", + "externalUrl": "https://ko-fi.com/ajnart", + "isOpeningNewTab": true + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [ + "200" + ] + }, + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/ko-fi.png" + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "category", + "properties": { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" + } + }, + "shape": { + "md": { + "location": { + "x": 2, + "y": 1 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "sm": { + "location": { + "x": 2, + "y": 2 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 3, + "y": 1 + }, + "size": { + "width": 1, + "height": 1 + } + } + } + }, + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a330", + "name": "Contribute", + "url": "https://github.com/ajnart/homarr", + "behaviour": { + "onClickUrl": "https://github.com/ajnart/homarr", + "externalUrl": "https://github.com/ajnart/homarr", + "isOpeningNewTab": true + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [] + }, + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/github.png" + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "category", + "properties": { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" + } + }, + "shape": { + "md": { + "location": { + "x": 2, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "sm": { + "location": { + "x": 0, + "y": 2 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "lg": { + "location": { + "x": 4, + "y": 0 + }, + "size": { + "width": 2, + "height": 2 + } + } + } + }, + { + "id": "5df743d9-5cb1-457c-85d2-64ff86855652", + "name": "Documentation", + "url": "https://homarr.dev", + "behaviour": { + "onClickUrl": "https://homarr.dev", + "externalUrl": "https://homarr.dev", + "isOpeningNewTab": true + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [ + "200" + ] + }, + "appearance": { + "iconUrl": "/imgs/logo/logo.png" + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "category", + "properties": { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" + } + }, + "shape": { + "md": { + "location": { + "x": 0, + "y": 1 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "sm": { + "location": { + "x": 0, + "y": 0 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 0, + "y": 1 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + } + ], + "widgets": [ + { + "id": "971aa859-8570-49a1-8d34-dd5c7b3638d1", + "type": "date", + "properties": { + "display24HourFormat": true + }, + "area": { + "type": "category", + "properties": { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" + } + }, + "shape": { + "sm": { + "location": { + "x": 0, + "y": 1 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "md": { + "location": { + "x": 4, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "lg": { + "location": { + "x": 2, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + }, + { + "id": "e3004052-6b83-480e-b458-56e8ccdca5f0", + "type": "weather", + "properties": { + "displayInFahrenheit": false, + "location": { + "name": "Paris", + "latitude": 48.85341, + "longitude": 2.3488 + } + }, + "area": { + "type": "category", + "properties": { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f" + } + }, + "shape": { + "md": { + "location": { + "x": 0, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "sm": { + "location": { + "x": 1, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "lg": { + "location": { + "x": 0, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + } + ], + "settings": { + "common": { + "searchEngine": { + "type": "google", + "properties": {} + } + }, + "customization": { + "layout": { + "enabledLeftSidebar": false, + "enabledRightSidebar": false, + "enabledDocker": false, + "enabledPing": false, + "enabledSearchbar": true + }, + "pageTitle": "Homarr v0.12 ⭐️", + "logoImageUrl": "/imgs/logo/logo.png", + "faviconUrl": "/imgs/favicon/favicon-squared.png", + "backgroundImageUrl": "", + "customCss": "", + "colors": { + "primary": "red", + "secondary": "yellow", + "shade": 7 + }, + "appOpacity": 100 + } + } } diff --git a/package.json b/package.json index 4f7331515..44ba2fc16 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,10 @@ "@tanstack/react-query": "^4.2.1", "@tanstack/react-query-devtools": "^4.24.4", "@tanstack/react-query-persist-client": "^4.28.0", + "@trpc/client": "^10.29.1", + "@trpc/next": "^10.29.1", + "@trpc/react-query": "^10.29.1", + "@trpc/server": "^10.29.1", "@vitejs/plugin-react": "^4.0.0", "axios": "^1.0.0", "consola": "^3.0.0", @@ -59,7 +63,7 @@ "html-entities": "^2.3.3", "i18next": "^22.5.1", "js-file-download": "^0.4.12", - "next": "^13.4.2", + "next": "13.4.10", "next-i18next": "^13.0.0", "nzbget-api": "^0.0.3", "prismjs": "^1.29.0", @@ -72,33 +76,29 @@ "uuid": "^9.0.0", "xml-js": "^1.6.11", "xss": "^1.0.14", - "yarn": "^1.22.19", "zod": "^3.21.4", "zustand": "^4.3.7" }, "devDependencies": { "@next/bundle-analyzer": "^13.0.0", - "@next/eslint-plugin-next": "^13.0.0", + "@next/eslint-plugin-next": "^13.4.5", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", + "@trivago/prettier-plugin-sort-imports": "^4.1.1", "@types/dockerode": "^3.3.9", - "@types/node": "18.16.17", + "@types/node": "18.16.19", "@types/prismjs": "^1.26.0", - "@types/react": "17.0.60", + "@types/react": "^18.2.11", "@types/uuid": "^9.0.0", "@types/video.js": "^7.3.51", - "@typescript-eslint/eslint-plugin": "^5.30.7", + "@typescript-eslint/eslint-plugin": "^5.50.0", "@typescript-eslint/parser": "^5.30.7", - "@vitest/coverage-c8": "^0.32.0", - "@vitest/ui": "^0.32.0", - "checkly": "latest", - "eslint": "^8.20.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-airbnb-typescript": "^17.0.0", - "eslint-config-mantine": "^2.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.6.1", - "eslint-plugin-react": "^7.30.1", + "@vitest/coverage-c8": "^0.33.0", + "@vitest/ui": "^0.33.0", + "eslint": "^8.0.1", + "eslint-config-next": "^13.4.5", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-react": "latest", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-testing-library": "^5.5.1", "eslint-plugin-unused-imports": "^2.0.0", @@ -109,16 +109,12 @@ "sass": "^1.56.1", "ts-node": "latest", "turbo": "latest", - "typescript": "^5.0.4", + "typescript": "^5.1.0", "video.js": "^8.0.3", - "vitest": "^0.32.0", + "vite-tsconfig-paths": "^4.2.0", + "vitest": "^0.33.0", "vitest-fetch-mock": "^0.2.2" }, - "resolutions": { - "@types/react": "17.0.60", - "@types/react-dom": "17.0.20" - }, - "packageManager": "yarn@3.6.0", "nextBundleAnalysis": { "budget": null, "budgetPercentIncreaseRed": 20, @@ -143,5 +139,81 @@ "pin": { "automerge": true } + }, + "prettier": { + "printWidth": 100, + "tabWidth": 2, + "parser": "typescript", + "singleQuote": true, + "trailingComma": "es5", + "useTabs": false, + "endOfLine": "lf", + "importOrder": [ + "^@core/(.*)$", + "^@server/(.*)$", + "^@ui/(.*)$", + "^[./]" + ], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true + }, + "eslintConfig": { + "ignoreDuringBuilds": true, + "extends": [ + "next", + "eslint:recommended", + "plugin:@next/next/recommended", + "plugin:react-hooks/recommended", + "plugin:react/recommended", + "plugin:@typescript-eslint/recommended", + "plugin:vitest/recommended" + ], + "plugins": [ + "testing-library", + "unused-imports", + "react", + "vitest" + ], + "overrides": [ + { + "files": [ + "**/?(*.)+(spec|test).[jt]s?(x)" + ], + "extends": [ + "plugin:testing-library/react" + ] + } + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "./tsconfig.json" + }, + "rules": { + "import/no-cycle": "off", + "react/react-in-jsx-scope": "off", + "react/no-children-prop": "off", + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-unused-imports": "off", + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-shadow": "off", + "@typescript-eslint/no-use-before-define": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "no-continue": "off", + "linebreak-style": 0, + "import/extensions": "off", + "vitest/max-nested-describe": [ + "error", + { + "max": 3 + } + ], + "testing-library/no-node-access": [ + "error", + { + "allowContainerFirstChild": true + } + ] + } } } diff --git a/public/locales/da/layout/common.json b/public/locales/da/layout/common.json index 078590698..cb0774f39 100644 --- a/public/locales/da/layout/common.json +++ b/public/locales/da/layout/common.json @@ -1,18 +1,18 @@ { "modals": { "blockedPopups": { - "title": "Popups blokeret", - "text": "Din browser har blokeret Homarr fra at få adgang til dens API. Dette er oftest forårsaget af AdBlockers eller nægtede tilladelser. Homarr kan ikke anmode om tilladelser automatisk.", + "title": "", + "text": "", "list": { - "browserPermission": "Klik på ikonet ved siden af URL'en, og tjek tilladelserne. Tillad popups og vinduer", - "adBlockers": "Deaktiver annonceblokkere og sikkerhedsværktøjer fra din browser", - "otherBrowser": "Prøv en anden browser" + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" } } }, "actions": { "category": { - "openAllInNewTab": "Åbn alle i nye faneblade" + "openAllInNewTab": "" } } } diff --git a/public/locales/da/modules/calendar.json b/public/locales/da/modules/calendar.json index 0ee9f1eb7..1f140b202 100644 --- a/public/locales/da/modules/calendar.json +++ b/public/locales/da/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr udgivelsestype" + }, + "hideWeekDays": { + "label": "Skjul ugedage" + }, + "fontSize": { + "label": "Skriftstørrelse" } } } -} +} \ No newline at end of file diff --git a/public/locales/da/modules/iframe.json b/public/locales/da/modules/iframe.json index df3f07a90..b7e25bea0 100644 --- a/public/locales/da/modules/iframe.json +++ b/public/locales/da/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Tillad fuld skærm" + }, + "allowTransparency": { + "label": "Tillad gennemsigtighed" + }, + "allowScrolling": { + "label": "Tillad rulning" + }, + "allowPayment": { + "label": "Tillad betaling" + }, + "allowAutoPlay": { + "label": "Tillad automatisk afspilning" + }, + "allowMicrophone": { + "label": "Tillad mikrofon" + }, + "allowCamera": { + "label": "Tillad kamera" + }, + "allowGeolocation": { + "label": "Tillad geolokalisering" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "Ugyldig URL", "text": "Sørg for, at du har indtastet en gyldig adresse i konfigurationen af din widget" } } } -} \ No newline at end of file +} diff --git a/public/locales/da/modules/rss.json b/public/locales/da/modules/rss.json index 298915d0c..0fcbe841e 100644 --- a/public/locales/da/modules/rss.json +++ b/public/locales/da/modules/rss.json @@ -12,9 +12,9 @@ "label": "Opdateringsinterval (i minutter)" }, "dangerousAllowSanitizedItemContent": { - "label": "Farligt: Tillad renset genstands-indhold" + "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "Klemme til tekstlinjer" } }, diff --git a/public/locales/da/settings/customization/accessibility.json b/public/locales/da/settings/customization/accessibility.json new file mode 100644 index 000000000..d69577690 --- /dev/null +++ b/public/locales/da/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Deaktiver ping-puls", + "description": "Som standard vil ping-indikatorerne i Homarr pulsere. Det kan være irriterende. Denne skyder vil deaktivere animationen" + }, + "replaceIconsWithDots": { + "label": "Udskift ping-prikker med ikoner", + "description": "For farveblinde brugere kan ping-prikker være uigenkendelige. Dette vil erstatte indikatorer med ikoner" + }, + "alert": "Mangler du noget? Vi vil med glæde udvide tilgængeligheden af Homarr" +} \ No newline at end of file diff --git a/public/locales/da/settings/customization/general.json b/public/locales/da/settings/customization/general.json index c70042b7c..37c029979 100644 --- a/public/locales/da/settings/customization/general.json +++ b/public/locales/da/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Udseende", "description": "Tilpas baggrunden, farverne og appenes udseende" + }, + "accessibility": { + "name": "Hjælpefunktioner", + "description": "Konfigurer Homarr for deaktiverede og handicappede brugere" } } -} \ No newline at end of file +} diff --git a/public/locales/da/widgets/error-boundary.json b/public/locales/da/widgets/error-boundary.json index a0f15e585..cb9590d35 100644 --- a/public/locales/da/widgets/error-boundary.json +++ b/public/locales/da/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "Der er opstået en uventet fejl. Tjek venligst din konfiguration. Rapporter venligst dette problem, hvis du mener, at det er en fejl.", + "text": "", "label": "Din fejl", "reportButton": "Rapportér denne fejl" } diff --git a/public/locales/de/layout/common.json b/public/locales/de/layout/common.json index 63cc224d6..cb0774f39 100644 --- a/public/locales/de/layout/common.json +++ b/public/locales/de/layout/common.json @@ -1,18 +1,18 @@ { "modals": { "blockedPopups": { - "title": "Popup blockiert", - "text": "Ihr Browser hat den Zugriff von Homarr auf seine API blockiert. Dies wird am häufigsten durch AdBlocker oder verweigerte Berechtigungen verursacht. Homarr ist nicht in der Lage, Berechtigungen automatisch anzufordern.", + "title": "", + "text": "", "list": { - "browserPermission": "Klicken Sie auf das Symbol neben der URL und prüfen Sie die Berechtigungen. Popups und Fenster zulassen", - "adBlockers": "Deaktivieren Sie Werbeblocker und Sicherheitstools in Ihrem Browser", - "otherBrowser": "Versuche es mit einem anderen Browser" + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" } } }, "actions": { "category": { - "openAllInNewTab": "Alle Lesezeichen öffnen" + "openAllInNewTab": "" } } } diff --git a/public/locales/de/modules/calendar.json b/public/locales/de/modules/calendar.json index 69c63bccf..cc25adf25 100644 --- a/public/locales/de/modules/calendar.json +++ b/public/locales/de/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr Veröffentlichungs Typ" + }, + "hideWeekDays": { + "label": "Wochentage ausblenden" + }, + "fontSize": { + "label": "Schriftgröße" } } } -} +} \ No newline at end of file diff --git a/public/locales/de/modules/iframe.json b/public/locales/de/modules/iframe.json index a2b36924b..c4cffa035 100644 --- a/public/locales/de/modules/iframe.json +++ b/public/locales/de/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Vollbildmodus zulassen" + }, + "allowTransparency": { + "label": "Erlaube Transparenz" + }, + "allowScrolling": { + "label": "Scrollen zulassen" + }, + "allowPayment": { + "label": "Zahlung zulassen" + }, + "allowAutoPlay": { + "label": "Automatische Wiedergabe zulassen" + }, + "allowMicrophone": { + "label": "Mikrofonzugriff erlauben" + }, + "allowCamera": { + "label": "Kamera freigeben" + }, + "allowGeolocation": { + "label": "Geolokalisierung zulassen" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "Ungültige URL", "text": "Stellen Sie sicher, dass Sie in der Konfiguration Ihres Widgets eine gültige Adresse eingegeben haben" } } } -} \ No newline at end of file +} diff --git a/public/locales/de/modules/rss.json b/public/locales/de/modules/rss.json index 315414ede..f774bddb9 100644 --- a/public/locales/de/modules/rss.json +++ b/public/locales/de/modules/rss.json @@ -12,9 +12,9 @@ "label": "Aktualisierungsintervall (in Minuten)" }, "dangerousAllowSanitizedItemContent": { - "label": "Vorsicht: Bereinigte Artikelinhalte zulassen" + "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "Textzeilen Klammer" } }, diff --git a/public/locales/de/settings/customization/accessibility.json b/public/locales/de/settings/customization/accessibility.json new file mode 100644 index 000000000..b98561d6e --- /dev/null +++ b/public/locales/de/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Ping-Puls deaktivieren", + "description": "Standardmäßig pulsieren die Ping-Indikatoren in Homarr. Dies kann irritierend sein. Mit diesem Regler kann diese Animation deaktiviert werden" + }, + "replaceIconsWithDots": { + "label": "Ping Punkte mit Icons ersetzen", + "description": "Für farbenblinde Benutzer können Ping-Punkte nicht erkennbar sein. Dies ersetzt Indikatoren durch Icons" + }, + "alert": "Fehlt etwas? Wir erweitern gerne die Zugänglichkeit von Homarr" +} \ No newline at end of file diff --git a/public/locales/de/settings/customization/general.json b/public/locales/de/settings/customization/general.json index f04f09478..303d73d13 100644 --- a/public/locales/de/settings/customization/general.json +++ b/public/locales/de/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Aussehen", "description": "Anpassen des Hintergrunds, der Farben und des Erscheinungsbilds" + }, + "accessibility": { + "name": "Barrierefreiheit", + "description": "Homarr für behinderte und gehandicapte Benutzer einrichten" } } -} \ No newline at end of file +} diff --git a/public/locales/de/widgets/error-boundary.json b/public/locales/de/widgets/error-boundary.json index 093703e3f..4b2fd2962 100644 --- a/public/locales/de/widgets/error-boundary.json +++ b/public/locales/de/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "Es ist ein unerwarteter Fehler aufgetreten. Bitte überprüfen Sie Ihre Konfiguration. Bitte melden Sie dieses Problem, wenn Sie glauben, dass es sich um einen Fehler handelt.", + "text": "", "label": "Dein Fehler", "reportButton": "Fehler melden" } diff --git a/public/locales/el/layout/common.json b/public/locales/el/layout/common.json index 56557ca16..cb0774f39 100644 --- a/public/locales/el/layout/common.json +++ b/public/locales/el/layout/common.json @@ -1,18 +1,18 @@ { "modals": { "blockedPopups": { - "title": "Αποκλεισμένα αναδυόμενα παράθυρα", - "text": "Ο περιηγητής σας έχει αποκλείσει το Homarr από την πρόσβαση στο API του. Αυτό συνήθως προκαλείται από AdBlockers ή δεν άρνηση δικαιωμάτων. Το Homarr δεν είναι σε θέση να ζητήσει δικαιώματα αυτόματα.", + "title": "", + "text": "", "list": { - "browserPermission": "Κάντε κλικ στο εικονίδιο δίπλα από τη διεύθυνση URL και ελέγξτε τα δικαιώματα. Να επιτρέπονται αναδυόμενα παράθυρα", - "adBlockers": "Απενεργοποιήστε τα AdBlockers και τα εργαλεία ασφαλείας από τον περιηγητή σας", - "otherBrowser": "Δοκιμάστε διαφορετικό περιηγητή" + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" } } }, "actions": { "category": { - "openAllInNewTab": "Άνοιγμα όλων σε νέα καρτέλα" + "openAllInNewTab": "" } } } diff --git a/public/locales/el/modules/calendar.json b/public/locales/el/modules/calendar.json index a41ee8809..5dc54c0d1 100644 --- a/public/locales/el/modules/calendar.json +++ b/public/locales/el/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Τύπος κυκλοφορίας Radarr" + }, + "hideWeekDays": { + "label": "Απόκρυψη εργάσιμων" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/el/modules/iframe.json b/public/locales/el/modules/iframe.json index 731266aac..68728e47f 100644 --- a/public/locales/el/modules/iframe.json +++ b/public/locales/el/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Επιτρέψτε την πλήρη οθόνη" + }, + "allowTransparency": { + "label": "Να επιτρέπεται η διαφάνεια" + }, + "allowScrolling": { + "label": "Επιτρέπεται η κύλιση" + }, + "allowPayment": { + "label": "Επιτρέπονται πληρωμές" + }, + "allowAutoPlay": { + "label": "Επιτρέπεται η αυτόματη αναπαραγωγή" + }, + "allowMicrophone": { + "label": "Πρόσβαση στο μικρόφωνο" + }, + "allowCamera": { + "label": "Πρόσβαση στην κάμερα" + }, + "allowGeolocation": { + "label": "Επιτρέπεται ο γεωεντοπισμός" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "Μη Έγκυρος Σύνδεσμος", "text": "Βεβαιωθείτε ότι έχετε εισάγει μια έγκυρη διεύθυνση στη διαμόρφωση του widget σας" } } } -} \ No newline at end of file +} diff --git a/public/locales/el/modules/rss.json b/public/locales/el/modules/rss.json index 64b0390cc..c99e597ad 100644 --- a/public/locales/el/modules/rss.json +++ b/public/locales/el/modules/rss.json @@ -12,9 +12,9 @@ "label": "Διάστημα ανανέωσης (σε λεπτά)" }, "dangerousAllowSanitizedItemContent": { - "label": "Επικίνδυνο: Επιτρέψτε φιλτραρισμένο περιεχόμενο αντικειμένων" + "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "Περιορισμός γραμμών κειμένου" } }, diff --git a/public/locales/el/settings/customization/accessibility.json b/public/locales/el/settings/customization/accessibility.json new file mode 100644 index 000000000..950ad2b1e --- /dev/null +++ b/public/locales/el/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Απενεργοποίηση παλμού ping", + "description": "Από προεπιλογή, οι δείκτες ping στο Homarr θα πάλλονται. Αυτό μπορεί να είναι ενοχλητικό. Αυτή η ρύθμιση θα απενεργοποιήσει το παλλόμενο εφέ" + }, + "replaceIconsWithDots": { + "label": "Αντικαταστήστε τις τελείες ping με εικονίδια", + "description": "Για τους χρήστες με αχρωματοψία, οι κουκκίδες ping μπορεί να μην είναι αναγνωρίσιμες. Αυτό θα αντικαταστήσει τις ενδείξεις με εικονίδια" + }, + "alert": "Λείπει κάτι; Ευχαρίστως θα επεκτείνουμε την προσβασιμότητα του Homarr" +} \ No newline at end of file diff --git a/public/locales/el/settings/customization/general.json b/public/locales/el/settings/customization/general.json index a2beee905..1874010d1 100644 --- a/public/locales/el/settings/customization/general.json +++ b/public/locales/el/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Εμφάνιση", "description": "Προσαρμόστε το φόντο, τα χρώματα και την εμφάνιση των εφαρμογών" + }, + "accessibility": { + "name": "Προσβασιμότητα", + "description": "Διαμόρφωση του Homarr για χρήστες με αναπηρία και άτομα με ειδικές ανάγκες" } } -} \ No newline at end of file +} diff --git a/public/locales/el/widgets/error-boundary.json b/public/locales/el/widgets/error-boundary.json index 642a63570..90a04fe3c 100644 --- a/public/locales/el/widgets/error-boundary.json +++ b/public/locales/el/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "Εμφανίστηκε ένα απροσδόκητο σφάλμα. Ελέγξτε τις ρυθμίσεις σας. Παρακαλούμε αναφέρετε αυτό το θέμα, αν πιστεύετε ότι πρόκειται για bug.", + "text": "", "label": "Το σφάλμα σας", "reportButton": "Αναφέρετε αυτό το σφάλμα" } diff --git a/public/locales/en/layout/common.json b/public/locales/en/layout/common.json index 6d0489729..cb0774f39 100644 --- a/public/locales/en/layout/common.json +++ b/public/locales/en/layout/common.json @@ -1,18 +1,18 @@ { "modals": { "blockedPopups": { - "title": "Popups blocked", - "text": "Your browser has blocked Homarr from accessing it's API. This is most commonly caused by AdBlockers or denied permissions. Homarr is unable to request permissions automatically.", + "title": "", + "text": "", "list": { - "browserPermission": "Click on the icon besides the URL and check the permisions. Allow Popups and windows", - "adBlockers": "Disable ad blockers and security tools from your browser", - "otherBrowser": "Try a different browser" + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" } } }, "actions": { "category": { - "openAllInNewTab": "Open all in new tab" + "openAllInNewTab": "" } } } diff --git a/public/locales/en/modules/calendar.json b/public/locales/en/modules/calendar.json index 5b3aefe0f..8fcfdf442 100644 --- a/public/locales/en/modules/calendar.json +++ b/public/locales/en/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr release type" + }, + "hideWeekDays": { + "label": "Hide week days" + }, + "fontSize": { + "label": "Font Size" } } } -} +} \ No newline at end of file diff --git a/public/locales/en/modules/rss.json b/public/locales/en/modules/rss.json index 751cad86e..fc6907fb7 100644 --- a/public/locales/en/modules/rss.json +++ b/public/locales/en/modules/rss.json @@ -12,7 +12,7 @@ "label": "Refresh interval (in minutes)" }, "dangerousAllowSanitizedItemContent": { - "label": "Dangerous: Allow sanitized item content" + "label": "" }, "textLinesClamp": { "label": "Text lines clamp" diff --git a/public/locales/en/settings/customization/accessibility.json b/public/locales/en/settings/customization/accessibility.json new file mode 100644 index 000000000..ce1086664 --- /dev/null +++ b/public/locales/en/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Disable ping pulse", + "description": "By default, ping indicators in Homarr will pulse. This may be irritating. This slider will deactivate the animation" + }, + "replaceIconsWithDots": { + "label": "Replace ping dots with icons", + "description": "For colorblind users, ping dots may be unrecognizable. This will replace indicators with icons" + }, + "alert": "Are you missing something? We'll gladly extend the accessibility of Homarr" +} \ No newline at end of file diff --git a/public/locales/en/settings/customization/general.json b/public/locales/en/settings/customization/general.json index 24610a4bb..358b5158b 100644 --- a/public/locales/en/settings/customization/general.json +++ b/public/locales/en/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Appearance", "description": "Customize the background, colors and apps appearance" + }, + "accessibility": { + "name": "Accessibility", + "description": "Configure Homarr for disabled and handicapped users" } } -} \ No newline at end of file +} diff --git a/public/locales/en/widgets/error-boundary.json b/public/locales/en/widgets/error-boundary.json index cc93a51a3..2087e2540 100644 --- a/public/locales/en/widgets/error-boundary.json +++ b/public/locales/en/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "An unexpected error has occurred. Please check your configuration. Please report this issue, if you believe that this is a bug.", + "text": "", "label": "Your error", "reportButton": "Report this error" } diff --git a/public/locales/en/widgets/location.json b/public/locales/en/widgets/location.json new file mode 100644 index 000000000..d2afe05cd --- /dev/null +++ b/public/locales/en/widgets/location.json @@ -0,0 +1,33 @@ +{ + "form": { + "field": { + "query": "City / postal code", + "latitude": "Latitude", + "longitude": "Longitude" + }, + "button": { + "search": { + "label": "Search", + "disabledTooltip": "Please choose a city / postal code first" + } + }, + "empty": "Unknown location" + }, + "modal": { + "title": "Choose a location", + "table": { + "header": { + "city": "City", + "country": "Country", + "coordinates": "Coordinates", + "population": "Population" + }, + "action": { + "select": "Select {{city}}, {{countryCode}}" + }, + "population": { + "fallback": "Unknown" + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/calendar.json b/public/locales/es/modules/calendar.json index d2bfccb16..422394da0 100644 --- a/public/locales/es/modules/calendar.json +++ b/public/locales/es/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Tipo de release en Radarr" + }, + "hideWeekDays": { + "label": "Ocultar días de la semana" + }, + "fontSize": { + "label": "Tamaño dd fuente" } } } -} +} \ No newline at end of file diff --git a/public/locales/es/modules/date.json b/public/locales/es/modules/date.json index 079523881..d2501c5be 100644 --- a/public/locales/es/modules/date.json +++ b/public/locales/es/modules/date.json @@ -1,9 +1,9 @@ { "descriptor": { - "name": "Fecha y hora", + "name": "Fecha y Hora", "description": "Muestra la fecha y hora actuales.", "settings": { - "title": "Ajustes para el widget Fecha y Hora", + "title": "Ajustes del complemento Fecha y Hora", "display24HourFormat": { "label": "Mostrar hora completa (24 horas)" } diff --git a/public/locales/es/modules/dns-hole-summary.json b/public/locales/es/modules/dns-hole-summary.json index 52f1fd9f6..a2de8ac8d 100644 --- a/public/locales/es/modules/dns-hole-summary.json +++ b/public/locales/es/modules/dns-hole-summary.json @@ -13,8 +13,8 @@ "metrics": { "domainsOnAdlist": "Dominios en listas de anuncios", "queriesToday": "Consultas hoy", - "queriesBlockedTodayPercentage": "bloqueado hoy", - "queriesBlockedToday": "bloqueado hoy" + "queriesBlockedTodayPercentage": "Bloqueado hoy", + "queriesBlockedToday": "Bloqueado hoy" } } } diff --git a/public/locales/es/modules/iframe.json b/public/locales/es/modules/iframe.json index 400729f1d..89a9ad73b 100644 --- a/public/locales/es/modules/iframe.json +++ b/public/locales/es/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Permitir pantalla completa" + }, + "allowTransparency": { + "label": "Permitir transparencia" + }, + "allowScrolling": { + "label": "Permitir desplazamiento" + }, + "allowPayment": { + "label": "Permitir pago" + }, + "allowAutoPlay": { + "label": "Permitir reproducción automática" + }, + "allowMicrophone": { + "label": "Permitir micrófono" + }, + "allowCamera": { + "label": "Permitir cámara" + }, + "allowGeolocation": { + "label": "Permitir geolocalización" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "URL invalida", "text": "Asegúrate de que has introducido una dirección válida en la configuración del widget" } } } -} \ No newline at end of file +} diff --git a/public/locales/es/modules/rss.json b/public/locales/es/modules/rss.json index 2fca94963..fe14288d7 100644 --- a/public/locales/es/modules/rss.json +++ b/public/locales/es/modules/rss.json @@ -14,8 +14,8 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { - "label": "" + "textLinesClamp": { + "label": "Limitar líneas de texto" } }, "card": { diff --git a/public/locales/es/settings/customization/accessibility.json b/public/locales/es/settings/customization/accessibility.json new file mode 100644 index 000000000..0acc0b949 --- /dev/null +++ b/public/locales/es/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Desactivar pulso de ping", + "description": "Por defecto, los indicadores de ping en Homarr parpadearán. Esto puede ser irritante. Este control deslizante desactivará la animación" + }, + "replaceIconsWithDots": { + "label": "Reemplazar puntos de ping por iconos", + "description": "Para usuarios daltónicos, los puntos de ping pueden ser irreconocibles. Esto reemplazará los indicadores por iconos" + }, + "alert": "¿Te estás perdiendo algo? Con gusto ampliaremos la accesibilidad de Homarr" +} \ No newline at end of file diff --git a/public/locales/es/settings/customization/general.json b/public/locales/es/settings/customization/general.json index d5fb72a39..566680f15 100644 --- a/public/locales/es/settings/customization/general.json +++ b/public/locales/es/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Apariencia", "description": "Personaliza el fondo, colores y apariencia de las apps" + }, + "accessibility": { + "name": "Accesibilidad", + "description": "Configurar Homarr para usuarios con discapacidad y minusvalía" } } -} \ No newline at end of file +} diff --git a/public/locales/es/settings/general/search-engine.json b/public/locales/es/settings/general/search-engine.json index 395f6248e..d85023c8b 100644 --- a/public/locales/es/settings/general/search-engine.json +++ b/public/locales/es/settings/general/search-engine.json @@ -2,7 +2,7 @@ "title": "Motor de búsqueda", "configurationName": "Configuración del motor de búsqueda", "tips": { - "generalTip": "¡Hay múltiples prefijos que puedes usar! Añadiéndolos delante de tus consultas, filtrarán los resultados. !s (Web), !t (Torrents), !y (YouTube), and !m (Media).", + "generalTip": "¡Hay múltiples prefijos que puedes usar! Añadiéndolos delante de tus consultas, filtrarán los resultados. !s (Web), !t (Torrents), !y (YouTube), y !m (Media).", "placeholderTip": "%s puede utilizarse como modelo para la petición." }, "customEngine": { diff --git a/public/locales/es/widgets/error-boundary.json b/public/locales/es/widgets/error-boundary.json index cd92b90d4..894e03f69 100644 --- a/public/locales/es/widgets/error-boundary.json +++ b/public/locales/es/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "Hubo un error inesperado. Por favor, comprueba tu configuración, y repórtalo si crees que se trata de un error.", + "text": "", "label": "Tu error", "reportButton": "Reportar este error" } diff --git a/public/locales/fr/modules/calendar.json b/public/locales/fr/modules/calendar.json index b8ac296c2..599ddc409 100644 --- a/public/locales/fr/modules/calendar.json +++ b/public/locales/fr/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Type de sortie Radarr" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/fr/modules/iframe.json b/public/locales/fr/modules/iframe.json index d31b1f61f..241f1be4e 100644 --- a/public/locales/fr/modules/iframe.json +++ b/public/locales/fr/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "Permettre le plein écran" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/fr/modules/rss.json b/public/locales/fr/modules/rss.json index 85e06c1be..04c3a786f 100644 --- a/public/locales/fr/modules/rss.json +++ b/public/locales/fr/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/fr/settings/customization/accessibility.json b/public/locales/fr/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/fr/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/fr/settings/customization/general.json b/public/locales/fr/settings/customization/general.json index 5f940b4ff..ef1458f6a 100644 --- a/public/locales/fr/settings/customization/general.json +++ b/public/locales/fr/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Apparence", "description": "" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/gl/authentication/login.json b/public/locales/gl/authentication/login.json new file mode 100644 index 000000000..7ed1c3bf3 --- /dev/null +++ b/public/locales/gl/authentication/login.json @@ -0,0 +1,27 @@ +{ + "title": "¡Benvido de novo!", + "text": "Por favor, introduza o seu contrasinal", + "form": { + "fields": { + "password": { + "label": "", + "placeholder": "" + } + }, + "buttons": { + "submit": "" + } + }, + "notifications": { + "checking": { + "title": "", + "message": "" + }, + "correct": { + "title": "" + }, + "wrong": { + "title": "" + } + } +} diff --git a/public/locales/gl/common.json b/public/locales/gl/common.json new file mode 100644 index 000000000..90e3734ce --- /dev/null +++ b/public/locales/gl/common.json @@ -0,0 +1,39 @@ +{ + "save": "", + "about": "", + "cancel": "", + "close": "", + "delete": "", + "ok": "", + "edit": "", + "enabled": "", + "disabled": "", + "enableAll": "", + "disableAll": "", + "version": "", + "changePosition": "", + "remove": "", + "removeConfirm": "", + "createItem": "", + "sections": { + "settings": "", + "dangerZone": "" + }, + "secrets": { + "apiKey": "", + "username": "", + "password": "" + }, + "tip": "", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + }, + "loading": "", + "breakPoints": { + "small": "", + "medium": "", + "large": "" + } +} \ No newline at end of file diff --git a/public/locales/gl/layout/common.json b/public/locales/gl/layout/common.json new file mode 100644 index 000000000..cb0774f39 --- /dev/null +++ b/public/locales/gl/layout/common.json @@ -0,0 +1,18 @@ +{ + "modals": { + "blockedPopups": { + "title": "", + "text": "", + "list": { + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" + } + } + }, + "actions": { + "category": { + "openAllInNewTab": "" + } + } +} diff --git a/public/locales/gl/layout/element-selector/selector.json b/public/locales/gl/layout/element-selector/selector.json new file mode 100644 index 000000000..2a4f14e0d --- /dev/null +++ b/public/locales/gl/layout/element-selector/selector.json @@ -0,0 +1,11 @@ +{ + "modal": { + "title": "", + "text": "" + }, + "widgetDescription": "", + "goBack": "", + "actionIcon": { + "tooltip": "" + } +} diff --git a/public/locales/gl/layout/header/actions/toggle-edit-mode.json b/public/locales/gl/layout/header/actions/toggle-edit-mode.json new file mode 100644 index 000000000..b3cfd87be --- /dev/null +++ b/public/locales/gl/layout/header/actions/toggle-edit-mode.json @@ -0,0 +1,11 @@ +{ + "description": "", + "button": { + "disabled": "", + "enabled": "" + }, + "popover": { + "title": "", + "text": "" + } +} diff --git a/public/locales/gl/layout/mobile/drawer.json b/public/locales/gl/layout/mobile/drawer.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/public/locales/gl/layout/mobile/drawer.json @@ -0,0 +1 @@ +{} diff --git a/public/locales/gl/layout/modals/about.json b/public/locales/gl/layout/modals/about.json new file mode 100644 index 000000000..b6fe509b3 --- /dev/null +++ b/public/locales/gl/layout/modals/about.json @@ -0,0 +1,18 @@ +{ + "description": "", + "contact": "", + "addToDashboard": "", + "tip": "", + "key": "", + "action": "", + "keybinds": "", + "metrics": { + "configurationSchemaVersion": "", + "configurationsCount": "", + "version": "", + "nodeEnvironment": "", + "i18n": "", + "locales": "", + "experimental_disableEditMode": "" + } +} \ No newline at end of file diff --git a/public/locales/gl/layout/modals/add-app.json b/public/locales/gl/layout/modals/add-app.json new file mode 100644 index 000000000..1d474d0be --- /dev/null +++ b/public/locales/gl/layout/modals/add-app.json @@ -0,0 +1,76 @@ +{ + "tabs": { + "general": "", + "behaviour": "", + "network": "", + "appearance": "", + "integration": "" + }, + "general": { + "appname": { + "label": "", + "description": "" + }, + "internalAddress": { + "label": "", + "description": "" + }, + "externalAddress": { + "label": "", + "description": "" + } + }, + "behaviour": { + "isOpeningNewTab": { + "label": "", + "description": "" + } + }, + "network": { + "statusChecker": { + "label": "", + "description": "" + }, + "statusCodes": { + "label": "", + "description": "" + } + }, + "appearance": { + "icon": { + "label": "", + "description": "", + "autocomplete": { + "title": "", + "text": "" + }, + "noItems": { + "title": "", + "text": "" + } + } + }, + "integration": { + "type": { + "label": "", + "description": "", + "placeholder": "", + "defined": "", + "undefined": "", + "public": "", + "private": "", + "explanationPrivate": "", + "explanationPublic": "" + }, + "secrets": { + "description": "", + "warning": "", + "clear": "", + "save": "", + "update": "" + } + }, + "validation": { + "popover": "" + } +} diff --git a/public/locales/gl/layout/modals/change-position.json b/public/locales/gl/layout/modals/change-position.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/layout/modals/change-position.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/modules/bookmark.json b/public/locales/gl/modules/bookmark.json new file mode 100644 index 000000000..7b959be28 --- /dev/null +++ b/public/locales/gl/modules/bookmark.json @@ -0,0 +1,21 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "items": { + "label": "" + }, + "layout": { + "label": "" + } + } + }, + "card": { + "noneFound": { + "title": "", + "text": "" + } + } +} diff --git a/public/locales/gl/modules/calendar.json b/public/locales/gl/modules/calendar.json new file mode 100644 index 000000000..453ad8c85 --- /dev/null +++ b/public/locales/gl/modules/calendar.json @@ -0,0 +1,18 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "useSonarrv4": { + "label": "" + }, + "sundayStart": { + "label": "" + }, + "radarrReleaseType": { + "label": "" + } + } + } +} diff --git a/public/locales/gl/modules/common-media-cards.json b/public/locales/gl/modules/common-media-cards.json new file mode 100644 index 000000000..9f6da0682 --- /dev/null +++ b/public/locales/gl/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "", + "request": "" + } +} \ No newline at end of file diff --git a/public/locales/gl/modules/common.json b/public/locales/gl/modules/common.json new file mode 100644 index 000000000..ba4f38a1c --- /dev/null +++ b/public/locales/gl/modules/common.json @@ -0,0 +1,10 @@ +{ + "settings": { + "label": "" + }, + "errors": { + "unmappedOptions": { + "text": "" + } + } +} diff --git a/public/locales/gl/modules/dashdot.json b/public/locales/gl/modules/dashdot.json new file mode 100644 index 000000000..98f45c5c2 --- /dev/null +++ b/public/locales/gl/modules/dashdot.json @@ -0,0 +1,118 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "dashName": { + "label": "" + }, + "url": { + "label": "" + }, + "usePercentages": { + "label": "" + }, + "columns": { + "label": "" + }, + "graphHeight": { + "label": "" + }, + "graphsOrder": { + "label": "", + "storage": { + "label": "", + "enabled": { + "label": "" + }, + "span": { + "label": "" + }, + "compactView": { + "label": "" + }, + "multiView": { + "label": "" + } + }, + "network": { + "label": "", + "enabled": { + "label": "" + }, + "span": { + "label": "" + }, + "compactView": { + "label": "" + } + }, + "cpu": { + "label": "", + "enabled": { + "label": "" + }, + "span": { + "label": "" + }, + "multiView": { + "label": "" + } + }, + "ram": { + "label": "", + "enabled": { + "label": "" + }, + "span": { + "label": "" + } + }, + "gpu": { + "label": "", + "enabled": { + "label": "" + }, + "span": { + "label": "" + } + } + } + } + }, + "card": { + "title": "", + "errors": { + "noService": "", + "noInformation": "", + "protocolDowngrade": { + "title": "", + "text": "" + } + }, + "graphs": { + "storage": { + "title": "", + "label": "" + }, + "network": { + "title": "", + "label": "", + "metrics": { + "download": "", + "upload": "" + } + }, + "cpu": { + "title": "" + }, + "ram": { + "title": "" + }, + "gpu": { + "title": "" + } + } + } +} diff --git a/public/locales/gl/modules/date.json b/public/locales/gl/modules/date.json new file mode 100644 index 000000000..d1437241e --- /dev/null +++ b/public/locales/gl/modules/date.json @@ -0,0 +1,12 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "display24HourFormat": { + "label": "" + } + } + } +} diff --git a/public/locales/gl/modules/dlspeed.json b/public/locales/gl/modules/dlspeed.json new file mode 100644 index 000000000..1dfd395d3 --- /dev/null +++ b/public/locales/gl/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "table": { + "header": { + "name": "", + "size": "", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "", + "progress": "" + }, + "body": { + "nothingFound": "" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + } +} diff --git a/public/locales/gl/modules/dns-hole-controls.json b/public/locales/gl/modules/dns-hole-controls.json new file mode 100644 index 000000000..f8daba13b --- /dev/null +++ b/public/locales/gl/modules/dns-hole-controls.json @@ -0,0 +1,6 @@ +{ + "descriptor": { + "name": "", + "description": "" + } +} \ No newline at end of file diff --git a/public/locales/gl/modules/dns-hole-summary.json b/public/locales/gl/modules/dns-hole-summary.json new file mode 100644 index 000000000..f94bdc701 --- /dev/null +++ b/public/locales/gl/modules/dns-hole-summary.json @@ -0,0 +1,20 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "usePiHoleColors": { + "label": "" + } + } + }, + "card": { + "metrics": { + "domainsOnAdlist": "", + "queriesToday": "", + "queriesBlockedTodayPercentage": "", + "queriesBlockedToday": "" + } + } +} diff --git a/public/locales/gl/modules/docker.json b/public/locales/gl/modules/docker.json new file mode 100644 index 000000000..7346ebe39 --- /dev/null +++ b/public/locales/gl/modules/docker.json @@ -0,0 +1,83 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "search": { + "placeholder": "" + }, + "table": { + "header": { + "name": "", + "image": "", + "ports": "", + "state": "" + }, + "body": { + "portCollapse": "" + }, + "states": { + "running": "", + "created": "", + "stopped": "", + "unknown": "" + } + }, + "actionBar": { + "addService": { + "title": "", + "message": "" + }, + "restart": { + "title": "" + }, + "stop": { + "title": "" + }, + "start": { + "title": "" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "" + }, + "addToHomarr": { + "title": "" + } + }, + "actions": { + "start": { + "start": "", + "end": "" + }, + "stop": { + "start": "", + "end": "" + }, + "restart": { + "start": "", + "end": "" + }, + "remove": { + "start": "", + "end": "" + } + }, + "errors": { + "integrationFailed": { + "title": "", + "message": "" + }, + "unknownError": { + "title": "" + }, + "oneServiceAtATime": { + "title": "" + } + }, + "actionIcon": { + "tooltip": "" + } +} diff --git a/public/locales/gl/modules/iframe.json b/public/locales/gl/modules/iframe.json new file mode 100644 index 000000000..e699016a1 --- /dev/null +++ b/public/locales/gl/modules/iframe.json @@ -0,0 +1,44 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "embedUrl": { + "label": "" + }, + "allowFullScreen": { + "label": "" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" + } + } + }, + "card": { + "errors": { + "noUrl": { + "title": "", + "text": "" + } + } + } +} diff --git a/public/locales/gl/modules/media-requests-list.json b/public/locales/gl/modules/media-requests-list.json new file mode 100644 index 000000000..ff218af5b --- /dev/null +++ b/public/locales/gl/modules/media-requests-list.json @@ -0,0 +1,24 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "replaceLinksWithExternalHost": { + "label": "" + } + } + }, + "noRequests": "", + "pending": "", + "nonePending": "", + "state": { + "approved": "", + "pendingApproval": "", + "declined": "" + }, + "tooltips": { + "approve": "", + "decline": "" + } +} diff --git a/public/locales/gl/modules/media-requests-stats.json b/public/locales/gl/modules/media-requests-stats.json new file mode 100644 index 000000000..0ea9c580e --- /dev/null +++ b/public/locales/gl/modules/media-requests-stats.json @@ -0,0 +1,14 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "" + } + }, + "stats": { + "pending": "", + "tvRequests": "", + "movieRequests": "" + } +} diff --git a/public/locales/gl/modules/media-server.json b/public/locales/gl/modules/media-server.json new file mode 100644 index 000000000..2be958199 --- /dev/null +++ b/public/locales/gl/modules/media-server.json @@ -0,0 +1,24 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "" + } + }, + "card": { + "table": { + "header": { + "session": "", + "user": "", + "currentlyPlaying": "" + } + }, + "errors": { + "general": { + "title": "", + "text": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/gl/modules/overseerr.json b/public/locales/gl/modules/overseerr.json new file mode 100644 index 000000000..e7ff04402 --- /dev/null +++ b/public/locales/gl/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "popup": { + "item": { + "buttons": { + "askFor": "", + "cancel": "", + "request": "" + }, + "alerts": { + "automaticApproval": { + "title": "", + "text": "" + } + } + }, + "seasonSelector": { + "caption": "", + "table": { + "header": { + "season": "", + "numberOfEpisodes": "" + } + } + } + } +} diff --git a/public/locales/gl/modules/ping.json b/public/locales/gl/modules/ping.json new file mode 100644 index 000000000..76a91fe52 --- /dev/null +++ b/public/locales/gl/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "states": { + "online": "", + "offline": "", + "loading": "" + } +} diff --git a/public/locales/gl/modules/rss.json b/public/locales/gl/modules/rss.json new file mode 100644 index 000000000..f65ffa1b9 --- /dev/null +++ b/public/locales/gl/modules/rss.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "rssFeedUrl": { + "label": "", + "description": "" + }, + "refreshInterval": { + "label": "" + }, + "dangerousAllowSanitizedItemContent": { + "label": "" + }, + "textLinesClamp": { + "label": "" + } + }, + "card": { + "errors": { + "general": { + "title": "", + "text": "" + } + } + } + } +} diff --git a/public/locales/gl/modules/search.json b/public/locales/gl/modules/search.json new file mode 100644 index 000000000..16651d720 --- /dev/null +++ b/public/locales/gl/modules/search.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "input": { + "placeholder": "" + }, + "switched-to": "", + "searchEngines": { + "search": { + "name": "", + "description": "" + }, + "youtube": { + "name": "", + "description": "" + }, + "torrents": { + "name": "", + "description": "" + }, + "overseerr": { + "name": "", + "description": "" + } + }, + "tip": "", + "switchedSearchEngine": "" +} diff --git a/public/locales/gl/modules/torrents-status.json b/public/locales/gl/modules/torrents-status.json new file mode 100644 index 000000000..8d82a12a8 --- /dev/null +++ b/public/locales/gl/modules/torrents-status.json @@ -0,0 +1,80 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "refreshInterval": { + "label": "" + }, + "displayCompletedTorrents": { + "label": "" + }, + "displayStaleTorrents": { + "label": "" + }, + "labelFilterIsWhitelist": { + "label": "" + }, + "labelFilter": { + "label": "", + "description": "" + } + } + }, + "card": { + "footer": { + "error": "", + "lastUpdated": "" + }, + "table": { + "header": { + "name": "", + "size": "", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "", + "progress": "" + }, + "item": { + "text": "" + }, + "body": { + "nothingFound": "", + "filterHidingItems": "" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + }, + "generic": { + "title": "", + "text": "" + } + }, + "loading": { + "title": "" + }, + "popover": { + "introductionPrefix": "", + "metrics": { + "queuePosition": "", + "progress": "", + "totalSelectedSize": "", + "state": "", + "ratio": "", + "completed": "" + } + } + } +} diff --git a/public/locales/gl/modules/usenet.json b/public/locales/gl/modules/usenet.json new file mode 100644 index 000000000..b223d452d --- /dev/null +++ b/public/locales/gl/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "", + "size": "", + "eta": "", + "progress": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "", + "size": "", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/gl/modules/video-stream.json b/public/locales/gl/modules/video-stream.json new file mode 100644 index 000000000..539daa1c4 --- /dev/null +++ b/public/locales/gl/modules/video-stream.json @@ -0,0 +1,24 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "FeedUrl": { + "label": "" + }, + "autoPlay": { + "label": "" + }, + "muted": { + "label": "" + }, + "controls": { + "label": "" + } + } + }, + "errors": { + "invalidStream": "" + } +} \ No newline at end of file diff --git a/public/locales/gl/modules/weather.json b/public/locales/gl/modules/weather.json new file mode 100644 index 000000000..bdab2308a --- /dev/null +++ b/public/locales/gl/modules/weather.json @@ -0,0 +1,33 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "title": "", + "displayInFahrenheit": { + "label": "" + }, + "location": { + "label": "" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "", + "mainlyClear": "", + "fog": "", + "drizzle": "", + "freezingDrizzle": "", + "rain": "", + "freezingRain": "", + "snowFall": "", + "snowGrains": "", + "rainShowers": "", + "snowShowers": "", + "thunderstorm": "", + "thunderstormWithHail": "", + "unknown": "" + } + } +} diff --git a/public/locales/gl/settings/common.json b/public/locales/gl/settings/common.json new file mode 100644 index 000000000..8ff0e555a --- /dev/null +++ b/public/locales/gl/settings/common.json @@ -0,0 +1,38 @@ +{ + "title": "", + "tooltip": "", + "tabs": { + "common": "", + "customizations": "" + }, + "tips": { + "configTip": "" + }, + "credits": { + "madeWithLove": "", + "thirdPartyContent": "", + "thirdPartyContentTable": { + "dependencyName": "", + "dependencyVersion": "" + } + }, + "grow": "", + "layout": { + "preview": { + "title": "", + "subtitle": "" + }, + "divider": "", + "main": "", + "sidebar": "", + "cannotturnoff": "", + "dashboardlayout": "", + "enablersidebar": "", + "enablelsidebar": "", + "enablesearchbar": "", + "enabledocker": "", + "enableping": "", + "enablelsidebardesc": "", + "enablersidebardesc": "" + } +} diff --git a/public/locales/gl/settings/customization/accessibility.json b/public/locales/gl/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/gl/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/gl/settings/customization/app-width.json b/public/locales/gl/settings/customization/app-width.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/settings/customization/app-width.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/settings/customization/color-selector.json b/public/locales/gl/settings/customization/color-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/settings/customization/color-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/settings/customization/general.json b/public/locales/gl/settings/customization/general.json new file mode 100644 index 000000000..2e9b08103 --- /dev/null +++ b/public/locales/gl/settings/customization/general.json @@ -0,0 +1,25 @@ +{ + "text": "", + "accordeon": { + "layout": { + "name": "", + "description": "" + }, + "gridstack": { + "name": "", + "description": "" + }, + "pageMetadata": { + "name": "", + "description": "" + }, + "appereance": { + "name": "", + "description": "" + }, + "accessibility": { + "name": "", + "description": "" + } + } +} diff --git a/public/locales/gl/settings/customization/gridstack.json b/public/locales/gl/settings/customization/gridstack.json new file mode 100644 index 000000000..18c3d8233 --- /dev/null +++ b/public/locales/gl/settings/customization/gridstack.json @@ -0,0 +1,10 @@ +{ + "columnsCount": { + "labelPreset": "", + "descriptionPreset": "", + "descriptionExceedsPreset": "" + }, + "unsavedChanges": "", + "applyChanges": "", + "defaultValues": "" +} \ No newline at end of file diff --git a/public/locales/gl/settings/customization/opacity-selector.json b/public/locales/gl/settings/customization/opacity-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/settings/customization/opacity-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/settings/customization/page-appearance.json b/public/locales/gl/settings/customization/page-appearance.json new file mode 100644 index 000000000..79e9e7c94 --- /dev/null +++ b/public/locales/gl/settings/customization/page-appearance.json @@ -0,0 +1,30 @@ +{ + "pageTitle": { + "label": "", + "description": "" + }, + "metaTitle": { + "label": "", + "description": "" + }, + "logo": { + "label": "", + "description": "" + }, + "favicon": { + "label": "", + "description": "" + }, + "background": { + "label": "" + }, + "customCSS": { + "label": "", + "description": "", + "placeholder": "", + "applying": "" + }, + "buttons": { + "submit": "" + } +} diff --git a/public/locales/gl/settings/customization/shade-selector.json b/public/locales/gl/settings/customization/shade-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/settings/customization/shade-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/settings/general/color-schema.json b/public/locales/gl/settings/general/color-schema.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/settings/general/color-schema.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/settings/general/config-changer.json b/public/locales/gl/settings/general/config-changer.json new file mode 100644 index 000000000..dc8f3ea4b --- /dev/null +++ b/public/locales/gl/settings/general/config-changer.json @@ -0,0 +1,86 @@ +{ + "configSelect": { + "label": "", + "description": "", + "loadingNew": "", + "pleaseWait": "" + }, + "modal": { + "copy": { + "title": "", + "form": { + "configName": { + "label": "", + "validation": { + "required": "", + "notUnique": "" + }, + "placeholder": "" + }, + "submitButton": "" + }, + "events": { + "configSaved": { + "title": "", + "message": "" + }, + "configCopied": { + "title": "", + "message": "" + }, + "configNotCopied": { + "title": "", + "message": "" + } + } + }, + "confirmDeletion": { + "title": "", + "warningText": "", + "text": "", + "buttons": { + "confirm": "" + } + } + }, + "buttons": { + "download": "", + "delete": { + "text": "", + "notifications": { + "deleted": { + "title": "", + "message": "" + }, + "deleteFailed": { + "title": "", + "message": "" + }, + "deleteFailedDefaultConfig": { + "title": "", + "message": "" + } + } + }, + "saveCopy": "" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "", + "message": "" + }, + "loadedSuccessfully": { + "title": "" + } + }, + "accept": { + "title": "", + "text": "" + }, + "reject": { + "title": "", + "text": "" + } + } +} diff --git a/public/locales/gl/settings/general/internationalization.json b/public/locales/gl/settings/general/internationalization.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/settings/general/internationalization.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/settings/general/search-engine.json b/public/locales/gl/settings/general/search-engine.json new file mode 100644 index 000000000..9cb91483a --- /dev/null +++ b/public/locales/gl/settings/general/search-engine.json @@ -0,0 +1,19 @@ +{ + "title": "", + "configurationName": "", + "tips": { + "generalTip": "", + "placeholderTip": "" + }, + "customEngine": { + "title": "", + "label": "", + "placeholder": "" + }, + "searchNewTab": { + "label": "" + }, + "searchEnabled": { + "label": "" + } +} diff --git a/public/locales/gl/settings/general/theme-selector.json b/public/locales/gl/settings/general/theme-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/gl/settings/general/theme-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/gl/settings/general/widget-positions.json b/public/locales/gl/settings/general/widget-positions.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/public/locales/gl/settings/general/widget-positions.json @@ -0,0 +1 @@ +{} diff --git a/public/locales/gl/widgets/draggable-list.json b/public/locales/gl/widgets/draggable-list.json new file mode 100644 index 000000000..5d27e99ad --- /dev/null +++ b/public/locales/gl/widgets/draggable-list.json @@ -0,0 +1,7 @@ +{ + "noEntries": { + "title": "", + "text": "" + }, + "buttonAdd": "" +} diff --git a/public/locales/gl/widgets/error-boundary.json b/public/locales/gl/widgets/error-boundary.json new file mode 100644 index 000000000..ce74ad0fc --- /dev/null +++ b/public/locales/gl/widgets/error-boundary.json @@ -0,0 +1,14 @@ +{ + "card": { + "title": "", + "buttons": { + "details": "", + "tryAgain": "" + } + }, + "modal": { + "text": "", + "label": "", + "reportButton": "" + } +} diff --git a/public/locales/he/layout/common.json b/public/locales/he/layout/common.json index edc28b3e9..cb0774f39 100644 --- a/public/locales/he/layout/common.json +++ b/public/locales/he/layout/common.json @@ -1,18 +1,18 @@ { "modals": { "blockedPopups": { - "title": "חלונות קופצים חסומים", - "text": "הדפדפן שלך חסם את Homarr מגישה ל-API שלו. זה נגרם לרוב על ידי חוסם פרסומות או דחיית הרשאות. Homarr אינו מסוגל לבקש הרשאות באופן אוטומטי.", + "title": "", + "text": "", "list": { - "browserPermission": "לחץ על הסמל לצד כתובת האתר ובדוק את ההרשאות. אפשר חלונות קופצים וחלונות", - "adBlockers": "השבת את חוסמי המודעות וכלי האבטחה מהדפדפן שלך", - "otherBrowser": "נסה דפדפן אחר" + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" } } }, "actions": { "category": { - "openAllInNewTab": "פתח הכל בכרטיסייה חדשה" + "openAllInNewTab": "" } } } diff --git a/public/locales/he/modules/calendar.json b/public/locales/he/modules/calendar.json index eaa388092..d765bbe77 100644 --- a/public/locales/he/modules/calendar.json +++ b/public/locales/he/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "סוג שחרור של Radarr" + }, + "hideWeekDays": { + "label": "הסתר ימי שבוע" + }, + "fontSize": { + "label": "גודל גופן" } } } -} +} \ No newline at end of file diff --git a/public/locales/he/modules/iframe.json b/public/locales/he/modules/iframe.json index 3d4eb4e11..454483857 100644 --- a/public/locales/he/modules/iframe.json +++ b/public/locales/he/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "הרשאה למסך מלא" + }, + "allowTransparency": { + "label": "אפשר שקיפות" + }, + "allowScrolling": { + "label": "אפשר גלילה" + }, + "allowPayment": { + "label": "אפשר תשלום" + }, + "allowAutoPlay": { + "label": "אפשר הפעלה אוטומטית" + }, + "allowMicrophone": { + "label": "אפשר מיקרופון" + }, + "allowCamera": { + "label": "אפשר מצלמה" + }, + "allowGeolocation": { + "label": "אפשר מיקום גיאוגרפי" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "קישור לא תקין", "text": "ודא שהזנת כתובת חוקית בתצורת הווידג'ט שלך" } } } -} \ No newline at end of file +} diff --git a/public/locales/he/modules/rss.json b/public/locales/he/modules/rss.json index c7ed10104..4461d3800 100644 --- a/public/locales/he/modules/rss.json +++ b/public/locales/he/modules/rss.json @@ -12,9 +12,9 @@ "label": "מרווח הזמן לרענון (בשניות)" }, "dangerousAllowSanitizedItemContent": { - "label": "מסוכן: אפשר תוכן פריט מנוקה" + "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "הגבלת שורות טקסט" } }, diff --git a/public/locales/he/settings/customization/accessibility.json b/public/locales/he/settings/customization/accessibility.json new file mode 100644 index 000000000..af552b9ca --- /dev/null +++ b/public/locales/he/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "השבת את דופק הפינג", + "description": "כברירת מחדל, מחווני ping ב-Homarr יפעמו. זה עשוי להיות מעצבן. המחוון הזה ישבית את האנימציה" + }, + "replaceIconsWithDots": { + "label": "החלף את נקודות הפינג בסמלים", + "description": "עבור משתמשים עיוורי צבעים, נקודות פינג עשויות להיות בלתי ניתנות לזיהוי. זה יחליף אינדיקטורים בסמלים" + }, + "alert": "חסר לך משהו? נשמח להרחיב את הנגישות של Homarr" +} \ No newline at end of file diff --git a/public/locales/he/settings/customization/general.json b/public/locales/he/settings/customization/general.json index 2d9bec07f..8bdf4649f 100644 --- a/public/locales/he/settings/customization/general.json +++ b/public/locales/he/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "מראה", "description": "התאם אישית את הרקע, הצבעים ומראה האפליקציות" + }, + "accessibility": { + "name": "נגישות", + "description": "הגדר את Homarr עבור משתמשים מוגבלים ונכים" } } -} \ No newline at end of file +} diff --git a/public/locales/he/widgets/error-boundary.json b/public/locales/he/widgets/error-boundary.json index 70abd262a..7ea684985 100644 --- a/public/locales/he/widgets/error-boundary.json +++ b/public/locales/he/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "שגיאה בלתי צפויה התרחשה. אנא בדוק את התצורה שלך. אנא דווח על בעיה זו, אם אתה מאמין שזה באג.", + "text": "", "label": "השגיאה שלך", "reportButton": "דווח על שגיאה זו" } diff --git a/public/locales/hr/authentication/login.json b/public/locales/hr/authentication/login.json new file mode 100644 index 000000000..f82452fe7 --- /dev/null +++ b/public/locales/hr/authentication/login.json @@ -0,0 +1,27 @@ +{ + "title": "Dobro došli natrag!", + "text": "Molimo unesite Vašu lozinku", + "form": { + "fields": { + "password": { + "label": "Lozinka", + "placeholder": "Vaša lozinka" + } + }, + "buttons": { + "submit": "Prijavi se" + } + }, + "notifications": { + "checking": { + "title": "Provjeravam Vašu lozinku", + "message": "Vaša lozinka se provjerava..." + }, + "correct": { + "title": "Prijavljivanje je uspješno, preusmjeravam..." + }, + "wrong": { + "title": "Lozinka koju ste unijeli nije ispravna, molim pokušajte ponovno." + } + } +} diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json new file mode 100644 index 000000000..616d17ca8 --- /dev/null +++ b/public/locales/hr/common.json @@ -0,0 +1,39 @@ +{ + "save": "Spremi", + "about": "O aplikaciji", + "cancel": "Otkaži", + "close": "Zatvori", + "delete": "Obriši", + "ok": "U REDU", + "edit": "Uredi", + "enabled": "Omogućeno", + "disabled": "Onemogućeno", + "enableAll": "Omogući sve", + "disableAll": "Onemogući sve", + "version": "Verzija", + "changePosition": "Promijenjen položaj", + "remove": "Ukloni", + "removeConfirm": "Jeste li sigurni da želite ukloniti {{item}}?", + "createItem": "+ kreiraj {{item}}", + "sections": { + "settings": "Postavke", + "dangerZone": "Opasna zona" + }, + "secrets": { + "apiKey": "API ključ", + "username": "Korisničko ime", + "password": "Lozinka" + }, + "tip": "Savjet: ", + "time": { + "seconds": "sekunde", + "minutes": "minute", + "hours": "sati" + }, + "loading": "Učitavam...", + "breakPoints": { + "small": "malo", + "medium": "srednje", + "large": "veliko" + } +} \ No newline at end of file diff --git a/public/locales/hr/layout/common.json b/public/locales/hr/layout/common.json new file mode 100644 index 000000000..cb0774f39 --- /dev/null +++ b/public/locales/hr/layout/common.json @@ -0,0 +1,18 @@ +{ + "modals": { + "blockedPopups": { + "title": "", + "text": "", + "list": { + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" + } + } + }, + "actions": { + "category": { + "openAllInNewTab": "" + } + } +} diff --git a/public/locales/hr/layout/element-selector/selector.json b/public/locales/hr/layout/element-selector/selector.json new file mode 100644 index 000000000..c500d13c3 --- /dev/null +++ b/public/locales/hr/layout/element-selector/selector.json @@ -0,0 +1,11 @@ +{ + "modal": { + "title": "Dodaj novu ploču", + "text": "Ploče su glavni element Homarr-a. Koriste se za prikaz vaših aplikacija i drugih informacija. Možete dodati koliko god ploča želite." + }, + "widgetDescription": "Widgeti komuniciraju s vašim aplikacijama kako bi vam pružili veću kontrolu nad istima. Obično zahtijevaju dodatnu konfiguraciju prije upotrebe.", + "goBack": "Vrati se na prijašnji korak", + "actionIcon": { + "tooltip": "Dodaj ploču" + } +} diff --git a/public/locales/hr/layout/header/actions/toggle-edit-mode.json b/public/locales/hr/layout/header/actions/toggle-edit-mode.json new file mode 100644 index 000000000..60af5392b --- /dev/null +++ b/public/locales/hr/layout/header/actions/toggle-edit-mode.json @@ -0,0 +1,11 @@ +{ + "description": "U načinu uređivanja možete prilagoditi ploče i konfigurirati aplikacije. Promjene se ne spremaju sve dok ne izađete iz načina uređivanja.", + "button": { + "disabled": "Uđi u Način Uređivanja", + "enabled": "Izađi i Spasi" + }, + "popover": { + "title": "Način uređivanja je omogućen za veličinu <1>{{size}}", + "text": "Sada možete prilagoditi i konfigurirati svoje aplikacije. Promjene se neće spremiti sve dok ne izađete iz načina uređivanja" + } +} diff --git a/public/locales/hr/layout/mobile/drawer.json b/public/locales/hr/layout/mobile/drawer.json new file mode 100644 index 000000000..3c139011a --- /dev/null +++ b/public/locales/hr/layout/mobile/drawer.json @@ -0,0 +1,3 @@ +{ + "title": "{{position}} bočna traka" +} diff --git a/public/locales/hr/layout/modals/about.json b/public/locales/hr/layout/modals/about.json new file mode 100644 index 000000000..d4ce07d65 --- /dev/null +++ b/public/locales/hr/layout/modals/about.json @@ -0,0 +1,18 @@ +{ + "description": "Homarr je elegantna, moderna nadzorna ploča koja vam omogućuje pristup svim vašim aplikacijama i uslugama na dohvat ruke. S Homarrom možete pristupiti i kontrolirati sve na jednom praktičnom mjestu. Homarr se besprijekorno integrira s dodanim aplikacijama, pružajući vam vrijedne informacije i potpunu kontrolu. Instalacija je jednostavna, a Homarr podržava širok raspon metoda implementacije.", + "contact": "Imate li problema ili pitanja? Povežite se s nama!", + "addToDashboard": "Dodaj na nadzornu ploču", + "tip": "Mod se odnosi na tipku modifikatora, to su Ctrl i Command/Super/Windows tipka", + "key": "Tipka prečaca", + "action": "Radnja", + "keybinds": "Namještanje tipki", + "metrics": { + "configurationSchemaVersion": "Konfiguracija verzije sheme", + "configurationsCount": "Dostupna konfiguracija", + "version": "Verzija", + "nodeEnvironment": "Okruženje čvora", + "i18n": "Učitani I18n prostori za prijevod", + "locales": "Konfigurirani I18n lokaliteti", + "experimental_disableEditMode": "EXPERIMENTALNO: Onemogući način uređivanja" + } +} \ No newline at end of file diff --git a/public/locales/hr/layout/modals/add-app.json b/public/locales/hr/layout/modals/add-app.json new file mode 100644 index 000000000..c1dbc2e77 --- /dev/null +++ b/public/locales/hr/layout/modals/add-app.json @@ -0,0 +1,76 @@ +{ + "tabs": { + "general": "Općenito", + "behaviour": "Ponašanje", + "network": "Mreža", + "appearance": "Izgled", + "integration": "Integracija" + }, + "general": { + "appname": { + "label": "Naziv aplikacije", + "description": "Koristi se za prikazivanje aplikacije na nadzornoj ploči." + }, + "internalAddress": { + "label": "Interna adresa", + "description": "Interna IP-adresa aplikacije." + }, + "externalAddress": { + "label": "Vanjska adresa", + "description": "URL koji će se otvoriti prilikom klika na aplikaciju." + } + }, + "behaviour": { + "isOpeningNewTab": { + "label": "Otvori u novoj kartici", + "description": "Otvori aplikaciju u novoj kartici umjesto u trenutnoj." + } + }, + "network": { + "statusChecker": { + "label": "Provjeritelj statusa", + "description": "Provjerava je li vaša aplikacija online pomoću jednostavnog HTTP(S) zahtjeva." + }, + "statusCodes": { + "label": "HTTP statusni kodovi", + "description": "HTTP statusni kodovi koji se smatraju kao online." + } + }, + "appearance": { + "icon": { + "label": "Ikona Aplikacije", + "description": "Počnite tipkati kako biste pronašli ikonu. Također možete zalijepiti URL slike kako biste koristili prilagođenu ikonu.", + "autocomplete": { + "title": "Nije pronađen nijedan rezultat", + "text": "Pokušajte koristiti precizniji pojam za pretraživanje kako biste pronašli željenu ikonu. Ako je ne možete pronaći, možete zalijepiti URL slike iznad kako biste koristili prilagođenu ikonu" + }, + "noItems": { + "title": "Učitavanje vanjskih ikona", + "text": "Ovo može potrajati nekoliko sekundi" + } + } + }, + "integration": { + "type": { + "label": "Konfiguracija integracije", + "description": "Konfiguracija integracije koja će se koristiti za povezivanje s vašom aplikacijom.", + "placeholder": "Odaberite integraciju", + "defined": "Definirano", + "undefined": "Nedefinirano", + "public": "Javno", + "private": "Privatno", + "explanationPrivate": "Privatna tajna će biti poslana serveru samo jednom. Nakon što se vaš preglednik osvježi, više je neće poslati.", + "explanationPublic": "Javna tajna će uvijek biti poslana klijentu i dostupna putem API-ja. Ne bi trebala sadržavati povjerljive vrijednosti poput korisničkih imena, lozinki, tokena, certifikata i slično!" + }, + "secrets": { + "description": "Za ažuriranje tajne, unesite vrijednost i kliknite gumb za spremanje. Za uklanjanje tajne, koristite gumb za brisanje.", + "warning": "Vaši pristupni podaci služe kao pristup za vaše integracije i nikada ih ne biste trebali dijeliti s drugima. Tim Homarr tim nikada neće tražiti pristupne podatke. Pazite da sigurno pohranjujete i upravljate svojim tajnama.", + "clear": "Brisanje tajni", + "save": "Spasi tajnu", + "update": "Ažuriraj tajnu" + } + }, + "validation": { + "popover": "Vaš obrazac sadrži neispravne podatke. Stoga se ne može spremiti. Molimo riješite sve probleme i ponovno kliknite ovaj gumb da biste spremili promjene" + } +} diff --git a/public/locales/hr/layout/modals/change-position.json b/public/locales/hr/layout/modals/change-position.json new file mode 100644 index 000000000..988c8da4c --- /dev/null +++ b/public/locales/hr/layout/modals/change-position.json @@ -0,0 +1,8 @@ +{ + "xPosition": "X-os pozicija", + "width": "Širina", + "height": "Visina", + "yPosition": "Y-os pozicija", + "zeroOrHigher": "0 ili više", + "betweenXandY": "Između {{min}} i {{max}}" +} \ No newline at end of file diff --git a/public/locales/hr/modules/bookmark.json b/public/locales/hr/modules/bookmark.json new file mode 100644 index 000000000..528c875d0 --- /dev/null +++ b/public/locales/hr/modules/bookmark.json @@ -0,0 +1,21 @@ +{ + "descriptor": { + "name": "Oznaka", + "description": "Prikazuje statičan popis nizova ili veza", + "settings": { + "title": "Postavke oznake", + "items": { + "label": "Stavke" + }, + "layout": { + "label": "Raspored" + } + } + }, + "card": { + "noneFound": { + "title": "Popis oznaka prazan", + "text": "Dodajte nove stavke u ovaj popis u načinu uređivanja" + } + } +} diff --git a/public/locales/hr/modules/calendar.json b/public/locales/hr/modules/calendar.json new file mode 100644 index 000000000..ba036c61f --- /dev/null +++ b/public/locales/hr/modules/calendar.json @@ -0,0 +1,24 @@ +{ + "descriptor": { + "name": "Kalendar", + "description": "Prikazuje kalendar s nadolazećim izdanjima iz podržanih integracija.", + "settings": { + "title": "Postavke za widget kalendara", + "useSonarrv4": { + "label": "Koristi Sonarr v4 API" + }, + "sundayStart": { + "label": "Započni tjedan u Nedjelju" + }, + "radarrReleaseType": { + "label": "Vrsta izdanja u Radarr-u" + }, + "hideWeekDays": { + "label": "Sakri dane u tjednu" + }, + "fontSize": { + "label": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/hr/modules/common-media-cards.json b/public/locales/hr/modules/common-media-cards.json new file mode 100644 index 000000000..022266bd7 --- /dev/null +++ b/public/locales/hr/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Pokreni", + "request": "Zatraži" + } +} \ No newline at end of file diff --git a/public/locales/hr/modules/common.json b/public/locales/hr/modules/common.json new file mode 100644 index 000000000..fac3c7f73 --- /dev/null +++ b/public/locales/hr/modules/common.json @@ -0,0 +1,10 @@ +{ + "settings": { + "label": "Postavke" + }, + "errors": { + "unmappedOptions": { + "text": "" + } + } +} diff --git a/public/locales/hr/modules/dashdot.json b/public/locales/hr/modules/dashdot.json new file mode 100644 index 000000000..18b2c462e --- /dev/null +++ b/public/locales/hr/modules/dashdot.json @@ -0,0 +1,118 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Prikazuje grafikone vanjske Dash instance unutar Homarr-a.", + "settings": { + "title": "Postavke za Dash. Widget", + "dashName": { + "label": "Dash. Naziv" + }, + "url": { + "label": "Dash. URL" + }, + "usePercentages": { + "label": "Prikaži postotke" + }, + "columns": { + "label": "Prikaži stupce" + }, + "graphHeight": { + "label": "Visina za grafove" + }, + "graphsOrder": { + "label": "Grafovi (Redoslijed)", + "storage": { + "label": "Pohrana", + "enabled": { + "label": "Prikaži u widgetu" + }, + "span": { + "label": "Proširenje stupca" + }, + "compactView": { + "label": "Prikaži kao tekst (kompaktno)" + }, + "multiView": { + "label": "Prikaži kao multi-drive-view" + } + }, + "network": { + "label": "Mreža", + "enabled": { + "label": "Prikaži u widgetu" + }, + "span": { + "label": "Proširenje stupca" + }, + "compactView": { + "label": "Prikaži kao tekst (kompaktno)" + } + }, + "cpu": { + "label": "CPU", + "enabled": { + "label": "Prikaži u widgetu" + }, + "span": { + "label": "Proširenje stupca" + }, + "multiView": { + "label": "Prikaži kao multi-core-view" + } + }, + "ram": { + "label": "RAM", + "enabled": { + "label": "Prikaži u widgetu" + }, + "span": { + "label": "Proširenje stupca" + } + }, + "gpu": { + "label": "GPU", + "enabled": { + "label": "Prikaži u widgetu" + }, + "span": { + "label": "Proširenje stupca" + } + } + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Nije pronađena usluga Dash. Molim vas dodajte je na svoju Homarr nadzornu ploču ili postavite Dash URL u opcijama modula", + "noInformation": "Nije moguće dobiti informacije iz Dash-a. - Jeste li pokrenuli najnoviju verziju?", + "protocolDowngrade": { + "title": "Detektirano snižavanje protokola", + "text": "Veza s vašom Dash. instancom koristi HTTP. To predstavlja sigurnosni rizik jer je HTTP nešifriran, a napadači mogu zloupotrijebiti tu vezu. Provjerite je li Dash. postavljen da koristi HTTPS ili snizite Homarr na HTTP (nije preporučljivo)." + } + }, + "graphs": { + "storage": { + "title": "Pohrana", + "label": "Pohrana:" + }, + "network": { + "title": "Mreža", + "label": "Mreža:", + "metrics": { + "download": "Isključeno", + "upload": "Uključeno" + } + }, + "cpu": { + "title": "CPU" + }, + "ram": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} diff --git a/public/locales/hr/modules/date.json b/public/locales/hr/modules/date.json new file mode 100644 index 000000000..d9a16c333 --- /dev/null +++ b/public/locales/hr/modules/date.json @@ -0,0 +1,12 @@ +{ + "descriptor": { + "name": "Datum i Vrijeme", + "description": "Prikaži trenutni datum i vrijeme.", + "settings": { + "title": "Postavke za widget Datuma i Vremena", + "display24HourFormat": { + "label": "Prikaži full-time oblik (24-satni)" + } + } + } +} diff --git a/public/locales/hr/modules/dlspeed.json b/public/locales/hr/modules/dlspeed.json new file mode 100644 index 000000000..91b9ed0c6 --- /dev/null +++ b/public/locales/hr/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Brzina preuzimanja", + "description": "Prikazuje brzinu preuzimanja i brzinu otpremanja podržanih integracija." + }, + "card": { + "table": { + "header": { + "name": "Naziv", + "size": "Veličina", + "download": "Isključeno", + "upload": "Uključeno", + "estimatedTimeOfArrival": "ETA", + "progress": "Napredak" + }, + "body": { + "nothingFound": "Nema pronađenih torrenata" + } + }, + "lineChart": { + "title": "Trenutna brzina preuzimanja", + "download": "Preuzimanje: {{download}}", + "upload": "Otpremanje: {{upload}}", + "timeSpan": "{{seconds}} sekundi", + "totalDownload": "Preuzimanje: {{download}}/s", + "totalUpload": "Otpremanje: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Nisu pronađeni podržani klijenti za preuzimanja!", + "text": "Dodajte uslugu preuzimanja kako biste vidjeli svoja trenutna preuzimanja" + } + } + } +} diff --git a/public/locales/hr/modules/dns-hole-controls.json b/public/locales/hr/modules/dns-hole-controls.json new file mode 100644 index 000000000..9badbc6f0 --- /dev/null +++ b/public/locales/hr/modules/dns-hole-controls.json @@ -0,0 +1,6 @@ +{ + "descriptor": { + "name": "Kontrole DNS \"hole\"", + "description": "Upravljajte PiHole ili AdGuard iz svoje nadzorne ploče" + } +} \ No newline at end of file diff --git a/public/locales/hr/modules/dns-hole-summary.json b/public/locales/hr/modules/dns-hole-summary.json new file mode 100644 index 000000000..e0b203573 --- /dev/null +++ b/public/locales/hr/modules/dns-hole-summary.json @@ -0,0 +1,20 @@ +{ + "descriptor": { + "name": "Sažetak DNS \"hole\"", + "description": "Prikazuje važne podatke iz PiHole-a ili AdGuard-a", + "settings": { + "title": "Postavke za sažetak DNS \"hole\"", + "usePiHoleColors": { + "label": "Koristi boje iz PiHole-a" + } + } + }, + "card": { + "metrics": { + "domainsOnAdlist": "Domenae na popisu blokiranih", + "queriesToday": "Upiti danas", + "queriesBlockedTodayPercentage": "blokirano danas", + "queriesBlockedToday": "blokirano danas" + } + } +} diff --git a/public/locales/hr/modules/docker.json b/public/locales/hr/modules/docker.json new file mode 100644 index 000000000..bcce6709e --- /dev/null +++ b/public/locales/hr/modules/docker.json @@ -0,0 +1,83 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Omogućuje vam jednostavan pregled i upravljanje svim vašim Docker kontejnerima." + }, + "search": { + "placeholder": "Pretraživanje po nazivu kontejnera ili slike kontejnera" + }, + "table": { + "header": { + "name": "Naziv", + "image": "Slika", + "ports": "Portovi", + "state": "Stanje" + }, + "body": { + "portCollapse": "{{ports}} više" + }, + "states": { + "running": "U radu", + "created": "Kreirano", + "stopped": "Zaustavljeno", + "unknown": "Nepoznato" + } + }, + "actionBar": { + "addService": { + "title": "Dodaj aplikaciju", + "message": "Dodaj aplikaciju u Homarr" + }, + "restart": { + "title": "Ponovo pokreni" + }, + "stop": { + "title": "Zaustavi" + }, + "start": { + "title": "Pokreni" + }, + "refreshData": { + "title": "Osvježi podatke" + }, + "remove": { + "title": "Ukloni" + }, + "addToHomarr": { + "title": "Dodaj u Homarr" + } + }, + "actions": { + "start": { + "start": "Pokretanje", + "end": "Pokrenuto" + }, + "stop": { + "start": "Zaustavljanje", + "end": "Zaustavljeno" + }, + "restart": { + "start": "Ponovno pokretanje", + "end": "Ponovno pokrenuto" + }, + "remove": { + "start": "Uklanjam", + "end": "Uklonjeno" + } + }, + "errors": { + "integrationFailed": { + "title": "Docker integracija nije uspjela", + "message": "Jeste li zaboravili montirati Docker socket?" + }, + "unknownError": { + "title": "Došlo je do pogreške" + }, + "oneServiceAtATime": { + "title": "Molimo dodajte samo jednu aplikaciju ili uslugu odjednom!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} diff --git a/public/locales/hr/modules/iframe.json b/public/locales/hr/modules/iframe.json new file mode 100644 index 000000000..e3947d9df --- /dev/null +++ b/public/locales/hr/modules/iframe.json @@ -0,0 +1,44 @@ +{ + "descriptor": { + "name": "iFrame", + "description": "Ugradite bilo koji sadržaj s interneta. Neke web stranice mogu ograničiti pristup.", + "settings": { + "title": "iFrame postavke", + "embedUrl": { + "label": "Ugradbeni URL" + }, + "allowFullScreen": { + "label": "Dopusti puni zaslon" + }, + "allowTransparency": { + "label": "Dopusti prozirnost" + }, + "allowScrolling": { + "label": "Dopusti klizanje (scrollanje)" + }, + "allowPayment": { + "label": "Dopusti plaćanje" + }, + "allowAutoPlay": { + "label": "Dopusti automatsku reprodukciju" + }, + "allowMicrophone": { + "label": "Dopusti pristup mikrofonu" + }, + "allowCamera": { + "label": "Dopusti pristup kameri" + }, + "allowGeolocation": { + "label": "Dopusti geolociranje" + } + } + }, + "card": { + "errors": { + "noUrl": { + "title": "Neispravan URL", + "text": "Provjerite jeste li unijeli valjanu adresu u konfiguraciji svog widgeta" + } + } + } +} diff --git a/public/locales/hr/modules/media-requests-list.json b/public/locales/hr/modules/media-requests-list.json new file mode 100644 index 000000000..4f5638959 --- /dev/null +++ b/public/locales/hr/modules/media-requests-list.json @@ -0,0 +1,24 @@ +{ + "descriptor": { + "name": "Zahtjevi za medijima", + "description": "Pregledajte popis svih zahtjeva za medijima s vaše instance Overseerr ili Jellyseerr", + "settings": { + "title": "Popis zahtjeva za medijima", + "replaceLinksWithExternalHost": { + "label": "Zamijeni veze s vanjskim poslužiteljem" + } + } + }, + "noRequests": "Nema pronađenih zahtjeva. Provjerite jesu li vaše aplikacije ispravno konfigurirane.", + "pending": "Postoji {{countPendingApproval}} zahtjeva koji čekaju odobrenje.", + "nonePending": "Trenutno nema čekanja za odobrenje. Možete nastaviti!", + "state": { + "approved": "Odobreno", + "pendingApproval": "Odobrenje na čekanju", + "declined": "Odbijeno" + }, + "tooltips": { + "approve": "Odobri zahtjeve", + "decline": "Odbij zahtjeve" + } +} diff --git a/public/locales/hr/modules/media-requests-stats.json b/public/locales/hr/modules/media-requests-stats.json new file mode 100644 index 000000000..5a0de604b --- /dev/null +++ b/public/locales/hr/modules/media-requests-stats.json @@ -0,0 +1,14 @@ +{ + "descriptor": { + "name": "Statistika zahtjeva za medijima", + "description": "Statistika o vašim zahtjevima za medijima", + "settings": { + "title": "Statistika zahtjeva za medijima" + } + }, + "stats": { + "pending": "Odobrenjea na čekanju", + "tvRequests": "TV zahtjevi", + "movieRequests": "Zahtjevi za Filmovima" + } +} diff --git a/public/locales/hr/modules/media-server.json b/public/locales/hr/modules/media-server.json new file mode 100644 index 000000000..3e76df715 --- /dev/null +++ b/public/locales/hr/modules/media-server.json @@ -0,0 +1,24 @@ +{ + "descriptor": { + "name": "Medijski poslužitelj", + "description": "Komunicirajte s vašim Jellyfin ili Plex medijskim poslužiteljima", + "settings": { + "title": "Postavke za widget medijskog poslužitelja" + } + }, + "card": { + "table": { + "header": { + "session": "Sesija", + "user": "Korisnik", + "currentlyPlaying": "Reproducira se trenutno" + } + }, + "errors": { + "general": { + "title": "Nije moguće učitati sadržaj", + "text": "Nije moguće dohvatiti informacije s poslužitelja. Molimo provjerite dnevnike za više detalja" + } + } + } +} \ No newline at end of file diff --git a/public/locales/hr/modules/overseerr.json b/public/locales/hr/modules/overseerr.json new file mode 100644 index 000000000..37c33547f --- /dev/null +++ b/public/locales/hr/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Omogućuje vam pretraživanje i dodavanje medija iz Overseerr-a ili Jellyseerr-a." + }, + "popup": { + "item": { + "buttons": { + "askFor": "Zatraži {{title}}", + "cancel": "Otkaži", + "request": "Zatraži" + }, + "alerts": { + "automaticApproval": { + "title": "Koristeći API ključ", + "text": "Ovaj zahtjev će biti automatski odobren" + } + } + }, + "seasonSelector": { + "caption": "Označite sezone koje želite preuzeti", + "table": { + "header": { + "season": "Sezona", + "numberOfEpisodes": "Broj epizoda" + } + } + } + } +} diff --git a/public/locales/hr/modules/ping.json b/public/locales/hr/modules/ping.json new file mode 100644 index 000000000..c8fa447fa --- /dev/null +++ b/public/locales/hr/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Prikazuje indikator statusa ovisno o HTTP kodu odgovora za određeni URL." + }, + "states": { + "online": "Na mreži {{response}}", + "offline": "Izvan mreže {{response}}", + "loading": "Učitavam..." + } +} diff --git a/public/locales/hr/modules/rss.json b/public/locales/hr/modules/rss.json new file mode 100644 index 000000000..3116a6aa5 --- /dev/null +++ b/public/locales/hr/modules/rss.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "RSS Widget", + "description": "", + "settings": { + "title": "Postavke za RSS Widget", + "rssFeedUrl": { + "label": "URL-ovi RSS kanala", + "description": "URL-ovi RSS kanala koje želite prikazati." + }, + "refreshInterval": { + "label": "Interval osvježavanja (u minutama)" + }, + "dangerousAllowSanitizedItemContent": { + "label": "" + }, + "textLinesClamp": { + "label": "Ograničavanje broja redaka teksta" + } + }, + "card": { + "errors": { + "general": { + "title": "Nemoguće dohvatiti RSS kanal", + "text": "Došlo je do problema prilikom pristupa RSS kanalu. Molimo provjerite da ste ispravno konfigurirali kanal koristeći valjanu URL adresu. URL adresa treba slijediti službenu specifikaciju za RSS kanale. Nakon ažuriranja kanala, možda će biti potrebno osvježiti nadzornu ploču." + } + } + } + } +} diff --git a/public/locales/hr/modules/search.json b/public/locales/hr/modules/search.json new file mode 100644 index 000000000..d6903594f --- /dev/null +++ b/public/locales/hr/modules/search.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Traka za pretraživanje", + "description": "Traka za pretragu koja vam omogućuje pretraživanje vašeg prilagođenog pretraživača, YouTube-a i podržanih integracija." + }, + "input": { + "placeholder": "Pretraži web..." + }, + "switched-to": "Prebacite se na", + "searchEngines": { + "search": { + "name": "Web", + "description": "Traži..." + }, + "youtube": { + "name": "YouTube", + "description": "Pretraži YouTube" + }, + "torrents": { + "name": "Torrenti", + "description": "Pretraži Torrente" + }, + "overseerr": { + "name": "Overseerr", + "description": "Pretraži filmove i TV emisije na Overseerr-u" + } + }, + "tip": "Možete odabrati traku za pretraživanje pomoću prečaca ", + "switchedSearchEngine": "Upotrijebi pretraživanje pomoću {{searchEngine}}" +} diff --git a/public/locales/hr/modules/torrents-status.json b/public/locales/hr/modules/torrents-status.json new file mode 100644 index 000000000..58c56f4e8 --- /dev/null +++ b/public/locales/hr/modules/torrents-status.json @@ -0,0 +1,80 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Prikazuje popis torrenta iz podržanih torrent klijenata.", + "settings": { + "title": "Postavke za Torrent Widget", + "refreshInterval": { + "label": "Interval osvježavanja (u sekundama)" + }, + "displayCompletedTorrents": { + "label": "Prikaži završene torrente" + }, + "displayStaleTorrents": { + "label": "Prikaži neaktivne torrente" + }, + "labelFilterIsWhitelist": { + "label": "Popis oznaka je whitelist (umjesto blacklist)" + }, + "labelFilter": { + "label": "Popis oznaka", + "description": "Kada je označena opcija \"is whitelist\", ovo će djelovati kao popis dopuštenih oznaka. Ako nije označeno, ovo je popis zabranjenih oznaka - \"blacklist\". Neće imati nikakav učinak kada je prazno" + } + } + }, + "card": { + "footer": { + "error": "Pogreška", + "lastUpdated": "Zadnje ažurirano prije {{time}}" + }, + "table": { + "header": { + "name": "Naziv", + "size": "Veličina", + "download": "Isključeno", + "upload": "Uključeno", + "estimatedTimeOfArrival": "ETA", + "progress": "Napredak" + }, + "item": { + "text": "Upravlja {{appName}}, omjer: {{ratio}}" + }, + "body": { + "nothingFound": "Nema pronađenih torrenata", + "filterHidingItems": "{{count}} unosa je skriveno vašim filtrima" + } + }, + "lineChart": { + "title": "Trenutna brzina preuzimanja", + "download": "Preuzimanje: {{download}}", + "upload": "Otpremanje: {{upload}}", + "timeSpan": "{{seconds}} sekundi", + "totalDownload": "Preuzimanje: {{download}}/s", + "totalUpload": "Otpremanje: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Nisu pronađeni podržani Torrent klijenti!", + "text": "Dodajte podržani Torrent klijent kako biste vidjeli trenutna preuzimanja" + }, + "generic": { + "title": "Došlo je do neočekivane pogreške", + "text": "Homarr nije uspio uspostaviti komunikaciju s vašim Torrent klijentima. Provjerite svoju konfiguraciju" + } + }, + "loading": { + "title": "Učitavam..." + }, + "popover": { + "introductionPrefix": "Upravlja s", + "metrics": { + "queuePosition": "Pozicija u redu - {{position}}", + "progress": "Napredak - {{progress}}%", + "totalSelectedSize": "Ukupno - {{totalSize}}", + "state": "Status - {{state}}", + "ratio": "Omjer -", + "completed": "Završeno" + } + } + } +} diff --git a/public/locales/hr/modules/usenet.json b/public/locales/hr/modules/usenet.json new file mode 100644 index 000000000..a76ab009f --- /dev/null +++ b/public/locales/hr/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Usenet", + "description": "Omogućuje vam pregledavanje i upravljanje vašom Usenet instancom." + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Nisu pronađeni podržani klijenti za preuzimanja!", + "text": "Dodajte podržani Usenet klijent kako biste vidjeli trenutna preuzimanja" + } + } + }, + "tabs": { + "queue": "Red čekanja", + "history": "Povijest" + }, + "info": { + "sizeLeft": "Preostala veličina", + "paused": "Pauzirano" + }, + "queue": { + "header": { + "name": "Naziv", + "size": "Veličina", + "eta": "ETA", + "progress": "Napredak" + }, + "empty": "Isprazni", + "error": { + "title": "Pogreška", + "message": "Dogodila se pogreška" + }, + "paused": "Pauzirano" + }, + "history": { + "header": { + "name": "Naziv", + "size": "Veličina", + "duration": "Trajanje" + }, + "empty": "Isprazni", + "error": { + "title": "Pogreška", + "message": "Pogreška prilikom učitavanja povijest" + }, + "paused": "Pauzirano" + } +} diff --git a/public/locales/hr/modules/video-stream.json b/public/locales/hr/modules/video-stream.json new file mode 100644 index 000000000..1ff7f895f --- /dev/null +++ b/public/locales/hr/modules/video-stream.json @@ -0,0 +1,24 @@ +{ + "descriptor": { + "name": "Video Stream", + "description": "Ugradi video stream ili video sa kamere i/ili web stranice", + "settings": { + "title": "Postavke za Widget video stream", + "FeedUrl": { + "label": "URL feed-a" + }, + "autoPlay": { + "label": "Automatska reprodukcija" + }, + "muted": { + "label": "Ugasi zvuk" + }, + "controls": { + "label": "Kontrole video reproduktora" + } + } + }, + "errors": { + "invalidStream": "Neispravni stream" + } +} \ No newline at end of file diff --git a/public/locales/hr/modules/weather.json b/public/locales/hr/modules/weather.json new file mode 100644 index 000000000..613228f3f --- /dev/null +++ b/public/locales/hr/modules/weather.json @@ -0,0 +1,33 @@ +{ + "descriptor": { + "name": "Vremenska prognoza", + "description": "Prikazuje trenutne vremenske informacije za odabranu lokaciju.", + "settings": { + "title": "Postavke za vremenski Widget", + "displayInFahrenheit": { + "label": "Prikaz u Fahrenheitima" + }, + "location": { + "label": "Lokacija vremenske prognoze" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Vedro", + "mainlyClear": "Uglavnom vedro", + "fog": "Maglovito", + "drizzle": "Rominjajuća kiša", + "freezingDrizzle": "Ledena kišica", + "rain": "Kiša", + "freezingRain": "Ledena kiša", + "snowFall": "Snježne padavine", + "snowGrains": "Snježne pahulje", + "rainShowers": "Pljusak", + "snowShowers": "Snježna mečava", + "thunderstorm": "Grmljavinska oluja", + "thunderstormWithHail": "Grmljavinska oluja s tučom", + "unknown": "Nepoznato" + } + } +} diff --git a/public/locales/hr/settings/common.json b/public/locales/hr/settings/common.json new file mode 100644 index 000000000..5fc2d5b93 --- /dev/null +++ b/public/locales/hr/settings/common.json @@ -0,0 +1,38 @@ +{ + "title": "Postavke", + "tooltip": "Postavke", + "tabs": { + "common": "Uobičajeno", + "customizations": "Prilagodbe" + }, + "tips": { + "configTip": "Prenesite svoju konfiguracijsku datoteku povlačenjem i ispuštanjem na stranicu!" + }, + "credits": { + "madeWithLove": "Napravljeno s ❤️ od @", + "thirdPartyContent": "Prikaži sadržaj treće strane", + "thirdPartyContentTable": { + "dependencyName": "Zavisnosti", + "dependencyVersion": "Verzija" + } + }, + "grow": "Proširi grid (zauzmi sav prostor)", + "layout": { + "preview": { + "title": "Pregled", + "subtitle": "Promjene će se automatski spremiti" + }, + "divider": "Mogućnosti izgleda", + "main": "Glavni prikaz", + "sidebar": "Bočna traka", + "cannotturnoff": "Ne može se isključiti", + "dashboardlayout": "Raspored nadzorne ploče", + "enablersidebar": "Omogući desnu bočnu traku", + "enablelsidebar": "Omogući lijevu bočnu traku", + "enablesearchbar": "Omogući pretraživač", + "enabledocker": "Uključi integraciju s Docker-om", + "enableping": "Omogući Ping-ove", + "enablelsidebardesc": "Opcionalno. Može se koristiti samo za aplikacije i integracije", + "enablersidebardesc": "Opcionalno. Može se koristiti samo za aplikacije i integracije" + } +} diff --git a/public/locales/hr/settings/customization/accessibility.json b/public/locales/hr/settings/customization/accessibility.json new file mode 100644 index 000000000..26b6bf032 --- /dev/null +++ b/public/locales/hr/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Onemogući ping pulsiranje", + "description": "Prema zadanim postavkama, pokazatelji pinga u Homarru pulsiraju. To može biti iritantno. Ovim klizačem možete deaktivirati animaciju" + }, + "replaceIconsWithDots": { + "label": "Zamijenite točke ping-a s ikonicom", + "description": "Za osobe s daltonizmom, točke za ping mogu biti teško prepoznatljive. Ovo će zamijeniti indikatore ikonama" + }, + "alert": "Nedostaje li vam nešto? Rado ćemo unaprijediti pristupačnost Homarra" +} \ No newline at end of file diff --git a/public/locales/hr/settings/customization/app-width.json b/public/locales/hr/settings/customization/app-width.json new file mode 100644 index 000000000..de4fe2003 --- /dev/null +++ b/public/locales/hr/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "Širina Aplikacije" +} \ No newline at end of file diff --git a/public/locales/hr/settings/customization/color-selector.json b/public/locales/hr/settings/customization/color-selector.json new file mode 100644 index 000000000..36d197adc --- /dev/null +++ b/public/locales/hr/settings/customization/color-selector.json @@ -0,0 +1,4 @@ +{ + "colors": "Boje", + "suffix": "{{color}} boja" +} \ No newline at end of file diff --git a/public/locales/hr/settings/customization/general.json b/public/locales/hr/settings/customization/general.json new file mode 100644 index 000000000..c3c1cf127 --- /dev/null +++ b/public/locales/hr/settings/customization/general.json @@ -0,0 +1,25 @@ +{ + "text": "Prilagodbe vam omogućavaju konfiguriranje i prilagođavanje vašeg iskustva s Homarr-om prema vašim željama.", + "accordeon": { + "layout": { + "name": "Raspored", + "description": "Omogućite ili onemogućite elemente na zaglavlju i pločama nadzorne ploče" + }, + "gridstack": { + "name": "Gridstack", + "description": "Customizirajte ponašanje i stupce područja nadzorne ploče prema svojim preferencijama" + }, + "pageMetadata": { + "name": "Metapodaci Stranice", + "description": "Prilagodite naslove, logotipe i PWA (progresivne web aplikacije)" + }, + "appereance": { + "name": "Izgled", + "description": "Prilagodite pozadinu, boje i izgled aplikacija" + }, + "accessibility": { + "name": "Pristupačnost", + "description": "Konfigurišite Homarr za osobe sa invaliditetom" + } + } +} diff --git a/public/locales/hr/settings/customization/gridstack.json b/public/locales/hr/settings/customization/gridstack.json new file mode 100644 index 000000000..2c7f1a682 --- /dev/null +++ b/public/locales/hr/settings/customization/gridstack.json @@ -0,0 +1,10 @@ +{ + "columnsCount": { + "labelPreset": "Stupci u veličini {{size}}", + "descriptionPreset": "Broj stupaca kada je zaslon manji od {{pixels}} piksela u širinu", + "descriptionExceedsPreset": "Broj stupaca kada veličina zaslona premašuje {{pixels}} piksela" + }, + "unsavedChanges": "Imate nespremljene promjene. Kliknite gumb \"Primijeni promjene\" u nastavku kako biste ih primijenili i spremili.", + "applyChanges": "Primjeni promjene", + "defaultValues": "Uobičajene vrijednosti" +} \ No newline at end of file diff --git a/public/locales/hr/settings/customization/opacity-selector.json b/public/locales/hr/settings/customization/opacity-selector.json new file mode 100644 index 000000000..7b962d3b2 --- /dev/null +++ b/public/locales/hr/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Prozirnost Aplikacije" +} \ No newline at end of file diff --git a/public/locales/hr/settings/customization/page-appearance.json b/public/locales/hr/settings/customization/page-appearance.json new file mode 100644 index 000000000..299d3def3 --- /dev/null +++ b/public/locales/hr/settings/customization/page-appearance.json @@ -0,0 +1,30 @@ +{ + "pageTitle": { + "label": "Naslov stranice", + "description": "Naslov nadzorne ploče u gornjem lijevom kutu" + }, + "metaTitle": { + "label": "Meta Naslov", + "description": "Naslov koji se prikazuje na kartici preglednika" + }, + "logo": { + "label": "Logotip", + "description": "Logotip prikazan u gornjem lijevom kutu" + }, + "favicon": { + "label": "Favicon", + "description": "Ikona prikazana na kartici preglednika" + }, + "background": { + "label": "Pozadina" + }, + "customCSS": { + "label": "Prilagođeni CSS", + "description": "Dodatno, prilagodite svoju nadzornu ploču koristeći CSS, što se preporučuje samo iskusnim korisnicima", + "placeholder": "Prilagođeni CSS će se primijeniti posljednji", + "applying": "Primjena CSS-a..." + }, + "buttons": { + "submit": "Pošalji" + } +} diff --git a/public/locales/hr/settings/customization/shade-selector.json b/public/locales/hr/settings/customization/shade-selector.json new file mode 100644 index 000000000..7e890fe7e --- /dev/null +++ b/public/locales/hr/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Sjena" +} \ No newline at end of file diff --git a/public/locales/hr/settings/general/color-schema.json b/public/locales/hr/settings/general/color-schema.json new file mode 100644 index 000000000..9e013512c --- /dev/null +++ b/public/locales/hr/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Prebacite se na način rada {{scheme}}" +} \ No newline at end of file diff --git a/public/locales/hr/settings/general/config-changer.json b/public/locales/hr/settings/general/config-changer.json new file mode 100644 index 000000000..631b42618 --- /dev/null +++ b/public/locales/hr/settings/general/config-changer.json @@ -0,0 +1,86 @@ +{ + "configSelect": { + "label": "Promjena konfiguracije", + "description": "Dostupne su {{configCount}} konfiguracije", + "loadingNew": "Učitavanje vaše konfig...", + "pleaseWait": "Molim pričekajte dok se učita nova konfiguracija!" + }, + "modal": { + "copy": { + "title": "Odaberite ime za svoju novu konfiguraciju", + "form": { + "configName": { + "label": "Naziv Konfiguracije", + "validation": { + "required": "Naziv konfiguracije je obavezno", + "notUnique": "Naziv konfiguracije je već u upotrebi" + }, + "placeholder": "Naziv Vaše nove konfiguracije" + }, + "submitButton": "Potvrdi" + }, + "events": { + "configSaved": { + "title": "Konfiguracija spremljena", + "message": "Konfiguracija spremljena kao {{configName}}" + }, + "configCopied": { + "title": "Konfiguracija kopirana", + "message": "Konfiguracija kopirana kao {{configName}}" + }, + "configNotCopied": { + "title": "Nije moguće kopirati konfiguraciju", + "message": "Vaša konfiguracija nije kopirana kao {{configName}}" + } + } + }, + "confirmDeletion": { + "title": "Potvrdite brisanje Vaše konfiguracije", + "warningText": "Upozorenje: Namjeravate izbrisati '{{configName}}'", + "text": "Napomena: Brisanje nije povratno i vaši podaci bit će trajno izgubljeni. Nakon klika na ovaj gumb, datoteka će biti trajno izbrisana s vašeg diska. Budite sigurni i napravite odgovarajuću sigurnosnu kopiju vaše konfiguracije.", + "buttons": { + "confirm": "Da, izbriši '{{configName}}'" + } + } + }, + "buttons": { + "download": "Preuzmi konfiguraciju", + "delete": { + "text": "Obriši konfiguraciju", + "notifications": { + "deleted": { + "title": "Konfiguracija je izbrisana", + "message": "Konfiguracija je izbrisana" + }, + "deleteFailed": { + "title": "Brisanje konfiguracije nije uspjelo", + "message": "Brisanje konfiguracije nije uspjelo" + }, + "deleteFailedDefaultConfig": { + "title": "Nemoguće je izbrisati zadani konfiguracijski zapis", + "message": "Konfiguracija nije izbrisana s datotečnog sustava" + } + } + }, + "saveCopy": "Spremi kao kopiju" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Nije moguće učitati konfiguraciju", + "message": "Nije moguće učitati vašu konfig. Nevaljani JSON format." + }, + "loadedSuccessfully": { + "title": "Konfiguracija {{configName}} uspješno učitana" + } + }, + "accept": { + "title": "Učitaj Konfiguraciju", + "text": "Povucite datoteke ovdje za prijenos konfig. Podržane su samo JSON datoteke." + }, + "reject": { + "title": "Prijenos pomoću povlačenja i ispuštanja odbijen", + "text": "Ovaj format datoteke nije podržan. Molimo Vas prenesete samo JSON datoteke." + } + } +} diff --git a/public/locales/hr/settings/general/internationalization.json b/public/locales/hr/settings/general/internationalization.json new file mode 100644 index 000000000..bdd9c7b6a --- /dev/null +++ b/public/locales/hr/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Jezik" +} \ No newline at end of file diff --git a/public/locales/hr/settings/general/search-engine.json b/public/locales/hr/settings/general/search-engine.json new file mode 100644 index 000000000..f1c4064c5 --- /dev/null +++ b/public/locales/hr/settings/general/search-engine.json @@ -0,0 +1,19 @@ +{ + "title": "Pretraživač", + "configurationName": "Konfiguracija pretraživača", + "tips": { + "generalTip": "Postoji više prefiksa koje možete koristiti! Dodavanje ovih prefiksa ispred upita filtrirat će rezultate. !s (Web), !t (Torrenti), !y (YouTube) i !m (Mediji).", + "placeholderTip": "%s može se koristiti kao zamjenski znak za upit." + }, + "customEngine": { + "title": "Prilagođen pretraživač", + "label": "URL upita", + "placeholder": "Prilagođeni URL upita" + }, + "searchNewTab": { + "label": "Otvori rezultate pretraživanja u novoj kartici" + }, + "searchEnabled": { + "label": "Pretraživač omogučen" + } +} diff --git a/public/locales/hr/settings/general/theme-selector.json b/public/locales/hr/settings/general/theme-selector.json new file mode 100644 index 000000000..2c0e6b12c --- /dev/null +++ b/public/locales/hr/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Prebacite se na {{theme}}" +} \ No newline at end of file diff --git a/public/locales/hr/settings/general/widget-positions.json b/public/locales/hr/settings/general/widget-positions.json new file mode 100644 index 000000000..d849bebe8 --- /dev/null +++ b/public/locales/hr/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Postavite widgets s lijeva" +} diff --git a/public/locales/hr/widgets/draggable-list.json b/public/locales/hr/widgets/draggable-list.json new file mode 100644 index 000000000..1e85a1662 --- /dev/null +++ b/public/locales/hr/widgets/draggable-list.json @@ -0,0 +1,7 @@ +{ + "noEntries": { + "title": "Nema unosa", + "text": "Koristite gumbe u nastavku kako biste dodali više unosa" + }, + "buttonAdd": "Dodaj" +} diff --git a/public/locales/hr/widgets/error-boundary.json b/public/locales/hr/widgets/error-boundary.json new file mode 100644 index 000000000..129bc753b --- /dev/null +++ b/public/locales/hr/widgets/error-boundary.json @@ -0,0 +1,14 @@ +{ + "card": { + "title": "Ups, došlo je do pogreške!", + "buttons": { + "details": "Pojedinosti", + "tryAgain": "Pokušaj ponovno" + } + }, + "modal": { + "text": "", + "label": "Vaša greška", + "reportButton": "Prijavi ovu grešku" + } +} diff --git a/public/locales/it/modules/calendar.json b/public/locales/it/modules/calendar.json index 704c71912..f600577fa 100644 --- a/public/locales/it/modules/calendar.json +++ b/public/locales/it/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Tipo di release Radarr" + }, + "hideWeekDays": { + "label": "Nascondi giorni della settimana" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/it/modules/iframe.json b/public/locales/it/modules/iframe.json index 640afe963..f64760cc9 100644 --- a/public/locales/it/modules/iframe.json +++ b/public/locales/it/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Consenti schermo intero" + }, + "allowTransparency": { + "label": "Consenti trasparenza" + }, + "allowScrolling": { + "label": "Consenti scorrimento" + }, + "allowPayment": { + "label": "Consenti pagamento" + }, + "allowAutoPlay": { + "label": "Consenti riproduzione automatica" + }, + "allowMicrophone": { + "label": "Consenti microfono" + }, + "allowCamera": { + "label": "Consenti fotocamera" + }, + "allowGeolocation": { + "label": "Consenti geo-localizzazione" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "URL invalido", "text": "Assicurarsi di aver inserito un indirizzo valido nella configurazione del widget" } } } -} \ No newline at end of file +} diff --git a/public/locales/it/modules/rss.json b/public/locales/it/modules/rss.json index 2303eac88..154198da2 100644 --- a/public/locales/it/modules/rss.json +++ b/public/locales/it/modules/rss.json @@ -12,9 +12,9 @@ "label": "Intervallo di aggiornamento (in secondi)" }, "dangerousAllowSanitizedItemContent": { - "label": "Pericolo: Consente il contenuto di oggetti sanificati" + "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "Blocco righe di testo" } }, diff --git a/public/locales/it/settings/customization/accessibility.json b/public/locales/it/settings/customization/accessibility.json new file mode 100644 index 000000000..f08179e37 --- /dev/null +++ b/public/locales/it/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Disabilita impulso ping", + "description": "Come impostazione predefinita, gli indicatori di ping in Homarr pulsano. Ciò può essere irritante. Questo slider disattiverà l'animazione" + }, + "replaceIconsWithDots": { + "label": "Sostituisci punti ping con icone", + "description": "Per gli utenti daltonici, i punti ping potrebbero essere irriconoscibili. Questo sostituirà gli indicatori con le icone" + }, + "alert": "Ti manca qualcosa? Estenderemo volentieri l'accessibilità di Homarr" +} \ No newline at end of file diff --git a/public/locales/it/settings/customization/general.json b/public/locales/it/settings/customization/general.json index 3ff88edd9..dccd092ac 100644 --- a/public/locales/it/settings/customization/general.json +++ b/public/locales/it/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Aspetto", "description": "Personalizza lo sfondo, i colori e l'aspetto delle app" + }, + "accessibility": { + "name": "Accessibilità", + "description": "Configura Homarr per utenti con disabilità" } } -} \ No newline at end of file +} diff --git a/public/locales/it/widgets/error-boundary.json b/public/locales/it/widgets/error-boundary.json index 1b37d97eb..e554e895e 100644 --- a/public/locales/it/widgets/error-boundary.json +++ b/public/locales/it/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "Si è verificato un errore imprevisto. Controlla la configurazione. Si prega di segnalare questo problema, se si ritiene che questo sia un bug.", + "text": "", "label": "Il tuo errore", "reportButton": "Segnala questo errore" } diff --git a/public/locales/ja/modules/calendar.json b/public/locales/ja/modules/calendar.json index 47e5a2288..bbd094953 100644 --- a/public/locales/ja/modules/calendar.json +++ b/public/locales/ja/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "ラダーリリースタイプ" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/ja/modules/iframe.json b/public/locales/ja/modules/iframe.json index 18c90c392..e699016a1 100644 --- a/public/locales/ja/modules/iframe.json +++ b/public/locales/ja/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/ja/modules/rss.json b/public/locales/ja/modules/rss.json index 9ed993983..f65ffa1b9 100644 --- a/public/locales/ja/modules/rss.json +++ b/public/locales/ja/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/ja/settings/customization/accessibility.json b/public/locales/ja/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/ja/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/ja/settings/customization/general.json b/public/locales/ja/settings/customization/general.json index c1e57c3d5..b34197ed2 100644 --- a/public/locales/ja/settings/customization/general.json +++ b/public/locales/ja/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "外観", "description": "" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/ko/modules/calendar.json b/public/locales/ko/modules/calendar.json index e5b73b739..5d028656d 100644 --- a/public/locales/ko/modules/calendar.json +++ b/public/locales/ko/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/ko/modules/iframe.json b/public/locales/ko/modules/iframe.json index 18c90c392..e699016a1 100644 --- a/public/locales/ko/modules/iframe.json +++ b/public/locales/ko/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/ko/modules/rss.json b/public/locales/ko/modules/rss.json index 9ed993983..f65ffa1b9 100644 --- a/public/locales/ko/modules/rss.json +++ b/public/locales/ko/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/ko/settings/customization/accessibility.json b/public/locales/ko/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/ko/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/ko/settings/customization/general.json b/public/locales/ko/settings/customization/general.json index ee9d30b5a..2e9b08103 100644 --- a/public/locales/ko/settings/customization/general.json +++ b/public/locales/ko/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "", "description": "" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/lol/modules/calendar.json b/public/locales/lol/modules/calendar.json index 5230a8291..ea08d718b 100644 --- a/public/locales/lol/modules/calendar.json +++ b/public/locales/lol/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr Release Type" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/lol/modules/iframe.json b/public/locales/lol/modules/iframe.json index 18c90c392..e699016a1 100644 --- a/public/locales/lol/modules/iframe.json +++ b/public/locales/lol/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/lol/modules/rss.json b/public/locales/lol/modules/rss.json index 9ed993983..f65ffa1b9 100644 --- a/public/locales/lol/modules/rss.json +++ b/public/locales/lol/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/lol/settings/customization/accessibility.json b/public/locales/lol/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/lol/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/lol/settings/customization/general.json b/public/locales/lol/settings/customization/general.json index 1199e4c3a..5245b8535 100644 --- a/public/locales/lol/settings/customization/general.json +++ b/public/locales/lol/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Appearance", "description": "" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/lv/authentication/login.json b/public/locales/lv/authentication/login.json index bd710fb47..b6efb61b8 100644 --- a/public/locales/lv/authentication/login.json +++ b/public/locales/lv/authentication/login.json @@ -1,27 +1,27 @@ { - "title": "", - "text": "", + "title": "Sveicināti atpakaļ!", + "text": "Lūdzu, ievadiet savu paroli", "form": { "fields": { "password": { - "label": "", - "placeholder": "" + "label": "Parole", + "placeholder": "Jūsu parole" } }, "buttons": { - "submit": "" + "submit": "Pierakstīties" } }, "notifications": { "checking": { - "title": "", - "message": "" + "title": "Notiek Jūsu paroles pārbaude", + "message": "Jūsu parole tiek pārbaudīta..." }, "correct": { - "title": "" + "title": "Pierakstīšanās veiksmīga, pāradresēšana..." }, "wrong": { - "title": "" + "title": "Jūsu ievadītā parole ir nepareiza. Mēģiniet vēlreiz." } } } diff --git a/public/locales/lv/common.json b/public/locales/lv/common.json index 90e3734ce..c3e2ada84 100644 --- a/public/locales/lv/common.json +++ b/public/locales/lv/common.json @@ -1,39 +1,39 @@ { - "save": "", - "about": "", - "cancel": "", - "close": "", - "delete": "", - "ok": "", - "edit": "", - "enabled": "", - "disabled": "", - "enableAll": "", - "disableAll": "", - "version": "", - "changePosition": "", - "remove": "", - "removeConfirm": "", - "createItem": "", + "save": "Saglabāt", + "about": "Par Programmu", + "cancel": "Atcelt", + "close": "Aizvērt", + "delete": "Dzēst", + "ok": "OK", + "edit": "Rediģēt", + "enabled": "Iespējots", + "disabled": "Atspējots", + "enableAll": "Iespējot visu", + "disableAll": "Atspējot visu", + "version": "Versija", + "changePosition": "Mainīt pozīciju", + "remove": "Noņemt", + "removeConfirm": "Vai tiešām vēlaties noņemt {{item}}?", + "createItem": "+ izveidot {{item}}", "sections": { - "settings": "", - "dangerZone": "" + "settings": "Iestatījumi", + "dangerZone": "Bīstamā zona" }, "secrets": { - "apiKey": "", - "username": "", - "password": "" + "apiKey": "API atslēga", + "username": "Lietotājvārds", + "password": "Parole" }, - "tip": "", + "tip": "Padoms: ", "time": { - "seconds": "", - "minutes": "", - "hours": "" + "seconds": "sekundes", + "minutes": "minūtes", + "hours": "stundas" }, - "loading": "", + "loading": "Notiek ielāde...", "breakPoints": { - "small": "", - "medium": "", - "large": "" + "small": "mazs", + "medium": "vidējs", + "large": "liels" } } \ No newline at end of file diff --git a/public/locales/lv/layout/element-selector/selector.json b/public/locales/lv/layout/element-selector/selector.json index 2a4f14e0d..69c0a4c35 100644 --- a/public/locales/lv/layout/element-selector/selector.json +++ b/public/locales/lv/layout/element-selector/selector.json @@ -1,11 +1,11 @@ { "modal": { - "title": "", - "text": "" + "title": "Pievienot jaunu flīzi", + "text": "Galvenais Homarr elements ir flīzes. Tās tiek izmantotas, lai parādītu Jūsu programmas un citu informāciju. Varat pievienot tik daudz flīzes, cik vēlaties." }, - "widgetDescription": "", - "goBack": "", + "widgetDescription": "Logrīki mijiedarbojas ar Jūsu lietojumprogrammām, lai Jūs varētu labāk kontrolēt savas lietojumprogrammas. Pirms lietošanas tiem parasti nepieciešama papildu konfigurācija.", + "goBack": "Atgriezties uz iepriekšējo soli", "actionIcon": { - "tooltip": "" + "tooltip": "Pievienot flīzi" } } diff --git a/public/locales/lv/layout/header/actions/toggle-edit-mode.json b/public/locales/lv/layout/header/actions/toggle-edit-mode.json index b3cfd87be..c47cf4873 100644 --- a/public/locales/lv/layout/header/actions/toggle-edit-mode.json +++ b/public/locales/lv/layout/header/actions/toggle-edit-mode.json @@ -1,11 +1,11 @@ { - "description": "", + "description": "Rediģēšanas režīmā varat pielāgot flīzes un konfigurēt programmas. Izmaiņas netiek saglabātas, kamēr neesat izgājuši no rediģēšanas režīma.", "button": { - "disabled": "", - "enabled": "" + "disabled": "Atvērt Rediģēšanas Režīmu", + "enabled": "Iziet un Saglabāt" }, "popover": { - "title": "", - "text": "" + "title": "Rediģēšanas režīms ir ieslēgts priekš <1>{{size}} izmēra", + "text": "Tagad varat pielāgot un konfigurēt programmas. Izmaiņas netiek saglabātas, kamēr neesat izgājuši no rediģēšanas režīma" } } diff --git a/public/locales/lv/layout/mobile/drawer.json b/public/locales/lv/layout/mobile/drawer.json index 0967ef424..1e89790ce 100644 --- a/public/locales/lv/layout/mobile/drawer.json +++ b/public/locales/lv/layout/mobile/drawer.json @@ -1 +1,3 @@ -{} +{ + "title": "{{position}} sānu josla" +} diff --git a/public/locales/lv/layout/modals/about.json b/public/locales/lv/layout/modals/about.json index b6fe509b3..6c73bf546 100644 --- a/public/locales/lv/layout/modals/about.json +++ b/public/locales/lv/layout/modals/about.json @@ -1,18 +1,18 @@ { - "description": "", - "contact": "", - "addToDashboard": "", - "tip": "", - "key": "", - "action": "", - "keybinds": "", + "description": "Homarr ir slaiks, mūsdienīgs vadības panelis, kurā visas jūsu lietotnes un pakalpojumi ir pieejami rokas stiepiena attālumā. Izmantojot Homarr, varat piekļūt un kontrolēt visu vienuviet ērtā veidā. Homarr nevainojami integrējas ar jūsu pievienotajām lietotnēm, sniedzot jums vērtīgu informāciju un nodrošinot pilnīgu kontroli. Instalēšana ir vienkārša, un Homarr atbalsta dažādas izvietošanas metodes.", + "contact": "Ir problēmas vai jautājumi? Sazinieties ar mums!", + "addToDashboard": "Pievienot Informācijas panelim", + "tip": "Mod attiecas uz modifikatora taustiņu, tas ir Ctrl un Command/Super/Windows taustiņš", + "key": "Īsinājumtaustiņš", + "action": "Darbība", + "keybinds": "Taustiņu saites", "metrics": { - "configurationSchemaVersion": "", - "configurationsCount": "", - "version": "", - "nodeEnvironment": "", - "i18n": "", - "locales": "", - "experimental_disableEditMode": "" + "configurationSchemaVersion": "Konfigurācijas shēmas versija", + "configurationsCount": "Pieejamās konfigurācijas", + "version": "Versija", + "nodeEnvironment": "Mezgla vide", + "i18n": "Ielādētās I18n tulkojumu vārdšķiras", + "locales": "Konfigurētās I18n lokalizācijas", + "experimental_disableEditMode": "EKSPERIMENTĀLISKI: Izslēgt rediģēšanas režīmu" } } \ No newline at end of file diff --git a/public/locales/lv/layout/modals/add-app.json b/public/locales/lv/layout/modals/add-app.json index 1d474d0be..3c8d47a69 100644 --- a/public/locales/lv/layout/modals/add-app.json +++ b/public/locales/lv/layout/modals/add-app.json @@ -1,76 +1,76 @@ { "tabs": { - "general": "", - "behaviour": "", - "network": "", - "appearance": "", - "integration": "" + "general": "Vispārīgi", + "behaviour": "Uzvedība", + "network": "Tīkls", + "appearance": "Izskats", + "integration": "Integrācija" }, "general": { "appname": { - "label": "", - "description": "" + "label": "Lietotnes nosaukums", + "description": "Izmanto, lai parādītu lietotni uz informācijas paneļa." }, "internalAddress": { - "label": "", - "description": "" + "label": "Iekšējā adrese", + "description": "Lietotnes iekšējā IP adrese." }, "externalAddress": { - "label": "", - "description": "" + "label": "Ārējā adrese", + "description": "URL, kas tiks atvērts, noklikšķinot uz lietotnes." } }, "behaviour": { "isOpeningNewTab": { - "label": "", - "description": "" + "label": "Atvērt jaunā cilnē", + "description": "Atveriet lietotni jaunā cilnē, nevis pašreizējā cilnē." } }, "network": { "statusChecker": { - "label": "", - "description": "" + "label": "Stāvokļa pārbaudītājs", + "description": "Pārbauda, vai lietotne ir tiešsaistē, izmantojot vienkāršu HTTP(S) pieprasījumu." }, "statusCodes": { - "label": "", - "description": "" + "label": "HTTP statusa kods", + "description": "HTTP statusa kodi, kas tiek uzskatīti par tiešsaistes statusa kodiem." } }, "appearance": { "icon": { - "label": "", - "description": "", + "label": "Lietotnes Ikona", + "description": "Sāciet rakstīt, lai atrastu ikonu. Varat arī ielīmēt attēla URL, lai izmantotu pielāgotu ikonu.", "autocomplete": { - "title": "", - "text": "" + "title": "Nav atrasts neviens rezultāts", + "text": "Mēģiniet izmantot konkrētāku meklēšanas terminu. Ja nevarat atrast vēlamo ikonu, ielīmējiet iepriekš norādīto attēla URL, lai iegūtu pielāgotu ikonu" }, "noItems": { - "title": "", - "text": "" + "title": "Notiek ārējo ikonu ielādēšana", + "text": "Tas var aizņemt dažas sekundes" } } }, "integration": { "type": { - "label": "", - "description": "", - "placeholder": "", - "defined": "", - "undefined": "", - "public": "", - "private": "", - "explanationPrivate": "", - "explanationPublic": "" + "label": "Integrācijas konfigurācija", + "description": "Integrācijas konfigurācija, kura tiks izmantota, lai izveidotu savienojumu ar jūsu lietotni.", + "placeholder": "Izvēlieties integrāciju", + "defined": "Definēts", + "undefined": "Nav definēts", + "public": "Publisks", + "private": "Privāts", + "explanationPrivate": "Privātais noslēpums uz serveri tiks nosūtīts tikai vienu reizi. Pēc tam, kad pārlūkprogramma būs atsvaidzinājusi lapu, tas nekad netiks nosūtīts vēlreiz.", + "explanationPublic": "Publiskais noslēpums vienmēr tiek nosūtīts klientam un ir pieejams, izmantojot API. Tas nedrīkst saturēt nekādas konfidenciālas vērtības, piemēram, lietotājvārdus, paroles, žetonus, sertifikātus un tamlīdzīgi!" }, "secrets": { - "description": "", - "warning": "", - "clear": "", - "save": "", - "update": "" + "description": "Lai atjauninātu noslēpumu, ievadiet vērtību un noklikšķiniet uz pogas Saglabāt. Lai dzēstu noslēpumu, noklikšķiniet uz pogas dzēst.", + "warning": "Jūsu akreditācijas dati kalpo kā piekļuve jūsu integrācijām, un tos nekad nevajadzētu kopīgot ar citiem. Homarr komanda nekad nepieprasīs akreditācijas datus. Pārliecinieties, ka droši glabājat un pārvaldāt savus noslēpumus.", + "clear": "Notīrīt noslēpumu", + "save": "Saglabāt noslēpumu", + "update": "Atjaunināt noslēpumu" } }, "validation": { - "popover": "" + "popover": "Jūsu veidlapā ir nederīgi dati. Tāpēc to nevar saglabāt. Lūdzu, atrisiniet visas problēmas un vēlreiz noklikšķiniet uz šīs pogas, lai saglabātu izmaiņas" } } diff --git a/public/locales/lv/layout/modals/change-position.json b/public/locales/lv/layout/modals/change-position.json index 9e26dfeeb..507891249 100644 --- a/public/locales/lv/layout/modals/change-position.json +++ b/public/locales/lv/layout/modals/change-position.json @@ -1 +1,8 @@ -{} \ No newline at end of file +{ + "xPosition": "X ass pozīcija", + "width": "Platums", + "height": "Augstums", + "yPosition": "Y ass pozīcija", + "zeroOrHigher": "0 vai augstāks", + "betweenXandY": "Starp {{min}} un {{max}}" +} \ No newline at end of file diff --git a/public/locales/lv/modules/bookmark.json b/public/locales/lv/modules/bookmark.json index 7b959be28..9245a8ccf 100644 --- a/public/locales/lv/modules/bookmark.json +++ b/public/locales/lv/modules/bookmark.json @@ -1,21 +1,21 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Grāmatzīme", + "description": "Parāda statisku virkņu vai saišu sarakstu", "settings": { - "title": "", + "title": "Grāmatzīmju uzstādījumi", "items": { - "label": "" + "label": "Vienumi" }, "layout": { - "label": "" + "label": "Izkārtojums" } } }, "card": { "noneFound": { - "title": "", - "text": "" + "title": "Grāmatzīmju saraksts ir tukšs", + "text": "Pievienot jaunus vienumus šim sarakstam rediģēšanas režīmā" } } } diff --git a/public/locales/lv/modules/calendar.json b/public/locales/lv/modules/calendar.json index 453ad8c85..c2f3bc3d4 100644 --- a/public/locales/lv/modules/calendar.json +++ b/public/locales/lv/modules/calendar.json @@ -1,18 +1,24 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Kalendārs", + "description": "Tiek parādīts kalendārs ar gaidāmajām pirmizrādēm no atbalstītajām integrācijām.", "settings": { - "title": "", + "title": "Kalendāra logrīka iestatījumi", "useSonarrv4": { - "label": "" + "label": "Izmantot Sonarr v4 API" }, "sundayStart": { - "label": "" + "label": "Sākt nedēļu ar pirmdienu" }, "radarrReleaseType": { - "label": "" + "label": "Radarr laiduma tips" + }, + "hideWeekDays": { + "label": "Paslēpt darba dienas" + }, + "fontSize": { + "label": "Fonta Izmērs" } } } -} +} \ No newline at end of file diff --git a/public/locales/lv/modules/common-media-cards.json b/public/locales/lv/modules/common-media-cards.json index 9f6da0682..77a8b3f39 100644 --- a/public/locales/lv/modules/common-media-cards.json +++ b/public/locales/lv/modules/common-media-cards.json @@ -1,6 +1,6 @@ { "buttons": { - "play": "", - "request": "" + "play": "Atskaņot", + "request": "Pieprasīt" } } \ No newline at end of file diff --git a/public/locales/lv/modules/common.json b/public/locales/lv/modules/common.json index ba4f38a1c..a4defaebe 100644 --- a/public/locales/lv/modules/common.json +++ b/public/locales/lv/modules/common.json @@ -1,6 +1,6 @@ { "settings": { - "label": "" + "label": "Iestatījumi" }, "errors": { "unmappedOptions": { diff --git a/public/locales/lv/modules/dashdot.json b/public/locales/lv/modules/dashdot.json index 98f45c5c2..f1a577b6b 100644 --- a/public/locales/lv/modules/dashdot.json +++ b/public/locales/lv/modules/dashdot.json @@ -1,117 +1,117 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Dash.", + "description": "Tiek parādīti ārējā Dash. grafiki Homarr iekšienē.", "settings": { - "title": "", + "title": "Dash. logrīka iestatījumi", "dashName": { - "label": "" + "label": "Dash. Nosaukums" }, "url": { - "label": "" + "label": "Dash. URL" }, "usePercentages": { - "label": "" + "label": "Rādīt procentus" }, "columns": { - "label": "" + "label": "Rādīt kolonnas" }, "graphHeight": { - "label": "" + "label": "Grafiku augstums" }, "graphsOrder": { - "label": "", + "label": "Grafiki (Secība)", "storage": { - "label": "", + "label": "Krātuve", "enabled": { - "label": "" + "label": "Rādīt logrīkā" }, "span": { - "label": "" + "label": "Kolonnu diapazons" }, "compactView": { - "label": "" + "label": "Rādīt kā tekstu (kompakts)" }, "multiView": { - "label": "" + "label": "Rādīt kā vairāku disku skatu" } }, "network": { - "label": "", + "label": "Tīkls", "enabled": { - "label": "" + "label": "Rādīt logrīkā" }, "span": { - "label": "" + "label": "Kolonnu diapazons" }, "compactView": { - "label": "" + "label": "Rādīt kā tekstu (kompakts)" } }, "cpu": { - "label": "", + "label": "CPU", "enabled": { - "label": "" + "label": "Rādīt logrīkā" }, "span": { - "label": "" + "label": "Kolonnu diapazons" }, "multiView": { - "label": "" + "label": "Rādīt kā vairāku kodolu skatu" } }, "ram": { - "label": "", + "label": "RAM", "enabled": { - "label": "" + "label": "Rādīt logrīkā" }, "span": { - "label": "" + "label": "Kolonnu diapazons" } }, "gpu": { - "label": "", + "label": "GPU", "enabled": { - "label": "" + "label": "Rādīt logrīkā" }, "span": { - "label": "" + "label": "Kolonnu diapazons" } } } } }, "card": { - "title": "", + "title": "Dash.", "errors": { - "noService": "", - "noInformation": "", + "noService": "Nav atrasts Dash. pakalpojums. Lūdzu, pievienojiet to savam Homarr panelim vai iestatiet Dash. URL moduļa opcijās", + "noInformation": "Nevar iegūt informāciju no Dash. - vai Jūs izmantojat jaunāko versiju?", "protocolDowngrade": { - "title": "", - "text": "" + "title": "Atklāta protokola pazemināšana", + "text": "Savienojumā ar jūsu Dash. instanci tiek izmantots HTTP. Tas ir drošības risks, jo HTTP nav šifrēts un uzbrucēji var ļaunprātīgi izmantot šo savienojumu. Pārliecinieties, ka Dash. izmanto HTTPS, vai pazeminiet Homarr uz HTTP (nav ieteicams)." } }, "graphs": { "storage": { - "title": "", - "label": "" + "title": "Krātuve", + "label": "Krātuve:" }, "network": { - "title": "", - "label": "", + "title": "Tīkls", + "label": "Tīkls:", "metrics": { - "download": "", - "upload": "" + "download": "Lejupielāde", + "upload": "Augšupielāde" } }, "cpu": { - "title": "" + "title": "CPU" }, "ram": { - "title": "" + "title": "RAM" }, "gpu": { - "title": "" + "title": "GPU" } } } diff --git a/public/locales/lv/modules/date.json b/public/locales/lv/modules/date.json index d1437241e..4cd5cf18c 100644 --- a/public/locales/lv/modules/date.json +++ b/public/locales/lv/modules/date.json @@ -1,11 +1,11 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Datums un Laiks", + "description": "Rāda pašreizējo datumu un laiku.", "settings": { - "title": "", + "title": "Datuma un Laika logrīka iestatījumi", "display24HourFormat": { - "label": "" + "label": "Rādīt pilnu laiku (24 stundu)" } } } diff --git a/public/locales/lv/modules/dlspeed.json b/public/locales/lv/modules/dlspeed.json index 1dfd395d3..fcfc38c9c 100644 --- a/public/locales/lv/modules/dlspeed.json +++ b/public/locales/lv/modules/dlspeed.json @@ -1,34 +1,34 @@ { "descriptor": { - "name": "", - "description": "" + "name": "Lejupielādes Ātrums", + "description": "Rāda atbalstīto integrāciju Lejupielādes un Augšupielādes ātrumu." }, "card": { "table": { "header": { - "name": "", - "size": "", - "download": "", - "upload": "", - "estimatedTimeOfArrival": "", - "progress": "" + "name": "Nosaukums", + "size": "Lielums", + "download": "Lejupielāde", + "upload": "Augšupielāde", + "estimatedTimeOfArrival": "ETA", + "progress": "Progress" }, "body": { - "nothingFound": "" + "nothingFound": "Netika atrasti torrenti" } }, "lineChart": { - "title": "", - "download": "", - "upload": "", - "timeSpan": "", - "totalDownload": "", - "totalUpload": "" + "title": "Pašreizējais lejupielādes ātrums", + "download": "Lejupielāde: {{download}}", + "upload": "Augšupielāde: {{upload}}", + "timeSpan": "pirms {{seconds}} sekundēm", + "totalDownload": "Lejupielāde: {{download}}/s", + "totalUpload": "Augšupielāde: {{upload}}/s" }, "errors": { "noDownloadClients": { - "title": "", - "text": "" + "title": "Nav atrasts neviens atbalstīts lejupielādes klients!", + "text": "Pievienojiet lejupielādes pakalpojumu, lai skatītu pašreizējās lejupielādes" } } } diff --git a/public/locales/lv/modules/dns-hole-controls.json b/public/locales/lv/modules/dns-hole-controls.json index f8daba13b..0b9168de2 100644 --- a/public/locales/lv/modules/dns-hole-controls.json +++ b/public/locales/lv/modules/dns-hole-controls.json @@ -1,6 +1,6 @@ { "descriptor": { - "name": "", - "description": "" + "name": "DNS cauruma kontrole", + "description": "Vadiet PiHole vai AdGuard no sava informācijas paneļa" } } \ No newline at end of file diff --git a/public/locales/lv/modules/dns-hole-summary.json b/public/locales/lv/modules/dns-hole-summary.json index f94bdc701..6040bd11a 100644 --- a/public/locales/lv/modules/dns-hole-summary.json +++ b/public/locales/lv/modules/dns-hole-summary.json @@ -1,20 +1,20 @@ { "descriptor": { - "name": "", - "description": "", + "name": "DNS cauruma kopsavilkums", + "description": "Rāda svarīgus datus no PiHole vai AdGuard", "settings": { - "title": "", + "title": "DNS Cauruma kopsavilkuma iestatījumi", "usePiHoleColors": { - "label": "" + "label": "Izmantot krāsas no PiHole" } } }, "card": { "metrics": { - "domainsOnAdlist": "", - "queriesToday": "", - "queriesBlockedTodayPercentage": "", - "queriesBlockedToday": "" + "domainsOnAdlist": "Domēni reklāmu sarakstos", + "queriesToday": "Pieprasījumi šodien", + "queriesBlockedTodayPercentage": "šodien bloķēti", + "queriesBlockedToday": "šodien bloķēti" } } } diff --git a/public/locales/lv/modules/docker.json b/public/locales/lv/modules/docker.json index 7346ebe39..a2278f2be 100644 --- a/public/locales/lv/modules/docker.json +++ b/public/locales/lv/modules/docker.json @@ -1,83 +1,83 @@ { "descriptor": { - "name": "", - "description": "" + "name": "Docker", + "description": "Ļauj viegli apskatīt un pārvaldīt visus Docker konteinerus." }, "search": { - "placeholder": "" + "placeholder": "Meklēt pēc konteinera vai attēla nosaukuma" }, "table": { "header": { - "name": "", - "image": "", - "ports": "", - "state": "" + "name": "Nosaukums", + "image": "Attēls", + "ports": "Ports", + "state": "Stāvoklis" }, "body": { - "portCollapse": "" + "portCollapse": "{{ports}} papildus" }, "states": { - "running": "", - "created": "", - "stopped": "", - "unknown": "" + "running": "Darbojas", + "created": "Izveidots", + "stopped": "Apstādināts", + "unknown": "Nezināms" } }, "actionBar": { "addService": { - "title": "", - "message": "" + "title": "Pievienot lietotni", + "message": "Pievienot lietotni Homarr" }, "restart": { - "title": "" + "title": "Restartēt" }, "stop": { - "title": "" + "title": "Apstādināt" }, "start": { - "title": "" + "title": "Palaist" }, "refreshData": { - "title": "" + "title": "Atsvaidzināt datus" }, "remove": { - "title": "" + "title": "Noņemt" }, "addToHomarr": { - "title": "" + "title": "Pievienot Homarr" } }, "actions": { "start": { - "start": "", - "end": "" + "start": "Palaišana", + "end": "Tika palaists" }, "stop": { - "start": "", - "end": "" + "start": "Apstādināts", + "end": "Apstādināts" }, "restart": { - "start": "", - "end": "" + "start": "Restartējas", + "end": "Restartējies" }, "remove": { - "start": "", - "end": "" + "start": "Noņemšana", + "end": "Noņemts" } }, "errors": { "integrationFailed": { - "title": "", - "message": "" + "title": "Docker integrācija neizdevās", + "message": "Vai aizmirsāt montēt docker ligzdu?" }, "unknownError": { - "title": "" + "title": "Radās kļūda" }, "oneServiceAtATime": { - "title": "" + "title": "Lūdzu, pievienojiet tikai vienu lietotni vai pakalpojumu pēc kārtas!" } }, "actionIcon": { - "tooltip": "" + "tooltip": "Docker" } } diff --git a/public/locales/lv/modules/iframe.json b/public/locales/lv/modules/iframe.json index 18c90c392..c7a21953c 100644 --- a/public/locales/lv/modules/iframe.json +++ b/public/locales/lv/modules/iframe.json @@ -1,23 +1,44 @@ { "descriptor": { - "name": "", - "description": "", + "name": "iFrame", + "description": "Iegult jebkuru saturu no interneta. Dažas vietnes var ierobežot piekļuvi.", "settings": { - "title": "", + "title": "iFrame iestatījumi", "embedUrl": { - "label": "" + "label": "Iegult URL" }, "allowFullScreen": { - "label": "" + "label": "Atļaut pilnekrāna režīmu" + }, + "allowTransparency": { + "label": "Atļaut caurspīdīgumu" + }, + "allowScrolling": { + "label": "Atļaut ritināšanu" + }, + "allowPayment": { + "label": "Atļaut maksājumus" + }, + "allowAutoPlay": { + "label": "Atļaut automātisko atskaņošanu" + }, + "allowMicrophone": { + "label": "Atļaut piekļuvi mikrofonam" + }, + "allowCamera": { + "label": "Atļaut piekļuvi kamerai" + }, + "allowGeolocation": { + "label": "Atļaut ģeogrāfiskās atrašanās vietas noteikšanu" } } }, "card": { "errors": { "noUrl": { - "title": "", - "text": "" + "title": "Nederīgs URL", + "text": "Pārliecinieties, ka jūsu logrīka konfigurācijā ir ievadīta derīga adrese" } } } -} \ No newline at end of file +} diff --git a/public/locales/lv/modules/media-requests-list.json b/public/locales/lv/modules/media-requests-list.json index ff218af5b..6b68bdd09 100644 --- a/public/locales/lv/modules/media-requests-list.json +++ b/public/locales/lv/modules/media-requests-list.json @@ -1,24 +1,24 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Multimediju pieprasījumi", + "description": "Skatiet sarakstu ar visiem multimediju pieprasījumiem no jūsu Overseerr vai Jellyseerr instances", "settings": { - "title": "", + "title": "Multimediju pieprasījumu saraksts", "replaceLinksWithExternalHost": { - "label": "" + "label": "Aizstāt saites ar ārējo saimnieku" } } }, - "noRequests": "", - "pending": "", - "nonePending": "", + "noRequests": "Nav atrasts neviens pieprasījums. Lūdzu, pārliecinieties, vai esat pareizi konfigurējuši savas aplikācijas.", + "pending": "Apstiprinājumu gaida {{countPendingApproval}} pieprasījumi.", + "nonePending": "Pašlaik nav nepabeigtu apstiprinājumu. Jums viss iet labi!", "state": { - "approved": "", - "pendingApproval": "", - "declined": "" + "approved": "Apstiprināts", + "pendingApproval": "Nepabeigts apstiprinājums", + "declined": "Noraidīt" }, "tooltips": { - "approve": "", - "decline": "" + "approve": "Apstiprināt pieprasījumus", + "decline": "Noraidīt pieprasījumus" } } diff --git a/public/locales/lv/modules/media-requests-stats.json b/public/locales/lv/modules/media-requests-stats.json index 0ea9c580e..aa167864e 100644 --- a/public/locales/lv/modules/media-requests-stats.json +++ b/public/locales/lv/modules/media-requests-stats.json @@ -1,14 +1,14 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Multimediju pieprasījumu statistika", + "description": "Statistika par jūsu mediju pieprasījumiem", "settings": { - "title": "" + "title": "Multimediju pieprasījumu statistika" } }, "stats": { - "pending": "", - "tvRequests": "", - "movieRequests": "" + "pending": "Nepabeigtie apstiprinājumi", + "tvRequests": "TV pieprasījumi", + "movieRequests": "Filmu pieprasījumi" } } diff --git a/public/locales/lv/modules/media-server.json b/public/locales/lv/modules/media-server.json index 2be958199..15afcf3de 100644 --- a/public/locales/lv/modules/media-server.json +++ b/public/locales/lv/modules/media-server.json @@ -1,23 +1,23 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Multivides Serveris", + "description": "Mijiedarbība ar Jellyfin vai Plex multivides serveri", "settings": { - "title": "" + "title": "Multivides servera logrīka iestatījumi" } }, "card": { "table": { "header": { - "session": "", - "user": "", - "currentlyPlaying": "" + "session": "Sesija", + "user": "Lietotājs", + "currentlyPlaying": "Pašlaik atskaņo" } }, "errors": { "general": { - "title": "", - "text": "" + "title": "Nevar ielādēt saturu", + "text": "Nevar iegūt informāciju no servera. Lūdzu, pārbaudiet žurnālus, lai iegūtu sīkāku informāciju" } } } diff --git a/public/locales/lv/modules/overseerr.json b/public/locales/lv/modules/overseerr.json index e7ff04402..aa3f079bf 100644 --- a/public/locales/lv/modules/overseerr.json +++ b/public/locales/lv/modules/overseerr.json @@ -1,28 +1,28 @@ { "descriptor": { - "name": "", - "description": "" + "name": "Overseerr", + "description": "Ļauj meklēt un pievienot multividi no Overseerr vai Jellyseerr." }, "popup": { "item": { "buttons": { - "askFor": "", - "cancel": "", - "request": "" + "askFor": "Pieprasiet {{title}}", + "cancel": "Atcelt", + "request": "Pieprasīt" }, "alerts": { "automaticApproval": { - "title": "", - "text": "" + "title": "API atslēgas izmantošana", + "text": "Šis pieprasījums tiks automātiski apstiprināts" } } }, "seasonSelector": { - "caption": "", + "caption": "Atzīmējiet sezonas, kuras vēlaties lejupielādēt", "table": { "header": { - "season": "", - "numberOfEpisodes": "" + "season": "Sezona", + "numberOfEpisodes": "Epizožu skaits" } } } diff --git a/public/locales/lv/modules/ping.json b/public/locales/lv/modules/ping.json index 76a91fe52..9c780b7a2 100644 --- a/public/locales/lv/modules/ping.json +++ b/public/locales/lv/modules/ping.json @@ -1,11 +1,11 @@ { "descriptor": { - "name": "", - "description": "" + "name": "Ping", + "description": "Rāda statusa indikatoru atkarībā no konkrētā URL adresāta HTTP atbildes koda." }, "states": { - "online": "", - "offline": "", - "loading": "" + "online": "Tiešsaistē {{response}}", + "offline": "Bezsaistes režīmā {{response}}", + "loading": "Notiek ielāde..." } } diff --git a/public/locales/lv/modules/rss.json b/public/locales/lv/modules/rss.json index 9ed993983..134466a41 100644 --- a/public/locales/lv/modules/rss.json +++ b/public/locales/lv/modules/rss.json @@ -1,28 +1,28 @@ { "descriptor": { - "name": "", + "name": "RSS logrīks", "description": "", "settings": { - "title": "", + "title": "RSS logrīka iestatījumi", "rssFeedUrl": { - "label": "", - "description": "" + "label": "RSS avotu URL adreses", + "description": "RSS avotu URL adreses, kuras vēlaties rādīt." }, "refreshInterval": { - "label": "" + "label": "Atsvaidzināšanas intervāls (minūtēs)" }, "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { - "label": "" + "textLinesClamp": { + "label": "Teksta līniju skava" } }, "card": { "errors": { "general": { - "title": "", - "text": "" + "title": "Nav iespējams iegūt RSS plūsmu", + "text": "Radās problēma, sasniedzot RSS plūsmu. Pārliecinieties, ka esat pareizi konfigurējis RSS plūsmu, izmantojot derīgu URL. URL ir jāatbilst oficiālajai specifikācijai. Pēc plūsmas atjaunināšanas, iespējams, būs jāatjauno informācijas panelis." } } } diff --git a/public/locales/lv/modules/search.json b/public/locales/lv/modules/search.json index 16651d720..47ba2b7e0 100644 --- a/public/locales/lv/modules/search.json +++ b/public/locales/lv/modules/search.json @@ -1,30 +1,30 @@ { "descriptor": { - "name": "", - "description": "" + "name": "Meklēšanas josla", + "description": "Meklēšanas josla, kas ļauj veikt meklēšanu pielāgotajā meklētājdzinī, pakalpojumā YouTube un atbalstītajās integrācijās." }, "input": { - "placeholder": "" + "placeholder": "Meklēšana tīmeklī..." }, - "switched-to": "", + "switched-to": "Pārslēgts uz", "searchEngines": { "search": { - "name": "", - "description": "" + "name": "Tīmeklis", + "description": "Meklēt..." }, "youtube": { - "name": "", - "description": "" + "name": "YouTube", + "description": "Meklēšana vietnē YouTube" }, "torrents": { - "name": "", - "description": "" + "name": "Torenti", + "description": "Torentu meklēšana" }, "overseerr": { - "name": "", - "description": "" + "name": "Overseerr", + "description": "Meklēt filmas un TV šovus Overseerr" } }, - "tip": "", - "switchedSearchEngine": "" + "tip": "Varat atlasīt meklēšanas joslu, izmantojot saīsni ", + "switchedSearchEngine": "Pārslēgts uz meklēšanu ar {{searchEngine}}" } diff --git a/public/locales/lv/modules/torrents-status.json b/public/locales/lv/modules/torrents-status.json index 8d82a12a8..671dbc380 100644 --- a/public/locales/lv/modules/torrents-status.json +++ b/public/locales/lv/modules/torrents-status.json @@ -1,79 +1,79 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Torrents", + "description": "Tiek parādīts atbalstīto Torrent klientu torrentu saraksts.", "settings": { - "title": "", + "title": "Torrent logrīka iestatījumi", "refreshInterval": { - "label": "" + "label": "Atjaunošanas intervāls (sekundēs)" }, "displayCompletedTorrents": { - "label": "" + "label": "Rādīt pabeigtos torrentus" }, "displayStaleTorrents": { - "label": "" + "label": "Rādīt novecojušus torrentus" }, "labelFilterIsWhitelist": { - "label": "" + "label": "Etiķešu saraksts ir baltais saraksts (nevis melnais saraksts)" }, "labelFilter": { - "label": "", - "description": "" + "label": "Iezīmju saraksts", + "description": "Ja ir atzīmēts 'ir baltais saraksts', tas darbosies kā baltais saraksts. Ja nav atzīmēts, šis ir melnais saraksts. Ja ir tukšs, tas neko nedarīs" } } }, "card": { "footer": { - "error": "", - "lastUpdated": "" + "error": "Kļūda", + "lastUpdated": "Pēdējo reizi atjaunināts pirms {{time}}" }, "table": { "header": { - "name": "", - "size": "", - "download": "", - "upload": "", - "estimatedTimeOfArrival": "", - "progress": "" + "name": "Nosaukums", + "size": "Lielums", + "download": "Lejupielāde", + "upload": "Augšupielāde", + "estimatedTimeOfArrival": "ETA", + "progress": "Progress" }, "item": { - "text": "" + "text": "Pārvalda {{appName}}, {{ratio}} attiecība" }, "body": { - "nothingFound": "", - "filterHidingItems": "" + "nothingFound": "Netika atrasti torrenti", + "filterHidingItems": "{{count}} ieraksti ir paslēpti ar jūsu filtriem" } }, "lineChart": { - "title": "", - "download": "", - "upload": "", - "timeSpan": "", - "totalDownload": "", - "totalUpload": "" + "title": "Pašreizējais lejupielādes ātrums", + "download": "Lejupielāde: {{download}}", + "upload": "Augšupielāde: {{upload}}", + "timeSpan": "pirms {{seconds}} sekundēm", + "totalDownload": "Lejupielāde: {{download}}/s", + "totalUpload": "Augšupielāde: {{upload}}/s" }, "errors": { "noDownloadClients": { - "title": "", - "text": "" + "title": "Netika atrasts neviens atbalstīts Torrent klients!", + "text": "Pievienojiet atbalstītu Torrent klientu, lai skatītu pašreizējās lejupielādes" }, "generic": { - "title": "", - "text": "" + "title": "Radās neparedzēta kļūda", + "text": "Homarr neizdevās sazināties ar jūsu Torrent klientiem. Lūdzu, pārbaudiet savu konfigurāciju" } }, "loading": { - "title": "" + "title": "Notiek ielāde..." }, "popover": { - "introductionPrefix": "", + "introductionPrefix": "Pārvalda", "metrics": { - "queuePosition": "", - "progress": "", - "totalSelectedSize": "", - "state": "", - "ratio": "", - "completed": "" + "queuePosition": "Rindas pozīcija - {{position}}", + "progress": "Progress - {{progress}}%", + "totalSelectedSize": "Kopā - {{totalSize}}", + "state": "Stāvoklis - {{state}}", + "ratio": "Attiecība -", + "completed": "Pabeigts" } } } diff --git a/public/locales/lv/modules/usenet.json b/public/locales/lv/modules/usenet.json index b223d452d..1dd2e8f50 100644 --- a/public/locales/lv/modules/usenet.json +++ b/public/locales/lv/modules/usenet.json @@ -1,49 +1,49 @@ { "descriptor": { - "name": "", - "description": "" + "name": "Usenet", + "description": "Ļauj skatīt un pārvaldīt savu Usenet instanci." }, "card": { "errors": { "noDownloadClients": { - "title": "", - "text": "" + "title": "Netika atrasts neviens atbalstīts lejupielādes klients!", + "text": "Pievienojiet atbalstītu Usenet Lejupielādes Klientu, lai skatītu pašreizējās lejupielādes" } } }, "tabs": { - "queue": "", - "history": "" + "queue": "Rinda", + "history": "Vēsture" }, "info": { - "sizeLeft": "", - "paused": "" + "sizeLeft": "Izmērs pa kreisi", + "paused": "Apstādināts" }, "queue": { "header": { - "name": "", - "size": "", - "eta": "", - "progress": "" + "name": "Nosaukums", + "size": "Lielums", + "eta": "ETA", + "progress": "Progress" }, - "empty": "", + "empty": "Tukšs", "error": { - "title": "", - "message": "" + "title": "Kļūda", + "message": "Radās kļūda" }, - "paused": "" + "paused": "Apstādināts" }, "history": { "header": { - "name": "", - "size": "", - "duration": "" + "name": "Nosaukums", + "size": "Lielums", + "duration": "Ilgums" }, - "empty": "", + "empty": "Tukšs", "error": { - "title": "", - "message": "" + "title": "Kļūda", + "message": "Kļūda ielādējot vēsturi" }, - "paused": "" + "paused": "Apstādināts" } } diff --git a/public/locales/lv/modules/video-stream.json b/public/locales/lv/modules/video-stream.json index 539daa1c4..77794ca5d 100644 --- a/public/locales/lv/modules/video-stream.json +++ b/public/locales/lv/modules/video-stream.json @@ -1,24 +1,24 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Videostraume", + "description": "Ieguldīt videostraumi vai video no kameras vai tīmekļvietnes", "settings": { - "title": "", + "title": "Videostraume logrīka iestatījumi", "FeedUrl": { - "label": "" + "label": "Plūsmas URL" }, "autoPlay": { - "label": "" + "label": "Automātiskā atskaņošana" }, "muted": { - "label": "" + "label": "Izslēgta skaņa" }, "controls": { - "label": "" + "label": "Video atskaņotāja vadība" } } }, "errors": { - "invalidStream": "" + "invalidStream": "Nederīga straume" } } \ No newline at end of file diff --git a/public/locales/lv/modules/weather.json b/public/locales/lv/modules/weather.json index bdab2308a..bff49b078 100644 --- a/public/locales/lv/modules/weather.json +++ b/public/locales/lv/modules/weather.json @@ -1,33 +1,33 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Laikapstākļi", + "description": "Rāda pašreizējo laikapstākļu informāciju par iestatīto atrašanās vietu.", "settings": { - "title": "", + "title": "Laikapstākļu logrīka iestatījumi", "displayInFahrenheit": { - "label": "" + "label": "Rādīt pēc Fārenheita" }, "location": { - "label": "" + "label": "Laikapstākļu atrašānās vieta" } } }, "card": { "weatherDescriptions": { - "clear": "", - "mainlyClear": "", - "fog": "", - "drizzle": "", - "freezingDrizzle": "", - "rain": "", - "freezingRain": "", - "snowFall": "", - "snowGrains": "", - "rainShowers": "", - "snowShowers": "", - "thunderstorm": "", - "thunderstormWithHail": "", - "unknown": "" + "clear": "Skaidrs", + "mainlyClear": "Galvenokārt skaidrs", + "fog": "Migla", + "drizzle": "Smidzinošs lietus", + "freezingDrizzle": "Smidzinošs ledus", + "rain": "Lietus", + "freezingRain": "Ledus lietus", + "snowFall": "Gāziensnidze", + "snowGrains": "Sniega graudi", + "rainShowers": "Lietusgāzes", + "snowShowers": "Sniegputenis", + "thunderstorm": "Pērkona negaiss", + "thunderstormWithHail": "Pērkona negaiss ar krusu", + "unknown": "Nezināms" } } } diff --git a/public/locales/lv/settings/common.json b/public/locales/lv/settings/common.json index 8ff0e555a..ed61c254b 100644 --- a/public/locales/lv/settings/common.json +++ b/public/locales/lv/settings/common.json @@ -1,38 +1,38 @@ { - "title": "", - "tooltip": "", + "title": "Iestatījumi", + "tooltip": "Iestatījumi", "tabs": { - "common": "", - "customizations": "" + "common": "Kopīgais", + "customizations": "Pielāgojumi" }, "tips": { - "configTip": "" + "configTip": "Augšupielādējiet konfigurācijas failu, velkot un nometot to uz lapas!" }, "credits": { - "madeWithLove": "", - "thirdPartyContent": "", + "madeWithLove": "Ar ❤️ izstrādājis @", + "thirdPartyContent": "Skatiet trešo pušu saturu", "thirdPartyContentTable": { - "dependencyName": "", - "dependencyVersion": "" + "dependencyName": "Atkarība", + "dependencyVersion": "Versija" } }, - "grow": "", + "grow": "Palielināt režģi (aizņemt visu vietu)", "layout": { "preview": { - "title": "", - "subtitle": "" + "title": "Priekšskatījums", + "subtitle": "Izmaiņas tiks saglabātas automātiski" }, - "divider": "", - "main": "", - "sidebar": "", - "cannotturnoff": "", - "dashboardlayout": "", - "enablersidebar": "", - "enablelsidebar": "", - "enablesearchbar": "", - "enabledocker": "", - "enableping": "", - "enablelsidebardesc": "", - "enablersidebardesc": "" + "divider": "Izkārtojuma konfigurācija", + "main": "Galvenais", + "sidebar": "Sānu josla", + "cannotturnoff": "Nevar izslēgt", + "dashboardlayout": "Informācijas paneļa izkārtojums", + "enablersidebar": "Ieslēgt labo sānu joslu", + "enablelsidebar": "Ieslēgt kreiso sānu joslu", + "enablesearchbar": "Ieslēgt meklēšanas joslu", + "enabledocker": "Iespējot docker integrāciju", + "enableping": "Iespējot ping", + "enablelsidebardesc": "Pēc izvēles. Var izmantot tikai lietotnēm un integrācijām", + "enablersidebardesc": "Pēc izvēles. Var izmantot tikai lietotnēm un integrācijām" } } diff --git a/public/locales/lv/settings/customization/accessibility.json b/public/locales/lv/settings/customization/accessibility.json new file mode 100644 index 000000000..79e81afbf --- /dev/null +++ b/public/locales/lv/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Atslēgt Ping pulsāciju", + "description": "Pēc noklusējuma Homarr Ping indikatori pulsē. Tas var būt kaitinoši. Šis slīdnis atslēgs animāciju" + }, + "replaceIconsWithDots": { + "label": "Aizstāt Ping punktiņus ar ikonām", + "description": "Krāsu akliem lietotājiem Ping punktiņi var būt neatpazīstami. Tas aizstās indikatorus ar ikonām" + }, + "alert": "Vai jums kaut kas pietrūkst? Mēs labprāt paplašināsim Homarr piekļūstamību" +} \ No newline at end of file diff --git a/public/locales/lv/settings/customization/app-width.json b/public/locales/lv/settings/customization/app-width.json index 9e26dfeeb..9d12d9a14 100644 --- a/public/locales/lv/settings/customization/app-width.json +++ b/public/locales/lv/settings/customization/app-width.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "label": "Aplikācijas Platums" +} \ No newline at end of file diff --git a/public/locales/lv/settings/customization/color-selector.json b/public/locales/lv/settings/customization/color-selector.json index 9e26dfeeb..9f183ebba 100644 --- a/public/locales/lv/settings/customization/color-selector.json +++ b/public/locales/lv/settings/customization/color-selector.json @@ -1 +1,4 @@ -{} \ No newline at end of file +{ + "colors": "Krāsas", + "suffix": "{{color}} krāsa" +} \ No newline at end of file diff --git a/public/locales/lv/settings/customization/general.json b/public/locales/lv/settings/customization/general.json index ee9d30b5a..9e399fc53 100644 --- a/public/locales/lv/settings/customization/general.json +++ b/public/locales/lv/settings/customization/general.json @@ -1,21 +1,25 @@ { - "text": "", + "text": "Pielāgojumi ļauj jums konfigurēt un pielāgot Homarr lietošanas pieredzi atbilstoši savām vēlmēm.", "accordeon": { "layout": { - "name": "", - "description": "" + "name": "Izkārtojums", + "description": "Elementu iespējošana un atspējošana galvenes un informācijas paneļa flīzēs" }, "gridstack": { - "name": "", - "description": "" + "name": "Gridstack", + "description": "Informācijas paneļa apgabala uzvedības un kolonnu pielāgošana" }, "pageMetadata": { - "name": "", - "description": "" + "name": "Lapas Metadati", + "description": "Pielāgojiet nosaukumus, logotipu un PWA" }, "appereance": { - "name": "", - "description": "" + "name": "Izskats", + "description": "Fona, krāsu un programmu izskata pielāgošana" + }, + "accessibility": { + "name": "Piekļūstamība", + "description": "Homarr konfigurēšana lietotājiem ar invaliditāti un/vai ar īpašām vajadzībām" } } -} \ No newline at end of file +} diff --git a/public/locales/lv/settings/customization/gridstack.json b/public/locales/lv/settings/customization/gridstack.json index 18c3d8233..145df5397 100644 --- a/public/locales/lv/settings/customization/gridstack.json +++ b/public/locales/lv/settings/customization/gridstack.json @@ -1,10 +1,10 @@ { "columnsCount": { - "labelPreset": "", - "descriptionPreset": "", - "descriptionExceedsPreset": "" + "labelPreset": "Kolonnas {{size}} izmērā", + "descriptionPreset": "Kolonnu skaits, ja ekrāna platums ir mazāks par {{pixels}} pikseļu", + "descriptionExceedsPreset": "Kolonnu skaits, ja ekrāna izmērs pārsniedz {{pixels}} pikseļu" }, - "unsavedChanges": "", - "applyChanges": "", - "defaultValues": "" + "unsavedChanges": "Jums ir nesaglabātas izmaiņas. Lai piemērotu un saglabātu izmaiņas, noklikšķiniet uz pogas Piemērot izmaiņas.", + "applyChanges": "Piemērot izmaiņas", + "defaultValues": "Noklusējuma vērtības" } \ No newline at end of file diff --git a/public/locales/lv/settings/customization/opacity-selector.json b/public/locales/lv/settings/customization/opacity-selector.json index 9e26dfeeb..926f7e8cb 100644 --- a/public/locales/lv/settings/customization/opacity-selector.json +++ b/public/locales/lv/settings/customization/opacity-selector.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "label": "Aplikācijas Necaruspīdība" +} \ No newline at end of file diff --git a/public/locales/lv/settings/customization/page-appearance.json b/public/locales/lv/settings/customization/page-appearance.json index 79e9e7c94..6864737b7 100644 --- a/public/locales/lv/settings/customization/page-appearance.json +++ b/public/locales/lv/settings/customization/page-appearance.json @@ -1,30 +1,30 @@ { "pageTitle": { - "label": "", - "description": "" + "label": "Lapas Virsraksts", + "description": "Informācijas paneļa virsraksts kreisajā augšējā stūrī" }, "metaTitle": { - "label": "", - "description": "" + "label": "Meta Virsraksts", + "description": "Pārlūkprogrammas cilnē redzamais nosaukums" }, "logo": { - "label": "", - "description": "" + "label": "Logotips", + "description": "Logotips, kas redzams augšējā kreisajā stūrī" }, "favicon": { - "label": "", - "description": "" + "label": "Favicon", + "description": "Pārlūkprogrammas cilnē redzamā ikona" }, "background": { - "label": "" + "label": "Fons" }, "customCSS": { - "label": "", - "description": "", - "placeholder": "", - "applying": "" + "label": "Pielāgotais CSS", + "description": "Turklāt pielāgojiet paneli, izmantojot CSS, ieteicams tikai pieredzējušiem lietotājiem", + "placeholder": "Pielāgotais CSS tiks piemērots pēdējais", + "applying": "CSS piemērošana..." }, "buttons": { - "submit": "" + "submit": "Iesniegt" } } diff --git a/public/locales/lv/settings/customization/shade-selector.json b/public/locales/lv/settings/customization/shade-selector.json index 9e26dfeeb..c9a234385 100644 --- a/public/locales/lv/settings/customization/shade-selector.json +++ b/public/locales/lv/settings/customization/shade-selector.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "label": "Ēnojums" +} \ No newline at end of file diff --git a/public/locales/lv/settings/general/color-schema.json b/public/locales/lv/settings/general/color-schema.json index 9e26dfeeb..97875cd56 100644 --- a/public/locales/lv/settings/general/color-schema.json +++ b/public/locales/lv/settings/general/color-schema.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "label": "Pārslēgšanās uz {{scheme}} režīmu" +} \ No newline at end of file diff --git a/public/locales/lv/settings/general/config-changer.json b/public/locales/lv/settings/general/config-changer.json index dc8f3ea4b..632d7487a 100644 --- a/public/locales/lv/settings/general/config-changer.json +++ b/public/locales/lv/settings/general/config-changer.json @@ -1,86 +1,86 @@ { "configSelect": { - "label": "", - "description": "", - "loadingNew": "", - "pleaseWait": "" + "label": "Konfigurācijas mainītājs", + "description": "{{configCount}} konfigurācijas ir pieejamas", + "loadingNew": "Konfigurācijas ielādēšana...", + "pleaseWait": "Lūdzu, uzgaidiet, kamēr tiks ielādēta jaunā konfigurācija!" }, "modal": { "copy": { - "title": "", + "title": "Izvēlieties jaunās konfigurācijas nosaukumu", "form": { "configName": { - "label": "", + "label": "Konfigurācijas nosaukums", "validation": { - "required": "", - "notUnique": "" + "required": "Konfigurācijas nosaukums ir obligāts", + "notUnique": "Konfigurācijas nosaukums jau tiek izmantots" }, - "placeholder": "" + "placeholder": "Jūsu jaunais konfigurācijas nosaukums" }, - "submitButton": "" + "submitButton": "Apstipriniet" }, "events": { "configSaved": { - "title": "", - "message": "" + "title": "Konfigurācija saglabāta", + "message": "Konfigurācija saglabāta kā {{configName}}" }, "configCopied": { - "title": "", - "message": "" + "title": "Konfigurācija pārkopēta", + "message": "Konfigurācija pārkopēta kā {{configName}}" }, "configNotCopied": { - "title": "", - "message": "" + "title": "Nesanāca pārkopēt konfigurāciju", + "message": "Jūsu konfigurācija netika pārkopēta kā {{configName}}" } } }, "confirmDeletion": { - "title": "", - "warningText": "", - "text": "", + "title": "Konfigurācijas dzēšanas apstiprināšana", + "warningText": "Jūs gatavojaties dzēst '{{configName}}'", + "text": "Lūdzu, ņemiet vērā, ka dzēšana nav atgriezeniska, un jūsu dati tiks pazaudēti neatgriezeniski. Nospiežot šo pogu, fails tiks neatgriezeniski izdzēsts no diska. Pārliecinieties, ka esat izveidojis atbilstošu konfigurācijas dublējumu.", "buttons": { - "confirm": "" + "confirm": "Jā, dzēst \"{{configName}}" } } }, "buttons": { - "download": "", + "download": "Lejupielādēt konfigurāciju", "delete": { - "text": "", + "text": "Dzēst konfigurāciju", "notifications": { "deleted": { - "title": "", - "message": "" + "title": "Konfigurācija izdzēsta", + "message": "Konfigurācija izdzēsta" }, "deleteFailed": { - "title": "", - "message": "" + "title": "Konfigurācijas dzēšana neizdevās", + "message": "Konfigurācijas dzēšana neizdevās" }, "deleteFailedDefaultConfig": { - "title": "", - "message": "" + "title": "Noklusējuma konfigurāciju nevar izdzēst", + "message": "Konfigurācija netika izdzēsta no failu sistēmas" } } }, - "saveCopy": "" + "saveCopy": "Saglabāt kopiju" }, "dropzone": { "notifications": { "invalidConfig": { - "title": "", - "message": "" + "title": "Nevar ielādēt konfigurāciju", + "message": "Nevar ielādēt jūsu konfigurāciju. Nederīgs JSON formāts." }, "loadedSuccessfully": { - "title": "" + "title": "Veiksmīgi ielādēta konfigurācija {{configName}}" } }, "accept": { - "title": "", - "text": "" + "title": "Konfigurācijas augšupielāde", + "text": "Velciet failus šeit, lai augšupielādētu konfigurāciju. Tiek atbalstīti tikai JSON faili." }, "reject": { - "title": "", - "text": "" + "title": "Vilkšanas un Nomešanas Augšupielāde noraidīta", + "text": "Šis faila formāts netiek atbalstīts. Lūdzu, augšupielādējiet tikai JSON failus." } } } diff --git a/public/locales/lv/settings/general/internationalization.json b/public/locales/lv/settings/general/internationalization.json index 9e26dfeeb..2b3720f0b 100644 --- a/public/locales/lv/settings/general/internationalization.json +++ b/public/locales/lv/settings/general/internationalization.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "label": "Valoda" +} \ No newline at end of file diff --git a/public/locales/lv/settings/general/search-engine.json b/public/locales/lv/settings/general/search-engine.json index 9cb91483a..c5f4ad86f 100644 --- a/public/locales/lv/settings/general/search-engine.json +++ b/public/locales/lv/settings/general/search-engine.json @@ -1,19 +1,19 @@ { - "title": "", - "configurationName": "", + "title": "Meklētājdzinējs", + "configurationName": "Meklētājdzinēja konfigurācija", "tips": { - "generalTip": "", - "placeholderTip": "" + "generalTip": "Varat izmantot vairākus priedēkļus! Tos pievienojot pirms vaicājuma, rezultāti tiks filtrēti. !s (Tīmeklis), !t (Torrents), !y (YouTube) un !m (Multivide).", + "placeholderTip": "%s var izmantot kā vietturi vaicājumā." }, "customEngine": { - "title": "", - "label": "", - "placeholder": "" + "title": "Pielāgots meklētājdzinis", + "label": "Pieprasījuma URL", + "placeholder": "Pielāgotais vaicājuma URL" }, "searchNewTab": { - "label": "" + "label": "Atvērt meklēšanas rezultātus jaunā cilnē" }, "searchEnabled": { - "label": "" + "label": "Meklēšana ir iespējota" } } diff --git a/public/locales/lv/settings/general/theme-selector.json b/public/locales/lv/settings/general/theme-selector.json index 9e26dfeeb..9279f5991 100644 --- a/public/locales/lv/settings/general/theme-selector.json +++ b/public/locales/lv/settings/general/theme-selector.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "label": "Pārslēgšanās uz {{theme}} režīmu" +} \ No newline at end of file diff --git a/public/locales/lv/settings/general/widget-positions.json b/public/locales/lv/settings/general/widget-positions.json index 0967ef424..0a5f3809f 100644 --- a/public/locales/lv/settings/general/widget-positions.json +++ b/public/locales/lv/settings/general/widget-positions.json @@ -1 +1,3 @@ -{} +{ + "label": "Novietot logrīkus kreisajā pusē" +} diff --git a/public/locales/lv/widgets/draggable-list.json b/public/locales/lv/widgets/draggable-list.json index 5d27e99ad..d2f32fac6 100644 --- a/public/locales/lv/widgets/draggable-list.json +++ b/public/locales/lv/widgets/draggable-list.json @@ -1,7 +1,7 @@ { "noEntries": { - "title": "", - "text": "" + "title": "Nav ierakstu", + "text": "Izmantojiet zemāk esošās pogas, lai pievienotu papildus ierakstus" }, - "buttonAdd": "" + "buttonAdd": "Pievienot" } diff --git a/public/locales/lv/widgets/error-boundary.json b/public/locales/lv/widgets/error-boundary.json index ce74ad0fc..a691ec99f 100644 --- a/public/locales/lv/widgets/error-boundary.json +++ b/public/locales/lv/widgets/error-boundary.json @@ -1,14 +1,14 @@ { "card": { - "title": "", + "title": "Uups, radās kļūda!", "buttons": { - "details": "", - "tryAgain": "" + "details": "Detaļas", + "tryAgain": "Mēģiniet vēlreiz" } }, "modal": { "text": "", - "label": "", - "reportButton": "" + "label": "Jūsu kļūda", + "reportButton": "Ziņot par šo kļūdu" } } diff --git a/public/locales/nl/modules/calendar.json b/public/locales/nl/modules/calendar.json index 97240d18b..bed2884fb 100644 --- a/public/locales/nl/modules/calendar.json +++ b/public/locales/nl/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr release type" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/nl/modules/iframe.json b/public/locales/nl/modules/iframe.json index dfbe2e5f2..088051e2e 100644 --- a/public/locales/nl/modules/iframe.json +++ b/public/locales/nl/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "Volledig scherm toestaan" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/nl/modules/rss.json b/public/locales/nl/modules/rss.json index fbfac8116..6be37976c 100644 --- a/public/locales/nl/modules/rss.json +++ b/public/locales/nl/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/nl/settings/customization/accessibility.json b/public/locales/nl/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/nl/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/nl/settings/customization/general.json b/public/locales/nl/settings/customization/general.json index eeb37373e..5003a2b12 100644 --- a/public/locales/nl/settings/customization/general.json +++ b/public/locales/nl/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Opmaak", "description": "Pas de achtergrond, kleuren en het uiterlijk van de app aan" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/no/modules/calendar.json b/public/locales/no/modules/calendar.json index e0ded0fe2..e94dea4ac 100644 --- a/public/locales/no/modules/calendar.json +++ b/public/locales/no/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr utgivelsestype" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/no/modules/iframe.json b/public/locales/no/modules/iframe.json index e4477d402..d5c074814 100644 --- a/public/locales/no/modules/iframe.json +++ b/public/locales/no/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "Tillat fullskjerm" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/no/modules/rss.json b/public/locales/no/modules/rss.json index 13233ee5b..f1c8b7301 100644 --- a/public/locales/no/modules/rss.json +++ b/public/locales/no/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/no/settings/customization/accessibility.json b/public/locales/no/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/no/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/no/settings/customization/general.json b/public/locales/no/settings/customization/general.json index 01370b40f..3cb392ab8 100644 --- a/public/locales/no/settings/customization/general.json +++ b/public/locales/no/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Utseende", "description": "Tilpass både bakgrunn, farger og apper" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/pl/modules/calendar.json b/public/locales/pl/modules/calendar.json index 89e41c4c3..4b06d1ca9 100644 --- a/public/locales/pl/modules/calendar.json +++ b/public/locales/pl/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Typ zwolnienia Radarr" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/pl/modules/iframe.json b/public/locales/pl/modules/iframe.json index 5f4803f77..cd6f548ae 100644 --- a/public/locales/pl/modules/iframe.json +++ b/public/locales/pl/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "Pozwól na pełny ekran" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/pl/modules/rss.json b/public/locales/pl/modules/rss.json index b976880f8..881b15dc7 100644 --- a/public/locales/pl/modules/rss.json +++ b/public/locales/pl/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/pl/settings/customization/accessibility.json b/public/locales/pl/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/pl/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/pl/settings/customization/general.json b/public/locales/pl/settings/customization/general.json index 69e74c464..8a1ab7df5 100644 --- a/public/locales/pl/settings/customization/general.json +++ b/public/locales/pl/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Wygląd", "description": "Dostosuj tło, kolory i wygląd aplikacji" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/pt/modules/calendar.json b/public/locales/pt/modules/calendar.json index 3344c4a6d..4f5ed342d 100644 --- a/public/locales/pt/modules/calendar.json +++ b/public/locales/pt/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Tipo de libertação de Radarr" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/pt/modules/iframe.json b/public/locales/pt/modules/iframe.json index 23178e2b7..81424933e 100644 --- a/public/locales/pt/modules/iframe.json +++ b/public/locales/pt/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "Permitir tela cheia" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/pt/modules/rss.json b/public/locales/pt/modules/rss.json index f16eba7d9..527cc1c8c 100644 --- a/public/locales/pt/modules/rss.json +++ b/public/locales/pt/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/pt/settings/customization/accessibility.json b/public/locales/pt/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/pt/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/pt/settings/customization/general.json b/public/locales/pt/settings/customization/general.json index 59da6f909..9036d8c92 100644 --- a/public/locales/pt/settings/customization/general.json +++ b/public/locales/pt/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Aparência", "description": "" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/ru/modules/calendar.json b/public/locales/ru/modules/calendar.json index 757166857..2bb8e2e2d 100644 --- a/public/locales/ru/modules/calendar.json +++ b/public/locales/ru/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Тип релиза в Radarr" + }, + "hideWeekDays": { + "label": "Скрыть дни недели" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/ru/modules/dns-hole-summary.json b/public/locales/ru/modules/dns-hole-summary.json index 06b1e173d..0e5bd04f5 100644 --- a/public/locales/ru/modules/dns-hole-summary.json +++ b/public/locales/ru/modules/dns-hole-summary.json @@ -5,16 +5,16 @@ "settings": { "title": "Настройки сводки DNS Hole", "usePiHoleColors": { - "label": "Использовать цвета PiHole" + "label": "Использовать цвета из PiHole" } } }, "card": { "metrics": { - "domainsOnAdlist": "Домены в рекламных списках", - "queriesToday": "Запросы сегодня", - "queriesBlockedTodayPercentage": "Заблокировано сегодня", - "queriesBlockedToday": "Заблокировано сегодня" + "domainsOnAdlist": "доменов в списке блокировок", + "queriesToday": "запросов сегодня", + "queriesBlockedTodayPercentage": "заблокировано сегодня", + "queriesBlockedToday": "заблокировано сегодня" } } } diff --git a/public/locales/ru/modules/iframe.json b/public/locales/ru/modules/iframe.json index 6e2d447fa..738d97faf 100644 --- a/public/locales/ru/modules/iframe.json +++ b/public/locales/ru/modules/iframe.json @@ -1,23 +1,44 @@ { "descriptor": { - "name": "iFrame", + "name": "Встраивание фрейма (iFrame)", "description": "Встраивать любой контент из интернета. Некоторые веб-сайты могут ограничивать доступ.", "settings": { "title": "Настройки iFrame", "embedUrl": { - "label": "Вставить URL-адрес" + "label": "Встроенный URL" }, "allowFullScreen": { "label": "Разрешить полноэкранный режим" + }, + "allowTransparency": { + "label": "Разрешить прозрачность" + }, + "allowScrolling": { + "label": "Разрешить прокрутку" + }, + "allowPayment": { + "label": "Разрешить платежи" + }, + "allowAutoPlay": { + "label": "Разрешить автоматическое воспроизведение" + }, + "allowMicrophone": { + "label": "Разрешить микрофон" + }, + "allowCamera": { + "label": "Разрешить камеру" + }, + "allowGeolocation": { + "label": "Разрешить геолокацию" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "Недопустимый URL", "text": "Убедитесь, что вы ввели действительный адрес в конфигурации вашего виджета" } } } -} \ No newline at end of file +} diff --git a/public/locales/ru/modules/media-requests-list.json b/public/locales/ru/modules/media-requests-list.json index d29b81ba2..0fa7861ad 100644 --- a/public/locales/ru/modules/media-requests-list.json +++ b/public/locales/ru/modules/media-requests-list.json @@ -1,11 +1,11 @@ { "descriptor": { - "name": "Медиазапросы", - "description": "Посмотреть список всех медиазапросов от вашего Overseerr или Jellyseerr", + "name": "Медиа-запросы", + "description": "Посмотреть список всех медиа запросов от вашего Overseerr или Jellyseerr", "settings": { - "title": "Список медиазапросов", + "title": "Список медиа запросов", "replaceLinksWithExternalHost": { - "label": "" + "label": "Заменить ссылки на внешний хост" } } }, @@ -18,7 +18,7 @@ "declined": "Отклонено" }, "tooltips": { - "approve": "", - "decline": "" + "approve": "Одобрить запросы", + "decline": "Отклонить запросы" } } diff --git a/public/locales/ru/modules/rss.json b/public/locales/ru/modules/rss.json index 38f1fac25..ee156bc13 100644 --- a/public/locales/ru/modules/rss.json +++ b/public/locales/ru/modules/rss.json @@ -5,7 +5,7 @@ "settings": { "title": "Настройки для виджета RSS", "rssFeedUrl": { - "label": "Адрес ленты RSS", + "label": "URL-адреса лент RSS", "description": "URL-адреса RSS-каналов, которые вы хотите отобразить." }, "refreshInterval": { @@ -14,15 +14,15 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { - "label": "" + "textLinesClamp": { + "label": "Ограничение количества строк текста" } }, "card": { "errors": { "general": { "title": "Не удается получить RSS-ленту", - "text": "Возникла проблема при подключении к RSS-каналу. Убедитесь, что вы правильно настроили канал и используете действительный URL адрес RSS, соответствующий официальной спецификации. После обновления канала, вам может потребоваться сохранить панель и обновить страницу." + "text": "Возникла проблема при подключении к RSS-каналу. Убедитесь, что вы правильно настроили RSS-канал с использованием допустимого URL-адреса. URL-адреса должны соответствовать официальной спецификации. После обновления канала вам может потребоваться обновить панель." } } } diff --git a/public/locales/ru/settings/customization/accessibility.json b/public/locales/ru/settings/customization/accessibility.json new file mode 100644 index 000000000..802062a94 --- /dev/null +++ b/public/locales/ru/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Отключить импульс пинга", + "description": "По умолчанию индикаторы пинга в Homarr пульсируют. Это может раздражать. Этот ползунок отключит анимацию" + }, + "replaceIconsWithDots": { + "label": "Замените пинг-точки значками", + "description": "У пользователей, страдающих цветовой слепотой, пинг-точки могут быть неразличимыми. Это заменит индикаторы значками" + }, + "alert": "Вам чего-то не хватает? Мы с радостью расширим доступность Homarr" +} \ No newline at end of file diff --git a/public/locales/ru/settings/customization/general.json b/public/locales/ru/settings/customization/general.json index 5e0720ab1..53cc68077 100644 --- a/public/locales/ru/settings/customization/general.json +++ b/public/locales/ru/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Внешний вид", "description": "Настройка фона, цвета и внешнего вида приложений" + }, + "accessibility": { + "name": "Спец. возможности", + "description": "Настроить Homarr для пользователей с ограниченными возможностями и инвалидов" } } -} \ No newline at end of file +} diff --git a/public/locales/sk/modules/calendar.json b/public/locales/sk/modules/calendar.json index 133dffedc..945c05b1b 100644 --- a/public/locales/sk/modules/calendar.json +++ b/public/locales/sk/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Typ Radarr releasu" + }, + "hideWeekDays": { + "label": "Skryť dni v týždni" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/sk/modules/iframe.json b/public/locales/sk/modules/iframe.json index 703f85b85..e4a26a2de 100644 --- a/public/locales/sk/modules/iframe.json +++ b/public/locales/sk/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Povoliť celú obrazovku" + }, + "allowTransparency": { + "label": "Povoliť priehľadnosť" + }, + "allowScrolling": { + "label": "Povolenie posúvania" + }, + "allowPayment": { + "label": "Umožniť platbu" + }, + "allowAutoPlay": { + "label": "Povolenie automatického prehrávania" + }, + "allowMicrophone": { + "label": "Povoliť mikrofón" + }, + "allowCamera": { + "label": "Povoliť kameru" + }, + "allowGeolocation": { + "label": "Povolenie geografickej lokalizácie" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "Neplatná URL", "text": "Skontrolujte, či ste v konfigurácii mini aplikácie zadali platnú adresu" } } } -} \ No newline at end of file +} diff --git a/public/locales/sk/modules/rss.json b/public/locales/sk/modules/rss.json index 83666dd6d..c202168fa 100644 --- a/public/locales/sk/modules/rss.json +++ b/public/locales/sk/modules/rss.json @@ -12,9 +12,9 @@ "label": "Interval obnovovania (v minútach)" }, "dangerousAllowSanitizedItemContent": { - "label": "Nebezpečné: Povoľte sanitizovaný obsah položky" + "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "Svorka textových riadkov" } }, diff --git a/public/locales/sk/settings/customization/accessibility.json b/public/locales/sk/settings/customization/accessibility.json new file mode 100644 index 000000000..5d6768f61 --- /dev/null +++ b/public/locales/sk/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Zakázanie impulzu ping", + "description": "V predvolenom nastavení budú indikátory ping v aplikácii Homarr pulzovať. To môže byť nepríjemné. Tento posuvník deaktivuje animáciu" + }, + "replaceIconsWithDots": { + "label": "Nahradenie bodov ping ikonami", + "description": "Pre farboslepých používateľov môžu byť pingové body nerozpoznateľné. Toto nahradí indikátory ikonami" + }, + "alert": "Chýba vám niečo? Radi rozšírime dostupnosť Homarr" +} \ No newline at end of file diff --git a/public/locales/sk/settings/customization/general.json b/public/locales/sk/settings/customization/general.json index ebcf73066..45781937e 100644 --- a/public/locales/sk/settings/customization/general.json +++ b/public/locales/sk/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Vzhľad", "description": "Prispôsobenie pozadia, farieb a vzhľadu aplikácií" + }, + "accessibility": { + "name": "Prístupnosť", + "description": "Konfigurácia aplikácie Homarr pre zdravotne postihnutých a hendikepovaných používateľov" } } -} \ No newline at end of file +} diff --git a/public/locales/sk/widgets/error-boundary.json b/public/locales/sk/widgets/error-boundary.json index 561c0cda4..a3abe5e7d 100644 --- a/public/locales/sk/widgets/error-boundary.json +++ b/public/locales/sk/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "Vyskytla sa neočakávaná chyba. Skontrolujte prosím svoju konfiguráciu. Ak sa domnievate, že ide o chybu, nahláste tento problém.", + "text": "", "label": "Vaša chyba", "reportButton": "Nahlásiť chybu" } diff --git a/public/locales/sl/modules/calendar.json b/public/locales/sl/modules/calendar.json index 85fa04c90..9c2d62081 100644 --- a/public/locales/sl/modules/calendar.json +++ b/public/locales/sl/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Tip sprostitve Radarr" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/sl/modules/iframe.json b/public/locales/sl/modules/iframe.json index f0a6e5cc4..2ef3fa07e 100644 --- a/public/locales/sl/modules/iframe.json +++ b/public/locales/sl/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "Omogočite celozaslonsko prikazovanje" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/sl/modules/rss.json b/public/locales/sl/modules/rss.json index 06a267ba7..63be5061c 100644 --- a/public/locales/sl/modules/rss.json +++ b/public/locales/sl/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/sl/settings/customization/accessibility.json b/public/locales/sl/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/sl/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/sl/settings/customization/general.json b/public/locales/sl/settings/customization/general.json index 25bf79f33..623dd8c69 100644 --- a/public/locales/sl/settings/customization/general.json +++ b/public/locales/sl/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Videz", "description": "Prilagodite ozadje, barve in videz aplikacije" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index a9aca814c..44f543860 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -6,15 +6,15 @@ "delete": "Radera", "ok": "OK", "edit": "Redigera", - "enabled": "", - "disabled": "", - "enableAll": "", - "disableAll": "", + "enabled": "Aktiverad", + "disabled": "Inaktiverad", + "enableAll": "Aktivera alla", + "disableAll": "Inaktivera alla", "version": "Version", "changePosition": "Ändra position", "remove": "Ta bort", "removeConfirm": "Är du säker på att du vill ta bort {{item}}?", - "createItem": "", + "createItem": "+ skapa {{item}}", "sections": { "settings": "Inställningar", "dangerZone": "Farozon" diff --git a/public/locales/sv/layout/modals/add-app.json b/public/locales/sv/layout/modals/add-app.json index a13682fec..6fdef1086 100644 --- a/public/locales/sv/layout/modals/add-app.json +++ b/public/locales/sv/layout/modals/add-app.json @@ -39,7 +39,7 @@ "appearance": { "icon": { "label": "Appikon", - "description": "", + "description": "Börja skriva för att hitta en ikon. Du kan också klistra in en bild-URL för att använda en anpassad ikon.", "autocomplete": { "title": "Hittade inga resultat", "text": "Försök att använda en mer specifik sökterm. Om du inte kan hitta önskad ikon, klistra in bild-URL ovan för en anpassad ikon" diff --git a/public/locales/sv/modules/calendar.json b/public/locales/sv/modules/calendar.json index 0ce458246..ec129617e 100644 --- a/public/locales/sv/modules/calendar.json +++ b/public/locales/sv/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr releasetyp" + }, + "hideWeekDays": { + "label": "Dölj veckodagar" + }, + "fontSize": { + "label": "Teckenstorlek" } } } -} +} \ No newline at end of file diff --git a/public/locales/sv/modules/dashdot.json b/public/locales/sv/modules/dashdot.json index dd3fcd488..4c084401a 100644 --- a/public/locales/sv/modules/dashdot.json +++ b/public/locales/sv/modules/dashdot.json @@ -5,7 +5,7 @@ "settings": { "title": "Inställningar för Dash. widget", "dashName": { - "label": "" + "label": "Dash. Namn" }, "url": { "label": "Dash. URL" diff --git a/public/locales/sv/modules/iframe.json b/public/locales/sv/modules/iframe.json index 0fb5bb633..37472e178 100644 --- a/public/locales/sv/modules/iframe.json +++ b/public/locales/sv/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/sv/modules/rss.json b/public/locales/sv/modules/rss.json index 9ed993983..2b9501e16 100644 --- a/public/locales/sv/modules/rss.json +++ b/public/locales/sv/modules/rss.json @@ -1,21 +1,21 @@ { "descriptor": { - "name": "", + "name": "RSS-widget", "description": "", "settings": { - "title": "", + "title": "Inställningar för RSS-widget", "rssFeedUrl": { - "label": "", - "description": "" + "label": "URL-adresser för RSS-flöden", + "description": "URL-adresserna för de RSS-flöden som du vill visa från." }, "refreshInterval": { - "label": "" + "label": "Uppdateringsintervall (i minuter)" }, "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { - "label": "" + "textLinesClamp": { + "label": "Klämma för textrader" } }, "card": { diff --git a/public/locales/sv/modules/torrents-status.json b/public/locales/sv/modules/torrents-status.json index 771f8cb85..151c3ae7e 100644 --- a/public/locales/sv/modules/torrents-status.json +++ b/public/locales/sv/modules/torrents-status.json @@ -14,11 +14,11 @@ "label": "Visa inaktuella torrents" }, "labelFilterIsWhitelist": { - "label": "" + "label": "Etikettlistan är en vitlista (istället för svartlista)" }, "labelFilter": { - "label": "", - "description": "" + "label": "Etikettlista", + "description": "Om \"är vitlista\" är markerat kommer detta att fungera som en vitlista. Om detta inte är markerat är detta en svartlista. Kommer inte att göra något när den är tom" } } }, @@ -41,7 +41,7 @@ }, "body": { "nothingFound": "Inga torrents hittades", - "filterHidingItems": "" + "filterHidingItems": "{{count}} poster är dolda av dina filter" } }, "lineChart": { diff --git a/public/locales/sv/modules/video-stream.json b/public/locales/sv/modules/video-stream.json index 1aebb3188..185f1578a 100644 --- a/public/locales/sv/modules/video-stream.json +++ b/public/locales/sv/modules/video-stream.json @@ -1,9 +1,9 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Videoström", + "description": "Bädda in en videoström eller video från en kamera eller en webbplats", "settings": { - "title": "", + "title": "Inställningar för videoströmswidget", "FeedUrl": { "label": "Flödes-URL" }, @@ -11,14 +11,14 @@ "label": "Automatisk uppspelning" }, "muted": { - "label": "" + "label": "Tystat ljud" }, "controls": { - "label": "" + "label": "Kontroller för videospelare" } } }, "errors": { - "invalidStream": "" + "invalidStream": "Ogiltig ström" } } \ No newline at end of file diff --git a/public/locales/sv/settings/customization/accessibility.json b/public/locales/sv/settings/customization/accessibility.json new file mode 100644 index 000000000..b137c69e4 --- /dev/null +++ b/public/locales/sv/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Inaktivera ping-puls", + "description": "Som standard kommer ping-indikatorerna i Homarr att pulsera. Detta kan vara irriterande. Det här reglaget avaktiverar animeringen" + }, + "replaceIconsWithDots": { + "label": "Ersätt ping-prickar med ikoner", + "description": "För färgblinda användare kan ping-punkter vara oigenkännliga. Detta kommer att ersätta indikatorer med ikoner" + }, + "alert": "Är det något du saknar? Vi utökar gärna tillgängligheten för Homarr" +} \ No newline at end of file diff --git a/public/locales/sv/settings/customization/general.json b/public/locales/sv/settings/customization/general.json index 11a5e97b0..50058ab0f 100644 --- a/public/locales/sv/settings/customization/general.json +++ b/public/locales/sv/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Utseende", "description": "Anpassa bakgrunden, färgerna och apparnas utseende" + }, + "accessibility": { + "name": "Tillgänglighet", + "description": "Konfigurera Homarr för funktionshindrade användare" } } -} \ No newline at end of file +} diff --git a/public/locales/tr/layout/common.json b/public/locales/tr/layout/common.json index d9d902d44..cb0774f39 100644 --- a/public/locales/tr/layout/common.json +++ b/public/locales/tr/layout/common.json @@ -1,18 +1,18 @@ { "modals": { "blockedPopups": { - "title": "Açılır pencere engellendi", - "text": "Tarayıcınız Homarr'ın kendi API'sine erişmesini engelledi. Buna en yaygın reklam engelleyiciler veya reddedilen izinler neden olur. Homarr otomatik izin talep edemez.", + "title": "", + "text": "", "list": { - "browserPermission": "URL'nin solunda bulunan simgeye tıklayın ve izinleri kontrol edin. Popuplara ve pencerelere izin ver", - "adBlockers": "Tarayıcınızdan reklam engelleyicileri ve güvenlik araçlarını devre dışı bırakın", - "otherBrowser": "Farklı bir web tarayıcısı deneyin" + "browserPermission": "", + "adBlockers": "", + "otherBrowser": "" } } }, "actions": { "category": { - "openAllInNewTab": "Hepsini yeni sekmede aç" + "openAllInNewTab": "" } } } diff --git a/public/locales/tr/modules/calendar.json b/public/locales/tr/modules/calendar.json index a884bebca..f36dd05b9 100644 --- a/public/locales/tr/modules/calendar.json +++ b/public/locales/tr/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr yayın türü" + }, + "hideWeekDays": { + "label": "Haftanın günlerini gizle" + }, + "fontSize": { + "label": "Font Boyutu" } } } -} +} \ No newline at end of file diff --git a/public/locales/tr/modules/iframe.json b/public/locales/tr/modules/iframe.json index 8099a8055..2084f9944 100644 --- a/public/locales/tr/modules/iframe.json +++ b/public/locales/tr/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Tam ekrana izin ver" + }, + "allowTransparency": { + "label": "Şeffaflığa İzin Ver" + }, + "allowScrolling": { + "label": "Kaydırmaya izin ver" + }, + "allowPayment": { + "label": "Ödemeye izin ver" + }, + "allowAutoPlay": { + "label": "Otomatik oynatmaya izin ver" + }, + "allowMicrophone": { + "label": "Mikrofona izin ver" + }, + "allowCamera": { + "label": "Kameraya İzin Ver" + }, + "allowGeolocation": { + "label": "Coğrafi konuma izin ver (geolocation)" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "Geçersiz URL", "text": "Widget'ınızın yapılandırmasında geçerli bir adres girdiğinizden emin olun" } } } -} \ No newline at end of file +} diff --git a/public/locales/tr/modules/media-requests-list.json b/public/locales/tr/modules/media-requests-list.json index 95f0c73a5..2d7cf2ae2 100644 --- a/public/locales/tr/modules/media-requests-list.json +++ b/public/locales/tr/modules/media-requests-list.json @@ -11,7 +11,7 @@ }, "noRequests": "Hiç talep bulunamadı. Lütfen uygulamalarınızı doğru yapılandırdığınızdan emin olun.", "pending": "Onay bekleyen {{countPendingApproval}} talepleri bulunmaktadır.", - "nonePending": "Şu anda bekleyen onay bulunmamaktadır. Gitmeye hazırsın!", + "nonePending": "Şu anda onay bekleyen istek bulunmamaktadır. Herşey yolunda!", "state": { "approved": "Onaylandı", "pendingApproval": "Onay bekliyor", diff --git a/public/locales/tr/modules/rss.json b/public/locales/tr/modules/rss.json index 06ba257c1..1bd6fc3f8 100644 --- a/public/locales/tr/modules/rss.json +++ b/public/locales/tr/modules/rss.json @@ -12,17 +12,17 @@ "label": "Yenileme aralığı (dakika olarak)" }, "dangerousAllowSanitizedItemContent": { - "label": "Tehlikeli: Temizlenmiş öğe içeriğine izin ver" + "label": "" }, - "settings.textLinesClamp": { - "label": "Metin satır sınırı" + "textLinesClamp": { + "label": "Metin karakter sınırı" } }, "card": { "errors": { "general": { "title": "RSS akışı alınamadı", - "text": "RSS akışına ulaşılırken bir sorun oluştu. Geçerli bir URL kullanarak RSS akışını doğru şekilde yapılandırdığınızdan emin olun. URL'ler resmi spesifikasyonla eşleşmelidir. Akışı güncelledikten sonra kontrol panelini yenilemeniz gerekebilir." + "text": "RSS akışına bağlanırken bir sorun oluştu. Geçerli bir URL kullanarak RSS akışını doğru şekilde yapılandırdığınızdan emin olun. URL'ler resmi spesifikasyonla eşleşmelidir. Akışı güncelledikten sonra kontrol panelini yenilemeniz gerekebilir." } } } diff --git a/public/locales/tr/settings/customization/accessibility.json b/public/locales/tr/settings/customization/accessibility.json new file mode 100644 index 000000000..5f782572a --- /dev/null +++ b/public/locales/tr/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Ping animasyonunu devre dışı bırak", + "description": "Varsayılan olarak, Homarr'daki ping animasyonu aktiftir. Bu rahatsız edici olabilir. Bu animasyonu devre dışı bırakacaktır" + }, + "replaceIconsWithDots": { + "label": "Ping noktası simge ile değiştirin", + "description": "Renk körü (Daltonizm) kullanıcılar için ping noktaları tanınmayabilir. Bu, göstergeleri simgelerle değiştirecektir" + }, + "alert": "Bir şey mi kaçırdınız? Homarr'ın erişilebilirliğini memnuniyetle genişleteceğiz" +} \ No newline at end of file diff --git a/public/locales/tr/settings/customization/general.json b/public/locales/tr/settings/customization/general.json index 9c7158777..3b39c090f 100644 --- a/public/locales/tr/settings/customization/general.json +++ b/public/locales/tr/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Görünüş", "description": "Arka planı, renkleri ve uygulama görünümünü özelleştirin" + }, + "accessibility": { + "name": "Erişilebilirlik", + "description": "Homarr'ı engelli kullanıcılar için yapılandırma" } } -} \ No newline at end of file +} diff --git a/public/locales/tr/widgets/error-boundary.json b/public/locales/tr/widgets/error-boundary.json index 581df1d8a..afbb173ed 100644 --- a/public/locales/tr/widgets/error-boundary.json +++ b/public/locales/tr/widgets/error-boundary.json @@ -7,7 +7,7 @@ } }, "modal": { - "text": "Beklenmeyen bir hata oluştu. Lütfen yapılandırmanızı kontrol edin. Bunun bir hata olduğunu düşünüyorsanız lütfen bu sorunu bildirin.", + "text": "", "label": "Karşılaştığın Hata", "reportButton": "Hatayı bildir" } diff --git a/public/locales/uk/modules/calendar.json b/public/locales/uk/modules/calendar.json index 13bfc6e16..f9c24d26d 100644 --- a/public/locales/uk/modules/calendar.json +++ b/public/locales/uk/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr - тип релізів" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/uk/modules/iframe.json b/public/locales/uk/modules/iframe.json index 8da476cfa..5ca521738 100644 --- a/public/locales/uk/modules/iframe.json +++ b/public/locales/uk/modules/iframe.json @@ -9,6 +9,27 @@ }, "allowFullScreen": { "label": "Дозволити повноекранний режим" + }, + "allowTransparency": { + "label": "" + }, + "allowScrolling": { + "label": "" + }, + "allowPayment": { + "label": "" + }, + "allowAutoPlay": { + "label": "" + }, + "allowMicrophone": { + "label": "" + }, + "allowCamera": { + "label": "" + }, + "allowGeolocation": { + "label": "" } } }, @@ -20,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/public/locales/uk/modules/rss.json b/public/locales/uk/modules/rss.json index 81d62627c..3c09c1ea4 100644 --- a/public/locales/uk/modules/rss.json +++ b/public/locales/uk/modules/rss.json @@ -14,7 +14,7 @@ "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { + "textLinesClamp": { "label": "" } }, diff --git a/public/locales/uk/settings/customization/accessibility.json b/public/locales/uk/settings/customization/accessibility.json new file mode 100644 index 000000000..345ac2ef6 --- /dev/null +++ b/public/locales/uk/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "", + "description": "" + }, + "replaceIconsWithDots": { + "label": "", + "description": "" + }, + "alert": "" +} \ No newline at end of file diff --git a/public/locales/uk/settings/customization/general.json b/public/locales/uk/settings/customization/general.json index cf7c14534..6e1b4e004 100644 --- a/public/locales/uk/settings/customization/general.json +++ b/public/locales/uk/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Вигляд", "description": "Налаштування фону, кольорів і додатків" + }, + "accessibility": { + "name": "", + "description": "" } } -} \ No newline at end of file +} diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 80b9d5497..a91a8a901 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -6,15 +6,15 @@ "delete": "Xóa", "ok": "OK", "edit": "Sửa", - "enabled": "", - "disabled": "", - "enableAll": "", - "disableAll": "", + "enabled": "Bật", + "disabled": "Tắt", + "enableAll": "Bật toàn bộ", + "disableAll": "Tắt toàn bộ", "version": "Phiên bản", "changePosition": "Đổi vị trí", "remove": "Xóa", "removeConfirm": "Bạn có chắc muốn xoá {{item}}?", - "createItem": "", + "createItem": "+ tạo {{item}}", "sections": { "settings": "Cài đặt", "dangerZone": "Khu vực nguy hiểm" diff --git a/public/locales/vi/modules/calendar.json b/public/locales/vi/modules/calendar.json index fcaa077cf..0a6accfa1 100644 --- a/public/locales/vi/modules/calendar.json +++ b/public/locales/vi/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Loại phát hành Radarr" + }, + "hideWeekDays": { + "label": "" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/vi/modules/iframe.json b/public/locales/vi/modules/iframe.json index bfda9276a..6af10beae 100644 --- a/public/locales/vi/modules/iframe.json +++ b/public/locales/vi/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "Cho phép toàn màn hình" + }, + "allowTransparency": { + "label": "Cho phép trong suốt" + }, + "allowScrolling": { + "label": "Cho phép cuộn" + }, + "allowPayment": { + "label": "Cho phép thanh toán" + }, + "allowAutoPlay": { + "label": "Cho phép tự động phát" + }, + "allowMicrophone": { + "label": "Cho phép micro" + }, + "allowCamera": { + "label": "Cho phép camera" + }, + "allowGeolocation": { + "label": "Cho phép định vị" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "URL không hợp lệ", "text": "Đảm bảo rằng bạn đã nhập một địa chỉ hợp lệ trong cấu hình tiện ích" } } } -} \ No newline at end of file +} diff --git a/public/locales/vi/modules/media-requests-list.json b/public/locales/vi/modules/media-requests-list.json index ff218af5b..8f0b7912d 100644 --- a/public/locales/vi/modules/media-requests-list.json +++ b/public/locales/vi/modules/media-requests-list.json @@ -1,24 +1,24 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Yêu cầu đa phương tiện", + "description": "Xem danh sách các yêu cầu đa phương tiện từ Overseerr hoặc Jellyseerr của bạn", "settings": { - "title": "", + "title": "Danh sách yêu cầu đa phương tiện", "replaceLinksWithExternalHost": { - "label": "" + "label": "Thay thế liên kết bằng máy chủ bên ngoài" } } }, - "noRequests": "", - "pending": "", - "nonePending": "", + "noRequests": "Không tìm thấy yêu cầu. Hãy đảm bảo rằng bạn đã thiết lập đúng ứng dụng của mình.", + "pending": "Có {{countPendingApproval}} yêu cầu đang chờ phê duyệt.", + "nonePending": "Hiện tại không có yêu cầu nào đang chờ phê duyệt. Tốt lắm bạn!", "state": { - "approved": "", - "pendingApproval": "", - "declined": "" + "approved": "Đã duyệt", + "pendingApproval": "Chờ duyệt", + "declined": "Bị từ chối" }, "tooltips": { - "approve": "", - "decline": "" + "approve": "Duyệt yêu cầu", + "decline": "Từ chối yêu cầu" } } diff --git a/public/locales/vi/modules/media-requests-stats.json b/public/locales/vi/modules/media-requests-stats.json index 0ea9c580e..1890fa3e2 100644 --- a/public/locales/vi/modules/media-requests-stats.json +++ b/public/locales/vi/modules/media-requests-stats.json @@ -1,14 +1,14 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Thống kê yêu cầu đa phương tiện", + "description": "Thống kê về các yêu cầu đa phương tiện của bạn", "settings": { - "title": "" + "title": "Thống kê yêu cầu đa phương tiện" } }, "stats": { - "pending": "", - "tvRequests": "", - "movieRequests": "" + "pending": "Chờ duyệt", + "tvRequests": "Yêu cầu TV", + "movieRequests": "Yêu cầu phim" } } diff --git a/public/locales/vi/modules/rss.json b/public/locales/vi/modules/rss.json index 96705c7fe..28d3284d5 100644 --- a/public/locales/vi/modules/rss.json +++ b/public/locales/vi/modules/rss.json @@ -5,24 +5,24 @@ "settings": { "title": "Cài đặt cho tiện ích RSS", "rssFeedUrl": { - "label": "", - "description": "" + "label": "URL nguồn cấp RSS", + "description": "URL của nguồn cấp RSS mà bạn muốn hiển thị từ đó." }, "refreshInterval": { - "label": "" + "label": "Khoảng thời gian làm mới (bằng phút)" }, "dangerousAllowSanitizedItemContent": { "label": "" }, - "settings.textLinesClamp": { - "label": "" + "textLinesClamp": { + "label": "Ngắt dòng" } }, "card": { "errors": { "general": { - "title": "", - "text": "" + "title": "Không thể nhận nguồn cấp RSS", + "text": "Đã xảy ra sự cố khi tiếp cận nguồn cấp dữ liệu RSS. Hãy đảm bảo rằng cấu hình nguồn cấp RSS sử dụng URL hợp lệ. URL phải phù hợp với thông số kỹ thuật chính thức. Sau khi cập nhật nguồn cấp dữ liệu, bạn có thể cần phải làm mới bảng điều khiển." } } } diff --git a/public/locales/vi/modules/torrents-status.json b/public/locales/vi/modules/torrents-status.json index 40f81cbee..a8bb5d110 100644 --- a/public/locales/vi/modules/torrents-status.json +++ b/public/locales/vi/modules/torrents-status.json @@ -14,11 +14,11 @@ "label": "Hiển thị torrent hết hạn" }, "labelFilterIsWhitelist": { - "label": "" + "label": "Danh sách nhãn là danh sách trắng (thay vì danh sách đen)" }, "labelFilter": { - "label": "", - "description": "" + "label": "Danh sách nhãn", + "description": "Nếu chọn \"Danh sách trắng\", các nhãn sẽ được dùng như một danh sách trắng. Nếu không được chọn, đây sẽ là danh sách đen. Sẽ không có gì xảy ra nếu trống không" } } }, @@ -41,7 +41,7 @@ }, "body": { "nothingFound": "Không tìm thấy torrent nào", - "filterHidingItems": "" + "filterHidingItems": "Đã ẩn {{count}} dòng bởi bộ lọc của bạn" } }, "lineChart": { diff --git a/public/locales/vi/settings/customization/accessibility.json b/public/locales/vi/settings/customization/accessibility.json new file mode 100644 index 000000000..228a8390f --- /dev/null +++ b/public/locales/vi/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "Tắt nhịp thở chấm ping", + "description": "Mặc địch, chấm ping trong Homarr sẽ có một nhịp co giãn. Nếu điều này gây khó chịu, tranh trượt này sẽ giúp bạn tắt chuyển động đó" + }, + "replaceIconsWithDots": { + "label": "Thay thế chấm ping bằng biểu tượng", + "description": "Với người dùng mù màu, chấm ping có thể khó nhận diện. Lựa chọn này sẽ thay thế các chấm bằng biểu tượng" + }, + "alert": "Bạn thấy thiếu gì đó? Chúng tôi sẵn sàng mở rộng khả năng tiếp cận của Homarr" +} \ No newline at end of file diff --git a/public/locales/vi/settings/customization/general.json b/public/locales/vi/settings/customization/general.json index 2cbe418a9..46ca600f9 100644 --- a/public/locales/vi/settings/customization/general.json +++ b/public/locales/vi/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "Hiển thị", "description": "Tuỳ chỉnh nền, màu và hiển thị của các ứng dụng" + }, + "accessibility": { + "name": "Trợ năng", + "description": "Thiết lập Homarr cho người dùng khuyết tật" } } -} \ No newline at end of file +} diff --git a/public/locales/vi/widgets/draggable-list.json b/public/locales/vi/widgets/draggable-list.json index 5d27e99ad..29982fea9 100644 --- a/public/locales/vi/widgets/draggable-list.json +++ b/public/locales/vi/widgets/draggable-list.json @@ -1,7 +1,7 @@ { "noEntries": { - "title": "", - "text": "" + "title": "Không có mục nào", + "text": "Thêm nhiều mục hơn bằng nút bên dưới" }, - "buttonAdd": "" + "buttonAdd": "Thêm" } diff --git a/public/locales/zh/modules/calendar.json b/public/locales/zh/modules/calendar.json index 2cdcf2cb9..9170596d9 100644 --- a/public/locales/zh/modules/calendar.json +++ b/public/locales/zh/modules/calendar.json @@ -12,7 +12,13 @@ }, "radarrReleaseType": { "label": "Radarr发布类型" + }, + "hideWeekDays": { + "label": "隐藏工作日" + }, + "fontSize": { + "label": "" } } } -} +} \ No newline at end of file diff --git a/public/locales/zh/modules/dashdot.json b/public/locales/zh/modules/dashdot.json index d2317e529..4f468d1e2 100644 --- a/public/locales/zh/modules/dashdot.json +++ b/public/locales/zh/modules/dashdot.json @@ -100,8 +100,8 @@ "title": "网络", "label": "网络:", "metrics": { - "download": "下移", - "upload": "上移" + "download": "下载", + "upload": "上传" } }, "cpu": { diff --git a/public/locales/zh/modules/dlspeed.json b/public/locales/zh/modules/dlspeed.json index c0803140a..44ca44cbd 100644 --- a/public/locales/zh/modules/dlspeed.json +++ b/public/locales/zh/modules/dlspeed.json @@ -8,8 +8,8 @@ "header": { "name": "名称", "size": "大小", - "download": "下移", - "upload": "上移", + "download": "下载", + "upload": "上传", "estimatedTimeOfArrival": "剩余时间", "progress": "进度" }, diff --git a/public/locales/zh/modules/iframe.json b/public/locales/zh/modules/iframe.json index 57e6b6f26..7eaff4929 100644 --- a/public/locales/zh/modules/iframe.json +++ b/public/locales/zh/modules/iframe.json @@ -9,15 +9,36 @@ }, "allowFullScreen": { "label": "允许全屏" + }, + "allowTransparency": { + "label": "允许透明度" + }, + "allowScrolling": { + "label": "允许滚动" + }, + "allowPayment": { + "label": "允许付款" + }, + "allowAutoPlay": { + "label": "允许自动播放" + }, + "allowMicrophone": { + "label": "允许麦克风" + }, + "allowCamera": { + "label": "允许使用摄像头" + }, + "allowGeolocation": { + "label": "允许地理位置" } } }, "card": { "errors": { "noUrl": { - "title": "", + "title": "无效链接", "text": "确保您在小部件配置中输入了一个有效的地址" } } } -} \ No newline at end of file +} diff --git a/public/locales/zh/modules/rss.json b/public/locales/zh/modules/rss.json index d500319ff..f65abe295 100644 --- a/public/locales/zh/modules/rss.json +++ b/public/locales/zh/modules/rss.json @@ -12,10 +12,10 @@ "label": "刷新间隔(以分钟计)" }, "dangerousAllowSanitizedItemContent": { - "label": "危险:允许清除物品内容" + "label": "" }, - "settings.textLinesClamp": { - "label": "文字线条" + "textLinesClamp": { + "label": "文本线夹" } }, "card": { diff --git a/public/locales/zh/modules/torrents-status.json b/public/locales/zh/modules/torrents-status.json index b04509b64..53508cf48 100644 --- a/public/locales/zh/modules/torrents-status.json +++ b/public/locales/zh/modules/torrents-status.json @@ -31,8 +31,8 @@ "header": { "name": "名称", "size": "大小", - "download": "下移", - "upload": "上移", + "download": "下载", + "upload": "上传", "estimatedTimeOfArrival": "剩余时间", "progress": "进度" }, @@ -69,10 +69,10 @@ "introductionPrefix": "管理的是", "metrics": { "queuePosition": "队列位置 - {{position}}", - "progress": "进展 - {{progress}}%", + "progress": "当前进度 - {{progress}}%", "totalSelectedSize": "共计 - {{totalSize}}", - "state": "国家 - {{state}}", - "ratio": "比率-", + "state": "状态 - {{state}}", + "ratio": "比率 -", "completed": "已完成" } } diff --git a/public/locales/zh/settings/customization/accessibility.json b/public/locales/zh/settings/customization/accessibility.json new file mode 100644 index 000000000..f0d673a76 --- /dev/null +++ b/public/locales/zh/settings/customization/accessibility.json @@ -0,0 +1,11 @@ +{ + "disablePulse": { + "label": "禁用 Ping", + "description": "默认情况下,Homarr 中的 Ping 指示器会一直工作。这可能会让人感到恼火。这个滑块将停用这个动画。" + }, + "replaceIconsWithDots": { + "label": "用图标替换 Ping 点", + "description": "对于色盲用户来说,Ping 点可能无法识别。 这将用图标替换指示器" + }, + "alert": "你是不是缺少了什么? 我们很乐意扩大 Homarr 的无障碍范围" +} \ No newline at end of file diff --git a/public/locales/zh/settings/customization/general.json b/public/locales/zh/settings/customization/general.json index 01426d32e..52ba39e6d 100644 --- a/public/locales/zh/settings/customization/general.json +++ b/public/locales/zh/settings/customization/general.json @@ -16,6 +16,10 @@ "appereance": { "name": "外观", "description": "自定义背景、颜色和应用程序的外观" + }, + "accessibility": { + "name": "无障碍服务", + "description": "为残疾人和残障人士配置 Homarr" } } -} \ No newline at end of file +} diff --git a/src/components/Config/ConfigChanger.tsx b/src/components/Config/ConfigChanger.tsx index 4826fcdd8..19a88b179 100644 --- a/src/components/Config/ConfigChanger.tsx +++ b/src/components/Config/ConfigChanger.tsx @@ -1,12 +1,12 @@ import { Center, Dialog, Loader, Notification, Select, Tooltip } from '@mantine/core'; import { useToggle } from '@mantine/hooks'; -import { useQuery } from '@tanstack/react-query'; +import { notifications } from '@mantine/notifications'; +import { IconCheck } from '@tabler/icons-react'; import { setCookie } from 'cookies-next'; import { useTranslation } from 'next-i18next'; import { useRouter } from 'next/router'; import { useState } from 'react'; -import { notifications } from '@mantine/notifications'; -import { IconCheck } from '@tabler/icons-react'; +import { api } from '~/utils/api'; import { useConfigContext } from '../../config/provider'; export default function ConfigChanger() { @@ -95,10 +95,4 @@ export default function ConfigChanger() { ); } -const useConfigsQuery = () => - useQuery({ - queryKey: ['config/get-all'], - queryFn: fetchConfigs, - }); - -const fetchConfigs = async () => (await (await fetch('/api/configs')).json()) as string[]; +const useConfigsQuery = () => api.config.all.useQuery(); diff --git a/src/components/Config/LoadConfig.tsx b/src/components/Config/LoadConfig.tsx index dfa31f7cd..d9c64c558 100644 --- a/src/components/Config/LoadConfig.tsx +++ b/src/components/Config/LoadConfig.tsx @@ -4,18 +4,20 @@ import { showNotification } from '@mantine/notifications'; import { IconCheck as Check, IconPhoto, IconUpload, IconX, IconX as X } from '@tabler/icons-react'; import { setCookie } from 'cookies-next'; import { useTranslation } from 'next-i18next'; +import { useRouter } from 'next/router'; import { useConfigStore } from '../../config/store'; import { ConfigType } from '../../types/config'; +import { api } from '~/utils/api'; export const LoadConfigComponent = () => { - const { addConfig } = useConfigStore(); const theme = useMantineTheme(); const { t } = useTranslation('settings/general/config-changer'); + const { mutateAsync: loadAsync } = useLoadConfig(); return ( { - const fileName = files[0].name.replaceAll('.json', ''); + const configName = files[0].name.replaceAll('.json', ''); const fileText = await files[0].text(); try { @@ -32,26 +34,7 @@ export const LoadConfigComponent = () => { } const newConfig: ConfigType = JSON.parse(fileText); - - await addConfig(fileName, newConfig, true); - showNotification({ - autoClose: 5000, - radius: 'md', - title: ( - - {t('dropzone.notifications.loadedSuccessfully.title', { - configName: fileName, - })} - - ), - color: 'green', - icon: , - message: undefined, - }); - setCookie('config-name', fileName, { - maxAge: 60 * 60 * 24 * 30, - sameSite: 'strict', - }); + await loadAsync({ name: configName, config: newConfig }); }} accept={['application/json']} > @@ -89,3 +72,34 @@ export const LoadConfigComponent = () => { ); }; + +const useLoadConfig = () => { + const { t } = useTranslation('settings/general/config-changer'); + const { addConfig } = useConfigStore(); + const router = useRouter(); + return api.config.save.useMutation({ + async onSuccess(_data, variables) { + await addConfig(variables.name, variables.config); + + showNotification({ + autoClose: 5000, + radius: 'md', + title: ( + + {t('dropzone.notifications.loadedSuccessfully.title', { + configName: variables.name, + })} + + ), + color: 'green', + icon: , + message: undefined, + }); + setCookie('config-name', variables.name, { + maxAge: 60 * 60 * 24 * 30, + sameSite: 'strict', + }); + router.push(`/${variables.name}`); + }, + }); +}; diff --git a/src/components/Dashboard/Tiles/Apps/AppPing.tsx b/src/components/Dashboard/Tiles/Apps/AppPing.tsx index b2e3bd559..ca12c424b 100644 --- a/src/components/Dashboard/Tiles/Apps/AppPing.tsx +++ b/src/components/Dashboard/Tiles/Apps/AppPing.tsx @@ -1,8 +1,10 @@ -import { Indicator, Tooltip } from '@mantine/core'; +import { Box, Indicator, Tooltip } from '@mantine/core'; +import { IconCheck, IconCheckbox, IconDownload, IconLoader, IconX } from '@tabler/icons-react'; import Consola from 'consola'; -import { useQuery } from '@tanstack/react-query'; -import { motion } from 'framer-motion'; +import { TargetAndTransition, Transition, motion } from 'framer-motion'; import { useTranslation } from 'next-i18next'; +import { api } from '~/utils/api'; + import { useConfigContext } from '../../../../config/provider'; import { AppType } from '../../../../types/app'; @@ -16,30 +18,53 @@ export const AppPing = ({ app }: AppPingProps) => { const active = (config?.settings.customization.layout.enabledPing && app.network.enabledStatusChecker) ?? false; - const { data, isLoading } = useQuery({ - queryKey: ['ping', { id: app.id, name: app.name }], - queryFn: async () => { - const response = await fetch(`/api/modules/ping?url=${encodeURI(app.url)}`); - const isOk = getIsOk(app, response.status); + + const { data, isLoading, isFetching, isSuccess } = api.app.ping.useQuery(app.id, { + retry: false, + enabled: active, + select: (data) => { + const isOk = getIsOk(app, data.status); + Consola.info(`Ping ${app.name} (${app.url}) ${data.status} ${isOk}`); return { - status: response.status, - state: isOk ? 'online' : 'down', + status: data.status, + state: isOk ? ('online' as const) : ('down' as const), + statusText: data.statusText, }; }, - enabled: active, }); - const isOnline = data?.state === 'online'; - if (!active) return null; + const isOnline = data?.state === 'online'; + + const disablePulse = config?.settings.customization.accessibility?.disablePingPulse ?? false; + const replaceDotWithIcon = + config?.settings.customization.accessibility?.replacePingDotsWithIcons ?? false; + + const scaleAnimation = isOnline ? [1, 0.7, 1] : 1; + const animate: TargetAndTransition | undefined = disablePulse + ? undefined + : { + scale: scaleAnimation, + }; + const transition: Transition | undefined = disablePulse + ? undefined + : { + repeat: Infinity, + duration: 2.5, + ease: 'easeInOut', + }; + return ( { label={ isLoading ? t('states.loading') - : isOnline - ? t('states.online', { response: data.status }) - : t('states.offline', { response: data?.status }) + : data?.state === 'online' + ? t('states.online', { response: data?.status ?? 'N/A' }) + : `${data?.statusText} ${data?.status}` } > - + {config?.settings.customization.accessibility?.replacePingDotsWithIcons ? ( + + + + ) : ( + + )} ); }; -const getIsOk = (app: AppType, status: number) => { -if (app.network.okStatus === undefined || app.network.statusCodes.length >= 1) { -Consola.log('Using new status codes'); -return app.network.statusCodes.includes(status.toString()); -} -Consola.warn('Using deprecated okStatus'); -return app.network.okStatus.includes(status); +const AccessibleIndicatorPing = ({ + isLoading, + isOnline, +}: { + isOnline: boolean; + isLoading: boolean; +}) => { + if (isOnline) { + return ; + } + + if (isLoading) { + return ; + } + + return ; +}; + +export const getIsOk = (app: AppType, status: number) => { + if (app.network.okStatus === undefined || app.network.statusCodes.length >= 1) { + Consola.log('Using new status codes'); + return app.network.statusCodes.includes(status.toString()); + } + Consola.warn('Using deprecated okStatus'); + return app.network.okStatus.includes(status); }; diff --git a/src/components/Dashboard/Tiles/Widgets/Inputs/DraggableList.tsx b/src/components/Dashboard/Tiles/Widgets/Inputs/DraggableList.tsx index ab5ad08ec..f2a537a6d 100644 --- a/src/components/Dashboard/Tiles/Widgets/Inputs/DraggableList.tsx +++ b/src/components/Dashboard/Tiles/Widgets/Inputs/DraggableList.tsx @@ -3,6 +3,7 @@ import { useDisclosure } from '@mantine/hooks'; import { IconChevronDown, IconGripVertical } from '@tabler/icons-react'; import { Reorder, useDragControls } from 'framer-motion'; import { FC, useEffect, useRef } from 'react'; + import { IDraggableEditableListInputValue } from '../../../../../widgets/widgets'; interface DraggableListProps { @@ -47,6 +48,7 @@ export const DraggableList = ({ items, value, onChange, options }: DraggableList const ListItem: FC<{ item: any; label: string | JSX.Element; + children: JSX.Element; }> = ({ item, label, children }) => { const [opened, handlers] = useDisclosure(false); const { classes, cx } = useStyles(); diff --git a/src/components/Dashboard/Tiles/Widgets/Inputs/LocationSelection.tsx b/src/components/Dashboard/Tiles/Widgets/Inputs/LocationSelection.tsx new file mode 100644 index 000000000..90ff64b02 --- /dev/null +++ b/src/components/Dashboard/Tiles/Widgets/Inputs/LocationSelection.tsx @@ -0,0 +1,234 @@ +import { + Card, + Stack, + Text, + Title, + Group, + TextInput, + Button, + NumberInput, + Modal, + Table, + Tooltip, + ActionIcon, + Loader, +} from '@mantine/core'; +import { useDisclosure } from '@mantine/hooks'; +import { IconListSearch, IconClick } from '@tabler/icons-react'; +import { useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { IntegrationOptionsValueType } from '../WidgetsEditModal'; +import { City } from '~/server/api/routers/weather'; +import { api } from '~/utils/api'; + +type LocationSelectionProps = { + widgetId: string; + propName: string; + value: any; + handleChange: (key: string, value: IntegrationOptionsValueType) => void; +}; + +export const LocationSelection = ({ + widgetId, + propName: key, + value, + handleChange, +}: LocationSelectionProps) => { + const { t } = useTranslation('widgets/location'); + const [query, setQuery] = useState(value.name ?? ''); + const [opened, { open, close }] = useDisclosure(false); + const selectionEnabled = query.length > 1; + const emptyLocation = t('form.empty'); + + const onCitySelected = (city: City) => { + close(); + handleChange(key, { + name: city.name, + latitude: city.latitude, + longitude: city.longitude, + }); + setQuery(city.name); + }; + + return ( + <> + + + {t(`modules/${widgetId}:descriptor.settings.${key}.label`)} + + + { + setQuery(ev.currentTarget.value); + handleChange(key, { + name: ev.currentTarget.value, + longitude: '', + latitude: '', + }); + }} + /> + + + + + { + if (typeof inputValue !== 'number') return; + handleChange(key, { + ...value, + name: emptyLocation, + latitude: inputValue, + }); + setQuery(emptyLocation); + }} + precision={5} + label={t('form.field.latitude')} + hideControls + /> + { + if (typeof inputValue !== 'number') return; + handleChange(key, { + ...value, + name: emptyLocation, + longitude: inputValue, + }); + setQuery(emptyLocation); + }} + precision={5} + label={t('form.field.longitude')} + hideControls + /> + + + + + + ); +}; + +type CitySelectModalProps = { + opened: boolean; + closeModal: () => void; + query: string; + onCitySelected: (location: City) => void; +}; + +const CitySelectModal = ({ opened, closeModal, query, onCitySelected }: CitySelectModalProps) => { + const { t } = useTranslation('widgets/location'); + const { isLoading, data } = api.weather.findCity.useQuery( + { query }, + { + enabled: opened, + refetchOnWindowFocus: false, + refetchOnMount: false, + } + ); + + return ( + + {t('modal.title')} - {query} + + } + size="xl" + opened={opened} + onClose={closeModal} + zIndex={250} + > + + + + + + + + + + + + {isLoading && ( + + + + )} + {data?.results.map((city) => ( + + + + + + + + ))} + +
{t('modal.table.header.city')}{t('modal.table.header.country')}{t('modal.table.header.coordinates')}{t('modal.table.header.population')} +
+ + + +
+ {city.name} + + {city.country} + + + {city.latitude}, {city.longitude} + + + {city.population ? ( + {city.population} + ) : ( + {t('modal.table.population.fallback')} + )} + + + { + onCitySelected(city); + }} + > + + + +
+ + + +
+
+ ); +}; diff --git a/src/components/Dashboard/Tiles/Widgets/Inputs/StaticDraggableList.tsx b/src/components/Dashboard/Tiles/Widgets/Inputs/StaticDraggableList.tsx index 0fc6590ff..7e6600722 100644 --- a/src/components/Dashboard/Tiles/Widgets/Inputs/StaticDraggableList.tsx +++ b/src/components/Dashboard/Tiles/Widgets/Inputs/StaticDraggableList.tsx @@ -76,6 +76,7 @@ export const StaticDraggableList: FC = (props) => { const ListItem: FC<{ item: IDraggableListInputValue['defaultValue'][number]; label: string; + children?: ReactNode; }> = (props) => { const { classes, cx } = useStyles(); const controls = useDragControls(); diff --git a/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx b/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx index 2d8177f89..ecc817d13 100644 --- a/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx +++ b/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx @@ -26,6 +26,7 @@ import Widgets from '../../../../widgets'; import type { IDraggableListInputValue, IWidgetOptionValue } from '../../../../widgets/widgets'; import { IWidget } from '../../../../widgets/widgets'; import { DraggableList } from './Inputs/DraggableList'; +import { LocationSelection } from './Inputs/LocationSelection'; import { StaticDraggableList } from './Inputs/StaticDraggableList'; export type WidgetEditModalInnerProps = { @@ -35,7 +36,7 @@ export type WidgetEditModalInnerProps = { widgetOptions: IWidget['properties']; }; -type IntegrationOptionsValueType = IWidget['properties'][string]; +export type IntegrationOptionsValueType = IWidget['properties'][string]; export const WidgetsEditModal = ({ context, @@ -200,6 +201,16 @@ const WidgetOptionTypeSwitch: FC<{ /> ); + case 'location': + return ( + + ); + case 'draggable-list': /* eslint-disable no-case-declarations */ const typedVal = value as IDraggableListInputValue['defaultValue']; diff --git a/src/components/IconSelector/IconSelector.tsx b/src/components/IconSelector/IconSelector.tsx index 55a8ea377..5929fc22c 100644 --- a/src/components/IconSelector/IconSelector.tsx +++ b/src/components/IconSelector/IconSelector.tsx @@ -15,9 +15,9 @@ import { } from '@mantine/core'; import { IconSearch } from '@tabler/icons-react'; import { useTranslation } from 'next-i18next'; -import { useGetDashboardIcons } from '../../hooks/icons/useGetDashboardIcons'; import { humanFileSize } from '../../tools/humanFileSize'; import { DebouncedImage } from './DebouncedImage'; +import { api } from '~/utils/api'; export const IconSelector = forwardRef( ( @@ -175,3 +175,12 @@ interface ItemProps extends SelectItemProps { size: number; copyright: string | undefined; } + +const useGetDashboardIcons = () => + api.icon.all.useQuery(undefined, { + refetchOnMount: false, + // Cache for infinity, refetch every so often. + cacheTime: Infinity, + staleTime: 1000 * 60 * 5, // 5 minutes + refetchOnWindowFocus: false, + }); diff --git a/src/components/Settings/Common/Config/ConfigActions.tsx b/src/components/Settings/Common/Config/ConfigActions.tsx index 2cce6ac20..700ccd70d 100644 --- a/src/components/Settings/Common/Config/ConfigActions.tsx +++ b/src/components/Settings/Common/Config/ConfigActions.tsx @@ -10,23 +10,28 @@ import { import { useDisclosure } from '@mantine/hooks'; import { openConfirmModal } from '@mantine/modals'; import { showNotification } from '@mantine/notifications'; -import { IconAlertTriangle, IconCheck, IconCopy, IconDownload, IconTrash } from '@tabler/icons-react'; +import { + IconAlertTriangle, + IconCheck, + IconCopy, + IconDownload, + IconTrash, + IconX, +} from '@tabler/icons-react'; import fileDownload from 'js-file-download'; import { Trans, useTranslation } from 'next-i18next'; import { useRouter } from 'next/router'; import { useConfigContext } from '../../../../config/provider'; import { useConfigStore } from '../../../../config/store'; -import { useDeleteConfigMutation } from '../../../../tools/config/mutations/useDeleteConfigMutation'; import Tip from '../../../layout/Tip'; import { CreateConfigCopyModal } from './CreateCopyModal'; +import { api } from '~/utils/api'; export default function ConfigActions() { - const router = useRouter(); const { t } = useTranslation(['settings/general/config-changer', 'settings/common', 'common']); const [createCopyModalOpened, createCopyModal] = useDisclosure(false); const { config } = useConfigContext(); - const { removeConfig } = useConfigStore(); - const { mutateAsync } = useDeleteConfigMutation(config?.configProperties.name ?? 'default'); + const { mutateAsync } = useDeleteConfigMutation(); if (!config) return null; @@ -61,28 +66,9 @@ export default function ConfigActions() { }, zIndex: 201, onConfirm: async () => { - const response = await mutateAsync(); - - if (response.error) { - showNotification({ - title: t('buttons.delete.notifications.deleteFailedDefaultConfig.title'), - message: t('buttons.delete.notifications.deleteFailedDefaultConfig.message'), - }); - return; - } - - showNotification({ - title: t('buttons.delete.notifications.deleted.title'), - icon: , - color: 'green', - autoClose: 1500, - radius: 'md', - message: t('buttons.delete.notifications.deleted.message'), + const response = await mutateAsync({ + name: config?.configProperties.name ?? 'default', }); - - removeConfig(config?.configProperties.name ?? 'default'); - - router.push('/'); }, }); }; @@ -124,6 +110,49 @@ export default function ConfigActions() { ); } +const useDeleteConfigMutation = () => { + const { t } = useTranslation(['settings/general/config-changer']); + const router = useRouter(); + const { removeConfig } = useConfigStore(); + + return api.config.delete.useMutation({ + onError(error) { + if (error.data?.code === 'FORBIDDEN') { + showNotification({ + title: t('buttons.delete.notifications.deleteFailedDefaultConfig.title'), + icon: , + color: 'red', + autoClose: 1500, + radius: 'md', + message: t('buttons.delete.notifications.deleteFailedDefaultConfig.message'), + }); + } + showNotification({ + title: t('buttons.delete.notifications.deleteFailed.title'), + icon: , + color: 'red', + autoClose: 1500, + radius: 'md', + message: t('buttons.delete.notifications.deleteFailed.message'), + }); + }, + onSuccess(data, variables) { + showNotification({ + title: t('buttons.delete.notifications.deleted.title'), + icon: , + color: 'green', + autoClose: 1500, + radius: 'md', + message: t('buttons.delete.notifications.deleted.message'), + }); + + removeConfig(variables.name); + + router.push('/'); + }, + }); +}; + const useStyles = createStyles(() => ({ actionIcon: { width: 'auto', diff --git a/src/components/Settings/Common/Config/CreateCopyModal.tsx b/src/components/Settings/Common/Config/CreateCopyModal.tsx index fb924f804..bf1409d1f 100644 --- a/src/components/Settings/Common/Config/CreateCopyModal.tsx +++ b/src/components/Settings/Common/Config/CreateCopyModal.tsx @@ -1,8 +1,11 @@ import { Button, Group, Modal, TextInput, Title } from '@mantine/core'; import { useForm } from '@mantine/form'; import { useTranslation } from 'next-i18next'; +import { IconCheck, IconX } from '@tabler/icons-react'; +import { showNotification } from '@mantine/notifications'; import { useConfigStore } from '../../../../config/store'; -import { useCopyConfigMutation } from '../../../../tools/config/mutations/useCopyConfigMutation'; +import { useConfigContext } from '~/config/provider'; +import { api } from '~/utils/api'; interface CreateConfigCopyModalProps { opened: boolean; @@ -16,6 +19,7 @@ export const CreateConfigCopyModal = ({ initialConfigName, }: CreateConfigCopyModalProps) => { const { configs } = useConfigStore(); + const { config } = useConfigContext(); const { t } = useTranslation(['settings/general/config-changer']); const form = useForm({ @@ -40,7 +44,7 @@ export const CreateConfigCopyModal = ({ validateInputOnBlur: true, }); - const { mutateAsync } = useCopyConfigMutation(form.values.configName); + const { mutateAsync } = useCopyConfigMutation(); const handleClose = () => { form.setFieldValue('configName', initialConfigName); @@ -50,7 +54,17 @@ export const CreateConfigCopyModal = ({ const handleSubmit = async (values: typeof form.values) => { if (!form.isValid) return; - await mutateAsync(); + if (!config) { + throw new Error('config is not defiend'); + } + + const copiedConfig = config; + copiedConfig.configProperties.name = form.values.configName; + + await mutateAsync({ + name: form.values.configName, + config: copiedConfig, + }); closeModal(); }; @@ -76,3 +90,33 @@ export const CreateConfigCopyModal = ({ ); }; + +const useCopyConfigMutation = () => { + const { t } = useTranslation(['settings/general/config-changer']); + const utils = api.useContext(); + + return api.config.save.useMutation({ + onSuccess(_data, variables) { + showNotification({ + title: t('modal.copy.events.configCopied.title'), + icon: , + color: 'green', + autoClose: 1500, + radius: 'md', + message: t('modal.copy.events.configCopied.message', { configName: variables.name }), + }); + // Invalidate a query to fetch new config + utils.config.all.invalidate(); + }, + onError(_error, variables) { + showNotification({ + title: t('modal.events.configNotCopied.title'), + icon: , + color: 'red', + autoClose: 1500, + radius: 'md', + message: t('modal.events.configNotCopied.message', { configName: variables.name }), + }); + }, + }); +}; diff --git a/src/components/Settings/Customization/Accessibility/AccessibilitySettings.tsx b/src/components/Settings/Customization/Accessibility/AccessibilitySettings.tsx new file mode 100644 index 000000000..74d28a6b0 --- /dev/null +++ b/src/components/Settings/Customization/Accessibility/AccessibilitySettings.tsx @@ -0,0 +1,80 @@ +import { Alert, Stack, Switch } from '@mantine/core'; +import { IconInfoCircle } from '@tabler/icons-react'; +import { BaseSyntheticEvent } from 'react'; +import { useConfigStore } from '../../../../config/store'; +import { useConfigContext } from '../../../../config/provider'; +import { useTranslation } from 'react-i18next'; + +export const AccessibilitySettings = () => { + const { t } = useTranslation('settings/customization/accessibility'); + const { updateConfig } = useConfigStore(); + const { config, name: configName } = useConfigContext(); + + return ( + + { + if (!configName) { + return; + } + + updateConfig( + configName, + (previousConfig) => ({ + ...previousConfig, + settings: { + ...previousConfig.settings, + customization: { + ...previousConfig.settings.customization, + accessibility: { + ...previousConfig.settings.customization.accessibility, + disablePingPulse: value.target.checked, + }, + }, + }, + }), + false, + true + ); + }} + /> + + { + if (!configName) { + return; + } + + updateConfig( + configName, + (previousConfig) => ({ + ...previousConfig, + settings: { + ...previousConfig.settings, + customization: { + ...previousConfig.settings.customization, + accessibility: { + ...previousConfig.settings.customization.accessibility, + replacePingDotsWithIcons: value.target.checked, + }, + }, + }, + }), + false, + true + ); + }} + /> + + } color="blue"> + {t('alert')} + + + ); +}; diff --git a/src/components/Settings/Customization/CustomizationAccordeon.tsx b/src/components/Settings/Customization/CustomizationAccordeon.tsx index f5d18551b..39315ee49 100644 --- a/src/components/Settings/Customization/CustomizationAccordeon.tsx +++ b/src/components/Settings/Customization/CustomizationAccordeon.tsx @@ -1,5 +1,5 @@ import { Accordion, Checkbox, Grid, Group, Stack, Text } from '@mantine/core'; -import { IconBrush, IconChartCandle, IconCode, IconDragDrop, IconLayout } from '@tabler/icons-react'; +import { IconAccessible, IconBrush, IconChartCandle, IconCode, IconDragDrop, IconLayout } from '@tabler/icons-react'; import { i18n, useTranslation } from 'next-i18next'; import { ReactNode } from 'react'; import { GridstackConfiguration } from './Layout/GridstackConfiguration'; @@ -13,6 +13,7 @@ import { ColorSelector } from './Theme/ColorSelector'; import { CustomCssChanger } from './Theme/CustomCssChanger'; import { DashboardTilesOpacitySelector } from './Theme/OpacitySelector'; import { ShadeSelector } from './Theme/ShadeSelector'; +import { AccessibilitySettings } from './Accessibility/AccessibilitySettings'; export const CustomizationSettingsAccordeon = () => { const items = getItems().map((item) => ( @@ -70,6 +71,13 @@ const getItems = () => { description: t('accordeon.gridstack.description'), content: , }, + { + id: 'accessibility', + image: , + label: t('accordeon.accessibility.name'), + description: t('accordeon.accessibility.description'), + content: , + }, { id: 'page_metadata', image: , diff --git a/src/components/Settings/Customization/Layout/LayoutSelector.tsx b/src/components/Settings/Customization/Layout/LayoutSelector.tsx index 3b05524eb..d03642dfe 100644 --- a/src/components/Settings/Customization/Layout/LayoutSelector.tsx +++ b/src/components/Settings/Customization/Layout/LayoutSelector.tsx @@ -159,7 +159,7 @@ export const LayoutSelector = () => { /> handleChange('enabledPing', ev, setPing)} /> diff --git a/src/components/Settings/SettingsDrawer.tsx b/src/components/Settings/SettingsDrawer.tsx index be7aabc71..f2906947b 100644 --- a/src/components/Settings/SettingsDrawer.tsx +++ b/src/components/Settings/SettingsDrawer.tsx @@ -1,8 +1,8 @@ import { Drawer, Tabs, Title } from '@mantine/core'; import { useTranslation } from 'next-i18next'; + import { useConfigContext } from '../../config/provider'; import { useConfigStore } from '../../config/store'; - import CommonSettings from './Common/CommonSettings'; import CustomizationSettings from './Customization/CustomizationSettings'; @@ -54,6 +54,7 @@ export function SettingsDrawer({ updateConfig(configName, (_) => config, false, true); }} + transitionProps={{ transition: 'slide-left' }} > diff --git a/src/components/layout/header/Actions/ToggleEditMode/ToggleEditMode.tsx b/src/components/layout/header/Actions/ToggleEditMode/ToggleEditMode.tsx index 481e61f42..3cbe17e15 100644 --- a/src/components/layout/header/Actions/ToggleEditMode/ToggleEditMode.tsx +++ b/src/components/layout/header/Actions/ToggleEditMode/ToggleEditMode.tsx @@ -2,13 +2,13 @@ import { ActionIcon, Button, Group, Text, Title, Tooltip } from '@mantine/core'; import { useHotkeys, useWindowEvent } from '@mantine/hooks'; import { hideNotification, showNotification } from '@mantine/notifications'; import { IconEditCircle, IconEditCircleOff } from '@tabler/icons-react'; -import axios from 'axios'; import Consola from 'consola'; import { getCookie } from 'cookies-next'; import { Trans, useTranslation } from 'next-i18next'; import { useConfigContext } from '../../../../../config/provider'; import { useScreenSmallerThan } from '../../../../../hooks/useScreenSmallerThan'; +import { api } from '~/utils/api'; import { useEditModeStore } from '../../../../Dashboard/Views/useEditModeStore'; import { useNamedWrapperColumnCount } from '../../../../Dashboard/Wrappers/gridstack/store'; import { useCardStyles } from '../../../useCardStyles'; @@ -28,6 +28,7 @@ export const ToggleEditModeAction = () => { const smallerThanSm = useScreenSmallerThan('sm'); const { config } = useConfigContext(); const { classes } = useCardStyles(true); + const { mutateAsync: saveConfig } = api.config.save.useMutation(); useHotkeys([['mod+E', toggleEditMode]]); @@ -41,11 +42,12 @@ export const ToggleEditModeAction = () => { return undefined; }); - const toggleButtonClicked = () => { + const toggleButtonClicked = async () => { toggleEditMode(); - if (enabled || config === undefined || config?.schemaVersion === undefined) { + if (config === undefined || config?.schemaVersion === undefined) return; + if (enabled) { const configName = getCookie('config-name')?.toString() ?? 'default'; - axios.put(`/api/configs/${configName}`, { ...config }); + await saveConfig({ name: configName, config }); Consola.log('Saved config to server', configName); hideNotification('toggle-edit-mode'); } else if (!enabled) { diff --git a/src/components/layout/header/Search.tsx b/src/components/layout/header/Search.tsx index 40d6202cb..d6c20bf6e 100644 --- a/src/components/layout/header/Search.tsx +++ b/src/components/layout/header/Search.tsx @@ -2,24 +2,24 @@ import { ActionIcon, Autocomplete, Box, - createStyles, Divider, Kbd, Menu, Popover, ScrollArea, Tooltip, + createStyles, } from '@mantine/core'; import { useDebouncedValue, useHotkeys } from '@mantine/hooks'; import { showNotification } from '@mantine/notifications'; import { IconBrandYoutube, IconDownload, IconMovie, IconSearch } from '@tabler/icons-react'; -import { useQuery } from '@tanstack/react-query'; -import axios from 'axios'; import { useTranslation } from 'next-i18next'; import React, { forwardRef, useEffect, useRef, useState } from 'react'; +import { api } from '~/utils/api'; + import { useConfigContext } from '../../../config/provider'; -import { OverseerrMediaDisplay } from '../../../modules/common'; import { IModule } from '../../../modules/ModuleTypes'; +import { OverseerrMediaDisplay } from '../../../modules/common'; import { ConfigType } from '../../../types/config'; import { searchUrls } from '../../Settings/Common/SearchEngine/SearchEngineSelector'; import Tip from '../Tip'; @@ -141,26 +141,12 @@ export function Search() { const openTarget = getOpenTarget(config); const [opened, setOpened] = useState(false); - const { - data: OverseerrResults, - isLoading, - error, - } = useQuery( - ['overseerr', debounced], - async () => { - const res = await axios.get(`/api/modules/overseerr?query=${debounced}`); - return res.data.results ?? []; - }, - { - enabled: - isOverseerrEnabled === true && - selectedSearchEngine.value === 'overseerr' && - debounced.length > 3, - refetchOnWindowFocus: false, - refetchOnMount: false, - refetchInterval: false, - } - ); + const isOverseerrSearchEnabled = + isOverseerrEnabled === true && + selectedSearchEngine.value === 'overseerr' && + debounced.length > 3; + + const { data: overseerrResults } = useOverseerrSearchQuery(debounced, isOverseerrSearchEnabled); const isModuleEnabled = config?.settings.customization.layout.enabledSearchbar; if (!isModuleEnabled) { @@ -173,7 +159,7 @@ export function Search() { 0 && opened && searchQuery.length > 3) ?? + (overseerrResults && overseerrResults.length > 0 && opened && searchQuery.length > 3) ?? false } position="bottom" @@ -186,7 +172,7 @@ export function Search() { setOpened(true)} - autoFocus + autoFocus={typeof window !== 'undefined' && window.innerWidth > 768} rightSection={} placeholder={t(`searchEngines.${selectedSearchEngine.value}.description`) ?? undefined} value={searchQuery} @@ -224,11 +210,11 @@ export function Search() { - {OverseerrResults && - OverseerrResults.slice(0, 4).map((result: any, index: number) => ( + {overseerrResults && + overseerrResults.slice(0, 4).map((result: any, index: number) => ( - {index < OverseerrResults.length - 1 && index < 3 && ( + {index < overseerrResults.length - 1 && index < 3 && ( )} @@ -312,3 +298,19 @@ const getOpenTarget = (config: ConfigType | undefined): '_blank' | '_self' => { return config.settings.common.searchEngine.properties.openInNewTab ? '_blank' : '_self'; }; + +const useOverseerrSearchQuery = (query: string, isEnabled: boolean) => { + const { name: configName } = useConfigContext(); + return api.overseerr.all.useQuery( + { + query, + configName: configName!, + }, + { + enabled: isEnabled, + refetchOnWindowFocus: false, + refetchOnMount: false, + refetchInterval: false, + } + ); +}; diff --git a/src/config/store.ts b/src/config/store.ts index bca63e0b7..6c0a45279 100644 --- a/src/config/store.ts +++ b/src/config/store.ts @@ -1,5 +1,5 @@ -import axios from 'axios'; import { create } from 'zustand'; +import { trcpProxyClient } from '~/utils/api'; import { ConfigType } from '../types/config'; export const useConfigStore = create((set, get) => ({ @@ -13,7 +13,7 @@ export const useConfigStore = create((set, get) => ({ ], })); }, - addConfig: async (name: string, config: ConfigType, shouldSaveConfigToFileSystem = true) => { + addConfig: async (name: string, config: ConfigType) => { set((old) => ({ ...old, configs: [ @@ -21,11 +21,6 @@ export const useConfigStore = create((set, get) => ({ { value: config, increaseVersion: () => {} }, ], })); - - if (!shouldSaveConfigToFileSystem) { - return; - } - axios.put(`/api/configs/${name}`, { ...config }); }, removeConfig: (name: string) => { set((old) => ({ @@ -66,7 +61,10 @@ export const useConfigStore = create((set, get) => ({ } if (shouldSaveConfigToFileSystem) { - axios.put(`/api/configs/${name}`, { ...updatedConfig }); + trcpProxyClient.config.save.mutate({ + name, + config: updatedConfig, + }); } }, })); @@ -74,11 +72,7 @@ export const useConfigStore = create((set, get) => ({ interface UseConfigStoreType { configs: { increaseVersion: () => void; value: ConfigType }[]; initConfig: (name: string, config: ConfigType, increaseVersion: () => void) => void; - addConfig: ( - name: string, - config: ConfigType, - shouldSaveConfigToFileSystem: boolean - ) => Promise; + addConfig: (name: string, config: ConfigType) => Promise; removeConfig: (name: string) => void; updateConfig: ( name: string, diff --git a/src/hooks/icons/useGetDashboardIcons.tsx b/src/hooks/icons/useGetDashboardIcons.tsx deleted file mode 100644 index bd1cdc6f7..000000000 --- a/src/hooks/icons/useGetDashboardIcons.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { useQuery } from '@tanstack/react-query'; -import { NormalizedIconRepositoryResult } from '../../tools/server/images/abstract-icons-repository'; - -export const useGetDashboardIcons = () => - useQuery({ - queryKey: ['repository-icons'], - queryFn: async () => { - const response = await fetch('/api/icons/'); - const data = await response.json(); - return data as NormalizedIconRepositoryResult[]; - }, - refetchOnMount: false, - // Cache for infinity, refetch every so often. - cacheTime: Infinity, - staleTime: 1000 * 60 * 5, // 5 minutes - refetchOnWindowFocus: false, - }); diff --git a/src/hooks/widgets/dashDot/api.ts b/src/hooks/widgets/dashDot/api.ts index 36c82a55e..c072b3379 100644 --- a/src/hooks/widgets/dashDot/api.ts +++ b/src/hooks/widgets/dashDot/api.ts @@ -1,154 +1,94 @@ -import { useMutation, useQuery } from '@tanstack/react-query'; -import axios from 'axios'; -import { Results } from 'sabnzbd-api'; -import type { - UsenetQueueRequestParams, - UsenetQueueResponse, -} from '../../../pages/api/modules/usenet/queue'; -import type { - UsenetHistoryRequestParams, - UsenetHistoryResponse, -} from '../../../pages/api/modules/usenet/history'; -import { UsenetInfoRequestParams, UsenetInfoResponse } from '../../../pages/api/modules/usenet'; +import { useConfigContext } from '~/config/provider'; +import { RouterInputs, api } from '~/utils/api'; +import { UsenetInfoRequestParams } from '../../../pages/api/modules/usenet'; +import type { UsenetHistoryRequestParams } from '../../../pages/api/modules/usenet/history'; import { UsenetPauseRequestParams } from '../../../pages/api/modules/usenet/pause'; -import { queryClient } from '../../../tools/server/configurations/tanstack/queryClient.tool'; +import type { UsenetQueueRequestParams } from '../../../pages/api/modules/usenet/queue'; import { UsenetResumeRequestParams } from '../../../pages/api/modules/usenet/resume'; const POLLING_INTERVAL = 2000; -export const useGetUsenetInfo = (params: UsenetInfoRequestParams) => - useQuery( - ['usenetInfo', params.appId], - async () => - ( - await axios.get('/api/modules/usenet', { - params, - }) - ).data, +export const useGetUsenetInfo = ({ appId }: UsenetInfoRequestParams) => { + const { name: configName } = useConfigContext(); + + return api.usenet.info.useQuery( + { + appId, + configName: configName!, + }, { refetchInterval: POLLING_INTERVAL, keepPreviousData: true, retry: 2, - enabled: Boolean(params.appId), + enabled: !!appId, } ); +}; -export const useGetUsenetDownloads = (params: UsenetQueueRequestParams) => - useQuery( - ['usenetDownloads', ...Object.values(params)], - async () => - ( - await axios.get('/api/modules/usenet/queue', { - params, - }) - ).data, +export const useGetUsenetDownloads = (params: UsenetQueueRequestParams) => { + const { name: configName } = useConfigContext(); + return api.usenet.queue.useQuery( + { + configName: configName!, + ...params, + }, { refetchInterval: POLLING_INTERVAL, keepPreviousData: true, retry: 2, } ); +}; -export const useGetUsenetHistory = (params: UsenetHistoryRequestParams) => - useQuery( - ['usenetHistory', ...Object.values(params)], - async () => - ( - await axios.get('/api/modules/usenet/history', { - params, - }) - ).data, +export const useGetUsenetHistory = (params: UsenetHistoryRequestParams) => { + const { name: configName } = useConfigContext(); + return api.usenet.history.useQuery( + { + configName: configName!, + ...params, + }, { refetchInterval: POLLING_INTERVAL, keepPreviousData: true, retry: 2, } ); +}; -export const usePauseUsenetQueue = (params: UsenetPauseRequestParams) => - useMutation( - ['usenetPause', ...Object.values(params)], - async () => - ( - await axios.post( - '/api/modules/usenet/pause', - {}, - { - params, - } - ) - ).data, - { - async onMutate() { - await queryClient.cancelQueries(['usenetInfo', params.appId]); - const previousInfo = queryClient.getQueryData([ - 'usenetInfo', - params.appId, - ]); +export const usePauseUsenetQueueMutation = (params: UsenetPauseRequestParams) => { + const { name: configName } = useConfigContext(); + const { mutateAsync } = api.usenet.pause.useMutation(); + const utils = api.useContext(); + return async (variables: Omit) => { + await mutateAsync( + { + configName: configName!, + ...variables, + }, + { + onSettled() { + utils.usenet.info.invalidate({ appId: params.appId }); + }, + } + ); + }; +}; - if (previousInfo) { - queryClient.setQueryData(['usenetInfo', params.appId], { - ...previousInfo, - paused: true, - }); - } - - return { previousInfo }; +export const useResumeUsenetQueueMutation = (params: UsenetResumeRequestParams) => { + const { name: configName } = useConfigContext(); + const { mutateAsync } = api.usenet.resume.useMutation(); + const utils = api.useContext(); + return async (variables: Omit) => { + await mutateAsync( + { + configName: configName!, + ...variables, }, - onError(err, _, context) { - if (context?.previousInfo) { - queryClient.setQueryData( - ['usenetInfo', params.appId], - context.previousInfo - ); - } - }, - onSettled() { - queryClient.invalidateQueries(['usenetInfo', params.appId]); - }, - } - ); - -export const useResumeUsenetQueue = (params: UsenetResumeRequestParams) => - useMutation( - ['usenetResume', ...Object.values(params)], - async () => - ( - await axios.post( - '/api/modules/usenet/resume', - {}, - { - params, - } - ) - ).data, - { - async onMutate() { - await queryClient.cancelQueries(['usenetInfo', params.appId]); - const previousInfo = queryClient.getQueryData([ - 'usenetInfo', - params.appId, - ]); - - if (previousInfo) { - queryClient.setQueryData(['usenetInfo', params.appId], { - ...previousInfo, - paused: false, - }); - } - - return { previousInfo }; - }, - onError(err, _, context) { - if (context?.previousInfo) { - queryClient.setQueryData( - ['usenetInfo', params.appId], - context.previousInfo - ); - } - }, - onSettled() { - queryClient.invalidateQueries(['usenetInfo', params.appId]); - }, - } - ); + { + onSettled() { + utils.usenet.info.invalidate({ appId: params.appId }); + }, + } + ); + }; +}; diff --git a/src/hooks/widgets/download-speed/useGetNetworkSpeed.tsx b/src/hooks/widgets/download-speed/useGetNetworkSpeed.tsx index 2af50a67e..27adce34b 100644 --- a/src/hooks/widgets/download-speed/useGetNetworkSpeed.tsx +++ b/src/hooks/widgets/download-speed/useGetNetworkSpeed.tsx @@ -1,12 +1,14 @@ -import { useQuery } from '@tanstack/react-query'; -import { NormalizedDownloadQueueResponse } from '../../../types/api/downloads/queue/NormalizedDownloadQueueResponse'; +import { useConfigContext } from '~/config/provider'; +import { api } from '~/utils/api'; -export const useGetDownloadClientsQueue = () => - useQuery({ - queryKey: ['network-speed'], - queryFn: async (): Promise => { - const response = await fetch('/api/modules/downloads'); - return response.json(); +export const useGetDownloadClientsQueue = () => { + const { name: configName } = useConfigContext(); + return api.download.get.useQuery( + { + configName: configName!, }, - refetchInterval: 3000, - }); + { + refetchInterval: 3000, + } + ); +}; diff --git a/src/hooks/widgets/media-servers/useGetMediaServers.tsx b/src/hooks/widgets/media-servers/useGetMediaServers.tsx index 7b3d10164..7a0b86029 100644 --- a/src/hooks/widgets/media-servers/useGetMediaServers.tsx +++ b/src/hooks/widgets/media-servers/useGetMediaServers.tsx @@ -1,17 +1,20 @@ -import { useQuery } from '@tanstack/react-query'; -import { MediaServersResponseType } from '../../../types/api/media-server/response'; +import { useConfigContext } from '~/config/provider'; +import { api } from '~/utils/api'; interface GetMediaServersParams { enabled: boolean; } -export const useGetMediaServers = ({ enabled }: GetMediaServersParams) => - useQuery({ - queryKey: ['media-servers'], - queryFn: async (): Promise => { - const response = await fetch('/api/modules/media-server'); - return response.json(); +export const useGetMediaServers = ({ enabled }: GetMediaServersParams) => { + const { name: configName } = useConfigContext(); + + return api.mediaServer.all.useQuery( + { + configName: configName!, }, - enabled, - refetchInterval: 10 * 1000, - }); + { + enabled, + refetchInterval: 10 * 1000, + } + ); +}; diff --git a/src/modules/Docker/ContainerActionBar.tsx b/src/modules/Docker/ContainerActionBar.tsx index 4a8e98177..27dc4c400 100644 --- a/src/modules/Docker/ContainerActionBar.tsx +++ b/src/modules/Docker/ContainerActionBar.tsx @@ -10,56 +10,16 @@ import { IconRotateClockwise, IconTrash, } from '@tabler/icons-react'; -import axios from 'axios'; import Dockerode from 'dockerode'; import { useTranslation } from 'next-i18next'; import { useState } from 'react'; import { v4 as uuidv4 } from 'uuid'; +import { RouterInputs, api } from '~/utils/api'; import { useConfigContext } from '../../config/provider'; import { openContextModalGeneric } from '../../tools/mantineModalManagerExtensions'; import { MatchingImages, ServiceType, tryMatchPort } from '../../tools/types'; import { AppType } from '../../types/app'; -function sendDockerCommand( - action: string, - containerId: string, - containerName: string, - reload: () => void, - t: (key: string) => string, -) { - notifications.show({ - id: containerId, - loading: true, - title: `${t(`actions.${action}.start`)} ${containerName}`, - message: undefined, - autoClose: false, - withCloseButton: false, - }); - axios - .get(`/api/docker/container/${containerId}?action=${action}`) - .then((res) => { - notifications.show({ - id: containerId, - title: containerName, - message: `${t(`actions.${action}.end`)} ${containerName}`, - icon: , - autoClose: 2000, - }); - }) - .catch((err) => { - notifications.update({ - id: containerId, - color: 'red', - title: t('errors.unknownError.title'), - message: err.response.data.reason, - autoClose: 2000, - }); - }) - .finally(() => { - reload(); - }); -} - export interface ContainerActionBarProps { selected: Dockerode.ContainerInfo[]; reload: () => void; @@ -68,8 +28,9 @@ export interface ContainerActionBarProps { export default function ContainerActionBar({ selected, reload }: ContainerActionBarProps) { const { t } = useTranslation('modules/docker'); const [isLoading, setisLoading] = useState(false); - const { name: configName, config } = useConfigContext(); + const { config } = useConfigContext(); const getLowestWrapper = () => config?.wrappers.sort((a, b) => a.position - b.position)[0]; + const sendDockerCommand = useDockerActionMutation(); if (process.env.DISABLE_EDIT_MODE === 'true') { return null; @@ -96,11 +57,7 @@ export default function ContainerActionBar({ selected, reload }: ContainerAction - + - {data.status.map((status, index) => { - const app = config?.apps.find((x) => x.id === status.appId); + + {data.status.map((status, index) => { + const app = config?.apps.find((x) => x.id === status.appId); - if (!app) { - return null; - } + if (!app) { + return null; + } - return ( - - + return ( + ({ - backgroundColor: - theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2], - textAlign: 'center', - padding: 5, - borderRadius: theme.radius.md, - })} - > - + sx={(theme) => ({ + backgroundColor: + theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2], + textAlign: 'center', + padding: 5, + borderRadius: theme.radius.md, + })} + > + - {app.name} + + {app.name} + + - - - - - ); - })} + + ); + })} + ); } @@ -117,4 +129,6 @@ const StatusBadge = ({ status }: { status: PiholeApiSummaryType['status'] }) => ); }; +const useDnsHoleControlMutation = () => api.dnsHole.control.useMutation(); + export default definition; diff --git a/src/widgets/dnshole/DnsHoleSummary.tsx b/src/widgets/dnshole/DnsHoleSummary.tsx index ae382ffab..ece6792cb 100644 --- a/src/widgets/dnshole/DnsHoleSummary.tsx +++ b/src/widgets/dnshole/DnsHoleSummary.tsx @@ -1,4 +1,3 @@ -import { useTranslation } from 'next-i18next'; import { Card, Center, Container, Stack, Text } from '@mantine/core'; import { IconAd, @@ -7,11 +6,13 @@ import { IconSearch, IconWorldWww, } from '@tabler/icons-react'; +import { useTranslation } from 'next-i18next'; +import { useConfigContext } from '~/config/provider'; +import { api } from '~/utils/api'; +import { formatNumber } from '../../tools/client/math'; import { defineWidget } from '../helper'; import { WidgetLoading } from '../loading'; import { IWidget } from '../widgets'; -import { formatNumber } from '../../tools/client/math'; -import { useDnsHoleSummeryQuery } from './query'; const definition = defineWidget({ id: 'dns-hole-summary', @@ -179,4 +180,17 @@ function DnsHoleSummaryWidgetTile({ widget }: DnsHoleSummaryWidgetProps) { ); } +export const useDnsHoleSummeryQuery = () => { + const { name: configName } = useConfigContext(); + + return api.dnsHole.summary.useQuery( + { + configName: configName!, + }, + { + refetchInterval: 3 * 60 * 1000, + } + ); +}; + export default definition; diff --git a/src/widgets/dnshole/query.ts b/src/widgets/dnshole/query.ts deleted file mode 100644 index a38a55d03..000000000 --- a/src/widgets/dnshole/query.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { useMutation, useQuery } from '@tanstack/react-query'; -import { AdStatistics, PiholeApiSummaryType } from './type'; - -export const useDnsHoleSummeryQuery = () => - useQuery({ - queryKey: ['dns-hole-summary'], - queryFn: async () => { - const response = await fetch('/api/modules/dns-hole/summary'); - return (await response.json()) as AdStatistics; - }, - refetchInterval: 3 * 60 * 1000, - }); - -export const useDnsHoleControlMutation = () => - useMutation({ - mutationKey: ['dns-hole-control'], - mutationFn: async (status: PiholeApiSummaryType['status']) => { - const response = await fetch(`/api/modules/dns-hole/control?status=${status}`, { - method: 'POST', - }); - return response.json(); - }, - }); diff --git a/src/widgets/media-requests/MediaRequestListTile.tsx b/src/widgets/media-requests/MediaRequestListTile.tsx index 493091068..1f4e8fc7d 100644 --- a/src/widgets/media-requests/MediaRequestListTile.tsx +++ b/src/widgets/media-requests/MediaRequestListTile.tsx @@ -10,16 +10,16 @@ import { Text, Tooltip, } from '@mantine/core'; -import { useTranslation } from 'next-i18next'; -import { IconCheck, IconGitPullRequest, IconThumbDown, IconThumbUp } from '@tabler/icons-react'; -import { useMutation } from '@tanstack/react-query'; -import axios from 'axios'; import { notifications } from '@mantine/notifications'; +import { IconCheck, IconGitPullRequest, IconThumbDown, IconThumbUp } from '@tabler/icons-react'; +import { useTranslation } from 'next-i18next'; +import { api } from '~/utils/api'; import { defineWidget } from '../helper'; import { WidgetLoading } from '../loading'; import { IWidget } from '../widgets'; import { useMediaRequestQuery } from './media-request-query'; import { MediaRequest, MediaRequestStatus } from './media-request-types'; +import { useConfigContext } from '~/config/provider'; const definition = defineWidget({ id: 'media-requests-list', @@ -45,21 +45,55 @@ interface MediaRequestListWidgetProps { widget: MediaRequestListWidget; } -function MediaRequestListTile({ widget }: MediaRequestListWidgetProps) { - const { t } = useTranslation('modules/media-requests-list'); - const { data, refetch, isLoading } = useMediaRequestQuery(); - // Use mutation to approve or deny a pending request - const mutate = useMutation({ - mutationFn: async (e: { request: MediaRequest; action: string }) => { - const data = await axios.put(`/api/modules/overseerr/${e.request.id}?action=${e.action}`); - notifications.show({ - title: t('requestUpdated'), - message: t('requestUpdatedMessage', { title: e.request.name }), - color: 'blue', - }); - refetch(); +type MediaRequestDecisionVariables = { + request: MediaRequest; + isApproved: boolean; +}; +const useMediaRequestDecisionMutation = () => { + const { name: configName } = useConfigContext(); + const utils = api.useContext(); + const { mutateAsync } = api.overseerr.decide.useMutation({ + onSuccess() { + utils.mediaRequest.all.invalidate(); }, }); + return async (variables: MediaRequestDecisionVariables) => { + const action = variables.isApproved ? 'Approving' : 'Declining'; + notifications.show({ + id: `decide-${variables.request.id}`, + color: 'yellow', + title: `${action} request...`, + message: undefined, + loading: true, + }); + await mutateAsync( + { + configName: configName!, + id: variables.request.id, + isApproved: variables.isApproved, + }, + { + onSuccess(_data, variables) { + const title = variables.isApproved ? 'Request was approved!' : 'Request was declined!'; + notifications.update({ + id: `decide-${variables.id}`, + color: 'teal', + title, + message: undefined, + icon: , + autoClose: 2000, + }); + }, + } + ); + }; +}; + +function MediaRequestListTile({ widget }: MediaRequestListWidgetProps) { + const { t } = useTranslation('modules/media-requests-list'); + const { data, isLoading } = useMediaRequestQuery(); + // Use mutation to approve or deny a pending request + const decideAsync = useMediaRequestDecisionMutation(); if (!data || isLoading) { return ; @@ -157,18 +191,10 @@ function MediaRequestListTile({ widget }: MediaRequestListWidgetProps) { loading: true, }); - await mutate.mutateAsync({ request: item, action: 'approve' }).then(() => - notifications.update({ - id: `approve ${item.id}`, - color: 'teal', - title: 'Request was approved!', - message: undefined, - icon: , - autoClose: 2000, - }) - ); - - await refetch(); + await decideAsync({ + request: item, + isApproved: true, + }); }} > @@ -179,8 +205,10 @@ function MediaRequestListTile({ widget }: MediaRequestListWidgetProps) { variant="light" color="red" onClick={async () => { - await mutate.mutateAsync({ request: item, action: 'decline' }); - await refetch(); + await decideAsync({ + request: item, + isApproved: false, + }); }} > diff --git a/src/widgets/media-requests/media-request-query.tsx b/src/widgets/media-requests/media-request-query.tsx index 10ec3541f..3c9f2f486 100644 --- a/src/widgets/media-requests/media-request-query.tsx +++ b/src/widgets/media-requests/media-request-query.tsx @@ -1,11 +1,12 @@ -import { useQuery } from '@tanstack/react-query'; -import { MediaRequest } from './media-request-types'; +import { useConfigContext } from '~/config/provider'; +import { api } from '~/utils/api'; -export const useMediaRequestQuery = () => useQuery({ - queryKey: ['media-requests'], - queryFn: async () => { - const response = await fetch('/api/modules/media-requests'); - return (await response.json()) as MediaRequest[]; - }, - refetchInterval: 3 * 60 * 1000, -}); +export const useMediaRequestQuery = () => { + const { name: configName } = useConfigContext(); + return api.mediaRequest.all.useQuery( + { configName: configName! }, + { + refetchInterval: 3 * 60 * 1000, + } + ); +}; diff --git a/src/widgets/rss/RssWidgetTile.tsx b/src/widgets/rss/RssWidgetTile.tsx index dc1cebe68..9512bc2ef 100644 --- a/src/widgets/rss/RssWidgetTile.tsx +++ b/src/widgets/rss/RssWidgetTile.tsx @@ -15,11 +15,12 @@ import { createStyles, } from '@mantine/core'; import { IconClock, IconRefresh, IconRss } from '@tabler/icons-react'; -import { useQuery } from '@tanstack/react-query'; import dayjs from 'dayjs'; import { useTranslation } from 'next-i18next'; import Link from 'next/link'; +import { useConfigContext } from '~/config/provider'; +import { api } from '~/utils/api'; import { defineWidget } from '../helper'; import { IWidget } from '../widgets'; @@ -65,27 +66,11 @@ interface RssTileProps { widget: IRssWidget; } -export const useGetRssFeeds = (feedUrls: string[], refreshInterval: number, widgetId: string) => - useQuery({ - queryKey: ['rss-feeds', feedUrls], - // Cache the results for 24 hours - cacheTime: 1000 * 60 * 60 * 24, - staleTime: 1000 * 60 * refreshInterval, - queryFn: async () => { - const responses = await Promise.all( - feedUrls.map((feedUrl) => - fetch( - `/api/modules/rss?widgetId=${widgetId}&feedUrl=${encodeURIComponent(feedUrl)}` - ).then((response) => response.json()) - ) - ); - return responses; - }, - }); - function RssTile({ widget }: RssTileProps) { const { t } = useTranslation('modules/rss'); + const { name: configName } = useConfigContext(); const { data, isLoading, isFetching, isError, refetch } = useGetRssFeeds( + configName, widget.properties.rssFeedUrl, widget.properties.refreshInterval, widget.id @@ -122,6 +107,7 @@ function RssTile({ widget }: RssTileProps) { {t('descriptor.card.errors.general.title')} {t('descriptor.card.errors.general.text')} + ); } @@ -192,25 +178,54 @@ function RssTile({ widget }: RssTileProps) { ))} - refetch()} - bottom={10} - styles={{ - root: { - borderColor: 'red', - }, - }} - > - {isFetching ? : } - + ); } +export const useGetRssFeeds = ( + configName: string | undefined, + feedUrls: string[], + refreshInterval: number, + widgetId: string +) => + api.rss.all.useQuery( + { + configName: configName ?? '', + feedUrls, + widgetId, + }, + { + // Cache the results for 24 hours + cacheTime: 1000 * 60 * 60 * 24, + staleTime: 1000 * 60 * refreshInterval, + enabled: !!configName, + } + ); + +interface RefetchButtonProps { + refetch: () => void; + isFetching: boolean; +} + +const RefetchButton = ({ isFetching, refetch }: RefetchButtonProps) => ( + refetch()} + bottom={10} + styles={{ + root: { + borderColor: 'red', + }, + }} + > + {isFetching ? : } + +); + const InfoDisplay = ({ date, title }: { date: string; title: string | undefined }) => ( diff --git a/src/widgets/useNet/UseNetTile.tsx b/src/widgets/useNet/UseNetTile.tsx index 0fac00916..79aee3136 100644 --- a/src/widgets/useNet/UseNetTile.tsx +++ b/src/widgets/useNet/UseNetTile.tsx @@ -10,8 +10,8 @@ import { useConfigContext } from '../../config/provider'; import { MIN_WIDTH_MOBILE } from '../../constants/constants'; import { useGetUsenetInfo, - usePauseUsenetQueue, - useResumeUsenetQueue, + usePauseUsenetQueueMutation, + useResumeUsenetQueueMutation, } from '../../hooks/widgets/dashDot/api'; import { humanFileSize } from '../../tools/humanFileSize'; import { AppIntegrationType } from '../../types/app'; @@ -60,8 +60,8 @@ function UseNetTile({ widget }: UseNetTileProps) { } }, [downloadApps, selectedAppId]); - const { mutate: pause } = usePauseUsenetQueue({ appId: selectedAppId! }); - const { mutate: resume } = useResumeUsenetQueue({ appId: selectedAppId! }); + const pauseAsync = usePauseUsenetQueueMutation({ appId: selectedAppId! }); + const resumeAsync = useResumeUsenetQueueMutation({ appId: selectedAppId! }); if (downloadApps.length === 0) { return ( @@ -107,11 +107,25 @@ function UseNetTile({ widget }: UseNetTileProps) { {!data ? null : data.paused ? ( - ) : ( - diff --git a/src/widgets/useNet/UsenetHistoryList.tsx b/src/widgets/useNet/UsenetHistoryList.tsx index a012e4689..1c129fb93 100644 --- a/src/widgets/useNet/UsenetHistoryList.tsx +++ b/src/widgets/useNet/UsenetHistoryList.tsx @@ -13,14 +13,13 @@ import { } from '@mantine/core'; import { useElementSize } from '@mantine/hooks'; import { IconAlertCircle } from '@tabler/icons-react'; -import { AxiosError } from 'axios'; import dayjs from 'dayjs'; import duration from 'dayjs/plugin/duration'; import { useTranslation } from 'next-i18next'; import { FunctionComponent, useState } from 'react'; import { useGetUsenetHistory } from '../../hooks/widgets/dashDot/api'; -import { humanFileSize } from '../../tools/humanFileSize'; import { parseDuration } from '../../tools/client/parseDuration'; +import { humanFileSize } from '../../tools/humanFileSize'; dayjs.extend(duration); @@ -65,7 +64,7 @@ export const UsenetHistoryList: FunctionComponent = ({ a > {t('modules/usenet:history.error.message')} - {(error as AxiosError)?.response?.data as string} + {error.message} diff --git a/src/widgets/useNet/UsenetQueueList.tsx b/src/widgets/useNet/UsenetQueueList.tsx index b3ed643dd..b3e39e61b 100644 --- a/src/widgets/useNet/UsenetQueueList.tsx +++ b/src/widgets/useNet/UsenetQueueList.tsx @@ -16,11 +16,11 @@ import { } from '@mantine/core'; import { useElementSize } from '@mantine/hooks'; import { IconAlertCircle, IconPlayerPause, IconPlayerPlay } from '@tabler/icons-react'; -import { AxiosError } from 'axios'; import dayjs from 'dayjs'; import duration from 'dayjs/plugin/duration'; import { useTranslation } from 'next-i18next'; import { FunctionComponent, useState } from 'react'; + import { useGetUsenetDownloads } from '../../hooks/widgets/dashDot/api'; import { humanFileSize } from '../../tools/humanFileSize'; @@ -70,7 +70,7 @@ export const UsenetQueueList: FunctionComponent = ({ appId > {t('queue.error.message')} - {(error as AxiosError)?.response?.data as string} + {error.message} diff --git a/src/widgets/weather/WeatherTile.tsx b/src/widgets/weather/WeatherTile.tsx index 0f42d9424..5f0440284 100644 --- a/src/widgets/weather/WeatherTile.tsx +++ b/src/widgets/weather/WeatherTile.tsx @@ -1,9 +1,9 @@ import { Center, Group, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useElementSize } from '@mantine/hooks'; import { IconArrowDownRight, IconArrowUpRight, IconCloudRain } from '@tabler/icons-react'; +import { api } from '~/utils/api'; import { defineWidget } from '../helper'; import { IWidget } from '../widgets'; -import { useWeatherForCity } from './useWeatherForCity'; import { WeatherIcon } from './WeatherIcon'; const definition = defineWidget({ @@ -15,8 +15,12 @@ const definition = defineWidget({ defaultValue: false, }, location: { - type: 'text', - defaultValue: 'Paris', + type: 'location', + defaultValue: { + name: 'Paris', + latitude: 48.85341, + longitude: 2.3488, + }, }, }, gridstack: { @@ -35,8 +39,8 @@ interface WeatherTileProps { } function WeatherTile({ widget }: WeatherTileProps) { - const { data: weather, isLoading, isError } = useWeatherForCity(widget.properties.location); - const { width, height, ref } = useElementSize(); + const { data: weather, isLoading, isError } = api.weather.at.useQuery(widget.properties.location); + const { width, ref } = useElementSize(); if (isLoading) { return ( @@ -77,10 +81,10 @@ function WeatherTile({ widget }: WeatherTileProps) { style={{ height: '100%', width: '100%' }} > - + {getPerferedUnit( - weather!.current_weather.temperature, + weather.current_weather.temperature, widget.properties.displayInFahrenheit )} @@ -89,12 +93,12 @@ function WeatherTile({ widget }: WeatherTileProps) { {getPerferedUnit( - weather!.daily.temperature_2m_max[0], + weather.daily.temperature_2m_max[0], widget.properties.displayInFahrenheit )} {getPerferedUnit( - weather!.daily.temperature_2m_min[0], + weather.daily.temperature_2m_min[0], widget.properties.displayInFahrenheit )} diff --git a/src/widgets/weather/types.ts b/src/widgets/weather/types.ts deleted file mode 100644 index 39fd42135..000000000 --- a/src/widgets/weather/types.ts +++ /dev/null @@ -1,41 +0,0 @@ -// To parse this data: -// -// import { Convert, WeatherResponse } from "./file"; -// -// const weatherResponse = Convert.toWeatherResponse(json); -// -// These functions will throw an error if the JSON doesn't -// match the expected interface, even if the JSON is valid. - -export interface WeatherResponse { - current_weather: CurrentWeather; - utc_offset_seconds: number; - latitude: number; - elevation: number; - longitude: number; - generationtime_ms: number; - daily_units: DailyUnits; - daily: Daily; -} - -export interface CurrentWeather { - winddirection: number; - windspeed: number; - time: string; - weathercode: number; - temperature: number; -} - -export interface Daily { - temperature_2m_max: number[]; - time: Date[]; - temperature_2m_min: number[]; - weathercode: number[]; -} - -export interface DailyUnits { - temperature_2m_max: string; - temperature_2m_min: string; - time: string; - weathercode: string; -} diff --git a/src/widgets/weather/useWeatherForCity.ts b/src/widgets/weather/useWeatherForCity.ts deleted file mode 100644 index be7a28ac0..000000000 --- a/src/widgets/weather/useWeatherForCity.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { useQuery } from '@tanstack/react-query'; -import { WeatherResponse } from './types'; - -/** - * Requests the weather of the specified city - * @param cityName name of the city where the weather should be requested - * @returns weather of specified city - */ -export const useWeatherForCity = (cityName: string) => { - const { - data: city, - isLoading, - isError, - } = useQuery({ - queryKey: ['weatherCity', { cityName }], - queryFn: () => fetchCity(cityName), - cacheTime: 1000 * 60 * 60 * 24, // the city is cached for 24 hours - staleTime: Infinity, // the city is never considered stale - }); - const weatherQuery = useQuery({ - queryKey: ['weather', { cityName }], - queryFn: () => fetchWeather(city?.results[0]), - enabled: Boolean(city), - cacheTime: 1000 * 60 * 60 * 6, // the weather is cached for 6 hours - staleTime: 1000 * 60 * 5, // the weather is considered stale after 5 minutes - }); - - return { - ...weatherQuery, - isLoading: weatherQuery.isLoading || isLoading, - isError: weatherQuery.isError || isError, - }; -}; - -/** - * Requests the coordinates of a city - * @param cityName name of city - * @returns list with all coordinates for citites with specified name - */ -const fetchCity = async (cityName: string) => { - const res = await fetch(`https://geocoding-api.open-meteo.com/v1/search?name=${cityName}`); - return (await res.json()) as { results: Coordinates[] }; -}; - -/** - * Requests the weather of specific coordinates - * @param coordinates of the location the weather should be fetched - * @returns weather of specified coordinates - */ -async function fetchWeather(coordinates?: Coordinates) { - if (!coordinates) return null; - const { longitude, latitude } = coordinates; - const res = await fetch( - `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&daily=weathercode,temperature_2m_max,temperature_2m_min¤t_weather=true&timezone=Europe%2FLondon` - ); - // eslint-disable-next-line consistent-return - return (await res.json()) as WeatherResponse; -} - -type Coordinates = { latitude: number; longitude: number }; diff --git a/src/widgets/widgets.ts b/src/widgets/widgets.ts index f40ca4a4a..be5322b60 100644 --- a/src/widgets/widgets.ts +++ b/src/widgets/widgets.ts @@ -40,7 +40,8 @@ export type IWidgetOptionValue = | INumberInputOptionValue | IDraggableListInputValue | IDraggableEditableListInputValue - | IMultipleTextInputOptionValue; + | IMultipleTextInputOptionValue + | ILocationOptionValue; // Interface for data type interface DataType { @@ -95,6 +96,11 @@ export type ISliderInputOptionValue = { inputProps?: Partial; }; +type ILocationOptionValue = { + type: 'location'; + defaultValue: { latitude: number; longitude: number }; +}; + // will show a sortable list that can have sub settings export type IDraggableListInputValue = { type: 'draggable-list'; diff --git a/tsconfig.json b/tsconfig.json index 922f76b10..1ca49efb1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -22,7 +22,10 @@ { "name": "next" } - ] + ], + "paths": { + "~/*": ["./src/*"] + }, }, "include": [ "next-env.d.ts", diff --git a/vitest.config.ts b/vitest.config.ts index fdeb8aa25..566d1cfcc 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,10 +1,11 @@ import react from '@vitejs/plugin-react'; +import tsconfigPaths from 'vite-tsconfig-paths'; import { configDefaults, defineConfig } from 'vitest/config'; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react()], + plugins: [react(), tsconfigPaths()], test: { environment: 'happy-dom', coverage: { @@ -14,9 +15,6 @@ export default defineConfig({ exclude: ['.next/', '.yarn/', 'data/'], }, setupFiles: ['./tests/setupVitest.ts'], - exclude: [ - ...configDefaults.exclude, - '.next', - ], + exclude: [...configDefaults.exclude, '.next'], }, }); diff --git a/yarn.lock b/yarn.lock index f05388d4f..6551899de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 6 cacheKey: 8 +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd + languageName: node + linkType: hard + "@adobe/css-tools@npm:^4.0.1": version: 4.2.0 resolution: "@adobe/css-tools@npm:4.2.0" @@ -22,7 +29,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.5": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.5": version: 7.22.5 resolution: "@babel/code-frame@npm:7.22.5" dependencies: @@ -38,7 +45,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.21.4": +"@babel/core@npm:^7.22.5": version: 7.22.5 resolution: "@babel/core@npm:7.22.5" dependencies: @@ -61,7 +68,18 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.22.5": +"@babel/generator@npm:7.17.7": + version: 7.17.7 + resolution: "@babel/generator@npm:7.17.7" + dependencies: + "@babel/types": ^7.17.0 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: e7344b9b4559115f2754ecc2ae9508412ea6a8f617544cd3d3f17cabc727bd30630765f96c8a4ebc8901ded1492a3a6c23d695a4f1e8f3042f860b30c891985c + languageName: node + linkType: hard + +"@babel/generator@npm:^7.17.3, @babel/generator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/generator@npm:7.22.5" dependencies: @@ -88,14 +106,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.5": +"@babel/helper-environment-visitor@npm:^7.16.7, @babel/helper-environment-visitor@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-environment-visitor@npm:7.22.5" checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.22.5": +"@babel/helper-function-name@npm:^7.16.7, @babel/helper-function-name@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-function-name@npm:7.22.5" dependencies: @@ -105,7 +123,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.22.5": +"@babel/helper-hoist-variables@npm:^7.16.7, @babel/helper-hoist-variables@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-hoist-variables@npm:7.22.5" dependencies: @@ -155,7 +173,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.5": +"@babel/helper-split-export-declaration@npm:^7.16.7, @babel/helper-split-export-declaration@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-split-export-declaration@npm:7.22.5" dependencies: @@ -171,7 +189,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.5": +"@babel/helper-validator-identifier@npm:^7.16.7, @babel/helper-validator-identifier@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-validator-identifier@npm:7.22.5" checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea @@ -207,7 +225,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.5": +"@babel/parser@npm:^7.17.3, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.22.5": version: 7.22.5 resolution: "@babel/parser@npm:7.22.5" bin: @@ -216,7 +234,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.21.0": +"@babel/plugin-transform-react-jsx-self@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-react-jsx-self@npm:7.22.5" dependencies: @@ -227,7 +245,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.19.6": +"@babel/plugin-transform-react-jsx-source@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-react-jsx-source@npm:7.22.5" dependencies: @@ -258,6 +276,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:7.17.3": + version: 7.17.3 + resolution: "@babel/traverse@npm:7.17.3" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.17.3 + "@babel/helper-environment-visitor": ^7.16.7 + "@babel/helper-function-name": ^7.16.7 + "@babel/helper-hoist-variables": ^7.16.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/parser": ^7.17.3 + "@babel/types": ^7.17.0 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 780d7ecf711758174989794891af08d378f81febdb8932056c0d9979524bf0298e28f8e7708a872d7781151506c28f56c85c63ea3f1f654662c2fcb8a3eb9fdc + languageName: node + linkType: hard + "@babel/traverse@npm:^7.22.5": version: 7.22.5 resolution: "@babel/traverse@npm:7.22.5" @@ -276,7 +312,17 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.22.5, @babel/types@npm:^7.8.3": +"@babel/types@npm:7.17.0": + version: 7.17.0 + resolution: "@babel/types@npm:7.17.0" + dependencies: + "@babel/helper-validator-identifier": ^7.16.7 + to-fast-properties: ^2.0.0 + checksum: 12e5a287986fe557188e87b2c5202223f1dc83d9239a196ab936fdb9f8c1eb0be717ff19f934b5fad4e29a75586d5798f74bed209bccea1c20376b9952056f0e + languageName: node + linkType: hard + +"@babel/types@npm:^7.17.0, @babel/types@npm:^7.22.5, @babel/types@npm:^7.8.3": version: 7.22.5 resolution: "@babel/types@npm:7.22.5" dependencies: @@ -714,27 +760,27 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.0.3": - version: 2.0.3 - resolution: "@eslint/eslintrc@npm:2.0.3" +"@eslint/eslintrc@npm:^2.1.0": + version: 2.1.0 + resolution: "@eslint/eslintrc@npm:2.1.0" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.5.2 + espree: ^9.6.0 globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: ddc51f25f8524d8231db9c9bf03177e503d941a332e8d5ce3b10b09241be4d5584a378a529a27a527586bfbccf3031ae539eb891352033c340b012b4d0c81d92 + checksum: d5ed0adbe23f6571d8c9bb0ca6edf7618dc6aed4046aa56df7139f65ae7b578874e0d9c796df784c25bda648ceb754b6320277d828c8b004876d7443b8dc018c languageName: node linkType: hard -"@eslint/js@npm:8.42.0": - version: 8.42.0 - resolution: "@eslint/js@npm:8.42.0" - checksum: 750558843ac458f7da666122083ee05306fc087ecc1e5b21e7e14e23885775af6c55bcc92283dff1862b7b0d8863ec676c0f18c7faf1219c722fe91a8ece56b6 +"@eslint/js@npm:8.44.0": + version: 8.44.0 + resolution: "@eslint/js@npm:8.44.0" + checksum: fc539583226a28f5677356e9f00d2789c34253f076643d2e32888250e509a4e13aafe0880cb2425139051de0f3a48d25bfc5afa96b7304f203b706c17340e3cf languageName: node linkType: hard @@ -901,7 +947,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.15": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 @@ -929,134 +975,134 @@ __metadata: linkType: hard "@mantine/core@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/core@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/core@npm:6.0.16" dependencies: "@floating-ui/react": ^0.19.1 - "@mantine/styles": 6.0.13 - "@mantine/utils": 6.0.13 + "@mantine/styles": 6.0.16 + "@mantine/utils": 6.0.16 "@radix-ui/react-scroll-area": 1.0.2 react-remove-scroll: ^2.5.5 react-textarea-autosize: 8.3.4 peerDependencies: - "@mantine/hooks": 6.0.13 + "@mantine/hooks": 6.0.16 react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 49e13573578f44fea695780a95b30593a647b304d070643d184ef2e2ba7a4f6eb1d9ece545e4b4d318546a174e8c7b4a30ae574f2d1e583bb43fd07ab9e98624 + checksum: 0bee88053216bb9190f78f023e6272c8333487cdb5d7f5c1abe3dde0bf5492365b87cadb4c120513f7312b3ccd7ee4adc76767b961bbd720d4e17c4f796742b6 languageName: node linkType: hard "@mantine/dates@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/dates@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/dates@npm:6.0.16" dependencies: - "@mantine/utils": 6.0.13 + "@mantine/utils": 6.0.16 peerDependencies: - "@mantine/core": 6.0.13 - "@mantine/hooks": 6.0.13 + "@mantine/core": 6.0.16 + "@mantine/hooks": 6.0.16 dayjs: ">=1.0.0" react: ">=16.8.0" - checksum: a942a6e9ffe450a00fa216d94b2570a0861f1b5c7a3bcfb7c127ad66d69e9dff865b0495b074b51ba2d8ebf405a19adae9081da0eb0536f98bdfcaaf891e1be6 + checksum: e196f24f69eabd388c3dc1991d6571719bea86f4dfb3bb3082367890b558c8c2f6805d4a12a0a98c3e07cb4c8003ba2c666b3157f4b483a90a532d373cb066e3 languageName: node linkType: hard "@mantine/dropzone@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/dropzone@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/dropzone@npm:6.0.16" dependencies: - "@mantine/utils": 6.0.13 + "@mantine/utils": 6.0.16 react-dropzone: 14.2.3 peerDependencies: - "@mantine/core": 6.0.13 - "@mantine/hooks": 6.0.13 + "@mantine/core": 6.0.16 + "@mantine/hooks": 6.0.16 react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 22640d1025f7600a6ee63a58d48caf387319e1f313b9bd332b1ec9f071c479bc7dc95b20279655e22be94753c63711ec735cfa8bf5214371e8a6c1010bea79d2 + checksum: 3222b46c32a615e0502e03410ae3a5288ee7682a002f15b5d394d9fa520143052363235542d4293a8a67b2d56806835b6f6a2786c644b5c9bc237d2ac60f954c languageName: node linkType: hard "@mantine/form@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/form@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/form@npm:6.0.16" dependencies: fast-deep-equal: ^3.1.3 klona: ^2.0.5 peerDependencies: react: ">=16.8.0" - checksum: c426e30e6f160a948548f13144edb5e98397a01d7542b9a3c2f8509a69047160eefc26ffe239a94512ba7fa4567a1429f55ecfc22aecf93483b5b16060daa037 + checksum: 0ca44d60fbedcf5f9243c6064b0663f1446bca1b8118a7eccad8729ffcf8159c182b5dfca2c4eef680d5dda83b5e6f15515094213de0fdbfc57beaa4a9fe5773 languageName: node linkType: hard "@mantine/hooks@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/hooks@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/hooks@npm:6.0.16" peerDependencies: react: ">=16.8.0" - checksum: 3037208d21b4e7f339de9e6c4cc74486123d16fd1dcd3796da4619e691000fc9d4c665ce748f3b099d0ee1980ddff3968faeba73a429f2230e630398dfbb69a8 + checksum: 070546fd11dda57f29650af534e35a5ca95b47c38ddfc6646be9a58ed3cd8f671a376f0203be7832a7b29eaf97091cf0a7899223e5993dfacf775edf5c7325c6 languageName: node linkType: hard "@mantine/modals@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/modals@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/modals@npm:6.0.16" dependencies: - "@mantine/utils": 6.0.13 + "@mantine/utils": 6.0.16 peerDependencies: - "@mantine/core": 6.0.13 - "@mantine/hooks": 6.0.13 + "@mantine/core": 6.0.16 + "@mantine/hooks": 6.0.16 react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: a4cddf46a4621384478c95848d09e2cef78914c27668fe7944cfbeef98a8240505e06cc884d7496236a756ba9d72bb0f85f8109a59d64e7d4843f7dd03d468e7 + checksum: 518c2d89c9bc714d37ca2ac8248bce3b1cd6fd46926e03c96f85070a801bc31a09eca6891fc60cddf6bf0f1d94d30744cf7b9f4b742bdbfe22b0e2dd3520ea5f languageName: node linkType: hard "@mantine/next@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/next@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/next@npm:6.0.16" dependencies: - "@mantine/ssr": 6.0.13 - "@mantine/styles": 6.0.13 + "@mantine/ssr": 6.0.16 + "@mantine/styles": 6.0.16 peerDependencies: next: "*" react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 7b51cc745a472318b3be1afde21cd073554f2a84aff79d2a1f09611fb06ec0818d5d6b5a7353c782bbbdc7cd4574dd4dc317182c72e257ccf3509788a7eb64f2 + checksum: 8349dca8e17dd3a1b93029b7367e9ec3583f5a50df10122fd4c984d995e57e452359fc45a8c72ef229750cadfb7f71df7bf8c920c6315b5607cc3cff56608eb7 languageName: node linkType: hard "@mantine/notifications@npm:^6.0.0": - version: 6.0.13 - resolution: "@mantine/notifications@npm:6.0.13" + version: 6.0.16 + resolution: "@mantine/notifications@npm:6.0.16" dependencies: - "@mantine/utils": 6.0.13 + "@mantine/utils": 6.0.16 react-transition-group: 4.4.2 peerDependencies: - "@mantine/core": 6.0.13 - "@mantine/hooks": 6.0.13 + "@mantine/core": 6.0.16 + "@mantine/hooks": 6.0.16 react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 4cc3130326c39734be414f7b99690241f8faa8131051b04b236973976db11f32220b5d0553d4a140e01d0075e8fdd8a671446374ad5c37b74f1047c30357c0ac + checksum: 511d746879f135f35301507e88406eef0e0557b8e2427ce0c3c7c7e06940f1bce704d8f8a5296b6019208a68024d7eb78fce4a48aed068609c80c2516a8b3fd3 languageName: node linkType: hard -"@mantine/ssr@npm:6.0.13": - version: 6.0.13 - resolution: "@mantine/ssr@npm:6.0.13" +"@mantine/ssr@npm:6.0.16": + version: 6.0.16 + resolution: "@mantine/ssr@npm:6.0.16" dependencies: - "@mantine/styles": 6.0.13 + "@mantine/styles": 6.0.16 html-react-parser: 1.4.12 peerDependencies: "@emotion/react": ">=11.9.0" "@emotion/server": ">=11.4.0" react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 92ae8f5d2d1dd571897447ea9120e5169828b57b85497ec67adf501f3bfd9c29d51b045d37dd614684875ee4208fcd2dee668738d6cab524ab4c037a51f83807 + checksum: 6ea8cae9db51bb2d7978e72c20e8b55d0fbd32f7125dd2435ff11376a0c5756e56c7f9476f9f7be7ca6b18a37d96ad5035fdcf6fe4f2d72d2173974a288279aa languageName: node linkType: hard -"@mantine/styles@npm:6.0.13": - version: 6.0.13 - resolution: "@mantine/styles@npm:6.0.13" +"@mantine/styles@npm:6.0.16": + version: 6.0.16 + resolution: "@mantine/styles@npm:6.0.16" dependencies: clsx: 1.1.1 csstype: 3.0.9 @@ -1064,103 +1110,103 @@ __metadata: "@emotion/react": ">=11.9.0" react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 459f4ce0eb2ee75885980061ba248533b7164b2231deb6a93ad6da6bf0b720651640492b02216419422c6b0a28908d6ec488fbf7de2ac57ad1ff3fd13f7f9a02 + checksum: 587be266fe982db0716a27dc1b6e81c3051301758a167af06863b64609d6114244698739ada55d2acc5b58f700b8f6b47eb623162fa5cacc9ebd4be0f2f37f7f languageName: node linkType: hard -"@mantine/utils@npm:6.0.13": - version: 6.0.13 - resolution: "@mantine/utils@npm:6.0.13" +"@mantine/utils@npm:6.0.16": + version: 6.0.16 + resolution: "@mantine/utils@npm:6.0.16" peerDependencies: react: ">=16.8.0" - checksum: 7b59db35a7245af138b9af7b143b4ef30e9b5d0bf85e796034ab2368b1a449d67f2023d9d174c532ebd94e9e63037d2e4e0da46e259572de7397e4b0d8867ca0 + checksum: dc9e6690497fdc769cc4abaaa6152c6ed03408d0e1e8429d39ff6b084e03a525abe3b2bfcbe8a4fa69f5dd88a7e7743859b91811b8aa1808195549f6d803006d languageName: node linkType: hard "@next/bundle-analyzer@npm:^13.0.0": - version: 13.4.4 - resolution: "@next/bundle-analyzer@npm:13.4.4" + version: 13.4.10 + resolution: "@next/bundle-analyzer@npm:13.4.10" dependencies: webpack-bundle-analyzer: 4.7.0 - checksum: a97430091106c5705efb9220250deb86d7f19f129577ca2b13379ffecbbdf2d89b107b97ba58bc9b60a4374098dc814d88e1e30fc34bcb1ec0410f8c5e4b28b5 + checksum: 876474d910583c8326c6ae1c23124461783c8c58abb1c9f197185f96c36b71d0d19861cd54ebaa0db5317f6fd035d465a703a3c70a2006492c0e2aa25621fceb languageName: node linkType: hard -"@next/env@npm:13.4.4": - version: 13.4.4 - resolution: "@next/env@npm:13.4.4" - checksum: 9ab9b9ac4e5920cb9911273a776a5e2564844ac735a9c483bf584e090a7f534ce4a8fcda313132d338837e634513f680885c6b4ee811d5175db1b98b0bba4b35 +"@next/env@npm:13.4.10": + version: 13.4.10 + resolution: "@next/env@npm:13.4.10" + checksum: a3e1ca0fe2e58288a9747a279d168a5d2cdda68bd72174d4c8b6746e5172f261174401d787ec356ac424504f967f0a47bffeffcfdabd6fa73a9e2bd0ff851a73 languageName: node linkType: hard -"@next/eslint-plugin-next@npm:^13.0.0": - version: 13.4.4 - resolution: "@next/eslint-plugin-next@npm:13.4.4" +"@next/eslint-plugin-next@npm:13.4.10, @next/eslint-plugin-next@npm:^13.4.5": + version: 13.4.10 + resolution: "@next/eslint-plugin-next@npm:13.4.10" dependencies: glob: 7.1.7 - checksum: 0a14780aed31d5faa6fa4b0a28f1ee7852d5ed5ed2dad166f05b2ed614bd1802fa033d7b313bcfb053b523f708c379052081069802b087f8ce22c787f361621a + checksum: f14b99eb5d33b6ede9666ffafb596ee6be52157fc87b59d10d94e44b1e9836099ad450a67558c2aecf09c84b55f65a33c9254ab72df33f55f7cc9f4abee7b38c languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-darwin-arm64@npm:13.4.4" +"@next/swc-darwin-arm64@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-darwin-arm64@npm:13.4.10" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-darwin-x64@npm:13.4.4" +"@next/swc-darwin-x64@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-darwin-x64@npm:13.4.10" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-linux-arm64-gnu@npm:13.4.4" +"@next/swc-linux-arm64-gnu@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-arm64-gnu@npm:13.4.10" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-linux-arm64-musl@npm:13.4.4" +"@next/swc-linux-arm64-musl@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-arm64-musl@npm:13.4.10" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-linux-x64-gnu@npm:13.4.4" +"@next/swc-linux-x64-gnu@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-x64-gnu@npm:13.4.10" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-linux-x64-musl@npm:13.4.4" +"@next/swc-linux-x64-musl@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-x64-musl@npm:13.4.10" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-win32-arm64-msvc@npm:13.4.4" +"@next/swc-win32-arm64-msvc@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-win32-arm64-msvc@npm:13.4.10" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-win32-ia32-msvc@npm:13.4.4" +"@next/swc-win32-ia32-msvc@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-win32-ia32-msvc@npm:13.4.10" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:13.4.4": - version: 13.4.4 - resolution: "@next/swc-win32-x64-msvc@npm:13.4.4" +"@next/swc-win32-x64-msvc@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-win32-x64-msvc@npm:13.4.10" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1381,206 +1427,17 @@ __metadata: languageName: node linkType: hard -"@oclif/color@npm:^1.0.3, @oclif/color@npm:^1.0.4": - version: 1.0.6 - resolution: "@oclif/color@npm:1.0.6" +"@pkgr/utils@npm:^2.3.1": + version: 2.4.1 + resolution: "@pkgr/utils@npm:2.4.1" dependencies: - ansi-styles: ^4.2.1 - chalk: ^4.1.0 - strip-ansi: ^6.0.1 - supports-color: ^8.1.1 - tslib: ^2 - checksum: f6fc505c8baa02afe71f5df66d6780f2bf88eb1ca9d524a6114cda3a24ac2e5e05750d6a60cdf1e339d87d5ff45065a4806e5ac3d50beaea86433ace55e8fb54 - languageName: node - linkType: hard - -"@oclif/core@npm:2.0.7": - version: 2.0.7 - resolution: "@oclif/core@npm:2.0.7" - dependencies: - "@types/cli-progress": ^3.11.0 - ansi-escapes: ^4.3.2 - ansi-styles: ^4.3.0 - cardinal: ^2.1.1 - chalk: ^4.1.2 - clean-stack: ^3.0.1 - cli-progress: ^3.10.0 - debug: ^4.3.4 - ejs: ^3.1.6 - fs-extra: ^9.1.0 - get-package-type: ^0.1.0 - globby: ^11.1.0 - hyperlinker: ^1.0.0 - indent-string: ^4.0.0 - is-wsl: ^2.2.0 - js-yaml: ^3.14.1 - natural-orderby: ^2.0.3 - object-treeify: ^1.1.33 - password-prompt: ^1.1.2 - semver: ^7.3.7 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - supports-color: ^8.1.1 - supports-hyperlinks: ^2.2.0 - tslib: ^2.4.1 - widest-line: ^3.1.0 - wordwrap: ^1.0.0 - wrap-ansi: ^7.0.0 - checksum: 03aba6b9642daa2345a0516a9a3c58bb03797d174e0e4b0bd11b1e44e6c81b5d746e9bdf6b58ffa313fb667f9ea8f7af4ccbee1d054f60970c15e3e74047ef51 - languageName: node - linkType: hard - -"@oclif/core@npm:^1.21.0": - version: 1.26.2 - resolution: "@oclif/core@npm:1.26.2" - dependencies: - "@oclif/linewrap": ^1.0.0 - "@oclif/screen": ^3.0.4 - ansi-escapes: ^4.3.2 - ansi-styles: ^4.3.0 - cardinal: ^2.1.1 - chalk: ^4.1.2 - clean-stack: ^3.0.1 - cli-progress: ^3.10.0 - debug: ^4.3.4 - ejs: ^3.1.6 - fs-extra: ^9.1.0 - get-package-type: ^0.1.0 - globby: ^11.1.0 - hyperlinker: ^1.0.0 - indent-string: ^4.0.0 - is-wsl: ^2.2.0 - js-yaml: ^3.14.1 - natural-orderby: ^2.0.3 - object-treeify: ^1.1.33 - password-prompt: ^1.1.2 - semver: ^7.3.7 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - supports-color: ^8.1.1 - supports-hyperlinks: ^2.2.0 - tslib: ^2.4.1 - widest-line: ^3.1.0 - wrap-ansi: ^7.0.0 - checksum: 1da7f22fff1eb4bba10f17f07a97bad308d317a0b591561be7f1171edff2f40bf84830295965b26cfcb80d3c5df7958df35bbbba4ce030e14a68bbc8e3cedc82 - languageName: node - linkType: hard - -"@oclif/core@npm:^2.0.3, @oclif/core@npm:^2.0.7, @oclif/core@npm:^2.8.0": - version: 2.8.5 - resolution: "@oclif/core@npm:2.8.5" - dependencies: - "@types/cli-progress": ^3.11.0 - ansi-escapes: ^4.3.2 - ansi-styles: ^4.3.0 - cardinal: ^2.1.1 - chalk: ^4.1.2 - clean-stack: ^3.0.1 - cli-progress: ^3.12.0 - debug: ^4.3.4 - ejs: ^3.1.8 - fs-extra: ^9.1.0 - get-package-type: ^0.1.0 - globby: ^11.1.0 - hyperlinker: ^1.0.0 - indent-string: ^4.0.0 - is-wsl: ^2.2.0 - js-yaml: ^3.14.1 - natural-orderby: ^2.0.3 - object-treeify: ^1.1.33 - password-prompt: ^1.1.2 - semver: ^7.3.7 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - supports-color: ^8.1.1 - supports-hyperlinks: ^2.2.0 - ts-node: ^10.9.1 + cross-spawn: ^7.0.3 + fast-glob: ^3.2.12 + is-glob: ^4.0.3 + open: ^9.1.0 + picocolors: ^1.0.0 tslib: ^2.5.0 - widest-line: ^3.1.0 - wordwrap: ^1.0.0 - wrap-ansi: ^7.0.0 - checksum: f5468319fda8e129f1c176642b18707cc9f869170bbf0374982269ff3aa875e8bcd923dc966220755c141dd16e50a09bb98b2ae4524bdd57653e83f73ff91457 - languageName: node - linkType: hard - -"@oclif/linewrap@npm:^1.0.0": - version: 1.0.0 - resolution: "@oclif/linewrap@npm:1.0.0" - checksum: a072016a58b5e1331bbc21303ad5100fcda846ac4b181e344aec88bb24c5da09c416651e51313ffcc846a83514b74b8b987dd965982900f3edbb42b4e87cc246 - languageName: node - linkType: hard - -"@oclif/plugin-autocomplete@npm:2.1.8": - version: 2.1.8 - resolution: "@oclif/plugin-autocomplete@npm:2.1.8" - dependencies: - "@oclif/core": ^2.8.0 - chalk: ^4.1.0 - debug: ^4.3.4 - fs-extra: ^9.0.1 - checksum: 98b1b4f830e1dda6ff36cc23d1259c53bc0a0e9b6c15c052a622fb2210877781326a9f1c8012bc1323921a072adeeec7e8b2480402a5a55c3647a1a90c94dafd - languageName: node - linkType: hard - -"@oclif/plugin-help@npm:5.1.20": - version: 5.1.20 - resolution: "@oclif/plugin-help@npm:5.1.20" - dependencies: - "@oclif/core": ^1.21.0 - checksum: f98a8d65ccf11f9d61fa256f11b2c0333a1fb3e024a1f2d3119215697167c3f793d268900cfbf1a7f8ed86c99d773467a1f68d1fda8066ac6b0512a06e20cd1f - languageName: node - linkType: hard - -"@oclif/plugin-not-found@npm:2.3.23": - version: 2.3.23 - resolution: "@oclif/plugin-not-found@npm:2.3.23" - dependencies: - "@oclif/color": ^1.0.4 - "@oclif/core": ^2.8.0 - fast-levenshtein: ^3.0.0 - lodash: ^4.17.21 - checksum: 17d70f5b7d6bfd36609c4b735e21556fa0bbe6498538ac69370b19ea8ea9d349b578d72e00dfd40a36d04f0bd288c7e59275e6b9f08c024fc18275cab0eed706 - languageName: node - linkType: hard - -"@oclif/plugin-plugins@npm:2.3.0": - version: 2.3.0 - resolution: "@oclif/plugin-plugins@npm:2.3.0" - dependencies: - "@oclif/color": ^1.0.3 - "@oclif/core": ^2.0.3 - chalk: ^4.1.2 - debug: ^4.3.4 - fs-extra: ^9.0 - http-call: ^5.2.2 - load-json-file: ^5.3.0 - npm-run-path: ^4.0.1 - semver: ^7.3.8 - tslib: ^2.4.1 - yarn: ^1.22.18 - checksum: 478cebe7ce401d8623d78129a043956b2fbcc3a2d36ef91f7e28bbfa2f0455045769a6730dccb565fa731d0661fcf442aaf7ce4b2ff08a77688e96140a23657a - languageName: node - linkType: hard - -"@oclif/plugin-warn-if-update-available@npm:2.0.24": - version: 2.0.24 - resolution: "@oclif/plugin-warn-if-update-available@npm:2.0.24" - dependencies: - "@oclif/core": ^2.0.7 - chalk: ^4.1.0 - debug: ^4.1.0 - fs-extra: ^9.0.1 - http-call: ^5.2.2 - lodash: ^4.17.21 - semver: ^7.3.8 - checksum: 11803004d71a77913db5cfe9b400a2b94d46c5cb6c69d5c2de5bec3ebe629f43197738f0801d271c390ccb6df80aedabb7cf7b7b82e5041f9940f74c39027cbd - languageName: node - linkType: hard - -"@oclif/screen@npm:^3.0.4": - version: 3.0.4 - resolution: "@oclif/screen@npm:3.0.4" - checksum: 6d662c81edfbc8acb50a30001e3c2261171e8baffcd6010603c331de375c5d0c9ce6b3230f6b0ce24961bfa3531f99e771265ea74d9d7a0ee37fb9357fb436a7 + checksum: 654682860272541a40485b01e0763b155ec31faeba85b2c51e38b59c4ff1f8918c37b87b5ecbda3ff482d8486eba086e92b991fe4a8ed62efbbbdf83c0f64409 languageName: node linkType: hard @@ -1725,13 +1582,13 @@ __metadata: linkType: hard "@react-native-async-storage/async-storage@npm:^1.18.1": - version: 1.18.2 - resolution: "@react-native-async-storage/async-storage@npm:1.18.2" + version: 1.19.0 + resolution: "@react-native-async-storage/async-storage@npm:1.19.0" dependencies: merge-options: ^3.0.4 peerDependencies: react-native: ^0.0.0-0 || 0.60 - 0.72 || 1000.0.0 - checksum: bdbcd2e4785a1348657302fa48f4073d980d3b3626fc2ea1e8ec3013825d0013a49d0805a3fd1e98c0b8b12eb1273ef03fb842686ce740d25331398deb2691c4 + checksum: 669f50695838a010f6444f0c0e0618aeda072d25798901d0802f0b945aa6fbab13a68d83a23f6bef591793ae09341dbb8a88f2d40eaf9542bde159711d9deb0e languageName: node linkType: hard @@ -1802,6 +1659,13 @@ __metadata: languageName: node linkType: hard +"@rushstack/eslint-patch@npm:^1.1.3": + version: 1.3.1 + resolution: "@rushstack/eslint-patch@npm:1.3.1" + checksum: 951023fffbfa71696eab8d7e6676f3bea0b8efc954e06c4ab10cacd94d1323744ad94c2ed8e81b0c9390df4a8cefbed1faacd2bf56e4c26f2b41852719273e24 + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.25.16": version: 0.25.24 resolution: "@sinclair/typebox@npm:0.25.24" @@ -1851,21 +1715,21 @@ __metadata: linkType: hard "@tabler/icons-react@npm:^2.18.0": - version: 2.22.0 - resolution: "@tabler/icons-react@npm:2.22.0" + version: 2.25.0 + resolution: "@tabler/icons-react@npm:2.25.0" dependencies: - "@tabler/icons": 2.22.0 + "@tabler/icons": 2.25.0 prop-types: ^15.7.2 peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 - checksum: fe2a4c3e5483269ee178195746cdc4b8c1e150dec78aae4bbf3884f33dd819929a7ff1e53eb6ba1426b914ba710e13a30d0e70caf9e588b8df45e500f70941dd + checksum: 180c59853971059be16fb3a8128b462a2d0ff29a1939461e71f7a686ed97b483dfd8797f7f19888df4d8ff51847cfb3f8ca317b8751b1245545812a851e0a1f3 languageName: node linkType: hard -"@tabler/icons@npm:2.22.0": - version: 2.22.0 - resolution: "@tabler/icons@npm:2.22.0" - checksum: 3f0aaa801e8739d841ac5d335fbaee41399aaa9eeae03eb21c1dbe77877a29ba3664f16c225323a0635fad6548aca40212220edfb2919797454ea1029c5a5b78 +"@tabler/icons@npm:2.25.0": + version: 2.25.0 + resolution: "@tabler/icons@npm:2.25.0" + checksum: cda734940490037e3d98aef00ccfe91422df364ec0b8f4fb8a2644f71e14374bc32dc8b7b062ea761dd7a345e8aca7a41e3712644f02dafd72fed1b324fab7ab languageName: node linkType: hard @@ -1879,70 +1743,70 @@ __metadata: linkType: hard "@tanstack/query-async-storage-persister@npm:^4.27.1": - version: 4.29.11 - resolution: "@tanstack/query-async-storage-persister@npm:4.29.11" + version: 4.29.25 + resolution: "@tanstack/query-async-storage-persister@npm:4.29.25" dependencies: - "@tanstack/query-persist-client-core": 4.29.11 - checksum: 250259fd888edcc5db3625654541a8f9f3feef6f83e5b196aea9e4a2695afbebc2bba07760e6afda12d7d5a3b432510f05ede0beffb4ff3756ac207214f59a44 + "@tanstack/query-persist-client-core": 4.29.25 + checksum: 27a35caf8562e37b58921567176ed9a21864b47b0763588bdd18ea44243b021ce649449f0ad4d8be51852cae90b6668acfb20f7098f83e062d452de92fd1a037 languageName: node linkType: hard -"@tanstack/query-core@npm:4.29.11": - version: 4.29.11 - resolution: "@tanstack/query-core@npm:4.29.11" - checksum: 2a17223f34e99e17d564a15206668eb79324da72e630a47cf41690f92fb091a8669bdc89e9ab1b0d8f0e3e8f579529cfb0aa6f10b4fc58ea81cc7e5caede9229 +"@tanstack/query-core@npm:4.29.25": + version: 4.29.25 + resolution: "@tanstack/query-core@npm:4.29.25" + checksum: 5287e278cf0ef781c5bd238842243adc4430a43ffc9bee1963131726c5bdf6a67d38e122f45c3375232d05c5a335b1309026ce4252647bb3e4710b70bcebdbf5 languageName: node linkType: hard -"@tanstack/query-persist-client-core@npm:4.29.11": - version: 4.29.11 - resolution: "@tanstack/query-persist-client-core@npm:4.29.11" +"@tanstack/query-persist-client-core@npm:4.29.25": + version: 4.29.25 + resolution: "@tanstack/query-persist-client-core@npm:4.29.25" dependencies: - "@tanstack/query-core": 4.29.11 - checksum: b1ea4d56aa211c173f6cee172d09aed573fa16bb15594c120efb6acacc1985c22dddbfbabff87406aa5de2fb5805e872276681e06821f0b1545ea33cf43c4e52 + "@tanstack/query-core": 4.29.25 + checksum: 688c4eea630585fb885f048f25d8124e334a2197efea657a9f257d88e0cb7d3cdbaf6e88f9dae0aeb1a0f9b0413d2ce736f37c73f48f50064b7460b803da4bbc languageName: node linkType: hard "@tanstack/query-sync-storage-persister@npm:^4.27.1": - version: 4.29.11 - resolution: "@tanstack/query-sync-storage-persister@npm:4.29.11" + version: 4.29.25 + resolution: "@tanstack/query-sync-storage-persister@npm:4.29.25" dependencies: - "@tanstack/query-persist-client-core": 4.29.11 - checksum: 532a001ce19c134bfc11c13b4427b9c86bcfc12609c611a8f8e3d852c031849d96d704f9d541f9c6b9bf4cff808d346801caedf53cc551caa699ab1ef3681850 + "@tanstack/query-persist-client-core": 4.29.25 + checksum: d453311555e32380fc8984c3e85364174d8c361032db930bb05e4825b811b9c3f71bbbfe72a512ff453ca3a73c6e8a34ca1eb5b77ebd6e8b84f252f9d3cc45a1 languageName: node linkType: hard "@tanstack/react-query-devtools@npm:^4.24.4": - version: 4.29.12 - resolution: "@tanstack/react-query-devtools@npm:4.29.12" + version: 4.29.25 + resolution: "@tanstack/react-query-devtools@npm:4.29.25" dependencies: "@tanstack/match-sorter-utils": ^8.7.0 superjson: ^1.10.0 use-sync-external-store: ^1.2.0 peerDependencies: - "@tanstack/react-query": 4.29.12 + "@tanstack/react-query": 4.29.25 react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 095c1f0fb8e6573e08331a6512f4dda38a1ff4f2e5958fed7abc45ede3f2027142ab934247bb9ea04d47255dcb502810f1db335d4b4123a3dcb4087f26fda920 + checksum: 2861f78de92a5c7595221383d9e60a70eafd0b1ed08313b624697fb221a1e6694200c14f4f5c3c2ef9ee0b1a525f7b7f04d3e0587b32b7a73cfb2d466d3e98af languageName: node linkType: hard "@tanstack/react-query-persist-client@npm:^4.28.0": - version: 4.29.12 - resolution: "@tanstack/react-query-persist-client@npm:4.29.12" + version: 4.29.25 + resolution: "@tanstack/react-query-persist-client@npm:4.29.25" dependencies: - "@tanstack/query-persist-client-core": 4.29.11 + "@tanstack/query-persist-client-core": 4.29.25 peerDependencies: - "@tanstack/react-query": 4.29.12 - checksum: 3d7cf57ce29d6e599dd7a942da0298e8ef9b7c3a363361c6bedc26566556f26c9aa9e644f26b8fec7f3a66bab143f61ffc11170d192a4c2d4c1bedd2fbc5279f + "@tanstack/react-query": 4.29.25 + checksum: 8f19e38fd09f87646a9f25ba20c7513cbbf5ed8efc6a9fe75c696df7d159c80a807f24fda47082c4a881715f300f85ab94b6f147709e0fa9dbd04696270913fd languageName: node linkType: hard "@tanstack/react-query@npm:^4.2.1": - version: 4.29.12 - resolution: "@tanstack/react-query@npm:4.29.12" + version: 4.29.25 + resolution: "@tanstack/react-query@npm:4.29.25" dependencies: - "@tanstack/query-core": 4.29.11 + "@tanstack/query-core": 4.29.25 use-sync-external-store: ^1.2.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -1953,7 +1817,7 @@ __metadata: optional: true react-native: optional: true - checksum: aea231af648688c5eafdbbda0667034221cca8b77e00690ab54950b7cc0296d14646931aee44fc5f18d5ce4d683b5d234b053eed5c0a5c340bbbacdab873a70b + checksum: e0ae4cbe1d8f691d488bc1c68df3df12d1ed093796eb879842ef8d4d388d07cebbdd7ab6174481d624dc133326895a53a5442864bb27ffcc0db5f4f40d7f827f languageName: node linkType: hard @@ -2011,6 +1875,72 @@ __metadata: languageName: node linkType: hard +"@trivago/prettier-plugin-sort-imports@npm:^4.1.1": + version: 4.1.1 + resolution: "@trivago/prettier-plugin-sort-imports@npm:4.1.1" + dependencies: + "@babel/generator": 7.17.7 + "@babel/parser": ^7.20.5 + "@babel/traverse": 7.17.3 + "@babel/types": 7.17.0 + javascript-natural-sort: 0.7.1 + lodash: ^4.17.21 + peerDependencies: + "@vue/compiler-sfc": 3.x + prettier: 2.x + peerDependenciesMeta: + "@vue/compiler-sfc": + optional: true + checksum: 09b4c3c3f4a9e7883737acf92ae7f2a59eb3f7a6f104621a883bdb2a962dcf98398891489267a6fdbba1227a3484676f8d7470e1b3bc6422b4f457382fd030ce + languageName: node + linkType: hard + +"@trpc/client@npm:^10.29.1": + version: 10.34.0 + resolution: "@trpc/client@npm:10.34.0" + peerDependencies: + "@trpc/server": 10.34.0 + checksum: 7589d575d92865091da72bf0eb7efbfc474422aecc2d4ac146be334bbe83a2a67eb185654dccb91b90e23207bfada2b9f4e4ebcc25a24c2a7e033c177f13e10c + languageName: node + linkType: hard + +"@trpc/next@npm:^10.29.1": + version: 10.34.0 + resolution: "@trpc/next@npm:10.34.0" + dependencies: + react-ssr-prepass: ^1.5.0 + peerDependencies: + "@tanstack/react-query": ^4.18.0 + "@trpc/client": 10.34.0 + "@trpc/react-query": 10.34.0 + "@trpc/server": 10.34.0 + next: "*" + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: aa0970f02c746b8060ccea72f685186e6c8209f5af32b35607899e8da3d1ba20832cb1506f093f70dbdbc17993db8522646a45a1f453d12f5913cf69912d7643 + languageName: node + linkType: hard + +"@trpc/react-query@npm:^10.29.1": + version: 10.34.0 + resolution: "@trpc/react-query@npm:10.34.0" + peerDependencies: + "@tanstack/react-query": ^4.18.0 + "@trpc/client": 10.34.0 + "@trpc/server": 10.34.0 + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 5489f4041da444795d59b8b766ba0924569317f62ab5a85411ff4bfde2b37e2d30e590fb4041dc7f799f519d6e28f5e120b16fd9066ffcb1f477d17abbe216ec + languageName: node + linkType: hard + +"@trpc/server@npm:^10.29.1": + version: 10.34.0 + resolution: "@trpc/server@npm:10.34.0" + checksum: 6d319c98f8a152539cd46769884ddea01bf00daaf1780067b1a1e34b45a107ab702b72e0086fa8924be44d9211b51c8f4e53ab6e85583fa53fa5893df5847c62 + languageName: node + linkType: hard + "@tsconfig/node10@npm:^1.0.7": version: 1.0.9 resolution: "@tsconfig/node10@npm:1.0.9" @@ -2074,15 +2004,6 @@ __metadata: languageName: node linkType: hard -"@types/cli-progress@npm:^3.11.0": - version: 3.11.0 - resolution: "@types/cli-progress@npm:3.11.0" - dependencies: - "@types/node": "*" - checksum: d4401622333e888925b47c5d5bb0b89dddae17cc020f909a64ad7275b326bf3c6e9cd467f625a197fd958a1e49220d32f4a2b0bf2948fee330c719a9b985674e - languageName: node - linkType: hard - "@types/cookie@npm:^0.4.1": version: 0.4.1 resolution: "@types/cookie@npm:0.4.1" @@ -2273,10 +2194,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:18.16.17": - version: 18.16.17 - resolution: "@types/node@npm:18.16.17" - checksum: 2f7e3a552d525ef4b7a2620ef5ef59b3fdfb1d8ab20627b537e090732b35c2bd103944933d347a319cc7d478b3866b0d1bc3d629ee5899ca663a4547ca078cee +"@types/node@npm:18.16.19": + version: 18.16.19 + resolution: "@types/node@npm:18.16.19" + checksum: 63c31f09616508aa7135380a4c79470a897b75f9ff3a70eb069e534dfabdec3f32fb0f9df5939127f1086614d980ddea0fa5e8cc29a49103c4f74cd687618aaf languageName: node linkType: hard @@ -2315,12 +2236,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:17.0.20": - version: 17.0.20 - resolution: "@types/react-dom@npm:17.0.20" +"@types/react-dom@npm:^18.0.0": + version: 18.2.4 + resolution: "@types/react-dom@npm:18.2.4" dependencies: - "@types/react": ^17 - checksum: 525439fb14a033fc5dbe74711ecc50ec82273a528df9656594066a6219401e975101dafffd15d9a1a57a9442d52ea0c92eaacae09554dde27cd792e773f67467 + "@types/react": "*" + checksum: 8301f35cf1cbfec8c723e9477aecf87774e3c168bd457d353b23c45064737213d3e8008b067c6767b7b08e4f2b3823ee239242a6c225fc91e7f8725ef8734124 languageName: node linkType: hard @@ -2333,14 +2254,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:17.0.60": - version: 17.0.60 - resolution: "@types/react@npm:17.0.60" +"@types/react@npm:*, @types/react@npm:^18.2.11": + version: 18.2.15 + resolution: "@types/react@npm:18.2.15" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 8565e53d6ad83cd5f606fa66f5f9d8d0e5323a0103114a0292ae8f97c17ce4a7dfa15b847c54eb0a2c41c03df7fd64ba1d5bcef91ee0c177e55315e52e334463 + checksum: 36989f638201bfe2f4110b06c119180f6df9c0e13d7060481e82e7a745f81745a01ae543c478a25b61e0767cb52e82da2ad5b0dedacabf99339e523d06176705 languageName: node linkType: hard @@ -2422,16 +2343,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.30.7": - version: 5.59.9 - resolution: "@typescript-eslint/eslint-plugin@npm:5.59.9" +"@typescript-eslint/eslint-plugin@npm:^5.50.0": + version: 5.62.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" dependencies: "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.59.9 - "@typescript-eslint/type-utils": 5.59.9 - "@typescript-eslint/utils": 5.59.9 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/type-utils": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 - grapheme-splitter: ^1.0.4 + graphemer: ^1.4.0 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 semver: ^7.3.7 @@ -2442,24 +2363,24 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: bd2428e307085d7fa6699913b6e61d65eb450bbcd26f884390cbf16722b80e1d80dc289c72774be1cdffd022744894204c3242f40ba3ffdfa05d3f210c4130bb + checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.30.7": - version: 5.59.9 - resolution: "@typescript-eslint/parser@npm:5.59.9" +"@typescript-eslint/parser@npm:^5.30.7, @typescript-eslint/parser@npm:^5.42.0": + version: 5.62.0 + resolution: "@typescript-eslint/parser@npm:5.62.0" dependencies: - "@typescript-eslint/scope-manager": 5.59.9 - "@typescript-eslint/types": 5.59.9 - "@typescript-eslint/typescript-estree": 5.59.9 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 69b07d0a5bc6e1d24d23916c057ea9f2f53a0e7fb6dabadff92987c299640edee2c013fb93269322c7124e87b5c515529001397eae33006dfb40e1dcdf1902d7 + checksum: d168f4c7f21a7a63f47002e2d319bcbb6173597af5c60c1cf2de046b46c76b4930a093619e69faf2d30214c29ab27b54dcf1efc7046a6a6bd6f37f59a990e752 languageName: node linkType: hard @@ -2473,12 +2394,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.59.9": - version: 5.59.9 - resolution: "@typescript-eslint/type-utils@npm:5.59.9" +"@typescript-eslint/scope-manager@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/scope-manager@npm:5.62.0" dependencies: - "@typescript-eslint/typescript-estree": 5.59.9 - "@typescript-eslint/utils": 5.59.9 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + checksum: 6062d6b797fe1ce4d275bb0d17204c827494af59b5eaf09d8a78cdd39dadddb31074dded4297aaf5d0f839016d601032857698b0e4516c86a41207de606e9573 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/type-utils@npm:5.62.0" + dependencies: + "@typescript-eslint/typescript-estree": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -2486,14 +2417,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 6bc2619c5024c152b181eff1f44c9b5e7d0fc75ce9403f03b39d59fc1e13191b2fbaf6730f26a1caae22922ac47489f39c2cebccdd713588f6963169ed2a7958 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:5.46.1": - version: 5.46.1 - resolution: "@typescript-eslint/types@npm:5.46.1" - checksum: 91143d3304b8c70d69d9c8e5b7428cce3a222eacfbeb99e592d278668bcf998760731deae064a76157b9a0fc4911fe3178aa24e4ea6fe2ba68dd37113834c924 + checksum: fc41eece5f315dfda14320be0da78d3a971d650ea41300be7196934b9715f3fe1120a80207551eb71d39568275dbbcf359bde540d1ca1439d8be15e9885d2739 languageName: node linkType: hard @@ -2504,21 +2428,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.46.1": - version: 5.46.1 - resolution: "@typescript-eslint/typescript-estree@npm:5.46.1" - dependencies: - "@typescript-eslint/types": 5.46.1 - "@typescript-eslint/visitor-keys": 5.46.1 - debug: ^4.3.4 - globby: ^11.1.0 - is-glob: ^4.0.3 - semver: ^7.3.7 - tsutils: ^3.21.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 21499b927b4118cd51e841b2e1b7e55621135f923f461b75dc8ca8442de38a82da5a0232dce5229e0266b6fc12d70696e0e912fcf1483d4c44f02e4cad39ed98 +"@typescript-eslint/types@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/types@npm:5.62.0" + checksum: 48c87117383d1864766486f24de34086155532b070f6264e09d0e6139449270f8a9559cfef3c56d16e3bcfb52d83d42105d61b36743626399c7c2b5e0ac3b670 languageName: node linkType: hard @@ -2540,7 +2453,43 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.59.9, @typescript-eslint/utils@npm:^5.58.0, @typescript-eslint/utils@npm:^5.59.9": +"@typescript-eslint/typescript-estree@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" + dependencies: + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 3624520abb5807ed8f57b1197e61c7b1ed770c56dfcaca66372d584ff50175225798bccb701f7ef129d62c5989070e1ee3a0aa2d84e56d9524dcf011a2bb1a52 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/utils@npm:5.62.0" + dependencies: + "@eslint-community/eslint-utils": ^4.2.0 + "@types/json-schema": ^7.0.9 + "@types/semver": ^7.3.12 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 + eslint-scope: ^5.1.1 + semver: ^7.3.7 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: ee9398c8c5db6d1da09463ca7bf36ed134361e20131ea354b2da16a5fdb6df9ba70c62a388d19f6eebb421af1786dbbd79ba95ddd6ab287324fc171c3e28d931 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:^5.58.0, @typescript-eslint/utils@npm:^5.59.9": version: 5.59.9 resolution: "@typescript-eslint/utils@npm:5.59.9" dependencies: @@ -2558,16 +2507,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.46.1": - version: 5.46.1 - resolution: "@typescript-eslint/visitor-keys@npm:5.46.1" - dependencies: - "@typescript-eslint/types": 5.46.1 - eslint-visitor-keys: ^3.3.0 - checksum: 952cf20e29a040e0820e52d6815097abf042ea8e1fd5d013c0a319284ea0e2e29e0ca9ef244717450a6eb9d32ebf7fa9ed91185675a27adc35c9ad070d561b7c - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:5.59.9": version: 5.59.9 resolution: "@typescript-eslint/visitor-keys@npm:5.59.9" @@ -2578,6 +2517,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" + dependencies: + "@typescript-eslint/types": 5.62.0 + eslint-visitor-keys: ^3.3.0 + checksum: 976b05d103fe8335bef5c93ad3f76d781e3ce50329c0243ee0f00c0fcfb186c81df50e64bfdd34970148113f8ade90887f53e3c4938183afba830b4ba8e30a35 + languageName: node + linkType: hard + "@videojs/http-streaming@npm:3.3.1": version: 3.3.1 resolution: "@videojs/http-streaming@npm:3.3.1" @@ -2630,102 +2579,101 @@ __metadata: linkType: hard "@vitejs/plugin-react@npm:^4.0.0": - version: 4.0.0 - resolution: "@vitejs/plugin-react@npm:4.0.0" + version: 4.0.3 + resolution: "@vitejs/plugin-react@npm:4.0.3" dependencies: - "@babel/core": ^7.21.4 - "@babel/plugin-transform-react-jsx-self": ^7.21.0 - "@babel/plugin-transform-react-jsx-source": ^7.19.6 + "@babel/core": ^7.22.5 + "@babel/plugin-transform-react-jsx-self": ^7.22.5 + "@babel/plugin-transform-react-jsx-source": ^7.22.5 react-refresh: ^0.14.0 peerDependencies: vite: ^4.2.0 - checksum: 575298f66517c51348892d49b302490c48e15c9ddb0b2c5f710931804e559dceafca1be1e62cb72d0902cba5f3c98e4b1272970d328e3a62d59ecdf976e68d3d + checksum: dd9136aec8f30b0251b88f390c60b8ee5472454884c4f82720725c213f8988bf8e202cc2430e575a268d413c1dc7257a51b342ac431a43c02d923de932c5707c languageName: node linkType: hard -"@vitest/coverage-c8@npm:^0.32.0": - version: 0.32.0 - resolution: "@vitest/coverage-c8@npm:0.32.0" +"@vitest/coverage-c8@npm:^0.33.0": + version: 0.33.0 + resolution: "@vitest/coverage-c8@npm:0.33.0" dependencies: "@ampproject/remapping": ^2.2.1 - c8: ^7.13.0 - magic-string: ^0.30.0 + c8: ^7.14.0 + magic-string: ^0.30.1 picocolors: ^1.0.0 - std-env: ^3.3.2 + std-env: ^3.3.3 peerDependencies: vitest: ">=0.30.0 <1" - checksum: 8a31e08ef373f643b3823f412a3b01239b38dfc212653bcbebc56ead5fd8ee0f744232c62ebb5297604e1ddda249797d8b01fde47d96512ecac4e57c112d668a + checksum: 67573fa400995871fa8f615411d21dd9937a78fac13bc6789427a7857fa780e71188ff43a35e19bb31e6393f9334d4376456ff24b7bb0591c64357036ff6a594 languageName: node linkType: hard -"@vitest/expect@npm:0.32.0": - version: 0.32.0 - resolution: "@vitest/expect@npm:0.32.0" +"@vitest/expect@npm:0.33.0": + version: 0.33.0 + resolution: "@vitest/expect@npm:0.33.0" dependencies: - "@vitest/spy": 0.32.0 - "@vitest/utils": 0.32.0 + "@vitest/spy": 0.33.0 + "@vitest/utils": 0.33.0 chai: ^4.3.7 - checksum: 0f5740057faf1a45be00b7e06ad8dd7e5b37d9f436e29701a8577d42bdff930ce958bc9a7732eb88fb71a3ab5009a72f2ed11c02b2095a4173fa69f69897e7b4 + checksum: da6bf8e4a4f23218088b4e7dcdf6eb9f8d92e82a98a674edf8be2f333625179da6802936a948e7a60e0918da53e7ec548183d1d9d42f0e1c4e2d3f66fd63e11f languageName: node linkType: hard -"@vitest/runner@npm:0.32.0": - version: 0.32.0 - resolution: "@vitest/runner@npm:0.32.0" +"@vitest/runner@npm:0.33.0": + version: 0.33.0 + resolution: "@vitest/runner@npm:0.33.0" dependencies: - "@vitest/utils": 0.32.0 - concordance: ^5.0.4 + "@vitest/utils": 0.33.0 p-limit: ^4.0.0 - pathe: ^1.1.0 - checksum: d7a63a9a80d90a48e706fcf8bc1c2171ee0395f60241c1f0bb67854d246b68a472805d6abe33ce9a7250768c0b27af882e4beb7a5ba9eea2b3e085a54ed978e0 + pathe: ^1.1.1 + checksum: de731aa0687cf15f141e81fb11027ff52860292f6d8957678c9fcd307502e4f9fd679bcaff93b53d29eeeb694d403d6aa52d49d341f998ec2b794e7abe061572 languageName: node linkType: hard -"@vitest/snapshot@npm:0.32.0": - version: 0.32.0 - resolution: "@vitest/snapshot@npm:0.32.0" +"@vitest/snapshot@npm:0.33.0": + version: 0.33.0 + resolution: "@vitest/snapshot@npm:0.33.0" dependencies: - magic-string: ^0.30.0 - pathe: ^1.1.0 - pretty-format: ^27.5.1 - checksum: 2017d461b8492ae16b15f4f3725e1e3dc7bd18e24f1db788f151f9435af620ee711114edc4bd6ad88ba047f47dc4104b7db87d7f7b29363537272c0353ceb71d + magic-string: ^0.30.1 + pathe: ^1.1.1 + pretty-format: ^29.5.0 + checksum: ff2604d5bf09342eab45109df06f4e2e9e78698bf26b0eed1f4871d7757312e43de90ead938698be3e03e9873d4081ebeb69c94928b8065c53d1e9f28742185e languageName: node linkType: hard -"@vitest/spy@npm:0.32.0": - version: 0.32.0 - resolution: "@vitest/spy@npm:0.32.0" +"@vitest/spy@npm:0.33.0": + version: 0.33.0 + resolution: "@vitest/spy@npm:0.33.0" dependencies: - tinyspy: ^2.1.0 - checksum: 1c418f4064f4357e972e99d20e2b7b65b8cde3a8280a8e06a41fa81517efe335ca176c21a6644a6f490b565fb0ed6df0ed4ab8097813be3d0f4ec625b7fd3451 + tinyspy: ^2.1.1 + checksum: 501a704a10b411f407fbcedeaf1f469e6fcac4894af11fa89c74e6f64bf3eebbcd006cf86377ae379708c0b8c860243db504f5d4e90d382419aa666458b76800 languageName: node linkType: hard -"@vitest/ui@npm:^0.32.0": - version: 0.32.0 - resolution: "@vitest/ui@npm:0.32.0" +"@vitest/ui@npm:^0.33.0": + version: 0.33.0 + resolution: "@vitest/ui@npm:0.33.0" dependencies: - "@vitest/utils": 0.32.0 - fast-glob: ^3.2.12 - fflate: ^0.7.4 + "@vitest/utils": 0.33.0 + fast-glob: ^3.3.0 + fflate: ^0.8.0 flatted: ^3.2.7 - pathe: ^1.1.0 + pathe: ^1.1.1 picocolors: ^1.0.0 sirv: ^2.0.3 peerDependencies: vitest: ">=0.30.1 <1" - checksum: 0a0ac067ef667dfdd60e89c8a554cd2056cd5c39874940a0ed13cd4b27e04755aa2df56bbb19dcbf8eff7c458d84b7832ce9e817a5671319bb46019d3473c98d + checksum: 46e9bd9529d9cb8a7c3b9d7e1a4d56ef74a43efd35d33283305e837d411e267ef72b78481546605a605f89962271f02f6c63638941fe542177d00e9d192b1255 languageName: node linkType: hard -"@vitest/utils@npm:0.32.0": - version: 0.32.0 - resolution: "@vitest/utils@npm:0.32.0" +"@vitest/utils@npm:0.33.0": + version: 0.33.0 + resolution: "@vitest/utils@npm:0.33.0" dependencies: - concordance: ^5.0.4 + diff-sequences: ^29.4.3 loupe: ^2.3.6 - pretty-format: ^27.5.1 - checksum: f27df1e7066a310cd43a7261f2b1f668e32b7443f9b90af4a6e49575ee2d65b019192833ddbd0f51eb5690130b5b1bd2459cb83397860941308eeb122983427a + pretty-format: ^29.5.0 + checksum: 8c5b381f5599ca517bedd0e46805e91b1150564473d37b2b80ef45aa9c16cb59d296513dd34bc2171904beb28be73b89e5333056539d49a0ba9d513ae7672a0a languageName: node linkType: hard @@ -2762,23 +2710,14 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:8.2.0, acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": +"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": version: 8.2.0 resolution: "acorn-walk@npm:8.2.0" checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 languageName: node linkType: hard -"acorn@npm:8.8.1": - version: 8.8.1 - resolution: "acorn@npm:8.8.1" - bin: - acorn: bin/acorn - checksum: 4079b67283b94935157698831967642f24a075c52ce3feaaaafe095776dfbe15d86a1b33b1e53860fc0d062ed6c83f4284a5c87c85b9ad51853a01173da6097f - languageName: node - linkType: hard - -"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.8.0, acorn@npm:^8.8.2": +"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.8.2": version: 8.8.2 resolution: "acorn@npm:8.8.2" bin: @@ -2787,6 +2726,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.9.0": + version: 8.9.0 + resolution: "acorn@npm:8.9.0" + bin: + acorn: bin/acorn + checksum: 25dfb94952386ecfb847e61934de04a4e7c2dc21c2e700fc4e2ef27ce78cb717700c4c4f279cd630bb4774948633c3859fc16063ec8573bda4568e0a312e6744 + languageName: node + linkType: hard + "aes-decrypter@npm:4.0.1, aes-decrypter@npm:^4.0.1": version: 4.0.1 resolution: "aes-decrypter@npm:4.0.1" @@ -2829,20 +2777,6 @@ __metadata: languageName: node linkType: hard -"ajv-formats@npm:^2.1.1": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: ^8.0.0 - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 4a287d937f1ebaad4683249a4c40c0fa3beed30d9ddc0adba04859026a622da0d317851316ea64b3680dc60f5c3c708105ddd5d5db8fe595d9d0207fd19f90b7 - languageName: node - linkType: hard - "ajv@npm:^6.10.0, ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -2855,34 +2789,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.6.3": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: 4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001 - languageName: node - linkType: hard - -"ansi-escapes@npm:^3.1.0": - version: 3.2.0 - resolution: "ansi-escapes@npm:3.2.0" - checksum: 0f94695b677ea742f7f1eed961f7fd8d05670f744c6ad1f8f635362f6681dcfbc1575cb05b43abc7bb6d67e25a75fb8c7ea8f2a57330eb2c76b33f18cb2cef0a - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.3.2": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: ^0.21.3 - checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -2899,7 +2805,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0, ansi-styles@npm:^4.2.1, ansi-styles@npm:^4.3.0": +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -2915,13 +2821,6 @@ __metadata: languageName: node linkType: hard -"ansicolors@npm:~0.3.2": - version: 0.3.2 - resolution: "ansicolors@npm:0.3.2" - checksum: e84fae7ebc27ac96d9dbb57f35f078cd6dde1b7046b0f03f73dcefc9fbb1f2e82e3685d083466aded8faf038f9fa9ebb408d215282bcd7aaa301d5ac3c486815 - languageName: node - linkType: hard - "anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -2956,15 +2855,6 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: ~1.0.2 - checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -3080,22 +2970,6 @@ __metadata: languageName: node linkType: hard -"async-mqtt@npm:2.6.3": - version: 2.6.3 - resolution: "async-mqtt@npm:2.6.3" - dependencies: - mqtt: ^4.3.7 - checksum: e3f850d38794b562f9939697242acdad20d9ae42d62749aa708ad601eec968074a26ad694c281513f1e176aa12267db752991a225406d35703a9cf2dd4d6b7a4 - languageName: node - linkType: hard - -"async@npm:^3.2.3": - version: 3.2.4 - resolution: "async@npm:3.2.4" - checksum: 43d07459a4e1d09b84a20772414aa684ff4de085cbcaec6eea3c7a8f8150e8c62aa6cd4e699fe8ee93c3a5b324e777d34642531875a0817a35697522c1b02e89 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -3103,20 +2977,6 @@ __metadata: languageName: node linkType: hard -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e - languageName: node - linkType: hard - -"atomically@npm:^1.7.0": - version: 1.7.0 - resolution: "atomically@npm:1.7.0" - checksum: 991153b17334597f93b58e831bea9851e57ed9cd41d8f33991be063f170b5cc8ec7ff8605f3eb95c1d389c2ad651039e9eb8f2b795e24833c2ceb944f347373a - languageName: node - linkType: hard - "attr-accept@npm:^2.2.2": version: 2.2.2 resolution: "attr-accept@npm:2.2.2" @@ -3138,17 +2998,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:1.2.1": - version: 1.2.1 - resolution: "axios@npm:1.2.1" - dependencies: - follow-redirects: ^1.15.0 - form-data: ^4.0.0 - proxy-from-env: ^1.1.0 - checksum: c4dc4e119064c9aed09a3de309bedb797a139a6fb372223aafe3e0c10a7d4a14e4d3e9c9d309467fadb9d2b490b891ee3df96ef5b55716bb971910466ff9f0c5 - languageName: node - linkType: hard - "axios@npm:^1.0.0": version: 1.4.0 resolution: "axios@npm:1.4.0" @@ -3203,6 +3052,13 @@ __metadata: languageName: node linkType: hard +"big-integer@npm:^1.6.44": + version: 1.6.51 + resolution: "big-integer@npm:1.6.51" + checksum: 3d444173d1b2e20747e2c175568bedeebd8315b0637ea95d75fd27830d3b8e8ba36c6af40374f36bdaea7b5de376dcada1b07587cb2a79a928fccdb6e6e3c518 + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -3210,7 +3066,7 @@ __metadata: languageName: node linkType: hard -"bl@npm:^4.0.2, bl@npm:^4.0.3": +"bl@npm:^4.0.3": version: 4.1.0 resolution: "bl@npm:4.1.0" dependencies: @@ -3221,10 +3077,12 @@ __metadata: languageName: node linkType: hard -"blueimp-md5@npm:^2.10.0": - version: 2.19.0 - resolution: "blueimp-md5@npm:2.19.0" - checksum: 28095dcbd2c67152a2938006e8d7c74c3406ba6556071298f872505432feb2c13241b0476644160ee0a5220383ba94cb8ccdac0053b51f68d168728f9c382530 +"bplist-parser@npm:^0.2.0": + version: 0.2.0 + resolution: "bplist-parser@npm:0.2.0" + dependencies: + big-integer: ^1.6.44 + checksum: d5339dd16afc51de6c88f88f58a45b72ed6a06aa31f5557d09877575f220b7c1d3fbe375da0b62e6a10d4b8ed80523567e351f24014f5bc886ad523758142cdd languageName: node linkType: hard @@ -3270,13 +3128,6 @@ __metadata: languageName: node linkType: hard -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb - languageName: node - linkType: hard - "buffer-from@npm:~0.1.1": version: 0.1.2 resolution: "buffer-from@npm:0.1.2" @@ -3301,6 +3152,15 @@ __metadata: languageName: node linkType: hard +"bundle-name@npm:^3.0.0": + version: 3.0.0 + resolution: "bundle-name@npm:3.0.0" + dependencies: + run-applescript: ^5.0.0 + checksum: edf2b1fbe6096ed32e7566947ace2ea937ee427391744d7510a2880c4b9a5b3543d3f6c551236a29e5c87d3195f8e2912516290e638c15bcbede7b37cc375615 + languageName: node + linkType: hard + "busboy@npm:1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -3310,7 +3170,7 @@ __metadata: languageName: node linkType: hard -"c8@npm:^7.13.0": +"c8@npm:^7.14.0": version: 7.14.0 resolution: "c8@npm:7.14.0" dependencies: @@ -3433,18 +3293,6 @@ __metadata: languageName: node linkType: hard -"cardinal@npm:^2.1.1": - version: 2.1.1 - resolution: "cardinal@npm:2.1.1" - dependencies: - ansicolors: ~0.3.2 - redeyed: ~2.1.0 - bin: - cdl: ./bin/cdl.js - checksum: e8d4ae46439cf8fed481c0efd267711ee91e199aa7821a9143e784ed94a6495accd01a0b36d84d377e8ee2cc9928a6c9c123b03be761c60b805f2c026b8a99ad - languageName: node - linkType: hard - "chai@npm:^4.3.7": version: 4.3.7 resolution: "chai@npm:4.3.7" @@ -3460,16 +3308,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc - languageName: node - linkType: hard - "chalk@npm:^2.0.0": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -3491,6 +3329,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^4.0.0, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + languageName: node + linkType: hard + "check-error@npm:^1.0.2": version: 1.0.2 resolution: "check-error@npm:1.0.2" @@ -3498,41 +3346,6 @@ __metadata: languageName: node linkType: hard -"checkly@npm:latest": - version: 4.0.8 - resolution: "checkly@npm:4.0.8" - dependencies: - "@oclif/core": 2.0.7 - "@oclif/plugin-autocomplete": 2.1.8 - "@oclif/plugin-help": 5.1.20 - "@oclif/plugin-not-found": 2.3.23 - "@oclif/plugin-plugins": 2.3.0 - "@oclif/plugin-warn-if-update-available": 2.0.24 - "@typescript-eslint/typescript-estree": 5.46.1 - acorn: 8.8.1 - acorn-walk: 8.2.0 - async-mqtt: 2.6.3 - axios: 1.2.1 - chalk: 4.1.2 - ci-info: 3.7.1 - conf: 10.2.0 - dotenv: 16.0.3 - git-repo-info: 2.1.1 - glob: 8.0.3 - indent-string: 4.0.0 - jwt-decode: 3.1.2 - log-symbols: 4.1.0 - luxon: 3.2.1 - open: 8.4.0 - p-queue: 6.6.2 - prompts: 2.4.2 - uuid: 9.0.0 - bin: - checkly: bin/run - checksum: f1731215a2a179b464ac778b0ab385460ef94dd8f14f483072e8b4f6d91c394003f905752c8ea17dac61d6a130d9ace09ffac86ea4907cbbc75255f4e8fec20b - languageName: node - linkType: hard - "chokidar@npm:>=3.0.0 <4.0.0": version: 3.5.3 resolution: "chokidar@npm:3.5.3" @@ -3566,13 +3379,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:3.7.1": - version: 3.7.1 - resolution: "ci-info@npm:3.7.1" - checksum: 72d93d5101ea1c186511277fbd8d06ae8a6e028cc2fb94361e92bf735b39c5ebd192e8d15a66ff8c4e3ed569f87c2f844e96f90e141b2de5c649f77ec34ff601 - languageName: node - linkType: hard - "ci-info@npm:^3.2.0": version: 3.8.0 resolution: "ci-info@npm:3.8.0" @@ -3587,24 +3393,6 @@ __metadata: languageName: node linkType: hard -"clean-stack@npm:^3.0.1": - version: 3.0.1 - resolution: "clean-stack@npm:3.0.1" - dependencies: - escape-string-regexp: 4.0.0 - checksum: dc18c842d7792dd72d463936b1b0a5b2621f0fc11588ee48b602e1a29b6c010c606d89f3de1f95d15d72de74aea93c0fbac8246593a31d95f8462cac36148e05 - languageName: node - linkType: hard - -"cli-progress@npm:^3.10.0, cli-progress@npm:^3.12.0": - version: 3.12.0 - resolution: "cli-progress@npm:3.12.0" - dependencies: - string-width: ^4.2.3 - checksum: e8390dc3cdf3c72ecfda0a1e8997bfed63a0d837f97366bbce0ca2ff1b452da386caed007b389f0fe972625037b6c8e7ab087c69d6184cc4dfc8595c4c1d3e6e - languageName: node - linkType: hard - "client-only@npm:0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" @@ -3703,16 +3491,6 @@ __metadata: languageName: node linkType: hard -"commist@npm:^1.0.0": - version: 1.1.0 - resolution: "commist@npm:1.1.0" - dependencies: - leven: ^2.1.0 - minimist: ^1.1.0 - checksum: 4ad08c6e600f880834b2f9c3e2d3e38b12bb88f2d1a54b4be35caccf5ed567e71fc4d3770d010d004ed702cda9b43b56048ce52558e9eade66b684b529bbd906 - languageName: node - linkType: hard - "compare-versions@npm:5.0.3": version: 5.0.3 resolution: "compare-versions@npm:5.0.3" @@ -3727,63 +3505,10 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "concat-stream@npm:2.0.0" - dependencies: - buffer-from: ^1.0.0 - inherits: ^2.0.3 - readable-stream: ^3.0.2 - typedarray: ^0.0.6 - checksum: d7f75d48f0ecd356c1545d87e22f57b488172811b1181d96021c7c4b14ab8855f5313280263dca44bb06e5222f274d047da3e290a38841ef87b59719bde967c7 - languageName: node - linkType: hard - -"concordance@npm:^5.0.4": - version: 5.0.4 - resolution: "concordance@npm:5.0.4" - dependencies: - date-time: ^3.1.0 - esutils: ^2.0.3 - fast-diff: ^1.2.0 - js-string-escape: ^1.0.1 - lodash: ^4.17.15 - md5-hex: ^3.0.1 - semver: ^7.3.2 - well-known-symbols: ^2.0.0 - checksum: 749153ba711492feb7c3d2f5bb04c107157440b3e39509bd5dd19ee7b3ac751d1e4cd75796d9f702e0a713312dbc661421c68aa4a2c34d5f6d91f47e3a1c64a6 - languageName: node - linkType: hard - -"conf@npm:10.2.0": - version: 10.2.0 - resolution: "conf@npm:10.2.0" - dependencies: - ajv: ^8.6.3 - ajv-formats: ^2.1.1 - atomically: ^1.7.0 - debounce-fn: ^4.0.0 - dot-prop: ^6.0.1 - env-paths: ^2.2.1 - json-schema-typed: ^7.0.3 - onetime: ^5.1.2 - pkg-up: ^3.1.0 - semver: ^7.3.5 - checksum: 27066f38a25411c1e72e81a5219e2c7ed675cd39d8aa2a2f1797bb2c9255725e92e335d639334177a23d488b22b1290bbe0708e9a005574e5d83d5432df72bd3 - languageName: node - linkType: hard - -"confusing-browser-globals@npm:^1.0.10": - version: 1.0.11 - resolution: "confusing-browser-globals@npm:1.0.11" - checksum: 3afc635abd37e566477f610e7978b15753f0e84025c25d49236f1f14d480117185516bdd40d2a2167e6bed8048641a9854964b9c067e3dcdfa6b5d0ad3c3a5ef - languageName: node - linkType: hard - "consola@npm:^3.0.0": - version: 3.1.0 - resolution: "consola@npm:3.1.0" - checksum: b4b16b0ff6a0645fb1b820cf89dd56c8601b9ae0e2c472652bce2f5d99932ed5b38ef7ad2cfa77f4534cd6264d99cf5cf9c3c888e98cc25fbd3c87d31c824975 + version: 3.2.3 + resolution: "consola@npm:3.2.3" + checksum: 32ec70e177dd2385c42e38078958cc7397be91db21af90c6f9faa0b16168b49b1c61d689338604bbb2d64370b9347a35f42a9197663a913d3a405bb0ce728499 languageName: node linkType: hard @@ -3803,13 +3528,6 @@ __metadata: languageName: node linkType: hard -"content-type@npm:^1.0.4": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 - languageName: node - linkType: hard - "convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" @@ -3825,13 +3543,13 @@ __metadata: linkType: hard "cookies-next@npm:^2.1.1": - version: 2.1.1 - resolution: "cookies-next@npm:2.1.1" + version: 2.1.2 + resolution: "cookies-next@npm:2.1.2" dependencies: "@types/cookie": ^0.4.1 "@types/node": ^16.10.2 cookie: ^0.4.0 - checksum: c5fc2c72cf2d46d6fa804e5690b5038bab3d5c7e741a8472079bfbd6920010802962f7512d999ea430ebcbfc7c89c38e16f423479e4df7cb0bb782cc1a7f9004 + checksum: 5c7bf4edf946f8955014417fa609a0426476a6cce7d5f4ae0e7d8309d997e55fd3e41b63dcbbb15d44f6db099f4cdada7144d3c40968deb19efb7f918f8ed7e4 languageName: node linkType: hard @@ -3898,20 +3616,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^6.0.5": - version: 6.0.5 - resolution: "cross-spawn@npm:6.0.5" - dependencies: - nice-try: ^1.0.4 - path-key: ^2.0.1 - semver: ^5.5.0 - shebang-command: ^1.2.0 - which: ^1.2.9 - checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -4083,32 +3788,14 @@ __metadata: languageName: node linkType: hard -"date-time@npm:^3.1.0": - version: 3.1.0 - resolution: "date-time@npm:3.1.0" - dependencies: - time-zone: ^1.0.0 - checksum: f9cfcd1b15dfeabab15c0b9d18eb9e4e2d9d4371713564178d46a8f91ad577a290b5178b80050718d02d9c0cf646f8a875011e12d1ed05871e9f72c72c8a8fe6 - languageName: node - linkType: hard - "dayjs@npm:^1.11.7": - version: 1.11.8 - resolution: "dayjs@npm:1.11.8" - checksum: 4fe04b6df98ba6e5f89b49d80bba603cbf01e21a1b4a24ecb163c94c0ba5324a32ac234a139cee654f89d5277a2bcebca5347e6676c28a0a6d1a90f1d34a42b8 + version: 1.11.9 + resolution: "dayjs@npm:1.11.9" + checksum: a4844d83dc87f921348bb9b1b93af851c51e6f71fa259604809cfe1b49d1230e6b0212dab44d1cb01994c096ad3a77ea1cf18fa55154da6efcc9d3610526ac38 languageName: node linkType: hard -"debounce-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "debounce-fn@npm:4.0.0" - dependencies: - mimic-fn: ^3.0.0 - checksum: 7bf8d142b46a88453bbd6eda083f303049b4c8554af5114bdadfc2da56031030664360e81211ae08b708775e6904db7e6d72a421c4ff473344f4521c2c5e4a22 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -4180,6 +3867,28 @@ __metadata: languageName: node linkType: hard +"default-browser-id@npm:^3.0.0": + version: 3.0.0 + resolution: "default-browser-id@npm:3.0.0" + dependencies: + bplist-parser: ^0.2.0 + untildify: ^4.0.0 + checksum: 279c7ad492542e5556336b6c254a4eaf31b2c63a5433265655ae6e47301197b6cfb15c595a6fdc6463b2ff8e1a1a1ed3cba56038a60e1527ba4ab1628c6b9941 + languageName: node + linkType: hard + +"default-browser@npm:^4.0.0": + version: 4.0.0 + resolution: "default-browser@npm:4.0.0" + dependencies: + bundle-name: ^3.0.0 + default-browser-id: ^3.0.0 + execa: ^7.1.1 + titleize: ^3.0.0 + checksum: 40c5af984799042b140300be5639c9742599bda76dc9eba5ac9ad5943c83dd36cebc4471eafcfddf8e0ec817166d5ba89d56f08e66a126c7c7908a179cead1a7 + languageName: node + linkType: hard + "defer-to-connect@npm:^2.0.0, defer-to-connect@npm:^2.0.1": version: 2.0.1 resolution: "defer-to-connect@npm:2.0.1" @@ -4187,10 +3896,10 @@ __metadata: languageName: node linkType: hard -"define-lazy-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "define-lazy-prop@npm:2.0.0" - checksum: 0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 54884f94caac0791bf6395a3ec530ce901cf71c47b0196b8754f3fd17edb6c0e80149c1214429d851873bb0d689dbe08dcedbb2306dc45c8534a5934723851b6 languageName: node linkType: hard @@ -4372,22 +4081,6 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^6.0.1": - version: 6.0.1 - resolution: "dot-prop@npm:6.0.1" - dependencies: - is-obj: ^2.0.0 - checksum: 0f47600a4b93e1dc37261da4e6909652c008832a5d3684b5bf9a9a0d3f4c67ea949a86dceed9b72f5733ed8e8e6383cc5958df3bbd0799ee317fd181f2ece700 - languageName: node - linkType: hard - -"dotenv@npm:16.0.3": - version: 16.0.3 - resolution: "dotenv@npm:16.0.3" - checksum: afcf03f373d7a6d62c7e9afea6328e62851d627a4e73f2e12d0a8deae1cd375892004f3021883f8aec85932cd2834b091f568ced92b4774625b321db83b827f8 - languageName: node - linkType: hard - "duplexer2@npm:^0.1.2": version: 0.1.4 resolution: "duplexer2@npm:0.1.4" @@ -4404,29 +4097,6 @@ __metadata: languageName: node linkType: hard -"duplexify@npm:^4.1.1": - version: 4.1.2 - resolution: "duplexify@npm:4.1.2" - dependencies: - end-of-stream: ^1.4.1 - inherits: ^2.0.3 - readable-stream: ^3.1.1 - stream-shift: ^1.0.0 - checksum: 964376c61c0e92f6ed0694b3ba97c84f199413dc40ab8dfdaef80b7a7f4982fcabf796214e28ed614a5bc1ec45488a29b81e7d46fa3f5ddf65bcb118c20145ad - languageName: node - linkType: hard - -"ejs@npm:^3.1.6, ejs@npm:^3.1.8": - version: 3.1.9 - resolution: "ejs@npm:3.1.9" - dependencies: - jake: ^10.8.5 - bin: - ejs: bin/cli.js - checksum: af6f10eb815885ff8a8cfacc42c6b6cf87daf97a4884f87a30e0c3271fedd85d76a3a297d9c33a70e735b97ee632887f85e32854b9cdd3a2d97edf931519a35f - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.411": version: 1.4.426 resolution: "electron-to-chromium@npm:1.4.426" @@ -4466,6 +4136,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.12.0": + version: 5.14.1 + resolution: "enhanced-resolve@npm:5.14.1" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: ad2a31928b6649eed40d364838449587f731baa63863e83d2629bebaa8be1eabac18b90f89c1784bc805b0818363e99b22547159edd485d7e5ccf18cdc640642 + languageName: node + linkType: hard + "entities@npm:^2.0.0, entities@npm:^2.0.3": version: 2.2.0 resolution: "entities@npm:2.2.0" @@ -4487,7 +4167,7 @@ __metadata: languageName: node linkType: hard -"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": +"env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e @@ -4684,13 +4364,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 - languageName: node - linkType: hard - "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -4705,70 +4378,37 @@ __metadata: languageName: node linkType: hard -"eslint-config-airbnb-base@npm:^15.0.0": - version: 15.0.0 - resolution: "eslint-config-airbnb-base@npm:15.0.0" - dependencies: - confusing-browser-globals: ^1.0.10 - object.assign: ^4.1.2 - object.entries: ^1.1.5 - semver: ^6.3.0 - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.2 - checksum: 38626bad2ce2859fccac86b30cd2b86c9b7d8d71d458331860861dc05290a5b198bded2f4fb89efcb9046ec48f8ab4c4fb00365ba8916f27b172671da28b93ea +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 languageName: node linkType: hard -"eslint-config-airbnb-typescript@npm:^17.0.0": - version: 17.0.0 - resolution: "eslint-config-airbnb-typescript@npm:17.0.0" +"eslint-config-next@npm:^13.4.5": + version: 13.4.10 + resolution: "eslint-config-next@npm:13.4.10" dependencies: - eslint-config-airbnb-base: ^15.0.0 - peerDependencies: - "@typescript-eslint/eslint-plugin": ^5.13.0 - "@typescript-eslint/parser": ^5.0.0 - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - checksum: e598ae7bcc3629bbc847a749f8c1ad69e6ef111335b60d88bde91d1bb335077b06688868257fe2fcc95c3687a0d6e3e1f91e0534cc633f5a118239e52bb05a54 - languageName: node - linkType: hard - -"eslint-config-airbnb@npm:^19.0.4": - version: 19.0.4 - resolution: "eslint-config-airbnb@npm:19.0.4" - dependencies: - eslint-config-airbnb-base: ^15.0.0 - object.assign: ^4.1.2 - object.entries: ^1.1.5 - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.28.0 - eslint-plugin-react-hooks: ^4.3.0 - checksum: 253178689c3c80eef2567e3aaf0612e18973bc9cf51d9be36074b5dd58210e8b6942200a424bcccbb81ac884e41303479ab09f251a2a97addc2de61efdc9576c - languageName: node - linkType: hard - -"eslint-config-mantine@npm:^2.0.0": - version: 2.0.0 - resolution: "eslint-config-mantine@npm:2.0.0" - peerDependencies: - "@typescript-eslint/eslint-plugin": ^5.30.0 - "@typescript-eslint/parser": ^5.30.0 - eslint: ^8.18.0 - eslint-config-airbnb: 19.0.4 - eslint-config-airbnb-typescript: ^17.0.0 + "@next/eslint-plugin-next": 13.4.10 + "@rushstack/eslint-patch": ^1.1.3 + "@typescript-eslint/parser": ^5.42.0 + eslint-import-resolver-node: ^0.3.6 + eslint-import-resolver-typescript: ^3.5.2 eslint-plugin-import: ^2.26.0 - eslint-plugin-jsx-a11y: ^6.6.0 - eslint-plugin-react: ^7.30.1 - eslint-plugin-react-hooks: ^4.6.0 - checksum: 2b4dd594fd6422fb6d1e04dc5b72bf83dbb0ae43cabd2849678a68268eb0003fffcd7cfbc14ca0b5ebbd312510bbc836ed6d4b6297bf7e04d5fa73543d230695 + eslint-plugin-jsx-a11y: ^6.5.1 + eslint-plugin-react: ^7.31.7 + eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705 + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: ">=3.3.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: d555e077e5045f045e5bdab58429b2245993a0e28d3030209766558a6d32ae165496030cafbab8e6aaf714947d895ee30d1ecdb49263abdb23b6889a333ea714 languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7": +"eslint-import-resolver-node@npm:^0.3.6, eslint-import-resolver-node@npm:^0.3.7": version: 0.3.7 resolution: "eslint-import-resolver-node@npm:0.3.7" dependencies: @@ -4779,6 +4419,25 @@ __metadata: languageName: node linkType: hard +"eslint-import-resolver-typescript@npm:^3.5.2": + version: 3.5.5 + resolution: "eslint-import-resolver-typescript@npm:3.5.5" + dependencies: + debug: ^4.3.4 + enhanced-resolve: ^5.12.0 + eslint-module-utils: ^2.7.4 + get-tsconfig: ^4.5.0 + globby: ^13.1.3 + is-core-module: ^2.11.0 + is-glob: ^4.0.3 + synckit: ^0.8.5 + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + checksum: 27e6276fdff5d377c9036362ff736ac29852106e883ff589ea9092dc57d4bc2a67a82d75134221124f05045f9a7e2114a159b2c827d1f9f64d091f7afeab0f58 + languageName: node + linkType: hard + "eslint-module-utils@npm:^2.7.4": version: 2.8.0 resolution: "eslint-module-utils@npm:2.8.0" @@ -4816,7 +4475,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:^6.6.1": +"eslint-plugin-jsx-a11y@npm:^6.5.1": version: 6.7.1 resolution: "eslint-plugin-jsx-a11y@npm:6.7.1" dependencies: @@ -4842,6 +4501,24 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-promise@npm:^6.0.0": + version: 6.1.1 + resolution: "eslint-plugin-promise@npm:6.1.1" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: 46b9a4f79dae5539987922afc27cc17cbccdecf4f0ba19c0ccbf911b0e31853e9f39d9959eefb9637461b52772afa1a482f1f87ff16c1ba38bdb6fcf21897e9a + languageName: node + linkType: hard + +"eslint-plugin-react-hooks@npm:5.0.0-canary-7118f5dd7-20230705": + version: 5.0.0-canary-7118f5dd7-20230705 + resolution: "eslint-plugin-react-hooks@npm:5.0.0-canary-7118f5dd7-20230705" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + checksum: 20e334e60bf5e56cf9f760598411847525c3ff826e6ae7757c8efdc60b33d47a97ddbe1b94ce95956ea9f7bbef37995b19c716be50bd44e6a1e789cba08b6224 + languageName: node + linkType: hard + "eslint-plugin-react-hooks@npm:^4.6.0": version: 4.6.0 resolution: "eslint-plugin-react-hooks@npm:4.6.0" @@ -4851,7 +4528,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.30.1": +"eslint-plugin-react@npm:^7.31.7, eslint-plugin-react@npm:latest": version: 7.32.2 resolution: "eslint-plugin-react@npm:7.32.2" dependencies: @@ -4947,14 +4624,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.20.0": - version: 8.42.0 - resolution: "eslint@npm:8.42.0" +"eslint@npm:^8.0.1": + version: 8.45.0 + resolution: "eslint@npm:8.45.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.4.0 - "@eslint/eslintrc": ^2.0.3 - "@eslint/js": 8.42.0 + "@eslint/eslintrc": ^2.1.0 + "@eslint/js": 8.44.0 "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -4966,7 +4643,7 @@ __metadata: escape-string-regexp: ^4.0.0 eslint-scope: ^7.2.0 eslint-visitor-keys: ^3.4.1 - espree: ^9.5.2 + espree: ^9.6.0 esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 @@ -4976,7 +4653,6 @@ __metadata: globals: ^13.19.0 graphemer: ^1.4.0 ignore: ^5.2.0 - import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 @@ -4986,34 +4662,23 @@ __metadata: lodash.merge: ^4.6.2 minimatch: ^3.1.2 natural-compare: ^1.4.0 - optionator: ^0.9.1 + optionator: ^0.9.3 strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 07105397b5f2ff4064b983b8971e8c379ec04b1dfcc9d918976b3e00377189000161dac991d82ba14f8759e466091b8c71146f602930ca810c290ee3fcb3faf0 + checksum: 3e6dcce5cc43c5e301662db88ee26d1d188b22c177b9f104d7eefd1191236980bd953b3670fe2fac287114b26d7c5420ab48407d7ea1c3a446d6313c000009da languageName: node linkType: hard -"espree@npm:^9.5.2": - version: 9.5.2 - resolution: "espree@npm:9.5.2" +"espree@npm:^9.6.0": + version: 9.6.0 + resolution: "espree@npm:9.6.0" dependencies: - acorn: ^8.8.0 + acorn: ^8.9.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.4.1 - checksum: 6506289d6eb26471c0b383ee24fee5c8ae9d61ad540be956b3127be5ce3bf687d2ba6538ee5a86769812c7c552a9d8239e8c4d150f9ea056c6d5cbe8399c03c1 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:~4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + checksum: 1287979510efb052a6a97c73067ea5d0a40701b29adde87bbe2d3eb1667e39ca55e8129e20e2517fed3da570150e7ef470585228459a8f3e3755f45007a1c662 languageName: node linkType: hard @@ -5049,17 +4714,44 @@ __metadata: languageName: node linkType: hard -"esutils@npm:^2.0.2, esutils@npm:^2.0.3": +"esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 languageName: node linkType: hard -"eventemitter3@npm:^4.0.4": - version: 4.0.7 - resolution: "eventemitter3@npm:4.0.7" - checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.0 + human-signals: ^2.1.0 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.1 + onetime: ^5.1.2 + signal-exit: ^3.0.3 + strip-final-newline: ^2.0.0 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + +"execa@npm:^7.1.1": + version: 7.1.1 + resolution: "execa@npm:7.1.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.1 + human-signals: ^4.3.0 + is-stream: ^3.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^5.1.0 + onetime: ^6.0.0 + signal-exit: ^3.0.7 + strip-final-newline: ^3.0.0 + checksum: 21fa46fc69314ace4068cf820142bdde5b643a5d89831c2c9349479c1555bff137a291b8e749e7efca36535e4e0a8c772c11008ca2e84d2cbd6ca141a3c8f937 languageName: node linkType: hard @@ -5083,14 +4775,7 @@ __metadata: languageName: node linkType: hard -"fast-diff@npm:^1.2.0": - version: 1.3.0 - resolution: "fast-diff@npm:1.3.0" - checksum: d22d371b994fdc8cce9ff510d7b8dc4da70ac327bcba20df607dd5b9cae9f908f4d1028f5fe467650f058d1e7270235ae0b8230809a262b4df587a3b3aa216c3 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": version: 3.2.12 resolution: "fast-glob@npm:3.2.12" dependencies: @@ -5103,6 +4788,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.3.0": + version: 3.3.0 + resolution: "fast-glob@npm:3.3.0" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 20df62be28eb5426fe8e40e0d05601a63b1daceb7c3d87534afcad91bdcf1e4b1743cf2d5247d6e225b120b46df0b9053a032b2691ba34ee121e033acd81f547 + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -5117,22 +4815,6 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^3.0.0": - version: 3.0.0 - resolution: "fast-levenshtein@npm:3.0.0" - dependencies: - fastest-levenshtein: ^1.0.7 - checksum: 02732ba6c656797ca7e987c25f3e53718c8fcc39a4bfab46def78eef7a8729eb629632d4a7eca4c27a33e10deabffa9984839557e18a96e91ecf7ccaeedb9890 - languageName: node - linkType: hard - -"fastest-levenshtein@npm:^1.0.7": - version: 1.0.16 - resolution: "fastest-levenshtein@npm:1.0.16" - checksum: a78d44285c9e2ae2c25f3ef0f8a73f332c1247b7ea7fb4a191e6bb51aa6ee1ef0dfb3ed113616dcdc7023e18e35a8db41f61c8d88988e877cf510df8edafbc71 - languageName: node - linkType: hard - "fastq@npm:^1.6.0": version: 1.15.0 resolution: "fastq@npm:1.15.0" @@ -5142,10 +4824,10 @@ __metadata: languageName: node linkType: hard -"fflate@npm:^0.7.4": - version: 0.7.4 - resolution: "fflate@npm:0.7.4" - checksum: b812ab26047432db70ff4c73eb45ad53bd0774575b4818b9c61c2921e89ec65d1259f06ec1618f2ac55e6a2f2e29b6dc09173d213b46580bc69efae5344bf8f1 +"fflate@npm:^0.8.0": + version: 0.8.0 + resolution: "fflate@npm:0.8.0" + checksum: 6215f95ee01d620a41e459247a7de7e7117dd23e78ef017c26b64c26f2a880a90eedc77675918bbf816d18cc990f6505cd71be933c67cc48cc1e7ebbff1589ea languageName: node linkType: hard @@ -5167,15 +4849,6 @@ __metadata: languageName: node linkType: hard -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: ^5.0.1 - checksum: a303573b0821e17f2d5e9783688ab6fbfce5d52aaac842790ae85e704a6f5e4e3538660a63183d6453834dedf1e0f19a9dadcebfa3e926c72397694ea11f5160 - languageName: node - linkType: hard - "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -5199,15 +4872,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: ^3.0.0 - checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 - languageName: node - linkType: hard - "find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -5293,8 +4957,8 @@ __metadata: linkType: hard "framer-motion@npm:^10.0.0": - version: 10.12.16 - resolution: "framer-motion@npm:10.12.16" + version: 10.12.21 + resolution: "framer-motion@npm:10.12.21" dependencies: "@emotion/is-prop-valid": ^0.8.2 tslib: ^2.4.0 @@ -5309,7 +4973,7 @@ __metadata: optional: true react-dom: optional: true - checksum: 0ba346fd6e64688ea5e64f9e353af6202b42d59e309ac32daca7fc07dc1dad9136dd2c18017a85ac76d01becb7f4683fc92dedbfce3e44831ea0c47bdc73e812 + checksum: 49efe13a2bb38329e07dd1e85397385c528a64a260d1ace01a04eb6f6b0a8bccb2c8d88cb8945f6dd8eff4b7d40a04cf4d688209bac8b643d45ae1d0c56f2afa languageName: node linkType: hard @@ -5327,18 +4991,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^9.0, fs-extra@npm:^9.0.1, fs-extra@npm:^9.1.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: ^1.0.0 - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: ba71ba32e0faa74ab931b7a0031d1523c66a73e225de7426e275e238e312d07313d2da2d33e34a52aa406c8763ade5712eb3ec9ba4d9edce652bcacdc29e6b20 - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -5456,13 +5108,6 @@ __metadata: languageName: node linkType: hard -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 - languageName: node - linkType: hard - "get-stream@npm:^5.1.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -5472,7 +5117,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.1": +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad @@ -5489,10 +5134,12 @@ __metadata: languageName: node linkType: hard -"git-repo-info@npm:2.1.1": - version: 2.1.1 - resolution: "git-repo-info@npm:2.1.1" - checksum: 58cedacae81bbe8fedc81d226346c472d11357d1758140ab0ee5d0c3360ad5b7a9d8613ca6e8b50d089d073e5b3f2e2893536d0cb57bced5f558dc913d5e21c6 +"get-tsconfig@npm:^4.5.0": + version: 4.6.0 + resolution: "get-tsconfig@npm:4.6.0" + dependencies: + resolve-pkg-maps: ^1.0.0 + checksum: fd2589a50e21543cf416285e5c4ac605359f49209b6c2e66bb8698fac907356e060de0a681e40881f00182b6f19771377411a88adcc78fd3954732ff54f4a54d languageName: node linkType: hard @@ -5514,6 +5161,13 @@ __metadata: languageName: node linkType: hard +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: e795f4e8f06d2a15e86f76e4d92751cf8bbfcf0157cea5c2f0f35678a8195a750b34096b1256e436f0cebc1883b5ff0888c47348443e69546a5a87f9e1eb1167 + languageName: node + linkType: hard + "glob@npm:7.1.7": version: 7.1.7 resolution: "glob@npm:7.1.7" @@ -5528,20 +5182,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:8.0.3": - version: 8.0.3 - resolution: "glob@npm:8.0.3" - dependencies: - fs.realpath: ^1.0.0 - inflight: ^1.0.4 - inherits: 2 - minimatch: ^5.0.1 - once: ^1.3.0 - checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -5617,6 +5258,26 @@ __metadata: languageName: node linkType: hard +"globby@npm:^13.1.3": + version: 13.1.4 + resolution: "globby@npm:13.1.4" + dependencies: + dir-glob: ^3.0.1 + fast-glob: ^3.2.11 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: e8bc13879972082d590cd1b0e27080d90d2e12fff7eeb2cee9329c29115ace14cc5b9f899e3d6beb136ba826307a727016658919a6f383e1511d698acee81741 + languageName: node + linkType: hard + +"globrex@npm:^0.1.2": + version: 0.1.2 + resolution: "globrex@npm:0.1.2" + checksum: adca162494a176ce9ecf4dd232f7b802956bb1966b37f60c15e49d2e7d961b66c60826366dc2649093cad5a0d69970cfa8875bd1695b5a1a2f33dcd2aa88da3c + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -5664,20 +5325,13 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -5777,16 +5431,6 @@ __metadata: languageName: node linkType: hard -"help-me@npm:^3.0.0": - version: 3.0.0 - resolution: "help-me@npm:3.0.0" - dependencies: - glob: ^7.1.6 - readable-stream: ^3.6.0 - checksum: 04b0cf1cc02c2710d09718811cdf3d4dc5e3210d65e3f74749c8fc0c8081736cb0309dc3513696cba5e97196254f3c99378dab25ac0c514037c8d238a0b8ce48 - languageName: node - linkType: hard - "hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -5816,7 +5460,7 @@ __metadata: "@mantine/next": ^6.0.0 "@mantine/notifications": ^6.0.0 "@next/bundle-analyzer": ^13.0.0 - "@next/eslint-plugin-next": ^13.0.0 + "@next/eslint-plugin-next": ^13.4.5 "@nivo/core": ^0.83.0 "@nivo/line": ^0.83.0 "@react-native-async-storage/async-storage": ^1.18.1 @@ -5828,30 +5472,31 @@ __metadata: "@tanstack/react-query-persist-client": ^4.28.0 "@testing-library/jest-dom": ^5.16.5 "@testing-library/react": ^14.0.0 + "@trivago/prettier-plugin-sort-imports": ^4.1.1 + "@trpc/client": ^10.29.1 + "@trpc/next": ^10.29.1 + "@trpc/react-query": ^10.29.1 + "@trpc/server": ^10.29.1 "@types/dockerode": ^3.3.9 - "@types/node": 18.16.17 + "@types/node": 18.16.19 "@types/prismjs": ^1.26.0 - "@types/react": 17.0.60 + "@types/react": ^18.2.11 "@types/uuid": ^9.0.0 "@types/video.js": ^7.3.51 - "@typescript-eslint/eslint-plugin": ^5.30.7 + "@typescript-eslint/eslint-plugin": ^5.50.0 "@typescript-eslint/parser": ^5.30.7 "@vitejs/plugin-react": ^4.0.0 - "@vitest/coverage-c8": ^0.32.0 - "@vitest/ui": ^0.32.0 + "@vitest/coverage-c8": ^0.33.0 + "@vitest/ui": ^0.33.0 axios: ^1.0.0 - checkly: latest consola: ^3.0.0 cookies-next: ^2.1.1 dayjs: ^1.11.7 dockerode: ^3.3.2 - eslint: ^8.20.0 - eslint-config-airbnb: ^19.0.4 - eslint-config-airbnb-typescript: ^17.0.0 - eslint-config-mantine: ^2.0.0 - eslint-plugin-import: ^2.26.0 - eslint-plugin-jsx-a11y: ^6.6.1 - eslint-plugin-react: ^7.30.1 + eslint: ^8.0.1 + eslint-config-next: ^13.4.5 + eslint-plugin-promise: ^6.0.0 + eslint-plugin-react: latest eslint-plugin-react-hooks: ^4.6.0 eslint-plugin-testing-library: ^5.5.1 eslint-plugin-unused-imports: ^2.0.0 @@ -5862,7 +5507,7 @@ __metadata: html-entities: ^2.3.3 i18next: ^22.5.1 js-file-download: ^0.4.12 - next: ^13.4.2 + next: 13.4.10 next-i18next: ^13.0.0 node-mocks-http: ^1.12.2 nzbget-api: ^0.0.3 @@ -5877,14 +5522,14 @@ __metadata: sass: ^1.56.1 ts-node: latest turbo: latest - typescript: ^5.0.4 + typescript: ^5.1.0 uuid: ^9.0.0 video.js: ^8.0.3 - vitest: ^0.32.0 + vite-tsconfig-paths: ^4.2.0 + vitest: ^0.33.0 vitest-fetch-mock: ^0.2.2 xml-js: ^1.6.11 xss: ^1.0.14 - yarn: ^1.22.19 zod: ^3.21.4 zustand: ^4.3.7 languageName: unknown @@ -5901,9 +5546,9 @@ __metadata: linkType: hard "html-entities@npm:^2.3.3": - version: 2.3.5 - resolution: "html-entities@npm:2.3.5" - checksum: 585f8a4d549b126b147c95398849a343df4cec379ad0ab87c6be1539870751cb85d3d4910c2cb4a848cc99de84307cd9a372890175b73852d5225e716e65e62f + version: 2.4.0 + resolution: "html-entities@npm:2.4.0" + checksum: 25bea32642ce9ebd0eedc4d24381883ecb0335ccb8ac26379a0958b9b16652fdbaa725d70207ce54a51db24103436a698a8e454397d3ba8ad81460224751f1dc languageName: node linkType: hard @@ -5971,20 +5616,6 @@ __metadata: languageName: node linkType: hard -"http-call@npm:^5.2.2": - version: 5.3.0 - resolution: "http-call@npm:5.3.0" - dependencies: - content-type: ^1.0.4 - debug: ^4.1.1 - is-retry-allowed: ^1.1.0 - is-stream: ^2.0.0 - parse-json: ^4.0.0 - tunnel-agent: ^0.6.0 - checksum: 06e9342e1fc9d805ab666c862cac58ece953e0a72007410f4fba9aef40075f4c8bf0fdebbcfa1648433db05003ce1e00496ddb92e8dcff319a976638b2be4057 - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -6026,6 +5657,20 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 + languageName: node + linkType: hard + +"human-signals@npm:^4.3.0": + version: 4.3.1 + resolution: "human-signals@npm:4.3.1" + checksum: 6f12958df3f21b6fdaf02d90896c271df00636a31e2bbea05bddf817a35c66b38a6fdac5863e2df85bd52f34958997f1f50350ff97249e1dff8452865d5235d1 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -6035,13 +5680,6 @@ __metadata: languageName: node linkType: hard -"hyperlinker@npm:^1.0.0": - version: 1.0.0 - resolution: "hyperlinker@npm:1.0.0" - checksum: f6d020ac552e9d048668206c805a737262b4c395546c773cceea3bc45252c46b4fa6eeb67c5896499dad00d21cb2f20f89fdd480a4529cfa3d012da2957162f9 - languageName: node - linkType: hard - "i18next-fs-backend@npm:^2.1.1": version: 2.1.3 resolution: "i18next-fs-backend@npm:2.1.3" @@ -6088,7 +5726,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -6105,7 +5743,7 @@ __metadata: languageName: node linkType: hard -"indent-string@npm:4.0.0, indent-string@npm:^4.0.0": +"indent-string@npm:^4.0.0": version: 4.0.0 resolution: "indent-string@npm:4.0.0" checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 @@ -6265,7 +5903,7 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": +"is-docker@npm:^2.0.0": version: 2.2.1 resolution: "is-docker@npm:2.2.1" bin: @@ -6274,6 +5912,15 @@ __metadata: languageName: node linkType: hard +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90 + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -6304,6 +5951,17 @@ __metadata: languageName: node linkType: hard +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: ^3.0.0 + bin: + is-inside-container: cli.js + checksum: c50b75a2ab66ab3e8b92b3bc534e1ea72ca25766832c0623ac22d134116a98bcf012197d1caabe1d1c4bd5f84363d4aa5c36bb4b585fbcaf57be172cd10a1a03 + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -6341,13 +5999,6 @@ __metadata: languageName: node linkType: hard -"is-obj@npm:^2.0.0": - version: 2.0.0 - resolution: "is-obj@npm:2.0.0" - checksum: c9916ac8f4621962a42f5e80e7ffdb1d79a3fab7456ceaeea394cd9e0858d04f985a9ace45be44433bf605673c8be8810540fe4cc7f4266fc7526ced95af5a08 - languageName: node - linkType: hard - "is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" @@ -6372,13 +6023,6 @@ __metadata: languageName: node linkType: hard -"is-retry-allowed@npm:^1.1.0": - version: 1.2.0 - resolution: "is-retry-allowed@npm:1.2.0" - checksum: 50d700a89ae31926b1c91b3eb0104dbceeac8790d8b80d02f5c76d9a75c2056f1bb24b5268a8a018dead606bddf116b2262e5ac07401eb8b8783b266ed22558d - languageName: node - linkType: hard - "is-set@npm:^2.0.1, is-set@npm:^2.0.2": version: 2.0.2 resolution: "is-set@npm:2.0.2" @@ -6402,6 +6046,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -6433,13 +6084,6 @@ __metadata: languageName: node linkType: hard -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 - languageName: node - linkType: hard - "is-weakmap@npm:^2.0.1": version: 2.0.1 resolution: "is-weakmap@npm:2.0.1" @@ -6538,17 +6182,10 @@ __metadata: languageName: node linkType: hard -"jake@npm:^10.8.5": - version: 10.8.7 - resolution: "jake@npm:10.8.7" - dependencies: - async: ^3.2.3 - chalk: ^4.0.2 - filelist: ^1.0.4 - minimatch: ^3.1.2 - bin: - jake: bin/cli.js - checksum: a23fd2273fb13f0d0d845502d02c791fd55ef5c6a2d207df72f72d8e1eac6d2b8ffa6caf660bc8006b3242e0daaa88a3ecc600194d72b5c6016ad56e9cd43553 +"javascript-natural-sort@npm:0.7.1": + version: 0.7.1 + resolution: "javascript-natural-sort@npm:0.7.1" + checksum: 161e2c512cc7884bc055a582c6645d9032cab88497a76123d73cb23bfb03d97a04cf7772ecdb8bd3366fc07192c2f996366f479f725c23ef073fffe03d6a586a languageName: node linkType: hard @@ -6621,20 +6258,6 @@ __metadata: languageName: node linkType: hard -"js-sdsl@npm:4.3.0": - version: 4.3.0 - resolution: "js-sdsl@npm:4.3.0" - checksum: ce908257cf6909e213af580af3a691a736f5ee8b16315454768f917a682a4ea0c11bde1b241bbfaecedc0eb67b72101b2c2df2ffaed32aed5d539fca816f054e - languageName: node - linkType: hard - -"js-string-escape@npm:^1.0.1": - version: 1.0.1 - resolution: "js-string-escape@npm:1.0.1" - checksum: f11e0991bf57e0c183b55c547acec85bd2445f043efc9ea5aa68b41bd2a3e7d3ce94636cb233ae0d84064ba4c1a505d32e969813c5b13f81e7d4be12c59256fe - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -6642,18 +6265,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.14.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: ^1.0.7 - esprima: ^4.0.0 - bin: - js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c - languageName: node - linkType: hard - "js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -6681,13 +6292,6 @@ __metadata: languageName: node linkType: hard -"json-parse-better-errors@npm:^1.0.1": - version: 1.0.2 - resolution: "json-parse-better-errors@npm:1.0.2" - checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d - languageName: node - linkType: hard - "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -6702,20 +6306,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - -"json-schema-typed@npm:^7.0.3": - version: 7.0.3 - resolution: "json-schema-typed@npm:7.0.3" - checksum: e861b19e97e3cc2b29a429147890157827eeda16ab639a0765b935cf3e22aeb6abbba108e23aef442da806bb1f402bdff21da9c5cb30015f8007594565e110b5 - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -6750,19 +6340,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: ^4.1.6 - universalify: ^2.0.0 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 - languageName: node - linkType: hard - "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.3": version: 3.3.3 resolution: "jsx-ast-utils@npm:3.3.3" @@ -6773,13 +6350,6 @@ __metadata: languageName: node linkType: hard -"jwt-decode@npm:3.1.2": - version: 3.1.2 - resolution: "jwt-decode@npm:3.1.2" - checksum: 20a4b072d44ce3479f42d0d2c8d3dabeb353081ba4982e40b83a779f2459a70be26441be6c160bfc8c3c6eadf9f6380a036fbb06ac5406b5674e35d8c4205eeb - languageName: node - linkType: hard - "keycode@npm:2.2.0": version: 2.2.0 resolution: "keycode@npm:2.2.0" @@ -6796,13 +6366,6 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 - languageName: node - linkType: hard - "klona@npm:^2.0.5": version: 2.0.6 resolution: "klona@npm:2.0.6" @@ -6826,13 +6389,6 @@ __metadata: languageName: node linkType: hard -"leven@npm:^2.1.0": - version: 2.1.0 - resolution: "leven@npm:2.1.0" - checksum: f7b4a01b15c0ee2f92a04c0367ea025d10992b044df6f0d4ee1a845d4a488b343e99799e2f31212d72a2b1dea67124f57c1bb1b4561540df45190e44b5b8b394 - languageName: node - linkType: hard - "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -6850,19 +6406,6 @@ __metadata: languageName: node linkType: hard -"load-json-file@npm:^5.3.0": - version: 5.3.0 - resolution: "load-json-file@npm:5.3.0" - dependencies: - graceful-fs: ^4.1.15 - parse-json: ^4.0.0 - pify: ^4.0.1 - strip-bom: ^3.0.0 - type-fest: ^0.3.0 - checksum: 8bf15599db9471e264d916f98f1f51eb5d1e6a26d0ec3711d17df54d5983ccba1a0a4db2a6490bb27171f1261b72bf237d557f34e87d26e724472b92bdbdd4f7 - languageName: node - linkType: hard - "local-pkg@npm:^0.4.3": version: 0.4.3 resolution: "local-pkg@npm:0.4.3" @@ -6870,16 +6413,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: ^3.0.0 - path-exists: ^3.0.0 - checksum: 53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 - languageName: node - linkType: hard - "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -6903,16 +6436,6 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: ^4.1.0 - is-unicode-supported: ^0.1.0 - checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 - languageName: node - linkType: hard - "loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -6972,13 +6495,6 @@ __metadata: languageName: node linkType: hard -"luxon@npm:3.2.1": - version: 3.2.1 - resolution: "luxon@npm:3.2.1" - checksum: 3fa3def2c5f5d3032b4c46220c4da8aeb467ac979888fc9d2557adcd22195f93516b4ad5909a75862bec8dc6ddc0953b0f38e6d2f4a8ab8450ddc531a83cf20d - languageName: node - linkType: hard - "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -6999,12 +6515,12 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.0": - version: 0.30.0 - resolution: "magic-string@npm:0.30.0" +"magic-string@npm:^0.30.1": + version: 0.30.1 + resolution: "magic-string@npm:0.30.1" dependencies: - "@jridgewell/sourcemap-codec": ^1.4.13 - checksum: 7bdf22e27334d8a393858a16f5f840af63a7c05848c000fd714da5aa5eefa09a1bc01d8469362f25cc5c4a14ec01b46557b7fff8751365522acddf21e57c488d + "@jridgewell/sourcemap-codec": ^1.4.15 + checksum: 7bc7e4493e32a77068f3753bf8652d4ab44142122eb7fb9fa871af83bef2cd2c57518a6769701cd5d0379bd624a13bc8c72ca25ac5655b27e5a61adf1fd38db2 languageName: node linkType: hard @@ -7048,15 +6564,6 @@ __metadata: languageName: node linkType: hard -"md5-hex@npm:^3.0.1": - version: 3.0.1 - resolution: "md5-hex@npm:3.0.1" - dependencies: - blueimp-md5: ^2.10.0 - checksum: 6799a19e8bdd3e0c2861b94c1d4d858a89220488d7885c1fa236797e367d0c2e5f2b789e05309307083503f85be3603a9686a5915568a473137d6b4117419cc2 - languageName: node - linkType: hard - "media-typer@npm:0.3.0": version: 0.3.0 resolution: "media-typer@npm:0.3.0" @@ -7080,6 +6587,13 @@ __metadata: languageName: node linkType: hard +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + languageName: node + linkType: hard + "merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -7136,10 +6650,10 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^3.0.0": - version: 3.1.0 - resolution: "mimic-fn@npm:3.1.0" - checksum: f7b167f9115b8bbdf2c3ee55dce9149d14be9e54b237259c4bc1d8d0512ea60f25a1b323f814eb1fe8f5a541662804bcfcfff3202ca58df143edb986849d58db +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 languageName: node linkType: hard @@ -7198,7 +6712,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.1.0, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.5": +"minimist@npm:^1.2.0, minimist@npm:^1.2.6, minimist@npm:~1.2.5": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -7310,6 +6824,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.4.0": + version: 1.4.0 + resolution: "mlly@npm:1.4.0" + dependencies: + acorn: ^8.9.0 + pathe: ^1.1.1 + pkg-types: ^1.0.3 + ufo: ^1.1.2 + checksum: ebf2e2b5cfb4c6e45e8d0bbe82710952247023f12626cb0997c41b1bb6e57c8b6fc113aa709228ad511382ab0b4eebaab759806be0578093b3635d3e940bd63b + languageName: node + linkType: hard + "mpd-parser@npm:^1.0.1, mpd-parser@npm:^1.1.1": version: 1.1.1 resolution: "mpd-parser@npm:1.1.1" @@ -7324,46 +6850,6 @@ __metadata: languageName: node linkType: hard -"mqtt-packet@npm:^6.8.0": - version: 6.10.0 - resolution: "mqtt-packet@npm:6.10.0" - dependencies: - bl: ^4.0.2 - debug: ^4.1.1 - process-nextick-args: ^2.0.1 - checksum: 73169696eeca9cdeae712fe497e6735bc25497596caecceb5cd349ce718089acd0ff4f8269b5cee9e3ac7b0579511f24371411580ed8a0a9275fcac73beb0521 - languageName: node - linkType: hard - -"mqtt@npm:^4.3.7": - version: 4.3.7 - resolution: "mqtt@npm:4.3.7" - dependencies: - commist: ^1.0.0 - concat-stream: ^2.0.0 - debug: ^4.1.1 - duplexify: ^4.1.1 - help-me: ^3.0.0 - inherits: ^2.0.3 - lru-cache: ^6.0.0 - minimist: ^1.2.5 - mqtt-packet: ^6.8.0 - number-allocator: ^1.0.9 - pump: ^3.0.0 - readable-stream: ^3.6.0 - reinterval: ^1.1.0 - rfdc: ^1.3.0 - split2: ^3.1.0 - ws: ^7.5.5 - xtend: ^4.0.2 - bin: - mqtt: bin/mqtt.js - mqtt_pub: bin/pub.js - mqtt_sub: bin/sub.js - checksum: 8d4b655d61c3259f6dee1d3b9d4b3bb99ca9006b497c927c14db64b2c6d9bfb59e73ee8b98d92c826ef6d7b75439b7810da7b65f5619054b554863b1f58e9a72 - languageName: node - linkType: hard - "mrmime@npm:^1.0.0": version: 1.0.1 resolution: "mrmime@npm:1.0.1" @@ -7439,13 +6925,6 @@ __metadata: languageName: node linkType: hard -"natural-orderby@npm:^2.0.3": - version: 2.0.3 - resolution: "natural-orderby@npm:2.0.3" - checksum: 039be7f0b6cf81e63d2ae5299553f8e6c8f6ae4f571c7c002eab9c6d36a2e33101704e0ec64c3cecef956fa3b1a68bb0ddfc03208e89f31c0b0bb806f3198646 - languageName: node - linkType: hard - "negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" @@ -7471,25 +6950,26 @@ __metadata: languageName: node linkType: hard -"next@npm:^13.4.2": - version: 13.4.4 - resolution: "next@npm:13.4.4" +"next@npm:13.4.10": + version: 13.4.10 + resolution: "next@npm:13.4.10" dependencies: - "@next/env": 13.4.4 - "@next/swc-darwin-arm64": 13.4.4 - "@next/swc-darwin-x64": 13.4.4 - "@next/swc-linux-arm64-gnu": 13.4.4 - "@next/swc-linux-arm64-musl": 13.4.4 - "@next/swc-linux-x64-gnu": 13.4.4 - "@next/swc-linux-x64-musl": 13.4.4 - "@next/swc-win32-arm64-msvc": 13.4.4 - "@next/swc-win32-ia32-msvc": 13.4.4 - "@next/swc-win32-x64-msvc": 13.4.4 + "@next/env": 13.4.10 + "@next/swc-darwin-arm64": 13.4.10 + "@next/swc-darwin-x64": 13.4.10 + "@next/swc-linux-arm64-gnu": 13.4.10 + "@next/swc-linux-arm64-musl": 13.4.10 + "@next/swc-linux-x64-gnu": 13.4.10 + "@next/swc-linux-x64-musl": 13.4.10 + "@next/swc-win32-arm64-msvc": 13.4.10 + "@next/swc-win32-ia32-msvc": 13.4.10 + "@next/swc-win32-x64-msvc": 13.4.10 "@swc/helpers": 0.5.1 busboy: 1.6.0 caniuse-lite: ^1.0.30001406 postcss: 8.4.14 styled-jsx: 5.1.1 + watchpack: 2.4.0 zod: 3.21.4 peerDependencies: "@opentelemetry/api": ^1.1.0 @@ -7525,14 +7005,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: d84686f3ca313c57d283872a2946a5c18ecd656c4235ad879cbaa0f2f2886c9bcff94656ff07c4998fa672f40023978235150ce760e4c5b1edab6feaa7ed9fa9 - languageName: node - linkType: hard - -"nice-try@npm:^1.0.4": - version: 1.0.5 - resolution: "nice-try@npm:1.0.5" - checksum: 0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff + checksum: 823ec02325fc6d5cad055a596df8ba84066d9c259abf94755eeda4c8846e5b56fe244d0362d5f5a1182a29d9a62bebf1f428a2f79c338a07086a8cf3620778f7 languageName: node linkType: hard @@ -7650,6 +7123,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^5.1.0": + version: 5.1.0 + resolution: "npm-run-path@npm:5.1.0" + dependencies: + path-key: ^4.0.0 + checksum: dc184eb5ec239d6a2b990b43236845332ef12f4e0beaa9701de724aa797fe40b6bbd0157fb7639d24d3ab13f5d5cf22d223a19c6300846b8126f335f788bee66 + languageName: node + linkType: hard + "npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" @@ -7662,16 +7144,6 @@ __metadata: languageName: node linkType: hard -"number-allocator@npm:^1.0.9": - version: 1.0.14 - resolution: "number-allocator@npm:1.0.14" - dependencies: - debug: ^4.3.1 - js-sdsl: 4.3.0 - checksum: 5dc718a333aeebc1b3376c1f3bb7a2991afedc28f0c907baebcd38321b19543e669d5165c09bf7f87a0751c15b5a80ca011d52263da97a9edb2c87d140d03d6e - languageName: node - linkType: hard - "nzbget-api@npm:^0.0.3": version: 0.0.3 resolution: "nzbget-api@npm:0.0.3" @@ -7721,14 +7193,7 @@ __metadata: languageName: node linkType: hard -"object-treeify@npm:^1.1.33": - version: 1.1.33 - resolution: "object-treeify@npm:1.1.33" - checksum: 3af7f889349571ee73f5bdfb5ac478270c85eda8bcba950b454eb598ce41759a1ed6b0b43fbd624cb449080a4eb2df906b602e5138b6186b9563b692231f1694 - languageName: node - linkType: hard - -"object.assign@npm:^4.1.2, object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": +"object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -7740,7 +7205,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.5, object.entries@npm:^1.1.6": +"object.entries@npm:^1.1.6": version: 1.1.6 resolution: "object.entries@npm:1.1.6" dependencies: @@ -7801,14 +7266,24 @@ __metadata: languageName: node linkType: hard -"open@npm:8.4.0": - version: 8.4.0 - resolution: "open@npm:8.4.0" +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" dependencies: - define-lazy-prop: ^2.0.0 - is-docker: ^2.1.1 + mimic-fn: ^4.0.0 + checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 + languageName: node + linkType: hard + +"open@npm:^9.1.0": + version: 9.1.0 + resolution: "open@npm:9.1.0" + dependencies: + default-browser: ^4.0.0 + define-lazy-prop: ^3.0.0 + is-inside-container: ^1.0.0 is-wsl: ^2.2.0 - checksum: e9545bec64cdbf30a0c35c1bdc310344adf8428a117f7d8df3c0af0a0a24c513b304916a6d9b11db0190ff7225c2d578885080b761ed46a3d5f6f1eebb98b63c + checksum: 3993c0f61d51fed8ac290e99c9c3cf45d3b6cfb3e2aa2b74cafd312c3486c22fd81df16ac8f3ab91dd8a4e3e729a16fc2480cfc406c4833416cf908acf1ae7c9 languageName: node linkType: hard @@ -7821,17 +7296,17 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" dependencies: + "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a languageName: node linkType: hard @@ -7849,22 +7324,6 @@ __metadata: languageName: node linkType: hard -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 - languageName: node - linkType: hard - -"p-limit@npm:^2.0.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: ^2.0.0 - checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 - languageName: node - linkType: hard - "p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" @@ -7883,15 +7342,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: ^2.0.0 - checksum: 83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae - languageName: node - linkType: hard - "p-locate@npm:^5.0.0": version: 5.0.0 resolution: "p-locate@npm:5.0.0" @@ -7910,32 +7360,6 @@ __metadata: languageName: node linkType: hard -"p-queue@npm:6.6.2": - version: 6.6.2 - resolution: "p-queue@npm:6.6.2" - dependencies: - eventemitter3: ^4.0.4 - p-timeout: ^3.2.0 - checksum: 832642fcc4ab6477b43e6d7c30209ab10952969ed211c6d6f2931be8a4f9935e3578c72e8cce053dc34f2eb6941a408a2c516a54904e989851a1a209cf19761c - languageName: node - linkType: hard - -"p-timeout@npm:^3.2.0": - version: 3.2.0 - resolution: "p-timeout@npm:3.2.0" - dependencies: - p-finally: ^1.0.0 - checksum: 3dd0eaa048780a6f23e5855df3dd45c7beacff1f820476c1d0d1bcd6648e3298752ba2c877aa1c92f6453c7dd23faaf13d9f5149fc14c0598a142e2c5e8d649c - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae - languageName: node - linkType: hard - "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -7945,16 +7369,6 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^4.0.0": - version: 4.0.0 - resolution: "parse-json@npm:4.0.0" - dependencies: - error-ex: ^1.3.1 - json-parse-better-errors: ^1.0.1 - checksum: 0fe227d410a61090c247e34fa210552b834613c006c2c64d9a05cfe9e89cf8b4246d1246b1a99524b53b313e9ac024438d0680f67e33eaed7e6f38db64cfe7b5 - languageName: node - linkType: hard - "parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -7974,23 +7388,6 @@ __metadata: languageName: node linkType: hard -"password-prompt@npm:^1.1.2": - version: 1.1.2 - resolution: "password-prompt@npm:1.1.2" - dependencies: - ansi-escapes: ^3.1.0 - cross-spawn: ^6.0.5 - checksum: 4763ec1b48cb311d60df37186e31f1b85ec3249a21cc17bbf8407d66c5b55cffe34b4eb529ebd044ed4ced7f3ea3fad744fe15e30a5de31645433e94cd444266 - languageName: node - linkType: hard - -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a - languageName: node - linkType: hard - "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -8005,13 +7402,6 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^2.0.1": - version: 2.0.1 - resolution: "path-key@npm:2.0.1" - checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd - languageName: node - linkType: hard - "path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -8019,6 +7409,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 + languageName: node + linkType: hard + "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -8033,7 +7430,7 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^1.1.0": +"pathe@npm:^1.1.0, pathe@npm:^1.1.1": version: 1.1.1 resolution: "pathe@npm:1.1.1" checksum: 34ab3da2e5aa832ebc6a330ffe3f73d7ba8aec6e899b53b8ec4f4018de08e40742802deb12cf5add9c73b7bf719b62c0778246bd376ca62b0fb23e0dde44b759 @@ -8061,13 +7458,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b - languageName: node - linkType: hard - "pkcs7@npm:^1.0.4": version: 1.0.4 resolution: "pkcs7@npm:1.0.4" @@ -8090,15 +7480,6 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^3.1.0": - version: 3.1.0 - resolution: "pkg-up@npm:3.1.0" - dependencies: - find-up: ^3.0.0 - checksum: 5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8 - languageName: node - linkType: hard - "postcss@npm:8.4.14": version: 8.4.14 resolution: "postcss@npm:8.4.14" @@ -8137,7 +7518,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.0.2, pretty-format@npm:^27.5.1": +"pretty-format@npm:^27.0.2": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" dependencies: @@ -8166,7 +7547,7 @@ __metadata: languageName: node linkType: hard -"process-nextick-args@npm:^2.0.1, process-nextick-args@npm:~2.0.0": +"process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf @@ -8197,16 +7578,6 @@ __metadata: languageName: node linkType: hard -"prompts@npm:2.4.2": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: ^3.0.3 - sisteransi: ^1.0.5 - checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d - languageName: node - linkType: hard - "prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" @@ -8414,6 +7785,15 @@ __metadata: languageName: node linkType: hard +"react-ssr-prepass@npm:^1.5.0": + version: 1.5.0 + resolution: "react-ssr-prepass@npm:1.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: efe89b9f8b2053474613f56dfdbeb41d8ee2e572bf819a39377d95d3e4a9acf8a4a16e28d8d8034cb9ac2b316d11dc9e62217743e4322046d08175eb3b4fed3e + languageName: node + linkType: hard + "react-style-singleton@npm:^2.2.1": version: 2.2.1 resolution: "react-style-singleton@npm:2.2.1" @@ -8483,7 +7863,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -8525,15 +7905,6 @@ __metadata: languageName: node linkType: hard -"redeyed@npm:~2.1.0": - version: 2.1.1 - resolution: "redeyed@npm:2.1.1" - dependencies: - esprima: ~4.0.0 - checksum: 39a1426e377727cfb47a0e24e95c1cf78d969fbc388dc1e0fa1e2ef8a8756450cefb8b0c2598f63b85f1a331986fca7604c0db798427a5775a1dbdb9c1291979 - languageName: node - linkType: hard - "regenerator-runtime@npm:^0.13.11": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" @@ -8552,13 +7923,6 @@ __metadata: languageName: node linkType: hard -"reinterval@npm:^1.1.0": - version: 1.1.0 - resolution: "reinterval@npm:1.1.0" - checksum: 801ce2cc5f4096c593071c7c361acab5c5c3a0585fb660f7cee2d1a94b44dd185359d5c9b438391a9d3d32c53eb325de2d81268038e037b336e6d4c3897e6018 - languageName: node - linkType: hard - "remove-accents@npm:0.4.2": version: 0.4.2 resolution: "remove-accents@npm:0.4.2" @@ -8573,13 +7937,6 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b - languageName: node - linkType: hard - "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -8601,6 +7958,13 @@ __metadata: languageName: node linkType: hard +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 1012afc566b3fdb190a6309cc37ef3b2dcc35dff5fa6683a9d00cd25c3247edfbc4691b91078c97adc82a29b77a2660c30d791d65dab4fc78bfc473f60289977 + languageName: node + linkType: hard + "resolve@npm:^1.19.0, resolve@npm:^1.22.1": version: 1.22.3 resolution: "resolve@npm:1.22.3" @@ -8685,13 +8049,6 @@ __metadata: languageName: node linkType: hard -"rfdc@npm:^1.3.0": - version: 1.3.0 - resolution: "rfdc@npm:1.3.0" - checksum: fb2ba8512e43519983b4c61bd3fa77c0f410eff6bae68b08614437bc3f35f91362215f7b4a73cbda6f67330b5746ce07db5dd9850ad3edc91271ad6deea0df32 - languageName: node - linkType: hard - "rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" @@ -8727,6 +8084,15 @@ __metadata: languageName: node linkType: hard +"run-applescript@npm:^5.0.0": + version: 5.0.0 + resolution: "run-applescript@npm:5.0.0" + dependencies: + execa: ^5.0.0 + checksum: d00c2dbfa5b2d774de7451194b8b125f40f65fc183de7d9dcae97f57f59433586d3c39b9001e111c38bfa24c3436c99df1bb4066a2a0c90d39a8c4cd6889af77 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -8755,7 +8121,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -8797,15 +8163,15 @@ __metadata: linkType: hard "sass@npm:^1.56.1": - version: 1.63.3 - resolution: "sass@npm:1.63.3" + version: 1.63.6 + resolution: "sass@npm:1.63.6" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 41d1d7e875be738a8b5ef92bc722b20fd88f9fc8db61caa17dec37e0a53739cf28dc3b79481b1998c410c82c30247f473c2559e64cec7c4d851e5cea0434ec4e + checksum: 3372319904658eeafaf78a09a6fcb3368a68e6d76fe3c43c2d009f4f72e475ab22b82ef483ef5c00fcda3ab00066846c0bd88c36b42771b855f6ab80c7eda541 languageName: node linkType: hard @@ -8825,15 +8191,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^5.5.0": - version: 5.7.1 - resolution: "semver@npm:5.7.1" - bin: - semver: ./bin/semver - checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf - languageName: node - linkType: hard - "semver@npm:^6.0.0, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" @@ -8843,7 +8200,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": +"semver@npm:^7.3.5, semver@npm:^7.3.7": version: 7.5.1 resolution: "semver@npm:7.5.1" dependencies: @@ -8861,15 +8218,6 @@ __metadata: languageName: node linkType: hard -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: ^1.0.0 - checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -8879,13 +8227,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -8911,7 +8252,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 @@ -8940,13 +8281,6 @@ __metadata: languageName: node linkType: hard -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 - languageName: node - linkType: hard - "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -8954,6 +8288,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^4.0.0": + version: 4.0.0 + resolution: "slash@npm:4.0.0" + checksum: da8e4af73712253acd21b7853b7e0dbba776b786e82b010a5bfc8b5051a1db38ed8aba8e1e8f400dd2c9f373be91eb1c42b66e91abb407ff42b10feece5e1d2d + languageName: node + linkType: hard + "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -8989,7 +8330,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.5.7": +"source-map@npm:^0.5.0, source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d @@ -9003,22 +8344,6 @@ __metadata: languageName: node linkType: hard -"split2@npm:^3.1.0": - version: 3.2.2 - resolution: "split2@npm:3.2.2" - dependencies: - readable-stream: ^3.0.0 - checksum: 8127ddbedd0faf31f232c0e9192fede469913aa8982aa380752e0463b2e31c2359ef6962eb2d24c125bac59eeec76873678d723b1c7ff696216a1cd071e3994a - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 - languageName: node - linkType: hard - "ssh2@npm:^1.11.0": version: 1.13.0 resolution: "ssh2@npm:1.13.0" @@ -9061,7 +8386,7 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.3.2": +"std-env@npm:^3.3.3": version: 3.3.3 resolution: "std-env@npm:3.3.3" checksum: 6665f6d8bd63aae432d3eb9abbd7322847ad0d902603e6dce1e8051b4f42ceeb4f7f96a4faf70bb05ce65ceee2dc982502b701575c8a58b1bfad29f3dbb19f81 @@ -9077,13 +8402,6 @@ __metadata: languageName: node linkType: hard -"stream-shift@npm:^1.0.0": - version: 1.0.1 - resolution: "stream-shift@npm:1.0.1" - checksum: 59b82b44b29ec3699b5519a49b3cedcc6db58c72fb40c04e005525dfdcab1c75c4e0c180b923c380f204bed78211b9bad8faecc7b93dece4d004c3f6ec75737b - languageName: node - linkType: hard - "streamsearch@npm:^1.1.0": version: 1.1.0 resolution: "streamsearch@npm:1.1.0" @@ -9091,7 +8409,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -9192,6 +8510,20 @@ __metadata: languageName: node linkType: hard +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 + languageName: node + linkType: hard + "strip-indent@npm:^3.0.0": version: 3.0.0 resolution: "strip-indent@npm:3.0.0" @@ -9201,7 +8533,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 @@ -9276,7 +8608,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": +"supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -9285,25 +8617,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.1.1": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: ^4.0.0 - checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 - languageName: node - linkType: hard - -"supports-hyperlinks@npm:^2.2.0": - version: 2.3.0 - resolution: "supports-hyperlinks@npm:2.3.0" - dependencies: - has-flag: ^4.0.0 - supports-color: ^7.0.0 - checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 - languageName: node - linkType: hard - "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -9311,6 +8624,16 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.8.5": + version: 0.8.5 + resolution: "synckit@npm:0.8.5" + dependencies: + "@pkgr/utils": ^2.3.1 + tslib: ^2.5.0 + checksum: 8a9560e5d8f3d94dc3cf5f7b9c83490ffa30d320093560a37b88f59483040771fd1750e76b9939abfbb1b5a23fd6dfbae77f6b338abffe7cae7329cd9b9bb86b + languageName: node + linkType: hard + "tabbable@npm:^6.0.1": version: 6.1.2 resolution: "tabbable@npm:6.1.2" @@ -9318,6 +8641,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + languageName: node + linkType: hard + "tar-fs@npm:~2.0.1": version: 2.0.1 resolution: "tar-fs@npm:2.0.1" @@ -9392,13 +8722,6 @@ __metadata: languageName: node linkType: hard -"time-zone@npm:^1.0.0": - version: 1.0.0 - resolution: "time-zone@npm:1.0.0" - checksum: e46f5a69b8c236dcd8e91e29d40d4e7a3495ed4f59888c3f84ce1d9678e20461421a6ba41233509d47dd94bc18f1a4377764838b21b584663f942b3426dcbce8 - languageName: node - linkType: hard - "tinybench@npm:^2.5.0": version: 2.5.0 resolution: "tinybench@npm:2.5.0" @@ -9406,20 +8729,27 @@ __metadata: languageName: node linkType: hard -"tinypool@npm:^0.5.0": - version: 0.5.0 - resolution: "tinypool@npm:0.5.0" - checksum: 4e0dfd8f28666d541c1d92304222edc4613f05d74fe2243c8520d466a2cc6596011a7072c1c41a7de7522351b82fda07e8038198e8f43673d8d69401c5903f8c +"tinypool@npm:^0.6.0": + version: 0.6.0 + resolution: "tinypool@npm:0.6.0" + checksum: 996bf3a922993cec568d6b6ddc72531700b2a8aea24623ed6946a8929557b0f17629955d20defda09cb3b12fc94087159f14cb8e06570adce7d1b7d2eef00a91 languageName: node linkType: hard -"tinyspy@npm:^2.1.0": +"tinyspy@npm:^2.1.1": version: 2.1.1 resolution: "tinyspy@npm:2.1.1" checksum: cfe669803a7f11ca912742b84c18dcc4ceecaa7661c69bc5eb608a8a802d541c48aba220df8929f6c8cd09892ad37cb5ba5958ddbbb57940e91d04681d3cee73 languageName: node linkType: hard +"titleize@npm:^3.0.0": + version: 3.0.0 + resolution: "titleize@npm:3.0.0" + checksum: 71fbbeabbfb36ccd840559f67f21e356e1d03da2915b32d2ae1a60ddcc13a124be2739f696d2feb884983441d159a18649e8d956648d591bdad35c430a6b6d28 + languageName: node + linkType: hard + "to-fast-properties@npm:^2.0.0": version: 2.0.0 resolution: "to-fast-properties@npm:2.0.0" @@ -9469,7 +8799,7 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.9.1, ts-node@npm:latest": +"ts-node@npm:latest": version: 10.9.1 resolution: "ts-node@npm:10.9.1" dependencies: @@ -9507,6 +8837,20 @@ __metadata: languageName: node linkType: hard +"tsconfck@npm:^2.1.0": + version: 2.1.1 + resolution: "tsconfck@npm:2.1.1" + peerDependencies: + typescript: ^4.3.5 || ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + bin: + tsconfck: bin/tsconfck.js + checksum: c531525f39763cbbd7e6dbf5e29f12a7ae67eb8712816c14d06a9db6cbdc9dda9ac3cd6db07ef645f8a4cdea906447ab44e2c8679e320871cf9dd598756e8c83 + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.14.1": version: 3.14.2 resolution: "tsconfig-paths@npm:3.14.2" @@ -9526,7 +8870,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.5.0": +"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0": version: 2.5.3 resolution: "tslib@npm:2.5.3" checksum: 88902b309afaf83259131c1e13da1dceb0ad1682a213143a1346a649143924d78cf3760c448b84d796938fd76127183894f8d85cbb3bf9c4fddbfcc140c0003c @@ -9544,15 +8888,6 @@ __metadata: languageName: node linkType: hard -"tunnel-agent@npm:^0.6.0": - version: 0.6.0 - resolution: "tunnel-agent@npm:0.6.0" - dependencies: - safe-buffer: ^5.0.1 - checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 - languageName: node - linkType: hard - "turbo-darwin-64@npm:1.10.3": version: 1.10.3 resolution: "turbo-darwin-64@npm:1.10.3" @@ -9654,20 +8989,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 - languageName: node - linkType: hard - -"type-fest@npm:^0.3.0": - version: 0.3.1 - resolution: "type-fest@npm:0.3.1" - checksum: 347ff46c2285616635cb59f722e7f396bee81b8988b6fc1f1536b725077f2abf6ccfa22ab7a78e9b6ce7debea0e6614bbf5946cbec6674ec1bde12113af3a65c - languageName: node - linkType: hard - "type-is@npm:^1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" @@ -9689,30 +9010,23 @@ __metadata: languageName: node linkType: hard -"typedarray@npm:^0.0.6": - version: 0.0.6 - resolution: "typedarray@npm:0.0.6" - checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1 - languageName: node - linkType: hard - -"typescript@npm:^5.0.4": - version: 5.1.3 - resolution: "typescript@npm:5.1.3" +"typescript@npm:^5.1.0": + version: 5.1.6 + resolution: "typescript@npm:5.1.6" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: d9d51862d98efa46534f2800a1071a613751b1585dc78884807d0c179bcd93d6e9d4012a508e276742f5f33c480adefc52ffcafaf9e0e00ab641a14cde9a31c7 + checksum: b2f2c35096035fe1f5facd1e38922ccb8558996331405eb00a5111cc948b2e733163cc22fab5db46992aba7dd520fff637f2c1df4996ff0e134e77d3249a7350 languageName: node linkType: hard -"typescript@patch:typescript@^5.0.4#~builtin": - version: 5.1.3 - resolution: "typescript@patch:typescript@npm%3A5.1.3#~builtin::version=5.1.3&hash=5da071" +"typescript@patch:typescript@^5.1.0#~builtin": + version: 5.1.6 + resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin::version=5.1.6&hash=5da071" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 6f0a9dca6bf4ce9dcaf4e282aade55ef4c56ecb5fb98d0a4a5c0113398815aea66d871b5611e83353e5953a19ed9ef103cf5a76ac0f276d550d1e7cd5344f61e + checksum: f53bfe97f7c8b2b6d23cf572750d4e7d1e0c5fff1c36d859d0ec84556a827b8785077bc27676bf7e71fae538e517c3ecc0f37e7f593be913d884805d931bc8be languageName: node linkType: hard @@ -9760,10 +9074,10 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^2.0.0": - version: 2.0.0 - resolution: "universalify@npm:2.0.0" - checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 +"untildify@npm:^4.0.0": + version: 4.0.0 + resolution: "untildify@npm:4.0.0" + checksum: 39ced9c418a74f73f0a56e1ba4634b4d959422dff61f4c72a8e39f60b99380c1b45ed776fbaa0a4101b157e4310d873ad7d114e8534ca02609b4916bb4187fb9 languageName: node linkType: hard @@ -9889,7 +9203,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:9.0.0, uuid@npm:^9.0.0": +"uuid@npm:^9.0.0": version: 9.0.0 resolution: "uuid@npm:9.0.0" bin: @@ -9917,8 +9231,8 @@ __metadata: linkType: hard "video.js@npm:^7 || ^8, video.js@npm:^8.0.3": - version: 8.4.2 - resolution: "video.js@npm:8.4.2" + version: 8.5.0 + resolution: "video.js@npm:8.5.0" dependencies: "@babel/runtime": ^7.12.5 "@videojs/http-streaming": 3.3.1 @@ -9934,7 +9248,7 @@ __metadata: videojs-contrib-quality-levels: 4.0.0 videojs-font: 4.1.0 videojs-vtt.js: 0.15.4 - checksum: 0c8ec981ce6af06da5ed0af7af727b504d2dbdfc992b2b8aa7ed6c250af0b100305a69e7277a3b51711ffcb9cbce3ceadb146208b9556befb068d1b0d8c43aee + checksum: 519b7063eb3cfe21cfea8ab65c25d8ad4da2798703d831bafd4b6930a2cc2e75f990aaba5854dac797723df9d4a172729b2dbe5ba9223c9deea3cfe671ede9f3 languageName: node linkType: hard @@ -9965,19 +9279,35 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:0.32.0": - version: 0.32.0 - resolution: "vite-node@npm:0.32.0" +"vite-node@npm:0.33.0": + version: 0.33.0 + resolution: "vite-node@npm:0.33.0" dependencies: cac: ^6.7.14 debug: ^4.3.4 - mlly: ^1.2.0 - pathe: ^1.1.0 + mlly: ^1.4.0 + pathe: ^1.1.1 picocolors: ^1.0.0 vite: ^3.0.0 || ^4.0.0 bin: vite-node: vite-node.mjs - checksum: ce1c45e7d903afc001a08b3bc3159d268e8422e28ec7ffa8e4a4f99d18c9f4e447db989a6e0a8e168d3a4f4e6eb0b954f2b51ef1a85f29cc3f7f561045ff0bbe + checksum: 7c37911251d3e318fe4ad6b4093207498336ce190a58afb43a9ae701eee7f110ef80920b79061710cf6abcc6335ce58f6ca412ee6b268f25fe10f278c94cc264 + languageName: node + linkType: hard + +"vite-tsconfig-paths@npm:^4.2.0": + version: 4.2.0 + resolution: "vite-tsconfig-paths@npm:4.2.0" + dependencies: + debug: ^4.1.1 + globrex: ^0.1.2 + tsconfck: ^2.1.0 + peerDependencies: + vite: "*" + peerDependenciesMeta: + vite: + optional: true + checksum: 73a8467de72d7ac502328454fd00c19571cd4bad2dd5982643b24718bb95e449a3f4153cfc2d58a358bfc8f37e592fb442fc10884b59ae82138c1329160cd952 languageName: node linkType: hard @@ -10029,34 +9359,33 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^0.32.0": - version: 0.32.0 - resolution: "vitest@npm:0.32.0" +"vitest@npm:^0.33.0": + version: 0.33.0 + resolution: "vitest@npm:0.33.0" dependencies: "@types/chai": ^4.3.5 "@types/chai-subset": ^1.3.3 "@types/node": "*" - "@vitest/expect": 0.32.0 - "@vitest/runner": 0.32.0 - "@vitest/snapshot": 0.32.0 - "@vitest/spy": 0.32.0 - "@vitest/utils": 0.32.0 - acorn: ^8.8.2 + "@vitest/expect": 0.33.0 + "@vitest/runner": 0.33.0 + "@vitest/snapshot": 0.33.0 + "@vitest/spy": 0.33.0 + "@vitest/utils": 0.33.0 + acorn: ^8.9.0 acorn-walk: ^8.2.0 cac: ^6.7.14 chai: ^4.3.7 - concordance: ^5.0.4 debug: ^4.3.4 local-pkg: ^0.4.3 - magic-string: ^0.30.0 - pathe: ^1.1.0 + magic-string: ^0.30.1 + pathe: ^1.1.1 picocolors: ^1.0.0 - std-env: ^3.3.2 + std-env: ^3.3.3 strip-literal: ^1.0.1 tinybench: ^2.5.0 - tinypool: ^0.5.0 + tinypool: ^0.6.0 vite: ^3.0.0 || ^4.0.0 - vite-node: 0.32.0 + vite-node: 0.33.0 why-is-node-running: ^2.2.2 peerDependencies: "@edge-runtime/vm": "*" @@ -10086,7 +9415,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: a752f7a2290e08cc4033936b1b9e1fe6adcb156bccff6404d4950b4f913c01a8015768f8dbd35267752331311dc55e218d56c5271c56e5ca9c848a36a5dc5b55 + checksum: c1884b2a1a41af81ee54c86a986a32b6a4c69ec3b3f7d2322f92c8fad5532d6a12160e7efb7927e4c53d95806ef4ede9549bdd82c66604e281c71056212f56e7 languageName: node linkType: hard @@ -10097,6 +9426,16 @@ __metadata: languageName: node linkType: hard +"watchpack@npm:2.4.0": + version: 2.4.0 + resolution: "watchpack@npm:2.4.0" + dependencies: + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.1.2 + checksum: 23d4bc58634dbe13b86093e01c6a68d8096028b664ab7139d58f0c37d962d549a940e98f2f201cecdabd6f9c340338dc73ef8bf094a2249ef582f35183d1a131 + languageName: node + linkType: hard + "web-streams-polyfill@npm:4.0.0-beta.3": version: 4.0.0-beta.3 resolution: "web-streams-polyfill@npm:4.0.0-beta.3" @@ -10137,13 +9476,6 @@ __metadata: languageName: node linkType: hard -"well-known-symbols@npm:^2.0.0": - version: 2.0.0 - resolution: "well-known-symbols@npm:2.0.0" - checksum: 4f54bbc3012371cb4d228f436891b8e7536d34ac61a57541890257e96788608e096231e0121ac24d08ef2f908b3eb2dc0adba35023eaeb2a7df655da91415402 - languageName: node - linkType: hard - "whatwg-encoding@npm:^2.0.0": version: 2.0.0 resolution: "whatwg-encoding@npm:2.0.0" @@ -10209,17 +9541,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.9": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: ^2.0.0 - bin: - which: ./bin/which - checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 - languageName: node - linkType: hard - "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -10252,29 +9573,6 @@ __metadata: languageName: node linkType: hard -"widest-line@npm:^3.1.0": - version: 3.1.0 - resolution: "widest-line@npm:3.1.0" - dependencies: - string-width: ^4.0.0 - checksum: 03db6c9d0af9329c37d74378ff1d91972b12553c7d72a6f4e8525fe61563fa7adb0b9d6e8d546b7e059688712ea874edd5ded475999abdeedf708de9849310e0 - languageName: node - linkType: hard - -"word-wrap@npm:^1.2.3": - version: 1.2.3 - resolution: "word-wrap@npm:1.2.3" - checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f - languageName: node - linkType: hard - -"wordwrap@npm:^1.0.0": - version: 1.0.0 - resolution: "wordwrap@npm:1.0.0" - checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 - languageName: node - linkType: hard - "wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -10293,7 +9591,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7.3.1, ws@npm:^7.5.5": +"ws@npm:^7.3.1": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -10348,7 +9646,7 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.2": +"xtend@npm:^4.0.0": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a @@ -10414,16 +9712,6 @@ __metadata: languageName: node linkType: hard -"yarn@npm:^1.22.18, yarn@npm:^1.22.19": - version: 1.22.19 - resolution: "yarn@npm:1.22.19" - bin: - yarn: bin/yarn.js - yarnpkg: bin/yarn.js - checksum: b43d2cc5fee7e933beb12a8aee7dfceca9e9ef2dd17c5d04d15a12ab7bec5f5744ea34a07b86e013da7f291a18c4e1ad8f70e150f5ed2f4666e6723c7f0a8452 - languageName: node - linkType: hard - "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1" @@ -10453,8 +9741,8 @@ __metadata: linkType: hard "zustand@npm:^4.3.7": - version: 4.3.8 - resolution: "zustand@npm:4.3.8" + version: 4.3.9 + resolution: "zustand@npm:4.3.9" dependencies: use-sync-external-store: 1.2.0 peerDependencies: @@ -10465,6 +9753,6 @@ __metadata: optional: true react: optional: true - checksum: 24db6bf063ce1fc8b2ee238f13211a88f43236541a716e5f6f706f613c671a45332465f9ed06d694f8c353da3d24c53ea668e5712a86aceda9ad74f6c433e8c0 + checksum: fc83d653913fa537c354ba8b95d3a4fdebe62d2ebd3d9f5aeff2edf062811c0f5af48e02ab4da32b666752fd4f3e78c2b44624e445254f48503595435d4a7d70 languageName: node linkType: hard