mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 09:35:54 -08:00
Compare commits
47 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2245cdda55 | ||
|
|
cf9109384e | ||
|
|
db1fb4b899 | ||
|
|
20048ff567 | ||
|
|
e6c7692677 | ||
|
|
19bdc0ec34 | ||
|
|
cd8c224ffa | ||
|
|
b1ca6b8e1a | ||
|
|
3fd8247a40 | ||
|
|
798ca3dea9 | ||
|
|
5c5b6f17d9 | ||
|
|
8e6c7ec152 | ||
|
|
2cc38b9a4f | ||
|
|
50aa416612 | ||
|
|
96bd6eedc2 | ||
|
|
d12b0d5a53 | ||
|
|
e2d6794d12 | ||
|
|
50ccb0b14d | ||
|
|
132d8f4f6b | ||
|
|
c085cf1e72 | ||
|
|
ebb1a50e3f | ||
|
|
8f82976fe5 | ||
|
|
6da46dd3b1 | ||
|
|
5fc3bdee08 | ||
|
|
bcc867323f | ||
|
|
a46a234b76 | ||
|
|
f0df2122de | ||
|
|
ce695850bd | ||
|
|
8c12afced5 | ||
|
|
8c1e50d9e7 | ||
|
|
20f5134606 | ||
|
|
facc98018b | ||
|
|
581828d49a | ||
|
|
587027df37 | ||
|
|
85736c55c9 | ||
|
|
1f47ee8f11 | ||
|
|
1eb6ac6d90 | ||
|
|
295c6ea796 | ||
|
|
68c2b04090 | ||
|
|
1494458ba6 | ||
|
|
f7086c8aa3 | ||
|
|
59ccc90b2f | ||
|
|
1e9e911877 | ||
|
|
dc67024be2 | ||
|
|
b3591c3e69 | ||
|
|
9243187490 | ||
|
|
6b1080ad43 |
6
.github/DISCUSSION_TEMPLATE/support.yml
vendored
6
.github/DISCUSSION_TEMPLATE/support.yml
vendored
@@ -4,8 +4,8 @@ body:
|
|||||||
value: |
|
value: |
|
||||||
### ⚠️ Before opening a discussion:
|
### ⚠️ Before opening a discussion:
|
||||||
|
|
||||||
- [Check the troubleshooting guide](https://gethomepage.dev/latest/troubleshooting/).
|
- [Check the troubleshooting guide](https://gethomepage.dev/troubleshooting/).
|
||||||
- [Search existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) [and discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
|
- [Search existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) [and discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions) (including closed ones!).
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: description
|
id: description
|
||||||
attributes:
|
attributes:
|
||||||
@@ -51,6 +51,6 @@ body:
|
|||||||
id: troubleshooting
|
id: troubleshooting
|
||||||
attributes:
|
attributes:
|
||||||
label: Troubleshooting
|
label: Troubleshooting
|
||||||
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/latest/more/troubleshooting/#service-widget-errors), if relevant.
|
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/more/troubleshooting/#service-widget-errors), if relevant.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Please include a summary of the change. Screenshots and/or videos can also be helpful if appropriate.
|
Please include a summary of the change. Screenshots and/or videos can also be helpful if appropriate.
|
||||||
|
|
||||||
*** Please see the development guidelines for new widgets: https://gethomepage.dev/latest/more/development/#service-widget-guidelines
|
*** Please see the development guidelines for new widgets: https://gethomepage.dev/more/development/#service-widget-guidelines
|
||||||
*** If you do not follow these guidelines your PR will likely be closed without review.
|
*** If you do not follow these guidelines your PR will likely be closed without review.
|
||||||
|
|
||||||
New service widgets should include example(s) of relevant API output as well as updates to the docs for the new widget.
|
New service widgets should include example(s) of relevant API output as well as updates to the docs for the new widget.
|
||||||
@@ -26,6 +26,6 @@ What type of change does your PR introduce to Homepage?
|
|||||||
## Checklist:
|
## Checklist:
|
||||||
|
|
||||||
- [ ] If applicable, I have added corresponding documentation changes.
|
- [ ] If applicable, I have added corresponding documentation changes.
|
||||||
- [ ] If applicable, I have reviewed the [feature](https://gethomepage.dev/latest/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/latest/more/development/#service-widget-guidelines).
|
- [ ] If applicable, I have reviewed the [feature](https://gethomepage.dev/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/more/development/#service-widget-guidelines).
|
||||||
- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/latest/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/latest/more/development/#code-linting).
|
- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/more/development/#code-linting).
|
||||||
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
|
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
|
||||||
|
|||||||
6
.github/workflows/crowdin.yml
vendored
6
.github/workflows/crowdin.yml
vendored
@@ -8,7 +8,7 @@ on:
|
|||||||
paths: [
|
paths: [
|
||||||
'/public/locales/en/**',
|
'/public/locales/en/**',
|
||||||
]
|
]
|
||||||
branches: [ main ]
|
branches: [ dev ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
synchronize-with-crowdin:
|
synchronize-with-crowdin:
|
||||||
@@ -23,8 +23,8 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
upload_translations: false
|
upload_translations: false
|
||||||
download_translations: true
|
download_translations: true
|
||||||
crowdin_branch_name: main
|
crowdin_branch_name: dev
|
||||||
localization_branch_name: l10n_main
|
localization_branch_name: l10n_dev
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||||
|
|||||||
3
.github/workflows/docker-publish.yml
vendored
3
.github/workflows/docker-publish.yml
vendored
@@ -12,13 +12,14 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- feature/**
|
- feature/**
|
||||||
|
- dev
|
||||||
# Publish semver tags as releases.
|
# Publish semver tags as releases.
|
||||||
tags: [ 'v*.*.*' ]
|
tags: [ 'v*.*.*' ]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'mkdocs.yml'
|
- 'mkdocs.yml'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ "main" ]
|
branches: [ "dev" ]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'mkdocs.yml'
|
- 'mkdocs.yml'
|
||||||
|
|||||||
26
.github/workflows/docs-publish.yml
vendored
26
.github/workflows/docs-publish.yml
vendored
@@ -50,7 +50,6 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
mkdocs-material-
|
mkdocs-material-
|
||||||
- run: sudo apt-get install pngquant
|
- run: sudo apt-get install pngquant
|
||||||
- run: pip install mike
|
|
||||||
- run: pip install mkdocs-material mkdocs-redirects "mkdocs-material[imaging]"
|
- run: pip install mkdocs-material mkdocs-redirects "mkdocs-material[imaging]"
|
||||||
- name: Test Docs Build
|
- name: Test Docs Build
|
||||||
run: MKINSIDERS=false mkdocs build
|
run: MKINSIDERS=false mkdocs build
|
||||||
@@ -62,8 +61,10 @@ jobs:
|
|||||||
- pre-commit
|
- pre-commit
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
- name: Configure Git Credentials
|
||||||
ref: main
|
run: |
|
||||||
|
git config user.name github-actions[bot]
|
||||||
|
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
@@ -75,24 +76,9 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
mkdocs-material-
|
mkdocs-material-
|
||||||
- run: sudo apt-get install pngquant
|
- run: sudo apt-get install pngquant
|
||||||
- run: pip install mike==2.0.0
|
|
||||||
- run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git
|
- run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git
|
||||||
- run: pip install mkdocs-redirects "mkdocs-material[imaging]"
|
- run: pip install mkdocs-redirects "mkdocs-material[imaging]"
|
||||||
- name: Set Git config
|
- name: Docs Deploy
|
||||||
run: |
|
run: MKINSIDERS=true mkdocs gh-deploy --force
|
||||||
git config --global user.name "GitHub Action"
|
|
||||||
git config --global user.email "action@github.com"
|
|
||||||
- name: Sync gh-pages
|
|
||||||
run: |
|
|
||||||
git fetch origin gh-pages
|
|
||||||
git checkout gh-pages
|
|
||||||
git pull origin gh-pages
|
|
||||||
git checkout main
|
|
||||||
- name: Docs Deploy for Main
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
run: MKINSIDERS=true mike deploy --update --push ${{github.ref_name}}
|
|
||||||
- name: Docs Deploy for Tags
|
|
||||||
if: github.ref != 'refs/heads/main'
|
|
||||||
run: MKINSIDERS=true mike deploy --update --push ${{github.ref_name}} latest
|
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
|||||||
@@ -38,11 +38,11 @@ People _love_ thorough bug reports. I'm not even kidding.
|
|||||||
|
|
||||||
## Development Guidelines
|
## Development Guidelines
|
||||||
|
|
||||||
Please see the [documentation regarding development](https://gethomepage.dev/latest/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/latest/more/development/#service-widget-guidelines) if you are considering making one.
|
Please see the [documentation regarding development](https://gethomepage.dev/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/more/development/#service-widget-guidelines) if you are considering making one.
|
||||||
|
|
||||||
## Use a Consistent Coding Style
|
## Use a Consistent Coding Style
|
||||||
|
|
||||||
Please see information in the docs regarding [code formatting with pre-commit hooks](https://gethomepage.dev/latest/more/development/#code-formatting-with-pre-commit-hooks).
|
Please see information in the docs regarding [code formatting with pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
<a href="https://discord.gg/k4ruYNrudu"><img alt="Discord" src="https://img.shields.io/discord/1019316731635834932"></a>
|
<a href="https://discord.gg/k4ruYNrudu"><img alt="Discord" src="https://img.shields.io/discord/1019316731635834932"></a>
|
||||||
|
|
||||||
<a href="http://gethomepage.dev/latest/" title="Docs"><img title="Docs" src="https://github.com/gethomepage/homepage/actions/workflows/docs-publish.yml/badge.svg"/></a>
|
<a href="https://gethomepage.dev/" title="Docs"><img title="Docs" src="https://github.com/gethomepage/homepage/actions/workflows/docs-publish.yml/badge.svg"/></a>
|
||||||
|
|
||||||
<a href="https://paypal.me/phelpsben" title="Donate"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/benphelps"></a>
|
<a href="https://paypal.me/phelpsben" title="Donate"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/benphelps"></a>
|
||||||
</p>
|
</p>
|
||||||
@@ -48,19 +48,19 @@ With features like quick search, bookmarks, weather support, a wide range of int
|
|||||||
|
|
||||||
## Docker Integration
|
## Docker Integration
|
||||||
|
|
||||||
Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the [Docker Service Discovery](https://gethomepage.dev/latest/configs/docker/#automatic-service-discovery) page for more information.
|
Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the [Docker Service Discovery](https://gethomepage.dev/configs/docker/#automatic-service-discovery) page for more information.
|
||||||
|
|
||||||
## Service Widgets
|
## Service Widgets
|
||||||
|
|
||||||
Homepage also has support for over 100 3rd party services, including all popular starr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd party APIs. See the [Service](https://gethomepage.dev/latest/widgets/) page for more information.
|
Homepage also has support for over 100 3rd party services, including all popular starr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd party APIs. See the [Service](https://gethomepage.dev/widgets/) page for more information.
|
||||||
|
|
||||||
## Information Widgets
|
## Information Widgets
|
||||||
|
|
||||||
Homepage has built-in support for a number of information providers, including weather, time, date, search, glances and more. System and status information presented at the top of the page. See the [Information Providers](https://gethomepage.dev/latest/widgets/) page for more information.
|
Homepage has built-in support for a number of information providers, including weather, time, date, search, glances and more. System and status information presented at the top of the page. See the [Information Providers](https://gethomepage.dev/widgets/) page for more information.
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
Homepage is highly customizable, with support for custom themes, custom CSS & JS, custom layouts, formatting, localization and more. See the [Settings](https://gethomepage.dev/latest/configs/settings/) page for more information.
|
Homepage is highly customizable, with support for custom themes, custom CSS & JS, custom layouts, formatting, localization and more. See the [Settings](https://gethomepage.dev/configs/settings/) page for more information.
|
||||||
|
|
||||||
# Getting Started
|
# Getting Started
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ If you have any questions, suggestions, or general issues, please start a discus
|
|||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
In addition to the docs, the [troubleshooting guide](https://gethomepage.dev/latest/troubleshooting/) can help reveal many basic config or network issues. If you're having a problem, it's a good place to start.
|
In addition to the docs, the [troubleshooting guide](https://gethomepage.dev/troubleshooting/) can help reveal many basic config or network issues. If you're having a problem, it's a good place to start.
|
||||||
|
|
||||||
## Contributing & Contributors
|
## Contributing & Contributors
|
||||||
|
|
||||||
|
|||||||
1
docs/CNAME
Normal file
1
docs/CNAME
Normal file
@@ -0,0 +1 @@
|
|||||||
|
gethomepage.dev
|
||||||
@@ -65,9 +65,13 @@ Services may have descriptions,
|
|||||||
|
|
||||||
Services may have an icon attached to them, you can use icons from [Dashboard Icons](https://github.com/walkxcode/dashboard-icons) automatically, by passing the name of the icon, with, or without `.png` or with `.svg` to use the svg version.
|
Services may have an icon attached to them, you can use icons from [Dashboard Icons](https://github.com/walkxcode/dashboard-icons) automatically, by passing the name of the icon, with, or without `.png` or with `.svg` to use the svg version.
|
||||||
|
|
||||||
You can also specify prefixed icons from [Material Design Icons](https://materialdesignicons.com) with `mdi-XX` or [Simple Icons](https://simpleicons.org/) with `si-XX`.
|
You can also specify prefixed icons from:
|
||||||
|
|
||||||
You can specify a custom color by adding a hex color code as suffix e.g. `mdi-XX-#f0d453` or `si-XX-#a712a2`.
|
- [Material Design Icons](https://pictogrammers.com/library/mdi/) with `mdi-XX`
|
||||||
|
- [Simple Icons](https://simpleicons.org/) with `si-XX`
|
||||||
|
- [selfh.st/icons](https://selfh.st/icons/) with `sh-XX` to use the png version or `sh-XX.svg/png/webp` for a specific version
|
||||||
|
|
||||||
|
You can specify a custom color for `mdi` and `si` icons by adding a hex color code as a suffix e.g. `mdi-XX-#f0d453` or `si-XX-#a712a2`.
|
||||||
|
|
||||||
To use a remote icon, use the absolute URL (e.g. `https://...`).
|
To use a remote icon, use the absolute URL (e.g. `https://...`).
|
||||||
|
|
||||||
@@ -171,7 +175,7 @@ Services may be connected to a Docker container, either running on the local mac
|
|||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
|
|
||||||
This can also be controlled with `showStats`. See [show docker stats](docker.md#show-docker-stats) for more information
|
This can also be controlled with `showStats`. See [show docker stats](docker.md#show-stats) for more information
|
||||||
|
|
||||||
<img width="1038" alt="Docker Stats Expanded" src="https://github.com/gethomepage/homepage/assets/88257202/f95fd595-449e-48ae-af67-fd89618904ec">
|
<img width="1038" alt="Docker Stats Expanded" src="https://github.com/gethomepage/homepage/assets/88257202/f95fd595-449e-48ae-af67-fd89618904ec">
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ icon: simple/docker
|
|||||||
You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.
|
You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
!!! danger
|
!!! warning
|
||||||
|
|
||||||
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
|
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
|
||||||
|
|
||||||
|
|||||||
@@ -31,15 +31,15 @@ You may need to set the permissions of the folders to be able to edit the files.
|
|||||||
|
|
||||||
- To use the [Docker integration](../configs/docker.md), you only need to use the `container:` parameter. There is no need to set the server.
|
- To use the [Docker integration](../configs/docker.md), you only need to use the `container:` parameter. There is no need to set the server.
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
|
|
||||||
To view detailed container statistics (CPU, RAM, etc.), or if you use a remote docker socket, `container:` will still need to be set. For example:
|
To view detailed container statistics (CPU, RAM, etc.), or if you use a remote docker socket, `container:` will still need to be set. For example:
|
||||||
|
|
||||||
```
|
```
|
||||||
- Plex:
|
- Plex:
|
||||||
icon: /icons/plex.png
|
icon: /icons/plex.png
|
||||||
href: https://app.plex.com
|
href: https://app.plex.com
|
||||||
container: plex
|
container: plex
|
||||||
```
|
```
|
||||||
|
|
||||||
- When you upload a new image into the **/images** folder, you will need to restart the container for it to show up in the WebUI. Please see the [service icons](../configs/services.md#icons) for more information.
|
- When you upload a new image into the **/images** folder, you will need to restart the container for it to show up in the WebUI. Please see the [service icons](../configs/services.md#icons) for more information.
|
||||||
|
|||||||
@@ -57,6 +57,11 @@
|
|||||||
--carbon-text-color: var(--md-typeset-color) !important;
|
--carbon-text-color: var(--md-typeset-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-md-color-scheme="default"] .carbon-text {
|
||||||
|
color: var(--md-code-fg-color) !important;
|
||||||
|
--carbon-text-color: #313131 !important;
|
||||||
|
}
|
||||||
|
|
||||||
.md-typeset__table {
|
.md-typeset__table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ hide:
|
|||||||
|
|
||||||
All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to try:
|
All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to try:
|
||||||
|
|
||||||
1. Ensure that you follow the rule mentioned on https://gethomepage.dev/latest/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as including a trailing slash can result in an error.
|
1. Ensure that you follow the rule mentioned on https://gethomepage.dev/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as including a trailing slash can result in an error.
|
||||||
|
|
||||||
2. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.:
|
2. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.:
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ Learn more about [Changedetection.io](https://github.com/dgtlmoon/changedetectio
|
|||||||
|
|
||||||
Find your API key under `Settings > API`.
|
Find your API key under `Settings > API`.
|
||||||
|
|
||||||
|
Allowed fields: `["diffsDetected", "totalObserved"]`.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
widget:
|
widget:
|
||||||
type: changedetectionio
|
type: changedetectionio
|
||||||
|
|||||||
@@ -11,8 +11,11 @@ Learn more about [Gluetun](https://github.com/qdm12/gluetun).
|
|||||||
|
|
||||||
Allowed fields: `["public_ip", "region", "country"]`.
|
Allowed fields: `["public_ip", "region", "country"]`.
|
||||||
|
|
||||||
|
To setup authentication, follow [the official Gluetun documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md#authentication).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
widget:
|
widget:
|
||||||
type: gluetun
|
type: gluetun
|
||||||
url: http://gluetun.host.or.ip:port
|
url: http://gluetun.host.or.ip:port
|
||||||
|
key: gluetunkey # Not required if /v1/publicip/ip endpoint is configured with `auth = none`
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ description: Immich Widget Configuration
|
|||||||
|
|
||||||
Learn more about [Immich](https://github.com/immich-app/immich).
|
Learn more about [Immich](https://github.com/immich-app/immich).
|
||||||
|
|
||||||
|
| Immich Version | Homepage Widget Version |
|
||||||
|
| -------------- | ----------------------- |
|
||||||
|
| < v1.118 | 1 (default) |
|
||||||
|
| >= v1.118 | 2 |
|
||||||
|
|
||||||
Find your API key under `Account Settings > API Keys`.
|
Find your API key under `Account Settings > API Keys`.
|
||||||
|
|
||||||
Allowed fields: `["users" ,"photos", "videos", "storage"]`.
|
Allowed fields: `["users" ,"photos", "videos", "storage"]`.
|
||||||
@@ -16,4 +21,5 @@ widget:
|
|||||||
type: immich
|
type: immich
|
||||||
url: http://immich.host.or.ip
|
url: http://immich.host.or.ip
|
||||||
key: adminapikeyadminapikeyadminapikey
|
key: adminapikeyadminapikeyadminapikey
|
||||||
|
version: 2 # optional, default is 1
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -59,7 +59,9 @@ You can also find a list of all available service widgets in the sidebar navigat
|
|||||||
- [Kopia](kopia.md)
|
- [Kopia](kopia.md)
|
||||||
- [Lidarr](lidarr.md)
|
- [Lidarr](lidarr.md)
|
||||||
- [Linkwarden](linkwarden.md)
|
- [Linkwarden](linkwarden.md)
|
||||||
|
- [Lubelogger](lubelogger.md)
|
||||||
- [Mastodon](mastodon.md)
|
- [Mastodon](mastodon.md)
|
||||||
|
- [Mailcow](mailcow.md)
|
||||||
- [Mealie](mealie.md)
|
- [Mealie](mealie.md)
|
||||||
- [Medusa](medusa.md)
|
- [Medusa](medusa.md)
|
||||||
- [Mikrotik](mikrotik.md)
|
- [Mikrotik](mikrotik.md)
|
||||||
@@ -126,6 +128,7 @@ You can also find a list of all available service widgets in the sidebar navigat
|
|||||||
- [Uptime Kuma](uptime-kuma.md)
|
- [Uptime Kuma](uptime-kuma.md)
|
||||||
- [UptimeRobot](uptimerobot.md)
|
- [UptimeRobot](uptimerobot.md)
|
||||||
- [UrBackup](urbackup.md)
|
- [UrBackup](urbackup.md)
|
||||||
|
- [Vikunja](vikunja.md)
|
||||||
- [Watchtower](watchtower.md)
|
- [Watchtower](watchtower.md)
|
||||||
- [WGEasy](wgeasy.md)
|
- [WGEasy](wgeasy.md)
|
||||||
- [WhatsUpDocker](whatsupdocker.md)
|
- [WhatsUpDocker](whatsupdocker.md)
|
||||||
|
|||||||
20
docs/widgets/services/lubelogger.md
Normal file
20
docs/widgets/services/lubelogger.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: LubeLogger
|
||||||
|
description: LubeLogger Widget Configuration
|
||||||
|
---
|
||||||
|
|
||||||
|
Learn more about [LubeLogger](https://github.com/hargata/lubelog) (v1.3.7 or higher is required).
|
||||||
|
|
||||||
|
The widget comes in two 'flavors', one shows data for all vehicles or for just a specific vehicle with the `vehicleID` parameter.
|
||||||
|
|
||||||
|
Allowed fields: `["vehicles", "serviceRecords", "reminders"]`.
|
||||||
|
For the single-vehicle version: `["vehicle", "serviceRecords", "reminders", "nextReminder"]
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
widget:
|
||||||
|
type: lubelogger
|
||||||
|
url: https://lubelogger.host.or.ip
|
||||||
|
username: lubeloggerusername
|
||||||
|
password: lubeloggerpassword
|
||||||
|
vehicleID: 1 # optional, changes to single-vehicle version
|
||||||
|
```
|
||||||
15
docs/widgets/services/mailcow.md
Normal file
15
docs/widgets/services/mailcow.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
title: Mailcow
|
||||||
|
description: Mailcow Widget Configuration
|
||||||
|
---
|
||||||
|
|
||||||
|
Learn more about [Mailcow](https://github.com/mailcow/mailcow-dockerized).
|
||||||
|
|
||||||
|
Allowed fields: `["domains", "mailboxes", "mails", "storage"]`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
widget:
|
||||||
|
type: mailcow
|
||||||
|
url: https://mailcow.host.or.ip
|
||||||
|
key: mailcowapikey
|
||||||
|
```
|
||||||
@@ -9,8 +9,11 @@ _Note that the project was renamed from PiAlert to NetAlertX._
|
|||||||
|
|
||||||
Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`.
|
Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`.
|
||||||
|
|
||||||
|
If you have enabled a password on your NetAlertX instance, you will need to provide the `SYNC_api_token` as the `key` in your config.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
widget:
|
widget:
|
||||||
type: netalertx
|
type: netalertx
|
||||||
url: http://ip:port
|
url: http://ip:port
|
||||||
|
key: netalertxsyncapitoken # optional, only if password is enabled
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ title: PhotoPrism
|
|||||||
description: PhotoPrism Widget Configuration
|
description: PhotoPrism Widget Configuration
|
||||||
---
|
---
|
||||||
|
|
||||||
Learn more about [PhotoPrism](https://github.com/photoprism/photoprism)..
|
Learn more about [PhotoPrism](https://github.com/photoprism/photoprism).
|
||||||
|
|
||||||
|
Authentication is possible via [app passwords](https://docs.photoprism.app/user-guide/settings/account/#apps-and-devices) or username/password.
|
||||||
|
|
||||||
Allowed fields: `["albums", "photos", "videos", "people"]`.
|
Allowed fields: `["albums", "photos", "videos", "people"]`.
|
||||||
|
|
||||||
@@ -11,6 +13,7 @@ Allowed fields: `["albums", "photos", "videos", "people"]`.
|
|||||||
widget:
|
widget:
|
||||||
type: photoprism
|
type: photoprism
|
||||||
url: http://photoprism.host.or.ip:port
|
url: http://photoprism.host.or.ip:port
|
||||||
username: admin
|
username: admin # required only if using username/password
|
||||||
password: password
|
password: password # required only if using username/password
|
||||||
|
key: # required only if using app passwords
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ description: PiHole Widget Configuration
|
|||||||
|
|
||||||
Learn more about [PiHole](https://github.com/pi-hole/pi-hole).
|
Learn more about [PiHole](https://github.com/pi-hole/pi-hole).
|
||||||
|
|
||||||
As of v2022.12 [PiHole requires the use of an API key](https://pi-hole.net/blog/2022/11/17/upcoming-changes-authentication-for-more-api-endpoints-required/#page-content) if an admin password is set. Older versions do not require any authentication even if the admin uses a password.
|
|
||||||
|
|
||||||
Allowed fields: `["queries", "blocked", "blocked_percent", "gravity"]`.
|
Allowed fields: `["queries", "blocked", "blocked_percent", "gravity"]`.
|
||||||
|
|
||||||
Note: by default the "blocked" and "blocked_percent" fields are merged e.g. "1,234 (15%)" but explicitly including the "blocked_percent" field will change them to display separately.
|
Note: by default the "blocked" and "blocked_percent" fields are merged e.g. "1,234 (15%)" but explicitly including the "blocked_percent" field will change them to display separately.
|
||||||
@@ -18,5 +16,3 @@ widget:
|
|||||||
version: 6 # required if running v6 or higher, defaults to 5
|
version: 6 # required if running v6 or higher, defaults to 5
|
||||||
key: yourpiholeapikey # optional
|
key: yourpiholeapikey # optional
|
||||||
```
|
```
|
||||||
|
|
||||||
_Added in v0.1.0, updated in v0.8.9_
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Learn more about [Unifi Controller](https://ui.com/).
|
|||||||
|
|
||||||
_(Find the Unifi Controller information widget [here](../info/unifi_controller.md))_
|
_(Find the Unifi Controller information widget [here](../info/unifi_controller.md))_
|
||||||
|
|
||||||
You can display general connectivity status from your Unifi (Network) Controller. When authenticating you will want to use an account that has at least read privileges.
|
You can display general connectivity status from your Unifi (Network) Controller. When authenticating you will want to use a local account that has at least read privileges.
|
||||||
|
|
||||||
An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller.
|
An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller.
|
||||||
|
|
||||||
|
|||||||
18
docs/widgets/services/vikunja.md
Normal file
18
docs/widgets/services/vikunja.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: Vikunja
|
||||||
|
description: Vikunja Widget Configuration
|
||||||
|
---
|
||||||
|
|
||||||
|
Learn more about [Vikunja](https://vikunja.io).
|
||||||
|
|
||||||
|
Allowed fields: `["projects", "tasks7d", "tasksOverdue", "tasksInProgress"]`.
|
||||||
|
|
||||||
|
A list of the next 5 tasks ordered by due date is disabled by default, but can be enabled with the `enableTaskList` option.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
widget:
|
||||||
|
type: vikunja
|
||||||
|
url: http[s]://vikunja.host.or.ip[:port]
|
||||||
|
key: vikunjaapikey
|
||||||
|
enableTaskList: true # optional, defaults to false
|
||||||
|
```
|
||||||
@@ -47,6 +47,7 @@ nav:
|
|||||||
- widgets/services/crowdsec.md
|
- widgets/services/crowdsec.md
|
||||||
- widgets/services/customapi.md
|
- widgets/services/customapi.md
|
||||||
- widgets/services/deluge.md
|
- widgets/services/deluge.md
|
||||||
|
- widgets/services/develancacheui.md
|
||||||
- widgets/services/diskstation.md
|
- widgets/services/diskstation.md
|
||||||
- widgets/services/downloadstation.md
|
- widgets/services/downloadstation.md
|
||||||
- widgets/services/emby.md
|
- widgets/services/emby.md
|
||||||
@@ -81,7 +82,9 @@ nav:
|
|||||||
- widgets/services/kopia.md
|
- widgets/services/kopia.md
|
||||||
- widgets/services/lidarr.md
|
- widgets/services/lidarr.md
|
||||||
- widgets/services/linkwarden.md
|
- widgets/services/linkwarden.md
|
||||||
|
- widgets/services/lubelogger.md
|
||||||
- widgets/services/mastodon.md
|
- widgets/services/mastodon.md
|
||||||
|
- widgets/services/mailcow.md
|
||||||
- widgets/services/mealie.md
|
- widgets/services/mealie.md
|
||||||
- widgets/services/medusa.md
|
- widgets/services/medusa.md
|
||||||
- widgets/services/mikrotik.md
|
- widgets/services/mikrotik.md
|
||||||
@@ -148,6 +151,7 @@ nav:
|
|||||||
- widgets/services/uptime-kuma.md
|
- widgets/services/uptime-kuma.md
|
||||||
- widgets/services/uptimerobot.md
|
- widgets/services/uptimerobot.md
|
||||||
- widgets/services/urbackup.md
|
- widgets/services/urbackup.md
|
||||||
|
- widgets/services/vikunja.md
|
||||||
- widgets/services/watchtower.md
|
- widgets/services/watchtower.md
|
||||||
- widgets/services/wgeasy.md
|
- widgets/services/wgeasy.md
|
||||||
- widgets/services/whatsupdocker.md
|
- widgets/services/whatsupdocker.md
|
||||||
@@ -231,8 +235,6 @@ extra_css:
|
|||||||
- "stylesheets/extra.css"
|
- "stylesheets/extra.css"
|
||||||
|
|
||||||
extra:
|
extra:
|
||||||
version:
|
|
||||||
provider: mike
|
|
||||||
social:
|
social:
|
||||||
- icon: fontawesome/brands/discord
|
- icon: fontawesome/brands/discord
|
||||||
link: https://discord.gg/k4ruYNrudu
|
link: https://discord.gg/k4ruYNrudu
|
||||||
|
|||||||
88
package-lock.json
generated
88
package-lock.json
generated
@@ -14,7 +14,7 @@
|
|||||||
"classnames": "^2.5.1",
|
"classnames": "^2.5.1",
|
||||||
"compare-versions": "^6.1.0",
|
"compare-versions": "^6.1.0",
|
||||||
"dockerode": "^4.0.2",
|
"dockerode": "^4.0.2",
|
||||||
"follow-redirects": "^1.15.6",
|
"follow-redirects": "^1.15.9",
|
||||||
"gamedig": "^5.1.2",
|
"gamedig": "^5.1.2",
|
||||||
"i18next": "^21.10.0",
|
"i18next": "^21.10.0",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
@@ -43,20 +43,20 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/forms": "^0.5.8",
|
"@tailwindcss/forms": "^0.5.8",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.1",
|
||||||
"eslint-config-airbnb": "^19.0.4",
|
"eslint-config-airbnb": "^19.0.4",
|
||||||
"eslint-config-next": "^14.2.3",
|
"eslint-config-next": "^14.2.3",
|
||||||
"eslint-config-prettier": "^9.1.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-plugin-import": "^2.29.1",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
"eslint-plugin-jsx-a11y": "^6.8.0",
|
"eslint-plugin-jsx-a11y": "^6.8.0",
|
||||||
"eslint-plugin-prettier": "^5.2.1",
|
"eslint-plugin-prettier": "^5.2.1",
|
||||||
"eslint-plugin-react": "^7.34.2",
|
"eslint-plugin-react": "^7.37.1",
|
||||||
"eslint-plugin-react-hooks": "^4.6.2",
|
"eslint-plugin-react-hooks": "^4.6.2",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.47",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"tailwind-scrollbar": "^3.0.5",
|
"tailwind-scrollbar": "^3.0.5",
|
||||||
"tailwindcss": "^3.4.3",
|
"tailwindcss": "^3.4.13",
|
||||||
"typescript": "^5.4.5"
|
"typescript": "^5.6.2"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"osx-temperature-sensor": "^1.0.8"
|
"osx-temperature-sensor": "^1.0.8"
|
||||||
@@ -164,11 +164,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "8.57.0",
|
"version": "8.57.1",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
|
||||||
"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
|
"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
}
|
}
|
||||||
@@ -191,14 +190,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@humanwhocodes/config-array": {
|
"node_modules/@humanwhocodes/config-array": {
|
||||||
"version": "0.11.14",
|
"version": "0.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
|
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
|
||||||
"integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
|
"integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
|
||||||
"deprecated": "Use @eslint/config-array instead",
|
"deprecated": "Use @eslint/config-array instead",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@humanwhocodes/object-schema": "^2.0.2",
|
"@humanwhocodes/object-schema": "^2.0.3",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"minimatch": "^3.0.5"
|
"minimatch": "^3.0.5"
|
||||||
},
|
},
|
||||||
@@ -225,8 +223,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
|
||||||
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
|
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
|
||||||
"deprecated": "Use @eslint/object-schema instead",
|
"deprecated": "Use @eslint/object-schema instead",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "BSD-3-Clause"
|
|
||||||
},
|
},
|
||||||
"node_modules/@isaacs/cliui": {
|
"node_modules/@isaacs/cliui": {
|
||||||
"version": "8.0.2",
|
"version": "8.0.2",
|
||||||
@@ -2942,17 +2939,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "8.57.0",
|
"version": "8.57.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
|
||||||
"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
|
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.6.1",
|
"@eslint-community/regexpp": "^4.6.1",
|
||||||
"@eslint/eslintrc": "^2.1.4",
|
"@eslint/eslintrc": "^2.1.4",
|
||||||
"@eslint/js": "8.57.0",
|
"@eslint/js": "8.57.1",
|
||||||
"@humanwhocodes/config-array": "^0.11.14",
|
"@humanwhocodes/config-array": "^0.13.0",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
"@ungap/structured-clone": "^1.2.0",
|
"@ungap/structured-clone": "^1.2.0",
|
||||||
@@ -3285,11 +3281,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-plugin-react": {
|
"node_modules/eslint-plugin-react": {
|
||||||
"version": "7.35.2",
|
"version": "7.37.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.2.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz",
|
||||||
"integrity": "sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==",
|
"integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"array-includes": "^3.1.8",
|
"array-includes": "^3.1.8",
|
||||||
"array.prototype.findlast": "^1.2.5",
|
"array.prototype.findlast": "^1.2.5",
|
||||||
@@ -3659,16 +3654,15 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/follow-redirects": {
|
"node_modules/follow-redirects": {
|
||||||
"version": "1.15.8",
|
"version": "1.15.9",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.8.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
|
||||||
"integrity": "sha512-xgrmBhBToVKay1q2Tao5LI26B83UhrB/vM1avwVSDzt8rx3rO6AizBAaF46EgksTVr+rFTQaqZZ9MVBfUe4nig==",
|
"integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
"url": "https://github.com/sponsors/RubenVerborgh"
|
"url": "https://github.com/sponsors/RubenVerborgh"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=4.0"
|
"node": ">=4.0"
|
||||||
},
|
},
|
||||||
@@ -6193,9 +6187,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.4.45",
|
"version": "8.4.47",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
|
||||||
"integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==",
|
"integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6211,11 +6205,10 @@
|
|||||||
"url": "https://github.com/sponsors/ai"
|
"url": "https://github.com/sponsors/ai"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.7",
|
"nanoid": "^3.3.7",
|
||||||
"picocolors": "^1.0.1",
|
"picocolors": "^1.1.0",
|
||||||
"source-map-js": "^1.2.0"
|
"source-map-js": "^1.2.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^10 || ^12 || >=14"
|
"node": "^10 || ^12 || >=14"
|
||||||
@@ -7189,10 +7182,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/source-map-js": {
|
"node_modules/source-map-js": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
||||||
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
|
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
@@ -7721,11 +7713,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tailwindcss": {
|
"node_modules/tailwindcss": {
|
||||||
"version": "3.4.10",
|
"version": "3.4.13",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz",
|
||||||
"integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==",
|
"integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alloc/quick-lru": "^5.2.0",
|
"@alloc/quick-lru": "^5.2.0",
|
||||||
"arg": "^5.0.2",
|
"arg": "^5.0.2",
|
||||||
@@ -8111,11 +8102,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.5.4",
|
"version": "5.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
|
||||||
"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
|
"integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
"tsserver": "bin/tsserver"
|
"tsserver": "bin/tsserver"
|
||||||
|
|||||||
12
package.json
12
package.json
@@ -16,7 +16,7 @@
|
|||||||
"classnames": "^2.5.1",
|
"classnames": "^2.5.1",
|
||||||
"compare-versions": "^6.1.0",
|
"compare-versions": "^6.1.0",
|
||||||
"dockerode": "^4.0.2",
|
"dockerode": "^4.0.2",
|
||||||
"follow-redirects": "^1.15.6",
|
"follow-redirects": "^1.15.9",
|
||||||
"gamedig": "^5.1.2",
|
"gamedig": "^5.1.2",
|
||||||
"i18next": "^21.10.0",
|
"i18next": "^21.10.0",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
@@ -45,20 +45,20 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/forms": "^0.5.8",
|
"@tailwindcss/forms": "^0.5.8",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.1",
|
||||||
"eslint-config-airbnb": "^19.0.4",
|
"eslint-config-airbnb": "^19.0.4",
|
||||||
"eslint-config-next": "^14.2.3",
|
"eslint-config-next": "^14.2.3",
|
||||||
"eslint-config-prettier": "^9.1.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-plugin-import": "^2.29.1",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
"eslint-plugin-jsx-a11y": "^6.8.0",
|
"eslint-plugin-jsx-a11y": "^6.8.0",
|
||||||
"eslint-plugin-prettier": "^5.2.1",
|
"eslint-plugin-prettier": "^5.2.1",
|
||||||
"eslint-plugin-react": "^7.34.2",
|
"eslint-plugin-react": "^7.37.1",
|
||||||
"eslint-plugin-react-hooks": "^4.6.2",
|
"eslint-plugin-react-hooks": "^4.6.2",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.47",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"tailwind-scrollbar": "^3.0.5",
|
"tailwind-scrollbar": "^3.0.5",
|
||||||
"tailwindcss": "^3.4.3",
|
"tailwindcss": "^3.4.13",
|
||||||
"typescript": "^5.4.5"
|
"typescript": "^5.6.2"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"osx-temperature-sensor": "^1.0.8"
|
"osx-temperature-sensor": "^1.0.8"
|
||||||
|
|||||||
284
pnpm-lock.yaml
generated
284
pnpm-lock.yaml
generated
@@ -27,8 +27,8 @@ importers:
|
|||||||
specifier: ^4.0.2
|
specifier: ^4.0.2
|
||||||
version: 4.0.2
|
version: 4.0.2
|
||||||
follow-redirects:
|
follow-redirects:
|
||||||
specifier: ^1.15.6
|
specifier: ^1.15.9
|
||||||
version: 1.15.8
|
version: 1.15.9
|
||||||
gamedig:
|
gamedig:
|
||||||
specifier: ^5.1.2
|
specifier: ^5.1.2
|
||||||
version: 5.1.3
|
version: 5.1.3
|
||||||
@@ -108,52 +108,52 @@ importers:
|
|||||||
devDependencies:
|
devDependencies:
|
||||||
'@tailwindcss/forms':
|
'@tailwindcss/forms':
|
||||||
specifier: ^0.5.8
|
specifier: ^0.5.8
|
||||||
version: 0.5.9(tailwindcss@3.4.10)
|
version: 0.5.9(tailwindcss@3.4.13)
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: ^10.4.20
|
specifier: ^10.4.20
|
||||||
version: 10.4.20(postcss@8.4.45)
|
version: 10.4.20(postcss@8.4.47)
|
||||||
eslint:
|
eslint:
|
||||||
specifier: ^8.57.0
|
specifier: ^8.57.1
|
||||||
version: 8.57.0
|
version: 8.57.1
|
||||||
eslint-config-airbnb:
|
eslint-config-airbnb:
|
||||||
specifier: ^19.0.4
|
specifier: ^19.0.4
|
||||||
version: 19.0.4(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-react@7.35.2(eslint@8.57.0))(eslint@8.57.0)
|
version: 19.0.4(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1)
|
||||||
eslint-config-next:
|
eslint-config-next:
|
||||||
specifier: ^14.2.3
|
specifier: ^14.2.3
|
||||||
version: 14.2.8(eslint@8.57.0)(typescript@5.5.4)
|
version: 14.2.8(eslint@8.57.1)(typescript@5.6.2)
|
||||||
eslint-config-prettier:
|
eslint-config-prettier:
|
||||||
specifier: ^9.1.0
|
specifier: ^9.1.0
|
||||||
version: 9.1.0(eslint@8.57.0)
|
version: 9.1.0(eslint@8.57.1)
|
||||||
eslint-plugin-import:
|
eslint-plugin-import:
|
||||||
specifier: ^2.29.1
|
specifier: ^2.29.1
|
||||||
version: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
|
version: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
|
||||||
eslint-plugin-jsx-a11y:
|
eslint-plugin-jsx-a11y:
|
||||||
specifier: ^6.8.0
|
specifier: ^6.8.0
|
||||||
version: 6.10.0(eslint@8.57.0)
|
version: 6.10.0(eslint@8.57.1)
|
||||||
eslint-plugin-prettier:
|
eslint-plugin-prettier:
|
||||||
specifier: ^5.2.1
|
specifier: ^5.2.1
|
||||||
version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3)
|
version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)
|
||||||
eslint-plugin-react:
|
eslint-plugin-react:
|
||||||
specifier: ^7.34.2
|
specifier: ^7.37.1
|
||||||
version: 7.35.2(eslint@8.57.0)
|
version: 7.37.1(eslint@8.57.1)
|
||||||
eslint-plugin-react-hooks:
|
eslint-plugin-react-hooks:
|
||||||
specifier: ^4.6.2
|
specifier: ^4.6.2
|
||||||
version: 4.6.2(eslint@8.57.0)
|
version: 4.6.2(eslint@8.57.1)
|
||||||
postcss:
|
postcss:
|
||||||
specifier: ^8.4.38
|
specifier: ^8.4.47
|
||||||
version: 8.4.45
|
version: 8.4.47
|
||||||
prettier:
|
prettier:
|
||||||
specifier: ^3.2.5
|
specifier: ^3.2.5
|
||||||
version: 3.3.3
|
version: 3.3.3
|
||||||
tailwind-scrollbar:
|
tailwind-scrollbar:
|
||||||
specifier: ^3.0.5
|
specifier: ^3.0.5
|
||||||
version: 3.1.0(tailwindcss@3.4.10)
|
version: 3.1.0(tailwindcss@3.4.13)
|
||||||
tailwindcss:
|
tailwindcss:
|
||||||
specifier: ^3.4.3
|
specifier: ^3.4.13
|
||||||
version: 3.4.10
|
version: 3.4.13
|
||||||
typescript:
|
typescript:
|
||||||
specifier: ^5.4.5
|
specifier: ^5.6.2
|
||||||
version: 5.5.4
|
version: 5.6.2
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -189,8 +189,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
|
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
|
||||||
'@eslint/js@8.57.0':
|
'@eslint/js@8.57.1':
|
||||||
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
|
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
|
||||||
'@headlessui/react@1.7.19':
|
'@headlessui/react@1.7.19':
|
||||||
@@ -200,8 +200,8 @@ packages:
|
|||||||
react: ^16 || ^17 || ^18
|
react: ^16 || ^17 || ^18
|
||||||
react-dom: ^16 || ^17 || ^18
|
react-dom: ^16 || ^17 || ^18
|
||||||
|
|
||||||
'@humanwhocodes/config-array@0.11.14':
|
'@humanwhocodes/config-array@0.13.0':
|
||||||
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
|
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
|
||||||
engines: {node: '>=10.10.0'}
|
engines: {node: '>=10.10.0'}
|
||||||
deprecated: Use @eslint/config-array instead
|
deprecated: Use @eslint/config-array instead
|
||||||
|
|
||||||
@@ -1134,8 +1134,8 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
|
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
|
||||||
|
|
||||||
eslint-plugin-react@7.35.2:
|
eslint-plugin-react@7.37.1:
|
||||||
resolution: {integrity: sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==}
|
resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
|
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
|
||||||
@@ -1148,8 +1148,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
|
||||||
eslint@8.57.0:
|
eslint@8.57.1:
|
||||||
resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
|
resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -1239,8 +1239,8 @@ packages:
|
|||||||
fn.name@1.1.0:
|
fn.name@1.1.0:
|
||||||
resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==}
|
resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==}
|
||||||
|
|
||||||
follow-redirects@1.15.8:
|
follow-redirects@1.15.9:
|
||||||
resolution: {integrity: sha512-xgrmBhBToVKay1q2Tao5LI26B83UhrB/vM1avwVSDzt8rx3rO6AizBAaF46EgksTVr+rFTQaqZZ9MVBfUe4nig==}
|
resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
|
||||||
engines: {node: '>=4.0'}
|
engines: {node: '>=4.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
debug: '*'
|
debug: '*'
|
||||||
@@ -2095,8 +2095,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
|
resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
|
||||||
engines: {node: ^10 || ^12 || >=14}
|
engines: {node: ^10 || ^12 || >=14}
|
||||||
|
|
||||||
postcss@8.4.45:
|
postcss@8.4.47:
|
||||||
resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==}
|
resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
|
||||||
engines: {node: ^10 || ^12 || >=14}
|
engines: {node: ^10 || ^12 || >=14}
|
||||||
|
|
||||||
prelude-ls@1.2.1:
|
prelude-ls@1.2.1:
|
||||||
@@ -2371,6 +2371,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
|
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
source-map-js@1.2.1:
|
||||||
|
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
split-ca@1.0.1:
|
split-ca@1.0.1:
|
||||||
resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==}
|
resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==}
|
||||||
|
|
||||||
@@ -2506,8 +2510,8 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
tailwindcss: 3.x
|
tailwindcss: 3.x
|
||||||
|
|
||||||
tailwindcss@3.4.10:
|
tailwindcss@3.4.13:
|
||||||
resolution: {integrity: sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==}
|
resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2620,8 +2624,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
|
resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
typescript@5.5.4:
|
typescript@5.6.2:
|
||||||
resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
|
resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
|
||||||
engines: {node: '>=14.17'}
|
engines: {node: '>=14.17'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2784,9 +2788,9 @@ snapshots:
|
|||||||
enabled: 2.0.0
|
enabled: 2.0.0
|
||||||
kuler: 2.0.0
|
kuler: 2.0.0
|
||||||
|
|
||||||
'@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
|
'@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
'@eslint-community/regexpp@4.11.0': {}
|
'@eslint-community/regexpp@4.11.0': {}
|
||||||
@@ -2805,7 +2809,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@eslint/js@8.57.0': {}
|
'@eslint/js@8.57.1': {}
|
||||||
|
|
||||||
'@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
'@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2814,7 +2818,7 @@ snapshots:
|
|||||||
react: 18.3.1
|
react: 18.3.1
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
react-dom: 18.3.1(react@18.3.1)
|
||||||
|
|
||||||
'@humanwhocodes/config-array@0.11.14':
|
'@humanwhocodes/config-array@0.13.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@humanwhocodes/object-schema': 2.0.3
|
'@humanwhocodes/object-schema': 2.0.3
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
@@ -2952,10 +2956,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
defer-to-connect: 2.0.1
|
defer-to-connect: 2.0.1
|
||||||
|
|
||||||
'@tailwindcss/forms@0.5.9(tailwindcss@3.4.10)':
|
'@tailwindcss/forms@0.5.9(tailwindcss@3.4.13)':
|
||||||
dependencies:
|
dependencies:
|
||||||
mini-svg-data-uri: 1.4.4
|
mini-svg-data-uri: 1.4.4
|
||||||
tailwindcss: 3.4.10
|
tailwindcss: 3.4.13
|
||||||
|
|
||||||
'@tanstack/react-virtual@3.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
'@tanstack/react-virtual@3.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -3011,36 +3015,36 @@ snapshots:
|
|||||||
|
|
||||||
'@types/triple-beam@1.3.5': {}
|
'@types/triple-beam@1.3.5': {}
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.11.0
|
'@eslint-community/regexpp': 4.11.0
|
||||||
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2)
|
||||||
'@typescript-eslint/scope-manager': 7.2.0
|
'@typescript-eslint/scope-manager': 7.2.0
|
||||||
'@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/type-utils': 7.2.0(eslint@8.57.1)(typescript@5.6.2)
|
||||||
'@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.2)
|
||||||
'@typescript-eslint/visitor-keys': 7.2.0
|
'@typescript-eslint/visitor-keys': 7.2.0
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.3.2
|
ignore: 5.3.2
|
||||||
natural-compare: 1.4.0
|
natural-compare: 1.4.0
|
||||||
semver: 7.6.3
|
semver: 7.6.3
|
||||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
ts-api-utils: 1.3.0(typescript@5.6.2)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.5.4
|
typescript: 5.6.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 7.2.0
|
'@typescript-eslint/scope-manager': 7.2.0
|
||||||
'@typescript-eslint/types': 7.2.0
|
'@typescript-eslint/types': 7.2.0
|
||||||
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4)
|
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2)
|
||||||
'@typescript-eslint/visitor-keys': 7.2.0
|
'@typescript-eslint/visitor-keys': 7.2.0
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.5.4
|
typescript: 5.6.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -3049,21 +3053,21 @@ snapshots:
|
|||||||
'@typescript-eslint/types': 7.2.0
|
'@typescript-eslint/types': 7.2.0
|
||||||
'@typescript-eslint/visitor-keys': 7.2.0
|
'@typescript-eslint/visitor-keys': 7.2.0
|
||||||
|
|
||||||
'@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/type-utils@7.2.0(eslint@8.57.1)(typescript@5.6.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4)
|
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2)
|
||||||
'@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.2)
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
ts-api-utils: 1.3.0(typescript@5.6.2)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.5.4
|
typescript: 5.6.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/types@7.2.0': {}
|
'@typescript-eslint/types@7.2.0': {}
|
||||||
|
|
||||||
'@typescript-eslint/typescript-estree@7.2.0(typescript@5.5.4)':
|
'@typescript-eslint/typescript-estree@7.2.0(typescript@5.6.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 7.2.0
|
'@typescript-eslint/types': 7.2.0
|
||||||
'@typescript-eslint/visitor-keys': 7.2.0
|
'@typescript-eslint/visitor-keys': 7.2.0
|
||||||
@@ -3072,21 +3076,21 @@ snapshots:
|
|||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
minimatch: 9.0.3
|
minimatch: 9.0.3
|
||||||
semver: 7.6.3
|
semver: 7.6.3
|
||||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
ts-api-utils: 1.3.0(typescript@5.6.2)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.5.4
|
typescript: 5.6.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/utils@7.2.0(eslint@8.57.1)(typescript@5.6.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
|
||||||
'@types/json-schema': 7.0.15
|
'@types/json-schema': 7.0.15
|
||||||
'@types/semver': 7.5.8
|
'@types/semver': 7.5.8
|
||||||
'@typescript-eslint/scope-manager': 7.2.0
|
'@typescript-eslint/scope-manager': 7.2.0
|
||||||
'@typescript-eslint/types': 7.2.0
|
'@typescript-eslint/types': 7.2.0
|
||||||
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4)
|
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2)
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
semver: 7.6.3
|
semver: 7.6.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -3220,14 +3224,14 @@ snapshots:
|
|||||||
|
|
||||||
asynckit@0.4.0: {}
|
asynckit@0.4.0: {}
|
||||||
|
|
||||||
autoprefixer@10.4.20(postcss@8.4.45):
|
autoprefixer@10.4.20(postcss@8.4.47):
|
||||||
dependencies:
|
dependencies:
|
||||||
browserslist: 4.23.3
|
browserslist: 4.23.3
|
||||||
caniuse-lite: 1.0.30001657
|
caniuse-lite: 1.0.30001657
|
||||||
fraction.js: 4.3.7
|
fraction.js: 4.3.7
|
||||||
normalize-range: 0.1.2
|
normalize-range: 0.1.2
|
||||||
picocolors: 1.1.0
|
picocolors: 1.1.0
|
||||||
postcss: 8.4.45
|
postcss: 8.4.47
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
|
|
||||||
available-typed-arrays@1.0.7:
|
available-typed-arrays@1.0.7:
|
||||||
@@ -3755,49 +3759,49 @@ snapshots:
|
|||||||
|
|
||||||
escape-string-regexp@4.0.0: {}
|
escape-string-regexp@4.0.0: {}
|
||||||
|
|
||||||
eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0):
|
eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
confusing-browser-globals: 1.0.11
|
confusing-browser-globals: 1.0.11
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
|
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
|
||||||
object.assign: 4.1.5
|
object.assign: 4.1.5
|
||||||
object.entries: 1.1.8
|
object.entries: 1.1.8
|
||||||
semver: 6.3.1
|
semver: 6.3.1
|
||||||
|
|
||||||
eslint-config-airbnb@19.0.4(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-react@7.35.2(eslint@8.57.0))(eslint@8.57.0):
|
eslint-config-airbnb@19.0.4(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0)
|
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1)
|
||||||
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
|
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
|
||||||
eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0)
|
eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1)
|
||||||
eslint-plugin-react: 7.35.2(eslint@8.57.0)
|
eslint-plugin-react: 7.37.1(eslint@8.57.1)
|
||||||
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
|
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
|
||||||
object.assign: 4.1.5
|
object.assign: 4.1.5
|
||||||
object.entries: 1.1.8
|
object.entries: 1.1.8
|
||||||
|
|
||||||
eslint-config-next@14.2.8(eslint@8.57.0)(typescript@5.5.4):
|
eslint-config-next@14.2.8(eslint@8.57.1)(typescript@5.6.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@next/eslint-plugin-next': 14.2.8
|
'@next/eslint-plugin-next': 14.2.8
|
||||||
'@rushstack/eslint-patch': 1.10.4
|
'@rushstack/eslint-patch': 1.10.4
|
||||||
'@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)
|
||||||
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2)
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0)
|
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1)
|
||||||
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
|
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
|
||||||
eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0)
|
eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1)
|
||||||
eslint-plugin-react: 7.35.2(eslint@8.57.0)
|
eslint-plugin-react: 7.37.1(eslint@8.57.1)
|
||||||
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
|
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.5.4
|
typescript: 5.6.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
- eslint-plugin-import-x
|
- eslint-plugin-import-x
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-config-prettier@9.1.0(eslint@8.57.0):
|
eslint-config-prettier@9.1.0(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
|
|
||||||
eslint-import-resolver-node@0.3.9:
|
eslint-import-resolver-node@0.3.9:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -3807,37 +3811,37 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0):
|
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nolyfill/is-core-module': 1.0.39
|
'@nolyfill/is-core-module': 1.0.39
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
enhanced-resolve: 5.17.1
|
enhanced-resolve: 5.17.1
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0)
|
eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1)
|
||||||
fast-glob: 3.3.2
|
fast-glob: 3.3.2
|
||||||
get-tsconfig: 4.8.0
|
get-tsconfig: 4.8.0
|
||||||
is-bun-module: 1.1.0
|
is-bun-module: 1.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
|
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@typescript-eslint/parser'
|
- '@typescript-eslint/parser'
|
||||||
- eslint-import-resolver-node
|
- eslint-import-resolver-node
|
||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0):
|
eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2)
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0)
|
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0):
|
eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rtsao/scc': 1.1.0
|
'@rtsao/scc': 1.1.0
|
||||||
array-includes: 3.1.8
|
array-includes: 3.1.8
|
||||||
@@ -3846,9 +3850,9 @@ snapshots:
|
|||||||
array.prototype.flatmap: 1.3.2
|
array.prototype.flatmap: 1.3.2
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0)
|
eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1)
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
is-core-module: 2.15.1
|
is-core-module: 2.15.1
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@@ -3859,13 +3863,13 @@ snapshots:
|
|||||||
semver: 6.3.1
|
semver: 6.3.1
|
||||||
tsconfig-paths: 3.15.0
|
tsconfig-paths: 3.15.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- eslint-import-resolver-typescript
|
- eslint-import-resolver-typescript
|
||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0):
|
eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
aria-query: 5.1.3
|
aria-query: 5.1.3
|
||||||
array-includes: 3.1.8
|
array-includes: 3.1.8
|
||||||
@@ -3876,7 +3880,7 @@ snapshots:
|
|||||||
damerau-levenshtein: 1.0.8
|
damerau-levenshtein: 1.0.8
|
||||||
emoji-regex: 9.2.2
|
emoji-regex: 9.2.2
|
||||||
es-iterator-helpers: 1.0.19
|
es-iterator-helpers: 1.0.19
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
jsx-ast-utils: 3.3.5
|
jsx-ast-utils: 3.3.5
|
||||||
language-tags: 1.0.9
|
language-tags: 1.0.9
|
||||||
@@ -3885,20 +3889,20 @@ snapshots:
|
|||||||
safe-regex-test: 1.0.3
|
safe-regex-test: 1.0.3
|
||||||
string.prototype.includes: 2.0.0
|
string.prototype.includes: 2.0.0
|
||||||
|
|
||||||
eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3):
|
eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
prettier: 3.3.3
|
prettier: 3.3.3
|
||||||
prettier-linter-helpers: 1.0.0
|
prettier-linter-helpers: 1.0.0
|
||||||
synckit: 0.9.1
|
synckit: 0.9.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint-config-prettier: 9.1.0(eslint@8.57.0)
|
eslint-config-prettier: 9.1.0(eslint@8.57.1)
|
||||||
|
|
||||||
eslint-plugin-react-hooks@4.6.2(eslint@8.57.0):
|
eslint-plugin-react-hooks@4.6.2(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
|
|
||||||
eslint-plugin-react@7.35.2(eslint@8.57.0):
|
eslint-plugin-react@7.37.1(eslint@8.57.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
array-includes: 3.1.8
|
array-includes: 3.1.8
|
||||||
array.prototype.findlast: 1.2.5
|
array.prototype.findlast: 1.2.5
|
||||||
@@ -3906,7 +3910,7 @@ snapshots:
|
|||||||
array.prototype.tosorted: 1.1.4
|
array.prototype.tosorted: 1.1.4
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
es-iterator-helpers: 1.0.19
|
es-iterator-helpers: 1.0.19
|
||||||
eslint: 8.57.0
|
eslint: 8.57.1
|
||||||
estraverse: 5.3.0
|
estraverse: 5.3.0
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
jsx-ast-utils: 3.3.5
|
jsx-ast-utils: 3.3.5
|
||||||
@@ -3927,13 +3931,13 @@ snapshots:
|
|||||||
|
|
||||||
eslint-visitor-keys@3.4.3: {}
|
eslint-visitor-keys@3.4.3: {}
|
||||||
|
|
||||||
eslint@8.57.0:
|
eslint@8.57.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
|
||||||
'@eslint-community/regexpp': 4.11.0
|
'@eslint-community/regexpp': 4.11.0
|
||||||
'@eslint/eslintrc': 2.1.4
|
'@eslint/eslintrc': 2.1.4
|
||||||
'@eslint/js': 8.57.0
|
'@eslint/js': 8.57.1
|
||||||
'@humanwhocodes/config-array': 0.11.14
|
'@humanwhocodes/config-array': 0.13.0
|
||||||
'@humanwhocodes/module-importer': 1.0.1
|
'@humanwhocodes/module-importer': 1.0.1
|
||||||
'@nodelib/fs.walk': 1.2.8
|
'@nodelib/fs.walk': 1.2.8
|
||||||
'@ungap/structured-clone': 1.2.0
|
'@ungap/structured-clone': 1.2.0
|
||||||
@@ -4055,7 +4059,7 @@ snapshots:
|
|||||||
|
|
||||||
fn.name@1.1.0: {}
|
fn.name@1.1.0: {}
|
||||||
|
|
||||||
follow-redirects@1.15.8: {}
|
follow-redirects@1.15.9: {}
|
||||||
|
|
||||||
for-each@0.3.3:
|
for-each@0.3.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4854,28 +4858,28 @@ snapshots:
|
|||||||
|
|
||||||
possible-typed-array-names@1.0.0: {}
|
possible-typed-array-names@1.0.0: {}
|
||||||
|
|
||||||
postcss-import@15.1.0(postcss@8.4.45):
|
postcss-import@15.1.0(postcss@8.4.47):
|
||||||
dependencies:
|
dependencies:
|
||||||
postcss: 8.4.45
|
postcss: 8.4.47
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
read-cache: 1.0.0
|
read-cache: 1.0.0
|
||||||
resolve: 1.22.8
|
resolve: 1.22.8
|
||||||
|
|
||||||
postcss-js@4.0.1(postcss@8.4.45):
|
postcss-js@4.0.1(postcss@8.4.47):
|
||||||
dependencies:
|
dependencies:
|
||||||
camelcase-css: 2.0.1
|
camelcase-css: 2.0.1
|
||||||
postcss: 8.4.45
|
postcss: 8.4.47
|
||||||
|
|
||||||
postcss-load-config@4.0.2(postcss@8.4.45):
|
postcss-load-config@4.0.2(postcss@8.4.47):
|
||||||
dependencies:
|
dependencies:
|
||||||
lilconfig: 3.1.2
|
lilconfig: 3.1.2
|
||||||
yaml: 2.5.1
|
yaml: 2.5.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
postcss: 8.4.45
|
postcss: 8.4.47
|
||||||
|
|
||||||
postcss-nested@6.2.0(postcss@8.4.45):
|
postcss-nested@6.2.0(postcss@8.4.47):
|
||||||
dependencies:
|
dependencies:
|
||||||
postcss: 8.4.45
|
postcss: 8.4.47
|
||||||
postcss-selector-parser: 6.1.2
|
postcss-selector-parser: 6.1.2
|
||||||
|
|
||||||
postcss-selector-parser@6.1.2:
|
postcss-selector-parser@6.1.2:
|
||||||
@@ -4891,11 +4895,11 @@ snapshots:
|
|||||||
picocolors: 1.1.0
|
picocolors: 1.1.0
|
||||||
source-map-js: 1.2.0
|
source-map-js: 1.2.0
|
||||||
|
|
||||||
postcss@8.4.45:
|
postcss@8.4.47:
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid: 3.3.7
|
nanoid: 3.3.7
|
||||||
picocolors: 1.1.0
|
picocolors: 1.1.0
|
||||||
source-map-js: 1.2.0
|
source-map-js: 1.2.1
|
||||||
|
|
||||||
prelude-ls@1.2.1: {}
|
prelude-ls@1.2.1: {}
|
||||||
|
|
||||||
@@ -5201,6 +5205,8 @@ snapshots:
|
|||||||
|
|
||||||
source-map-js@1.2.0: {}
|
source-map-js@1.2.0: {}
|
||||||
|
|
||||||
|
source-map-js@1.2.1: {}
|
||||||
|
|
||||||
split-ca@1.0.1: {}
|
split-ca@1.0.1: {}
|
||||||
|
|
||||||
ssh2@1.15.0:
|
ssh2@1.15.0:
|
||||||
@@ -5349,11 +5355,11 @@ snapshots:
|
|||||||
|
|
||||||
systeminformation@5.23.5: {}
|
systeminformation@5.23.5: {}
|
||||||
|
|
||||||
tailwind-scrollbar@3.1.0(tailwindcss@3.4.10):
|
tailwind-scrollbar@3.1.0(tailwindcss@3.4.13):
|
||||||
dependencies:
|
dependencies:
|
||||||
tailwindcss: 3.4.10
|
tailwindcss: 3.4.13
|
||||||
|
|
||||||
tailwindcss@3.4.10:
|
tailwindcss@3.4.13:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@alloc/quick-lru': 5.2.0
|
'@alloc/quick-lru': 5.2.0
|
||||||
arg: 5.0.2
|
arg: 5.0.2
|
||||||
@@ -5369,11 +5375,11 @@ snapshots:
|
|||||||
normalize-path: 3.0.0
|
normalize-path: 3.0.0
|
||||||
object-hash: 3.0.0
|
object-hash: 3.0.0
|
||||||
picocolors: 1.1.0
|
picocolors: 1.1.0
|
||||||
postcss: 8.4.45
|
postcss: 8.4.47
|
||||||
postcss-import: 15.1.0(postcss@8.4.45)
|
postcss-import: 15.1.0(postcss@8.4.47)
|
||||||
postcss-js: 4.0.1(postcss@8.4.45)
|
postcss-js: 4.0.1(postcss@8.4.47)
|
||||||
postcss-load-config: 4.0.2(postcss@8.4.45)
|
postcss-load-config: 4.0.2(postcss@8.4.47)
|
||||||
postcss-nested: 6.2.0(postcss@8.4.45)
|
postcss-nested: 6.2.0(postcss@8.4.47)
|
||||||
postcss-selector-parser: 6.1.2
|
postcss-selector-parser: 6.1.2
|
||||||
resolve: 1.22.8
|
resolve: 1.22.8
|
||||||
sucrase: 3.35.0
|
sucrase: 3.35.0
|
||||||
@@ -5448,9 +5454,9 @@ snapshots:
|
|||||||
|
|
||||||
triple-beam@1.4.1: {}
|
triple-beam@1.4.1: {}
|
||||||
|
|
||||||
ts-api-utils@1.3.0(typescript@5.5.4):
|
ts-api-utils@1.3.0(typescript@5.6.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.5.4
|
typescript: 5.6.2
|
||||||
|
|
||||||
ts-interface-checker@0.1.13: {}
|
ts-interface-checker@0.1.13: {}
|
||||||
|
|
||||||
@@ -5509,7 +5515,7 @@ snapshots:
|
|||||||
is-typed-array: 1.1.13
|
is-typed-array: 1.1.13
|
||||||
possible-typed-array-names: 1.0.0
|
possible-typed-array-names: 1.0.0
|
||||||
|
|
||||||
typescript@5.5.4: {}
|
typescript@5.6.2: {}
|
||||||
|
|
||||||
unbox-primitive@1.0.2:
|
unbox-primitive@1.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -325,15 +325,15 @@
|
|||||||
},
|
},
|
||||||
"technitium": {
|
"technitium": {
|
||||||
"totalQueries": "Navraë",
|
"totalQueries": "Navraë",
|
||||||
"totalNoError": "Success",
|
"totalNoError": "Sukses",
|
||||||
"totalServerFailure": "Failures",
|
"totalServerFailure": "Mislukkings",
|
||||||
"totalNxDomain": "NX Domains",
|
"totalNxDomain": "NX-domeine",
|
||||||
"totalRefused": "Refused",
|
"totalRefused": "Geweier",
|
||||||
"totalAuthoritative": "Authoritative",
|
"totalAuthoritative": "Gesaghebbend",
|
||||||
"totalRecursive": "Recursive",
|
"totalRecursive": "Rekursief",
|
||||||
"totalCached": "Cached",
|
"totalCached": "Gekas",
|
||||||
"totalBlocked": "Geblok",
|
"totalBlocked": "Geblok",
|
||||||
"totalDropped": "Dropped",
|
"totalDropped": "Geval",
|
||||||
"totalClients": "Kliënte"
|
"totalClients": "Kliënte"
|
||||||
},
|
},
|
||||||
"tdarr": {
|
"tdarr": {
|
||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Skermskote",
|
"screenshots": "Skermskote",
|
||||||
"totalfilesize": "Totale Grootte"
|
"totalfilesize": "Totale Grootte"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domeine",
|
||||||
|
"mailboxes": "Posbusse",
|
||||||
|
"mails": "E-posse",
|
||||||
|
"storage": "Bergplek"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Waarskuwings",
|
"warnings": "Waarskuwings",
|
||||||
"criticals": "Kritici"
|
"criticals": "Kritici"
|
||||||
@@ -933,11 +939,19 @@
|
|||||||
"tags": "Merkers"
|
"tags": "Merkers"
|
||||||
},
|
},
|
||||||
"zabbix": {
|
"zabbix": {
|
||||||
"unclassified": "Not classified",
|
"unclassified": "Nie geklassifiseer nie",
|
||||||
"information": "Informasie",
|
"information": "Informasie",
|
||||||
"warning": "Warning",
|
"warning": "Waarskuwing",
|
||||||
"average": "Average",
|
"average": "Gemiddeld",
|
||||||
"high": "High",
|
"high": "Hoog",
|
||||||
"disaster": "Disaster"
|
"disaster": "Ramp"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "لقطات شاشة",
|
"screenshots": "لقطات شاشة",
|
||||||
"totalfilesize": "الحجم الكلي"
|
"totalfilesize": "الحجم الكلي"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "مجالات",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "التخزين"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "تحذيرات",
|
"warnings": "تحذيرات",
|
||||||
"criticals": "حرج"
|
"criticals": "حرج"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "متوسط",
|
"average": "متوسط",
|
||||||
"high": "عالي",
|
"high": "عالي",
|
||||||
"disaster": "كارثة"
|
"disaster": "كارثة"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Dominis",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Emmagatzematge"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Avisos",
|
"warnings": "Avisos",
|
||||||
"criticals": "Crítics"
|
"criticals": "Crítics"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domény",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Úložiště"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domæner",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Lager"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Advarsler",
|
"warnings": "Advarsler",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Bildschirmfotos",
|
"screenshots": "Bildschirmfotos",
|
||||||
"totalfilesize": "Gesamtgröße"
|
"totalfilesize": "Gesamtgröße"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domänen",
|
||||||
|
"mailboxes": "Postfächer",
|
||||||
|
"mails": "E-Mails",
|
||||||
|
"storage": "Speicher"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnungen",
|
"warnings": "Warnungen",
|
||||||
"criticals": "Kritisch"
|
"criticals": "Kritisch"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Durchschnitt",
|
"average": "Durchschnitt",
|
||||||
"high": "Hoch",
|
"high": "Hoch",
|
||||||
"disaster": "Katastrophe"
|
"disaster": "Katastrophe"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Fahrzeug",
|
||||||
|
"vehicles": "Fahrzeuge",
|
||||||
|
"serviceRecords": "Wartungseinträge",
|
||||||
|
"reminders": "Erinnerungen",
|
||||||
|
"nextReminder": "Nächste Erinnerung",
|
||||||
|
"none": "Keine"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Τομείς",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Αποθηκευτικός χώρος"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,19 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
|
},
|
||||||
|
"vikunja": {
|
||||||
|
"projects": "Active Projects",
|
||||||
|
"tasks7d": "Tasks Due This Week",
|
||||||
|
"tasksOverdue": "Overdue Tasks",
|
||||||
|
"tasksInProgress": "Tasks In Progress"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -325,15 +325,15 @@
|
|||||||
},
|
},
|
||||||
"technitium": {
|
"technitium": {
|
||||||
"totalQueries": "Consultas",
|
"totalQueries": "Consultas",
|
||||||
"totalNoError": "Success",
|
"totalNoError": "Éxitos",
|
||||||
"totalServerFailure": "Failures",
|
"totalServerFailure": "Fallas",
|
||||||
"totalNxDomain": "NX Domains",
|
"totalNxDomain": "Dominios NX",
|
||||||
"totalRefused": "Refused",
|
"totalRefused": "Rechazados",
|
||||||
"totalAuthoritative": "Authoritative",
|
"totalAuthoritative": "Autoritarios",
|
||||||
"totalRecursive": "Recursive",
|
"totalRecursive": "Recursivos",
|
||||||
"totalCached": "Cached",
|
"totalCached": "En caché",
|
||||||
"totalBlocked": "Bloqueado",
|
"totalBlocked": "Bloqueado",
|
||||||
"totalDropped": "Dropped",
|
"totalDropped": "Descartados",
|
||||||
"totalClients": "Clientes"
|
"totalClients": "Clientes"
|
||||||
},
|
},
|
||||||
"tdarr": {
|
"tdarr": {
|
||||||
@@ -844,11 +844,17 @@
|
|||||||
},
|
},
|
||||||
"romm": {
|
"romm": {
|
||||||
"platforms": "Plataformas",
|
"platforms": "Plataformas",
|
||||||
"totalRoms": "Games",
|
"totalRoms": "Juegos",
|
||||||
"saves": "Saves",
|
"saves": "Guardados",
|
||||||
"states": "States",
|
"states": "Estados",
|
||||||
"screenshots": "Screenshots",
|
"screenshots": "Capturas de pantalla",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Tamaño total"
|
||||||
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Dominios",
|
||||||
|
"mailboxes": "Buzones de correo",
|
||||||
|
"mails": "Correos",
|
||||||
|
"storage": "Almacenamiento"
|
||||||
},
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Advertencias",
|
"warnings": "Advertencias",
|
||||||
@@ -933,11 +939,19 @@
|
|||||||
"tags": "Etiquetas"
|
"tags": "Etiquetas"
|
||||||
},
|
},
|
||||||
"zabbix": {
|
"zabbix": {
|
||||||
"unclassified": "Not classified",
|
"unclassified": "No clasificado",
|
||||||
"information": "Información",
|
"information": "Información",
|
||||||
"warning": "Warning",
|
"warning": "Advertencia",
|
||||||
"average": "Average",
|
"average": "Promedio",
|
||||||
"high": "High",
|
"high": "Alto",
|
||||||
"disaster": "Disaster"
|
"disaster": "Desastre"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehículo",
|
||||||
|
"vehicles": "Vehículos",
|
||||||
|
"serviceRecords": "Registros de servicio",
|
||||||
|
"reminders": "Recordatorios",
|
||||||
|
"nextReminder": "Siguiente recordatorio",
|
||||||
|
"none": "Nada"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Verkkotunnuksia",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domaines",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Stockage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Avertissements",
|
"warnings": "Avertissements",
|
||||||
"criticals": "Urgent"
|
"criticals": "Urgent"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domene",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Spremište"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Upozorenja",
|
"warnings": "Upozorenja",
|
||||||
"criticals": "Kritično"
|
"criticals": "Kritično"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domainek",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Tárhely"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Figyelmeztetések",
|
"warnings": "Figyelmeztetések",
|
||||||
"criticals": "Kritikusok"
|
"criticals": "Kritikusok"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Jármű",
|
||||||
|
"vehicles": "Járművek",
|
||||||
|
"serviceRecords": "Szolgáltatások nyílvántartása",
|
||||||
|
"reminders": "Emlékeztetők",
|
||||||
|
"nextReminder": "Következő emlékeztető",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Jumlah Domain",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Penyimpanan"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Peringatan",
|
"warnings": "Peringatan",
|
||||||
"criticals": "Kritis"
|
"criticals": "Kritis"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domini",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Archiviazione"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Avvisi",
|
"warnings": "Avvisi",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "スクリーンショット",
|
"screenshots": "スクリーンショット",
|
||||||
"totalfilesize": "合計サイズ"
|
"totalfilesize": "合計サイズ"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "ドメイン",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "ストレージ"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "警告",
|
"warnings": "警告",
|
||||||
"criticals": "重大"
|
"criticals": "重大"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "平均",
|
"average": "平均",
|
||||||
"high": "高い",
|
"high": "高い",
|
||||||
"disaster": "災害"
|
"disaster": "災害"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
},
|
},
|
||||||
"freshrss": {
|
"freshrss": {
|
||||||
"subscriptions": "구독",
|
"subscriptions": "구독",
|
||||||
"unread": "읽지 않음"
|
"unread": "미열람"
|
||||||
},
|
},
|
||||||
"fritzbox": {
|
"fritzbox": {
|
||||||
"connectionStatus": "상태",
|
"connectionStatus": "상태",
|
||||||
@@ -376,7 +376,7 @@
|
|||||||
"numberOfFailQueries": "Fail Queries"
|
"numberOfFailQueries": "Fail Queries"
|
||||||
},
|
},
|
||||||
"jackett": {
|
"jackett": {
|
||||||
"configured": "Configured",
|
"configured": "구성됨",
|
||||||
"errored": "오류"
|
"errored": "오류"
|
||||||
},
|
},
|
||||||
"strelaysrv": {
|
"strelaysrv": {
|
||||||
@@ -404,12 +404,12 @@
|
|||||||
},
|
},
|
||||||
"miniflux": {
|
"miniflux": {
|
||||||
"read": "읽음",
|
"read": "읽음",
|
||||||
"unread": "읽지 않음"
|
"unread": "미열람"
|
||||||
},
|
},
|
||||||
"authentik": {
|
"authentik": {
|
||||||
"users": "사용자",
|
"users": "사용자",
|
||||||
"loginsLast24H": "Logins (24h)",
|
"loginsLast24H": "로그인 (24h)",
|
||||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
"failedLoginsLast24H": "실패한 로그인 (24h)"
|
||||||
},
|
},
|
||||||
"proxmox": {
|
"proxmox": {
|
||||||
"mem": "MEM",
|
"mem": "MEM",
|
||||||
@@ -538,9 +538,9 @@
|
|||||||
},
|
},
|
||||||
"tubearchivist": {
|
"tubearchivist": {
|
||||||
"downloads": "대기열",
|
"downloads": "대기열",
|
||||||
"videos": "Videos",
|
"videos": "동영상",
|
||||||
"channels": "Channels",
|
"channels": "채널",
|
||||||
"playlists": "Playlists"
|
"playlists": "재생 목록"
|
||||||
},
|
},
|
||||||
"truenas": {
|
"truenas": {
|
||||||
"load": "System Load",
|
"load": "System Load",
|
||||||
@@ -559,7 +559,7 @@
|
|||||||
"country": "Country"
|
"country": "Country"
|
||||||
},
|
},
|
||||||
"hdhomerun": {
|
"hdhomerun": {
|
||||||
"channels": "Channels",
|
"channels": "채널",
|
||||||
"hd": "HD",
|
"hd": "HD",
|
||||||
"tunerCount": "Tuners",
|
"tunerCount": "Tuners",
|
||||||
"channelNumber": "채널",
|
"channelNumber": "채널",
|
||||||
@@ -648,9 +648,9 @@
|
|||||||
},
|
},
|
||||||
"immich": {
|
"immich": {
|
||||||
"users": "사용자",
|
"users": "사용자",
|
||||||
"photos": "Photos",
|
"photos": "사진",
|
||||||
"videos": "Videos",
|
"videos": "동영상",
|
||||||
"storage": "Storage"
|
"storage": "저장됨"
|
||||||
},
|
},
|
||||||
"uptimekuma": {
|
"uptimekuma": {
|
||||||
"up": "Sites Up",
|
"up": "Sites Up",
|
||||||
@@ -663,10 +663,10 @@
|
|||||||
"series": "시리즈",
|
"series": "시리즈",
|
||||||
"archives": "Archives",
|
"archives": "Archives",
|
||||||
"chapters": "Chapters",
|
"chapters": "Chapters",
|
||||||
"categories": "Categories"
|
"categories": "분류"
|
||||||
},
|
},
|
||||||
"komga": {
|
"komga": {
|
||||||
"libraries": "Libraries",
|
"libraries": "서재",
|
||||||
"series": "시리즈",
|
"series": "시리즈",
|
||||||
"books": "책"
|
"books": "책"
|
||||||
},
|
},
|
||||||
@@ -682,8 +682,8 @@
|
|||||||
},
|
},
|
||||||
"photoprism": {
|
"photoprism": {
|
||||||
"albums": "Albums",
|
"albums": "Albums",
|
||||||
"photos": "Photos",
|
"photos": "사진",
|
||||||
"videos": "Videos",
|
"videos": "동영상",
|
||||||
"people": "People"
|
"people": "People"
|
||||||
},
|
},
|
||||||
"fileflows": {
|
"fileflows": {
|
||||||
@@ -699,12 +699,12 @@
|
|||||||
"alertstriggered": "Alerts Triggered"
|
"alertstriggered": "Alerts Triggered"
|
||||||
},
|
},
|
||||||
"nextcloud": {
|
"nextcloud": {
|
||||||
"cpuload": "Cpu Load",
|
"cpuload": "CPU 부하량",
|
||||||
"memoryusage": "Memory Usage",
|
"memoryusage": "메모리 사용량",
|
||||||
"freespace": "Free Space",
|
"freespace": "여유 공간",
|
||||||
"activeusers": "Active Users",
|
"activeusers": "활성 유저",
|
||||||
"numfiles": "Files",
|
"numfiles": "파일",
|
||||||
"numshares": "Shared Items"
|
"numshares": "공유된 항목"
|
||||||
},
|
},
|
||||||
"kopia": {
|
"kopia": {
|
||||||
"status": "상태",
|
"status": "상태",
|
||||||
@@ -754,8 +754,8 @@
|
|||||||
},
|
},
|
||||||
"calibreweb": {
|
"calibreweb": {
|
||||||
"books": "책",
|
"books": "책",
|
||||||
"authors": "Authors",
|
"authors": "저자",
|
||||||
"categories": "Categories",
|
"categories": "분류",
|
||||||
"series": "시리즈"
|
"series": "시리즈"
|
||||||
},
|
},
|
||||||
"jdownloader": {
|
"jdownloader": {
|
||||||
@@ -766,7 +766,7 @@
|
|||||||
},
|
},
|
||||||
"kavita": {
|
"kavita": {
|
||||||
"seriesCount": "시리즈",
|
"seriesCount": "시리즈",
|
||||||
"totalFiles": "Files"
|
"totalFiles": "파일"
|
||||||
},
|
},
|
||||||
"azuredevops": {
|
"azuredevops": {
|
||||||
"result": "Result",
|
"result": "Result",
|
||||||
@@ -802,7 +802,7 @@
|
|||||||
"mealie": {
|
"mealie": {
|
||||||
"recipes": "Recipes",
|
"recipes": "Recipes",
|
||||||
"users": "사용자",
|
"users": "사용자",
|
||||||
"categories": "Categories",
|
"categories": "분류",
|
||||||
"tags": "태그"
|
"tags": "태그"
|
||||||
},
|
},
|
||||||
"openmediavault": {
|
"openmediavault": {
|
||||||
@@ -843,12 +843,18 @@
|
|||||||
"noEventsFound": "No events found"
|
"noEventsFound": "No events found"
|
||||||
},
|
},
|
||||||
"romm": {
|
"romm": {
|
||||||
"platforms": "Platforms",
|
"platforms": "기종",
|
||||||
"totalRoms": "Games",
|
"totalRoms": "게임",
|
||||||
"saves": "Saves",
|
"saves": "세이브",
|
||||||
"states": "States",
|
"states": "스테이트",
|
||||||
"screenshots": "Screenshots",
|
"screenshots": "스크린샷",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "전체 용량"
|
||||||
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "저장됨"
|
||||||
},
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
@@ -857,7 +863,7 @@
|
|||||||
"plantit": {
|
"plantit": {
|
||||||
"events": "Events",
|
"events": "Events",
|
||||||
"plants": "Plants",
|
"plants": "Plants",
|
||||||
"photos": "Photos",
|
"photos": "사진",
|
||||||
"species": "Species"
|
"species": "Species"
|
||||||
},
|
},
|
||||||
"gitea": {
|
"gitea": {
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domain",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Amaran",
|
"warnings": "Amaran",
|
||||||
"criticals": "Kritikal"
|
"criticals": "Kritikal"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots ",
|
"screenshots": "Screenshots ",
|
||||||
"totalfilesize": "Totale grootte"
|
"totalfilesize": "Totale grootte"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domeinen",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Opslag"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Waarschuwingen",
|
"warnings": "Waarschuwingen",
|
||||||
"criticals": "Kritiek"
|
"criticals": "Kritiek"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domener",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Lagring"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Advarsler",
|
"warnings": "Advarsler",
|
||||||
"criticals": "Kritiske"
|
"criticals": "Kritiske"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -463,8 +463,8 @@
|
|||||||
"51-night": "Lekka mżawka",
|
"51-night": "Lekka mżawka",
|
||||||
"53-day": "Mżawka",
|
"53-day": "Mżawka",
|
||||||
"53-night": "Mżawka",
|
"53-night": "Mżawka",
|
||||||
"55-day": "Ciężka mżawka",
|
"55-day": "Gęsta mżawka",
|
||||||
"55-night": "Ciężka mżawka",
|
"55-night": "Gęsta mżawka",
|
||||||
"56-day": "Lekko chłodna mżawka",
|
"56-day": "Lekko chłodna mżawka",
|
||||||
"56-night": "Lekko chłodna mżawka",
|
"56-night": "Lekko chłodna mżawka",
|
||||||
"57-day": "Chłodna mżawka",
|
"57-day": "Chłodna mżawka",
|
||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domeny",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Pamięć"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Ostrzeżenia",
|
"warnings": "Ostrzeżenia",
|
||||||
"criticals": "Krytyczny"
|
"criticals": "Krytyczny"
|
||||||
@@ -905,7 +911,7 @@
|
|||||||
"total": "Całkowite"
|
"total": "Całkowite"
|
||||||
},
|
},
|
||||||
"swagdashboard": {
|
"swagdashboard": {
|
||||||
"proxied": "Poprzez proxy",
|
"proxied": "Proxy",
|
||||||
"auth": "Z uwietrzytelnieniem",
|
"auth": "Z uwietrzytelnieniem",
|
||||||
"outdated": "Nieaktualne",
|
"outdated": "Nieaktualne",
|
||||||
"banned": "Zbanowano"
|
"banned": "Zbanowano"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domínios",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Armazenamento"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Avisos",
|
"warnings": "Avisos",
|
||||||
"criticals": "Críticos"
|
"criticals": "Críticos"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domínios",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Armazenamento"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Alertas",
|
"warnings": "Alertas",
|
||||||
"criticals": "Críticos"
|
"criticals": "Críticos"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domenii",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Домены",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Хранилище"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Предупреждения",
|
"warnings": "Предупреждения",
|
||||||
"criticals": "Критические"
|
"criticals": "Критические"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domény",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Úložisko"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Upozornenia",
|
"warnings": "Upozornenia",
|
||||||
"criticals": "Kritické"
|
"criticals": "Kritické"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Posnetki zaslona",
|
"screenshots": "Posnetki zaslona",
|
||||||
"totalfilesize": "Skupna velikost"
|
"totalfilesize": "Skupna velikost"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domene",
|
||||||
|
"mailboxes": "Nabiralniki",
|
||||||
|
"mails": "Pošta",
|
||||||
|
"storage": "Shramba"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Opozorila",
|
"warnings": "Opozorila",
|
||||||
"criticals": "Kritično"
|
"criticals": "Kritično"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Povprečno",
|
"average": "Povprečno",
|
||||||
"high": "Visoko",
|
"high": "Visoko",
|
||||||
"disaster": "Katastrofa"
|
"disaster": "Katastrofa"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vozilo",
|
||||||
|
"vehicles": "Vozila",
|
||||||
|
"serviceRecords": "Zapisi servisov",
|
||||||
|
"reminders": "Opomniki",
|
||||||
|
"nextReminder": "Naslednji opomnik",
|
||||||
|
"none": "Brez"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "డొమైన్లు",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Ekran görüntüleri",
|
"screenshots": "Ekran görüntüleri",
|
||||||
"totalfilesize": "Toplam Kapasite"
|
"totalfilesize": "Toplam Kapasite"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Etki Alanları",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Depo"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Uyarılar",
|
"warnings": "Uyarılar",
|
||||||
"criticals": "Kritik"
|
"criticals": "Kritik"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Ortalama",
|
"average": "Ortalama",
|
||||||
"high": "Yüksek",
|
"high": "Yüksek",
|
||||||
"disaster": "Felaket"
|
"disaster": "Felaket"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Домени",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Сховище"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Попередження",
|
"warnings": "Попередження",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,7 @@
|
|||||||
"ping": "Ping",
|
"ping": "Ping",
|
||||||
"down": "Down",
|
"down": "Down",
|
||||||
"up": "Up",
|
"up": "Up",
|
||||||
"not_available": "Not Available"
|
"not_available": "Không khả dụng"
|
||||||
},
|
},
|
||||||
"siteMonitor": {
|
"siteMonitor": {
|
||||||
"http_status": "HTTP status",
|
"http_status": "HTTP status",
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
"response": "Response",
|
"response": "Response",
|
||||||
"down": "Down",
|
"down": "Down",
|
||||||
"up": "Up",
|
"up": "Up",
|
||||||
"not_available": "Not Available"
|
"not_available": "Không khả dụng"
|
||||||
},
|
},
|
||||||
"emby": {
|
"emby": {
|
||||||
"playing": "Đang chơi",
|
"playing": "Đang chơi",
|
||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "Domains",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "Storage"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "Warnings",
|
"warnings": "Warnings",
|
||||||
"criticals": "Criticals"
|
"criticals": "Criticals"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "域",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "儲存空間"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "警告",
|
"warnings": "警告",
|
||||||
"criticals": "嚴重"
|
"criticals": "嚴重"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,8 +54,8 @@
|
|||||||
"uptime": "运行时间",
|
"uptime": "运行时间",
|
||||||
"days": "天",
|
"days": "天",
|
||||||
"wan": "WAN",
|
"wan": "WAN",
|
||||||
"lan": "LAN",
|
"lan": "局域网",
|
||||||
"wlan": "WLAN",
|
"wlan": "无线局域网",
|
||||||
"devices": "设备",
|
"devices": "设备",
|
||||||
"lan_devices": "LAN 设备",
|
"lan_devices": "LAN 设备",
|
||||||
"wlan_devices": "无线局域网设备",
|
"wlan_devices": "无线局域网设备",
|
||||||
@@ -325,15 +325,15 @@
|
|||||||
},
|
},
|
||||||
"technitium": {
|
"technitium": {
|
||||||
"totalQueries": "查询",
|
"totalQueries": "查询",
|
||||||
"totalNoError": "Success",
|
"totalNoError": "成功",
|
||||||
"totalServerFailure": "Failures",
|
"totalServerFailure": "失败",
|
||||||
"totalNxDomain": "NX Domains",
|
"totalNxDomain": "NX Domains",
|
||||||
"totalRefused": "Refused",
|
"totalRefused": "已拒绝",
|
||||||
"totalAuthoritative": "Authoritative",
|
"totalAuthoritative": "权威",
|
||||||
"totalRecursive": "Recursive",
|
"totalRecursive": "递归",
|
||||||
"totalCached": "Cached",
|
"totalCached": "缓存",
|
||||||
"totalBlocked": "阻止",
|
"totalBlocked": "阻止",
|
||||||
"totalDropped": "Dropped",
|
"totalDropped": "丢弃",
|
||||||
"totalClients": "客户端"
|
"totalClients": "客户端"
|
||||||
},
|
},
|
||||||
"tdarr": {
|
"tdarr": {
|
||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "域",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "储存空间"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "警告",
|
"warnings": "警告",
|
||||||
"criticals": "严重"
|
"criticals": "严重"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,6 +850,12 @@
|
|||||||
"screenshots": "Screenshots",
|
"screenshots": "Screenshots",
|
||||||
"totalfilesize": "Total Size"
|
"totalfilesize": "Total Size"
|
||||||
},
|
},
|
||||||
|
"mailcow": {
|
||||||
|
"domains": "網域",
|
||||||
|
"mailboxes": "Mailboxes",
|
||||||
|
"mails": "Mails",
|
||||||
|
"storage": "儲存空間"
|
||||||
|
},
|
||||||
"netdata": {
|
"netdata": {
|
||||||
"warnings": "警告",
|
"warnings": "警告",
|
||||||
"criticals": "嚴重"
|
"criticals": "嚴重"
|
||||||
@@ -939,5 +945,13 @@
|
|||||||
"average": "Average",
|
"average": "Average",
|
||||||
"high": "High",
|
"high": "High",
|
||||||
"disaster": "Disaster"
|
"disaster": "Disaster"
|
||||||
|
},
|
||||||
|
"lubelogger": {
|
||||||
|
"vehicle": "Vehicle",
|
||||||
|
"vehicles": "Vehicles",
|
||||||
|
"serviceRecords": "Service Records",
|
||||||
|
"reminders": "Reminders",
|
||||||
|
"nextReminder": "Next Reminder",
|
||||||
|
"none": "None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ export default function Item({ bookmark }) {
|
|||||||
<a
|
<a
|
||||||
href={bookmark.href}
|
href={bookmark.href}
|
||||||
title={bookmark.name}
|
title={bookmark.name}
|
||||||
|
rel="noreferrer"
|
||||||
target={bookmark.target ?? settings.target ?? "_blank"}
|
target={bookmark.target ?? settings.target ?? "_blank"}
|
||||||
className={classNames(
|
className={classNames(
|
||||||
settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`,
|
settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`,
|
||||||
|
|||||||
@@ -35,6 +35,35 @@ export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "log
|
|||||||
// check mdi- or si- prefixed icons
|
// check mdi- or si- prefixed icons
|
||||||
const prefix = icon.split("-")[0];
|
const prefix = icon.split("-")[0];
|
||||||
|
|
||||||
|
if (prefix === "sh") {
|
||||||
|
const iconName = icon.replace("sh-", "").replace(".svg", "").replace(".png", "").replace(".webp", "");
|
||||||
|
|
||||||
|
let extension;
|
||||||
|
if (icon.endsWith(".svg")) {
|
||||||
|
extension = "svg";
|
||||||
|
} else if (icon.endsWith(".webp")) {
|
||||||
|
extension = "webp";
|
||||||
|
} else {
|
||||||
|
extension = "png";
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Image
|
||||||
|
src={`https://cdn.jsdelivr.net/gh/selfhst/icons@main/${extension}/${iconName}.${extension}`}
|
||||||
|
width={width}
|
||||||
|
height={height}
|
||||||
|
style={{
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
objectFit: "contain",
|
||||||
|
maxHeight: "100%",
|
||||||
|
maxWidth: "100%",
|
||||||
|
}}
|
||||||
|
alt={alt}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (prefix in iconSetURLs) {
|
if (prefix in iconSetURLs) {
|
||||||
// default to theme setting
|
// default to theme setting
|
||||||
let iconName = icon.replace(`${prefix}-`, "").replace(".svg", "");
|
let iconName = icon.replace(`${prefix}-`, "").replace(".svg", "");
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export default async function handler(req, res) {
|
|||||||
|
|
||||||
if (!widget) {
|
if (!widget) {
|
||||||
logger.debug("Unknown proxy service type: %s", type);
|
logger.debug("Unknown proxy service type: %s", type);
|
||||||
return res.status(403).json({ error: "Unkown proxy service type" });
|
return res.status(403).json({ error: "Unknown proxy service type" });
|
||||||
}
|
}
|
||||||
|
|
||||||
const serviceProxyHandler = widget.proxyHandler || genericProxyHandler;
|
const serviceProxyHandler = widget.proxyHandler || genericProxyHandler;
|
||||||
@@ -107,7 +107,7 @@ export default async function handler(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger.debug("Unknown proxy service type: %s", type);
|
logger.debug("Unknown proxy service type: %s", type);
|
||||||
return res.status(403).json({ error: "Unkown proxy service type" });
|
return res.status(403).json({ error: "Unknown proxy service type" });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (e) logger.error(e);
|
if (e) logger.error(e);
|
||||||
return res.status(500).send({ error: "Unexpected error" });
|
return res.status(500).send({ error: "Unexpected error" });
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://gethomepage.dev/latest/configs/bookmarks
|
# https://gethomepage.dev/configs/bookmarks
|
||||||
|
|
||||||
- Developer:
|
- Developer:
|
||||||
- Github:
|
- Github:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://gethomepage.dev/latest/configs/docker/
|
# https://gethomepage.dev/configs/docker/
|
||||||
|
|
||||||
# my-docker:
|
# my-docker:
|
||||||
# host: 127.0.0.1
|
# host: 127.0.0.1
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://gethomepage.dev/latest/configs/services
|
# https://gethomepage.dev/configs/services
|
||||||
|
|
||||||
- My First Group:
|
- My First Group:
|
||||||
- My First Service:
|
- My First Service:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://gethomepage.dev/latest/configs/settings
|
# https://gethomepage.dev/configs/settings
|
||||||
|
|
||||||
providers:
|
providers:
|
||||||
openweathermap: openweathermapapikey
|
openweathermap: openweathermapapikey
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://gethomepage.dev/latest/configs/service-widgets
|
# https://gethomepage.dev/configs/service-widgets
|
||||||
|
|
||||||
- resources:
|
- resources:
|
||||||
cpu: true
|
cpu: true
|
||||||
|
|||||||
@@ -406,7 +406,7 @@ export function cleanServiceGroups(groups) {
|
|||||||
// frigate
|
// frigate
|
||||||
enableRecentEvents,
|
enableRecentEvents,
|
||||||
|
|
||||||
// glances, mealie, pihole, pfsense
|
// glances, immich, mealie, pihole, pfsense
|
||||||
version,
|
version,
|
||||||
|
|
||||||
// glances
|
// glances
|
||||||
@@ -442,6 +442,9 @@ export function cleanServiceGroups(groups) {
|
|||||||
namespace,
|
namespace,
|
||||||
podSelector,
|
podSelector,
|
||||||
|
|
||||||
|
// lubelogger
|
||||||
|
vehicleID,
|
||||||
|
|
||||||
// mjpeg
|
// mjpeg
|
||||||
fit,
|
fit,
|
||||||
stream,
|
stream,
|
||||||
@@ -475,6 +478,9 @@ export function cleanServiceGroups(groups) {
|
|||||||
// unifi
|
// unifi
|
||||||
site,
|
site,
|
||||||
|
|
||||||
|
// vikunja
|
||||||
|
enableTaskList,
|
||||||
|
|
||||||
// wgeasy
|
// wgeasy
|
||||||
threshold,
|
threshold,
|
||||||
|
|
||||||
@@ -565,8 +571,8 @@ export function cleanServiceGroups(groups) {
|
|||||||
if (snapshotHost) cleanedService.widget.snapshotHost = snapshotHost;
|
if (snapshotHost) cleanedService.widget.snapshotHost = snapshotHost;
|
||||||
if (snapshotPath) cleanedService.widget.snapshotPath = snapshotPath;
|
if (snapshotPath) cleanedService.widget.snapshotPath = snapshotPath;
|
||||||
}
|
}
|
||||||
if (["glances", "mealie", "pfsense", "pihole"].includes(type)) {
|
if (["glances", "immich", "mealie", "pfsense", "pihole"].includes(type)) {
|
||||||
if (version) cleanedService.widget.version = version;
|
if (version) cleanedService.widget.version = parseInt(version, 10);
|
||||||
}
|
}
|
||||||
if (type === "glances") {
|
if (type === "glances") {
|
||||||
if (metric) cleanedService.widget.metric = metric;
|
if (metric) cleanedService.widget.metric = metric;
|
||||||
@@ -627,6 +633,12 @@ export function cleanServiceGroups(groups) {
|
|||||||
if (type === "technitium") {
|
if (type === "technitium") {
|
||||||
if (range !== undefined) cleanedService.widget.range = range;
|
if (range !== undefined) cleanedService.widget.range = range;
|
||||||
}
|
}
|
||||||
|
if (type === "lubelogger") {
|
||||||
|
if (vehicleID !== undefined) cleanedService.widget.vehicleID = parseInt(vehicleID, 10);
|
||||||
|
}
|
||||||
|
if (type === "vikunja") {
|
||||||
|
if (enableTaskList !== undefined) cleanedService.widget.enableTaskList = !!enableTaskList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return cleanedService;
|
return cleanedService;
|
||||||
|
|||||||
@@ -41,9 +41,11 @@ export default async function credentialedProxyHandler(req, res, map) {
|
|||||||
"ghostfolio",
|
"ghostfolio",
|
||||||
"linkwarden",
|
"linkwarden",
|
||||||
"mealie",
|
"mealie",
|
||||||
|
"netalertx",
|
||||||
"tailscale",
|
"tailscale",
|
||||||
"tandoor",
|
"tandoor",
|
||||||
"pterodactyl",
|
"pterodactyl",
|
||||||
|
"vikunja",
|
||||||
].includes(widget.type)
|
].includes(widget.type)
|
||||||
) {
|
) {
|
||||||
headers.Authorization = `Bearer ${widget.key}`;
|
headers.Authorization = `Bearer ${widget.key}`;
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ export async function sendJsonRpcRequest(url, method, params, widget) {
|
|||||||
accept: "application/json",
|
accept: "application/json",
|
||||||
};
|
};
|
||||||
|
|
||||||
if (widget.username && widget.password) {
|
if (widget?.username && widget?.password) {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (widget.key) {
|
if (widget?.key) {
|
||||||
headers.Authorization = `Bearer ${widget.key}`;
|
headers.Authorization = `Bearer ${widget.key}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,8 @@ const components = {
|
|||||||
kopia: dynamic(() => import("./kopia/component")),
|
kopia: dynamic(() => import("./kopia/component")),
|
||||||
lidarr: dynamic(() => import("./lidarr/component")),
|
lidarr: dynamic(() => import("./lidarr/component")),
|
||||||
linkwarden: dynamic(() => import("./linkwarden/component")),
|
linkwarden: dynamic(() => import("./linkwarden/component")),
|
||||||
|
lubelogger: dynamic(() => import("./lubelogger/component")),
|
||||||
|
mailcow: dynamic(() => import("./mailcow/component")),
|
||||||
mastodon: dynamic(() => import("./mastodon/component")),
|
mastodon: dynamic(() => import("./mastodon/component")),
|
||||||
mealie: dynamic(() => import("./mealie/component")),
|
mealie: dynamic(() => import("./mealie/component")),
|
||||||
medusa: dynamic(() => import("./medusa/component")),
|
medusa: dynamic(() => import("./medusa/component")),
|
||||||
@@ -123,6 +125,7 @@ const components = {
|
|||||||
uptimekuma: dynamic(() => import("./uptimekuma/component")),
|
uptimekuma: dynamic(() => import("./uptimekuma/component")),
|
||||||
uptimerobot: dynamic(() => import("./uptimerobot/component")),
|
uptimerobot: dynamic(() => import("./uptimerobot/component")),
|
||||||
urbackup: dynamic(() => import("./urbackup/component")),
|
urbackup: dynamic(() => import("./urbackup/component")),
|
||||||
|
vikunja: dynamic(() => import("./vikunja/component")),
|
||||||
watchtower: dynamic(() => import("./watchtower/component")),
|
watchtower: dynamic(() => import("./watchtower/component")),
|
||||||
wgeasy: dynamic(() => import("./wgeasy/component")),
|
wgeasy: dynamic(() => import("./wgeasy/component")),
|
||||||
whatsupdocker: dynamic(() => import("./whatsupdocker/component")),
|
whatsupdocker: dynamic(() => import("./whatsupdocker/component")),
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ import useWidgetAPI from "utils/proxy/use-widget-api";
|
|||||||
|
|
||||||
function getPerformancePercent(t, performanceRange) {
|
function getPerformancePercent(t, performanceRange) {
|
||||||
// ghostfolio v2.79.0 changed to grossPerformancePercentage
|
// ghostfolio v2.79.0 changed to grossPerformancePercentage
|
||||||
|
// ghostfolio v2.106.0 changed to netPerformancePercentageWithCurrencyEffect
|
||||||
const percent =
|
const percent =
|
||||||
|
performanceRange.performance.netPerformancePercentageWithCurrencyEffect ??
|
||||||
performanceRange.performance.grossPerformancePercentage ??
|
performanceRange.performance.grossPerformancePercentage ??
|
||||||
performanceRange.performance.currentGrossPerformancePercent;
|
performanceRange.performance.currentGrossPerformancePercent;
|
||||||
return `${percent > 0 ? "+" : ""}${t("common.percent", {
|
return `${percent > 0 ? "+" : ""}${t("common.percent", {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||||
|
|
||||||
const widget = {
|
const widget = {
|
||||||
api: "{url}/v1/{endpoint}",
|
api: "{url}/v1/{endpoint}",
|
||||||
proxyHandler: genericProxyHandler,
|
proxyHandler: credentialedProxyHandler,
|
||||||
|
|
||||||
mappings: {
|
mappings: {
|
||||||
ip: {
|
ip: {
|
||||||
|
|||||||
@@ -8,11 +8,19 @@ export default function Component({ service }) {
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { widget } = service;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: versionData, error: versionError } = useWidgetAPI(widget, "version");
|
const { version = 1 } = widget;
|
||||||
// see https://github.com/gethomepage/homepage/issues/2282
|
|
||||||
const endpoint =
|
const versionEndpoint = version === 2 ? "version_v2" : "version";
|
||||||
versionData?.major > 1 || (versionData?.major === 1 && versionData?.minor > 84) ? "statistics" : "stats";
|
|
||||||
const { data: immichData, error: immichError } = useWidgetAPI(widget, endpoint);
|
const { data: versionData, error: versionError } = useWidgetAPI(widget, versionEndpoint);
|
||||||
|
|
||||||
|
let statsEndpoint = version === 2 ? "statistics_v2" : "stats";
|
||||||
|
if (version === 1) {
|
||||||
|
// see https://github.com/gethomepage/homepage/issues/2282
|
||||||
|
statsEndpoint =
|
||||||
|
versionData?.major > 1 || (versionData?.major === 1 && versionData?.minor > 84) ? "statistics" : "stats";
|
||||||
|
}
|
||||||
|
const { data: immichData, error: immichError } = useWidgetAPI(widget, statsEndpoint);
|
||||||
|
|
||||||
if (immichError || versionError || immichData?.statusCode === 401) {
|
if (immichError || versionError || immichData?.statusCode === 401) {
|
||||||
return <Container service={service} error={immichData ?? immichError ?? versionError} />;
|
return <Container service={service} error={immichData ?? immichError ?? versionError} />;
|
||||||
|
|||||||
@@ -1,18 +1,24 @@
|
|||||||
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||||
|
|
||||||
const widget = {
|
const widget = {
|
||||||
api: "{url}/api/server-info/{endpoint}",
|
api: "{url}/api/{endpoint}",
|
||||||
proxyHandler: credentialedProxyHandler,
|
proxyHandler: credentialedProxyHandler,
|
||||||
|
|
||||||
mappings: {
|
mappings: {
|
||||||
version: {
|
version: {
|
||||||
endpoint: "version",
|
endpoint: "server-info/version",
|
||||||
},
|
},
|
||||||
statistics: {
|
statistics: {
|
||||||
endpoint: "statistics",
|
endpoint: "server-info/statistics",
|
||||||
},
|
},
|
||||||
stats: {
|
stats: {
|
||||||
endpoint: "stats",
|
endpoint: "server-info/stats",
|
||||||
|
},
|
||||||
|
version_v2: {
|
||||||
|
endpoint: "server/version",
|
||||||
|
},
|
||||||
|
statistics_v2: {
|
||||||
|
endpoint: "server/statistics",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
65
src/widgets/lubelogger/component.jsx
Normal file
65
src/widgets/lubelogger/component.jsx
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
|
import Container from "components/services/widget/container";
|
||||||
|
import Block from "components/services/widget/block";
|
||||||
|
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||||
|
|
||||||
|
export default function Component({ service }) {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
const { widget } = service;
|
||||||
|
let { data: vehicleInfo, error } = useWidgetAPI(widget, "vehicleinfo");
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
return <Container service={service} error={error} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!vehicleInfo) {
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="lubelogger.vehicles" />
|
||||||
|
<Block label="lubelogger.serviceRecords" />
|
||||||
|
<Block label="lubelogger.reminders" />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const { vehicleID } = widget;
|
||||||
|
if (vehicleID) {
|
||||||
|
vehicleInfo = vehicleInfo.filter((v) => v.vehicleData.id === vehicleID);
|
||||||
|
}
|
||||||
|
const totalReminders = vehicleInfo.reduce(
|
||||||
|
(acc, val) => acc + val.veryUrgentReminderCount + val.urgentReminderCount + val.notUrgentReminderCount,
|
||||||
|
0,
|
||||||
|
);
|
||||||
|
const totalServiceRecords = vehicleInfo.reduce((acc, val) => acc + val.serviceRecordCount, 0);
|
||||||
|
|
||||||
|
if (vehicleID) {
|
||||||
|
if (vehicleInfo.length === 0) {
|
||||||
|
error = { message: "Vehicle not found" };
|
||||||
|
return <Container service={service} error={error} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
const nextReminder = vehicleInfo[0].nextReminder
|
||||||
|
? t("common.date", { value: vehicleInfo[0].nextReminder.dueDate })
|
||||||
|
: t("lubelogger.none");
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block
|
||||||
|
label="lubelogger.vehicle"
|
||||||
|
value={`${vehicleInfo[0].vehicleData.year} ${vehicleInfo[0].vehicleData.model}`}
|
||||||
|
/>
|
||||||
|
<Block label="lubelogger.serviceRecords" value={totalServiceRecords} />
|
||||||
|
<Block label="lubelogger.reminders" value={totalReminders} />
|
||||||
|
<Block label="lubelogger.nextReminder" value={nextReminder} />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="lubelogger.vehicles" value={vehicleInfo.length} />
|
||||||
|
<Block label="lubelogger.serviceRecords" value={totalServiceRecords} />
|
||||||
|
<Block label="lubelogger.reminders" value={totalReminders} />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
14
src/widgets/lubelogger/widget.js
Normal file
14
src/widgets/lubelogger/widget.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||||
|
|
||||||
|
const widget = {
|
||||||
|
api: "{url}/api/{endpoint}",
|
||||||
|
proxyHandler: genericProxyHandler,
|
||||||
|
|
||||||
|
mappings: {
|
||||||
|
vehicleinfo: {
|
||||||
|
endpoint: "vehicle/info",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default widget;
|
||||||
40
src/widgets/mailcow/component.jsx
Normal file
40
src/widgets/mailcow/component.jsx
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
|
import Container from "components/services/widget/container";
|
||||||
|
import Block from "components/services/widget/block";
|
||||||
|
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||||
|
|
||||||
|
export default function Component({ service }) {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
const { widget } = service;
|
||||||
|
const { data: resultData, error: resultError } = useWidgetAPI(widget, "domains");
|
||||||
|
|
||||||
|
if (resultError || (resultData && Object.keys(resultData).length === 0)) {
|
||||||
|
return <Container service={service} error={resultError ?? { message: "No domains found" }} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!resultData) {
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="mailcow.mailboxes" />
|
||||||
|
<Block label="mailcow.aliases" />
|
||||||
|
<Block label="mailcow.quarantined" />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const domains = resultData.length;
|
||||||
|
const mailboxes = resultData.reduce((acc, val) => acc + parseInt(val.mboxes_in_domain, 10), 0);
|
||||||
|
const mails = resultData.reduce((acc, val) => acc + parseInt(val.msgs_total, 10), 0);
|
||||||
|
const storage = resultData.reduce((acc, val) => acc + parseInt(val.bytes_total, 10), 0);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="mailcow.domains" value={t("common.number", { value: domains })} />
|
||||||
|
<Block label="mailcow.mailboxes" value={t("common.number", { value: mailboxes })} />
|
||||||
|
<Block label="mailcow.mails" value={t("common.number", { value: mails })} />
|
||||||
|
<Block label="mailcow.storage" value={t("common.bytes", { value: storage })} />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
14
src/widgets/mailcow/widget.js
Normal file
14
src/widgets/mailcow/widget.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import credentialedProxyHandler from "../../utils/proxy/handlers/credentialed";
|
||||||
|
|
||||||
|
const widget = {
|
||||||
|
api: "{url}/api/v1/get/{endpoint}",
|
||||||
|
proxyHandler: credentialedProxyHandler,
|
||||||
|
|
||||||
|
mappings: {
|
||||||
|
domains: {
|
||||||
|
endpoint: "domain/all",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default widget;
|
||||||
@@ -10,7 +10,7 @@ const widget = {
|
|||||||
validate: ["cpu-load", "free-memory", "total-memory", "uptime"],
|
validate: ["cpu-load", "free-memory", "total-memory", "uptime"],
|
||||||
},
|
},
|
||||||
leases: {
|
leases: {
|
||||||
endpoint: "ip/dhcp-server/lease",
|
endpoint: "ip/dhcp-server/lease?.proplist=address",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||||
|
|
||||||
const widget = {
|
const widget = {
|
||||||
api: "{url}/php/server/devices.php?action=getDevicesTotals",
|
api: "{url}/php/server/devices.php?action=getDevicesTotals",
|
||||||
proxyHandler: genericProxyHandler,
|
proxyHandler: credentialedProxyHandler,
|
||||||
|
|
||||||
mappings: {
|
mappings: {
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ export default async function photoprismProxyHandler(req, res) {
|
|||||||
username: widget.username,
|
username: widget.username,
|
||||||
password: widget.password,
|
password: widget.password,
|
||||||
});
|
});
|
||||||
|
} else if (widget.key) {
|
||||||
|
params.headers.Authorization = `Bearer ${widget.key}`;
|
||||||
|
params.body = JSON.stringify({
|
||||||
|
authToken: widget.key,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const [status, contentType, data] = await httpProxy(url, params);
|
const [status, contentType, data] = await httpProxy(url, params);
|
||||||
|
|||||||
@@ -57,23 +57,27 @@ export default async function piholeProxyHandler(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// pihole v6
|
// pihole v6
|
||||||
if (!cache.get(`${sessionSIDCacheKey}.${service}`)) {
|
if (!cache.get(`${sessionSIDCacheKey}.${service}`) && widget.key) {
|
||||||
await login(widget, service);
|
await login(widget, service);
|
||||||
}
|
}
|
||||||
|
|
||||||
const sid = cache.get(`${sessionSIDCacheKey}.${service}`);
|
const sid = cache.get(`${sessionSIDCacheKey}.${service}`);
|
||||||
if (!sid) {
|
if (widget.key && !sid) {
|
||||||
return res.status(500).json({ error: "Failed to authenticate with Pi-hole" });
|
return res.status(500).json({ error: "Failed to authenticate with Pi-hole" });
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
logger.debug("Calling Pi-hole API endpoint: %s", endpoint);
|
logger.debug("Calling Pi-hole API endpoint: %s", endpoint);
|
||||||
|
const headers = {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
};
|
||||||
|
if (sid) {
|
||||||
|
headers["X-FTL-SID"] = sid;
|
||||||
|
} else {
|
||||||
|
logger.debug("Pi-hole request is unauthenticated");
|
||||||
|
}
|
||||||
[status, , data] = await httpProxy(formatApiCall(widgets[widget.type].api, { ...widget, endpoint }), {
|
[status, , data] = await httpProxy(formatApiCall(widgets[widget.type].api, { ...widget, endpoint }), {
|
||||||
headers: {
|
headers,
|
||||||
"Content-Type": "application/json",
|
|
||||||
"X-FTL-SID": sid,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (status !== 200) {
|
if (status !== 200) {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export default function Component({ service }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const datastoreUsage = (datastoreData.data[0].used / datastoreData.data[0].total) * 100;
|
const datastoreUsage = datastoreData.data ? (datastoreData.data[0].used / datastoreData.data[0].total) * 100 : 0;
|
||||||
const cpuUsage = hostData.data.cpu * 100;
|
const cpuUsage = hostData.data.cpu * 100;
|
||||||
const memoryUsage = (hostData.data.memory.used / hostData.data.memory.total) * 100;
|
const memoryUsage = (hostData.data.memory.used / hostData.data.memory.total) * 100;
|
||||||
const failedTasks = tasksData.total >= 100 ? "99+" : tasksData.total;
|
const failedTasks = tasksData.total >= 100 ? "99+" : tasksData.total;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
function toPercent(value, total) {
|
function toPercent(value, total) {
|
||||||
return t("common.percent", {
|
return t("common.percent", {
|
||||||
value: !Number.isNaN(value / total) ? value / total : 0,
|
value: !Number.isNaN(value / total) ? 100 * (value / total) : 0,
|
||||||
maximumFractionDigits: 2,
|
maximumFractionDigits: 2,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -64,55 +64,64 @@ export default function Component({ service }) {
|
|||||||
<Block
|
<Block
|
||||||
label="technitium.totalNoError"
|
label="technitium.totalNoError"
|
||||||
value={`${t("common.number", { value: statsData.totalNoError })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalNoError })} (${toPercent(
|
||||||
statsData.totalNoError / statsData.totalQueries,
|
statsData.totalNoError,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalServerFailure"
|
label="technitium.totalServerFailure"
|
||||||
value={`${t("common.number", { value: statsData.totalServerFailure })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalServerFailure })} (${toPercent(
|
||||||
statsData.totalServerFailure / statsData.totalQueries,
|
statsData.totalServerFailure,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalNxDomain"
|
label="technitium.totalNxDomain"
|
||||||
value={`${t("common.number", { value: statsData.totalNxDomain })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalNxDomain })} (${toPercent(
|
||||||
statsData.totalNxDomain / statsData.totalQueries,
|
statsData.totalNxDomain,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalRefused"
|
label="technitium.totalRefused"
|
||||||
value={`${t("common.number", { value: statsData.totalRefused })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalRefused })} (${toPercent(
|
||||||
statsData.totalRefused / statsData.totalQueries,
|
statsData.totalRefused,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalAuthoritative"
|
label="technitium.totalAuthoritative"
|
||||||
value={`${t("common.number", { value: statsData.totalAuthoritative })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalAuthoritative })} (${toPercent(
|
||||||
statsData.totalAuthoritative / statsData.totalQueries,
|
statsData.totalAuthoritative,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalRecursive"
|
label="technitium.totalRecursive"
|
||||||
value={`${t("common.number", { value: statsData.totalRecursive })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalRecursive })} (${toPercent(
|
||||||
statsData.totalRecursive / statsData.totalQueries,
|
statsData.totalRecursive,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalCached"
|
label="technitium.totalCached"
|
||||||
value={`${t("common.number", { value: statsData.totalCached })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalCached })} (${toPercent(
|
||||||
statsData.totalCached / statsData.totalQueries,
|
statsData.totalCached,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalBlocked"
|
label="technitium.totalBlocked"
|
||||||
value={`${t("common.number", { value: statsData.totalBlocked })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalBlocked })} (${toPercent(
|
||||||
statsData.totalBlocked / statsData.totalQueries,
|
statsData.totalBlocked,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block
|
<Block
|
||||||
label="technitium.totalDropped"
|
label="technitium.totalDropped"
|
||||||
value={`${t("common.number", { value: statsData.totalDropped })} (${toPercent(
|
value={`${t("common.number", { value: statsData.totalDropped })} (${toPercent(
|
||||||
statsData.totalDropped / statsData.totalQueries,
|
statsData.totalDropped,
|
||||||
|
statsData.totalQueries,
|
||||||
)})`}
|
)})`}
|
||||||
/>
|
/>
|
||||||
<Block label="technitium.totalClients" value={`${t("common.number", { value: statsData.totalClients })}`} />
|
<Block label="technitium.totalClients" value={`${t("common.number", { value: statsData.totalClients })}`} />
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const widget = {
|
|||||||
endpoint: "dashboard/stats/get",
|
endpoint: "dashboard/stats/get",
|
||||||
validate: ["response", "status"],
|
validate: ["response", "status"],
|
||||||
params: ["type"],
|
params: ["type"],
|
||||||
map: (data) => asJson(data).response.stats,
|
map: (data) => asJson(data).response?.stats,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
68
src/widgets/vikunja/component.jsx
Normal file
68
src/widgets/vikunja/component.jsx
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
|
import Container from "components/services/widget/container";
|
||||||
|
import Block from "components/services/widget/block";
|
||||||
|
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||||
|
|
||||||
|
export default function Component({ service }) {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
const { widget } = service;
|
||||||
|
|
||||||
|
const { data: projectsData, error: projectsError } = useWidgetAPI(widget, "projects");
|
||||||
|
const { data: tasksData, error: tasksError } = useWidgetAPI(widget, "tasks");
|
||||||
|
|
||||||
|
if (projectsError || tasksError) {
|
||||||
|
return <Container service={service} error={projectsError ?? tasksError} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!projectsData || !tasksData) {
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="vikunja.projects" />
|
||||||
|
<Block label="vikunja.tasks7d" />
|
||||||
|
<Block label="vikunja.tasksOverdue" />
|
||||||
|
<Block label="vikunja.tasksInProgress" />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const projects = projectsData.filter((project) => project.id > 0); // saved filters have id < 0
|
||||||
|
|
||||||
|
const oneWeekFromNow = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);
|
||||||
|
const tasksWithDueDate = tasksData.filter((task) => !task.dueDateIsDefault);
|
||||||
|
const tasks7d = tasksWithDueDate.filter((task) => new Date(task.dueDate) <= oneWeekFromNow);
|
||||||
|
const tasksOverdue = tasksWithDueDate.filter((task) => new Date(task.dueDate) <= new Date(Date.now()));
|
||||||
|
const tasksInProgress = tasksData.filter((task) => task.inProgress);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="vikunja.projects" value={t("common.number", { value: projects.length })} />
|
||||||
|
<Block label="vikunja.tasks7d" value={t("common.number", { value: tasks7d.length })} />
|
||||||
|
<Block label="vikunja.tasksOverdue" value={t("common.number", { value: tasksOverdue.length })} />
|
||||||
|
<Block label="vikunja.tasksInProgress" value={t("common.number", { value: tasksInProgress.length })} />
|
||||||
|
</Container>
|
||||||
|
{widget.enableTaskList &&
|
||||||
|
tasksData.slice(0, 5).map((task) => (
|
||||||
|
<div
|
||||||
|
key={task.id}
|
||||||
|
className="text-theme-700 dark:text-theme-200 relative h-5 rounded-md bg-theme-200/50 dark:bg-theme-900/20 m-1 px-1 flex"
|
||||||
|
>
|
||||||
|
<div className="text-xs z-10 self-center ml-2 relative h-4 grow mr-2">
|
||||||
|
<div className="absolute w-full h-4 whitespace-nowrap text-ellipsis overflow-hidden text-left">
|
||||||
|
{task.title}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{!task.dueDateIsDefault && (
|
||||||
|
<div className="self-center text-xs flex justify-end mr-1.5 pl-1 z-10 text-ellipsis overflow-hidden whitespace-nowrap">
|
||||||
|
{t("common.relativeDate", {
|
||||||
|
value: task.dueDate,
|
||||||
|
formatParams: { value: { style: "narrow", numeric: "auto" } },
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
27
src/widgets/vikunja/widget.js
Normal file
27
src/widgets/vikunja/widget.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||||
|
import { asJson } from "utils/proxy/api-helpers";
|
||||||
|
|
||||||
|
const widget = {
|
||||||
|
api: `{url}/api/v1/{endpoint}`,
|
||||||
|
proxyHandler: credentialedProxyHandler,
|
||||||
|
|
||||||
|
mappings: {
|
||||||
|
projects: {
|
||||||
|
endpoint: "projects",
|
||||||
|
},
|
||||||
|
tasks: {
|
||||||
|
endpoint: "tasks/all?filter=done%3Dfalse&sort_by=due_date",
|
||||||
|
map: (data) =>
|
||||||
|
asJson(data).map((task) => ({
|
||||||
|
id: task.id,
|
||||||
|
title: task.title,
|
||||||
|
priority: task.priority,
|
||||||
|
dueDate: task.due_date,
|
||||||
|
dueDateIsDefault: task.due_date === "0001-01-01T00:00:00Z",
|
||||||
|
inProgress: task.percent_done > 0 && task.percent_done < 1,
|
||||||
|
})),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default widget;
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user