Compare commits

...

441 Commits

Author SHA1 Message Date
Thomas Camlong
6a876ca309 🌐 New Crowdin updates (#927) 2023-05-20 19:19:46 +02:00
Manuel
48d3c7cc92 🔖 Version 0.12.2 (#959) 2023-05-20 18:12:12 +02:00
Manuel
336aff13cc 💄 Fix scrollbar bookmark widget (#957) 2023-05-20 18:04:15 +02:00
Manuel
f8e0ffabd4 🔧 Fix vitest ignore (#955)
* 🔧 Fix ignored paths in vitest

* 🔧 Fix vitest config ignore
2023-05-20 15:59:21 +02:00
Manuel
cd6b812a38 🔧 Fix ignored paths in vitest (#954) 2023-05-20 15:52:34 +02:00
Manuel
e63321f5ad 🚨 Fix warnings (#953) 2023-05-20 15:33:14 +02:00
renovate[bot]
d615f49f47 ⬆️ Update nivo monorepo to ^0.83.0 (#930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-20 15:06:10 +02:00
renovate[bot]
4da32832b9 ⬆️ Update dependency eslint to v8.41.0 (#921)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-20 15:03:44 +02:00
renovate[bot]
b0503e1995 ⬆️ Update dependency eslint-plugin-vitest to ^0.2.0 (#923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-20 15:03:31 +02:00
Manuel
a7f99c7366 ⬆️ Upgrade faulty vitest dependencies (#950) 2023-05-20 15:01:02 +02:00
Manuel
fb52c4b003 Add ad guard home (#937)
*  Add add guard home

*  Add request for blocked domains and fix request for blocked queries

* ♻️ PR feedback

*  Fix tests
2023-05-20 14:42:15 +02:00
ajnart
85dfb5bb58 ⬆️ Upgrade typescript 2023-05-19 10:13:37 +09:00
ajnart
bc267d3e8b ⬆️ Upgrade turbo version 2023-05-19 10:03:19 +09:00
Thomas Camlong
3133e07fc7 Merge pull request #926 from ajnart/renovate/actions-cache-3.x
⬆️ Update actions/cache action to v3
2023-05-19 10:02:50 +09:00
Thomas Camlong
2a384d47b0 Merge pull request #916 from ajnart/manuel-rw-patch-2
Update docker_dev.yml
2023-05-18 10:52:52 +09:00
Thomas Camlong
cead7d2355 Merge pull request #940 from ajnart/config/custom-renovate-prefix 2023-05-17 06:23:01 +09:00
Manuel
7ab8c14c5c 🔧 Add custom commit prefix for renovate 2023-05-16 22:39:58 +02:00
renovate[bot]
eb2a8ba997 ⬆️ Update dependency @tabler/icons-react to v2.19.0 (#938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-16 22:31:08 +02:00
Luca
ba8ef4a844 Allow opening media requests links in external host (#824)
* Allow opening media requests links in external host

* Removed useless translation files

* Restored translations

* 🌐 Add missing translation

---------

Co-authored-by: Manuel <manuel.ruwe@bluewin.ch>
2023-05-16 22:30:04 +02:00
Thomas Camlong
3e6413d9f2 Ability to manage media requests from the widget (#894)
* Ability to manage media requests from the widget

* 🚸 Improve UX & Design

---------

Co-authored-by: Manuel <manuel.ruwe@bluewin.ch>
2023-05-16 22:19:14 +02:00
Manuel
d0180b1f87 🐛 Overseerr air date undefined crash (#936) 2023-05-16 20:37:29 +02:00
ajnart
48448e273c 🔥 Remove unused imports in types 2023-05-16 15:58:56 +09:00
Thomas Camlong
d84a2c3e51 Merge pull request #928 from ajnart/add-checkly
🧪 Add checkly
2023-05-16 15:55:55 +09:00
ajnart
48c348d83d ⚰️ Remove package-lock.json 2023-05-16 15:55:29 +09:00
ajnart
5f5c914b63 Add Checkly 2023-05-16 15:55:10 +09:00
ajnart
7b81a3bc43 🧪 Add checkly 2023-05-16 15:55:10 +09:00
ajnart
1c80e13cf8 ⬆️ Upgrade to latest NextJS 2023-05-16 15:54:13 +09:00
ajnart
2ce5547c90 ⬆️ Upgrade to latest NextJS 2023-05-16 15:53:47 +09:00
ajnart
8284c3bab6 🔥 Remove analyze files 2023-05-16 15:53:31 +09:00
ajnart
ea950d6445 Add Checkly 2023-05-16 15:46:14 +09:00
ajnart
1bff6ed225 Remove nextjs analyze files 2023-05-16 15:45:51 +09:00
ajnart
841cd6ab28 🧪 Add checkly 2023-05-16 15:25:32 +09:00
renovate[bot]
80b40426cc Update actions/cache action to v3 2023-05-16 06:12:31 +00:00
Thomas Camlong
052a8c9489 Merge pull request #897 from ajnart/renovate/dockerode-3.x-lockfile
Update dependency @types/dockerode to v3.3.17
2023-05-16 15:05:44 +09:00
Thomas Camlong
96584485b5 Merge pull request #895 from ajnart/cache-invalidation
Various Improvements and bugfixes related to caching
2023-05-16 15:04:16 +09:00
ajnart
109e53df5d 🚨 Fix compilation 2023-05-16 15:00:46 +09:00
Thomas Camlong
a8ea56543b Merge branch 'dev' into cache-invalidation 2023-05-16 14:50:11 +09:00
Thomas Camlong
83b171cd4e Merge pull request #900 from ajnart/renovate/prettier-2.x-lockfile
Update dependency prettier to v2.8.8
2023-05-16 14:48:24 +09:00
Thomas Camlong
6facd4b10e Merge pull request #896 from ajnart/renovate/ctrl-shared-torrent-4.x-lockfile
Update dependency @ctrl/shared-torrent to v4.3.3
2023-05-16 14:48:03 +09:00
Thomas Camlong
c21e54e620 Merge pull request #910 from ajnart/renovate/consola-3.x
Update dependency consola to v3
2023-05-16 14:47:45 +09:00
Thomas Camlong
dca15f8723 Merge pull request #907 from ajnart/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v5.59.6
2023-05-16 14:47:29 +09:00
Thomas Camlong
2288ab37d9 Merge pull request #919 from ajnart/renovate/react-monorepo
Update react monorepo
2023-05-16 14:47:13 +09:00
Thomas Camlong
cbb1fe789e New Crowdin updates (#842)
* New translations selector.json (Turkish)

* New translations login.json (Turkish)

* New translations selector.json (Turkish)

* New translations calendar.json (Turkish)

* New translations dashdot.json (Slovak)

* New translations dashdot.json (Italian)

* New translations selector.json (Turkish)

* New translations selector.json (Turkish)

* New translations common.json (Turkish)

* New translations torrents-status.json (Greek)

* New translations torrents-status.json (Turkish)

* New translations torrents-status.json (French)

* New translations torrents-status.json (Spanish)

* New translations torrents-status.json (Danish)

* New translations torrents-status.json (German)

* New translations torrents-status.json (Hebrew)

* New translations torrents-status.json (Italian)

* New translations torrents-status.json (Japanese)

* New translations torrents-status.json (Korean)

* New translations torrents-status.json (Dutch)

* New translations torrents-status.json (Norwegian)

* New translations torrents-status.json (Polish)

* New translations torrents-status.json (Russian)

* New translations torrents-status.json (Slovak)

* New translations torrents-status.json (Slovenian)

* New translations torrents-status.json (Swedish)

* New translations torrents-status.json (Ukrainian)

* New translations torrents-status.json (Chinese Simplified)

* New translations torrents-status.json (English)

* New translations torrents-status.json (Vietnamese)

* New translations torrents-status.json (Portuguese, Brazilian)

* New translations torrents-status.json (LOLCAT)

* New translations torrents-status.json (German)

* New translations media-requests-list.json (English)

* New translations dashdot.json (English)

* New translations rss.json (English)

* New translations torrents-status.json (German)

* New translations torrents-status.json (English)

* New translations torrents-status.json (Turkish)

* New translations torrents-status.json (Danish)

* New translations dashdot.json (Dutch)

* New translations torrents-status.json (Dutch)

* New translations torrents-status.json (Spanish)

* New translations common.json (Turkish)

* New translations common.json (Turkish)

* New translations common.json (Turkish)

* New translations common.json (Turkish)

* New translations about.json (Turkish)

* New translations common.json (Turkish)

* New translations torrents-status.json (Hebrew)

* New translations torrents-status.json (Italian)

* New translations dns-hole-controls.json (French)

* New translations dns-hole-summary.json (French)

* New translations dns-hole-controls.json (Spanish)

* New translations dns-hole-summary.json (Spanish)

* New translations dns-hole-controls.json (Danish)

* New translations dns-hole-summary.json (Danish)

* New translations dns-hole-controls.json (German)

* New translations dns-hole-summary.json (German)

* New translations dns-hole-controls.json (Greek)

* New translations dns-hole-summary.json (Greek)

* New translations dns-hole-controls.json (Hebrew)

* New translations dns-hole-summary.json (Hebrew)

* New translations dns-hole-controls.json (Italian)

* New translations dns-hole-summary.json (Italian)

* New translations dns-hole-controls.json (Japanese)

* New translations dns-hole-summary.json (Japanese)

* New translations dns-hole-controls.json (Korean)

* New translations dns-hole-summary.json (Korean)

* New translations dns-hole-controls.json (Dutch)

* New translations dns-hole-summary.json (Dutch)

* New translations dns-hole-controls.json (Norwegian)

* New translations dns-hole-summary.json (Norwegian)

* New translations dns-hole-controls.json (Polish)

* New translations dns-hole-summary.json (Polish)

* New translations dns-hole-controls.json (Russian)

* New translations dns-hole-summary.json (Russian)

* New translations dns-hole-controls.json (Slovak)

* New translations dns-hole-summary.json (Slovak)

* New translations dns-hole-controls.json (Slovenian)

* New translations dns-hole-summary.json (Slovenian)

* New translations dns-hole-controls.json (Swedish)

* New translations dns-hole-summary.json (Swedish)

* New translations dns-hole-controls.json (Turkish)

* New translations dns-hole-summary.json (Turkish)

* New translations dns-hole-controls.json (Ukrainian)

* New translations dns-hole-summary.json (Ukrainian)

* New translations dns-hole-controls.json (Chinese Simplified)

* New translations dns-hole-summary.json (Chinese Simplified)

* New translations dns-hole-controls.json (English)

* New translations dns-hole-summary.json (English)

* New translations dns-hole-controls.json (Vietnamese)

* New translations dns-hole-summary.json (Vietnamese)

* New translations dns-hole-controls.json (Portuguese, Brazilian)

* New translations dns-hole-summary.json (Portuguese, Brazilian)

* New translations dns-hole-controls.json (LOLCAT)

* New translations dns-hole-summary.json (LOLCAT)

* New translations dns-hole-controls.json (Turkish)

* New translations dns-hole-summary.json (Turkish)

* New translations dns-hole-controls.json (Hebrew)

* New translations dns-hole-summary.json (Hebrew)

* New translations dns-hole-controls.json (German)

* New translations dns-hole-summary.json (German)

* New translations dns-hole-controls.json (Spanish)

* New translations dns-hole-summary.json (Spanish)

* New translations torrents-status.json (Slovak)

* New translations dns-hole-controls.json (Slovak)

* New translations dns-hole-summary.json (Slovak)

* New translations dns-hole-summary.json (Chinese Simplified)

* New translations dns-hole-controls.json (Chinese Simplified)

* New translations dns-hole-summary.json (Chinese Simplified)

* New translations bookmark.json (French)

* New translations draggable-list.json (French)

* New translations bookmark.json (Spanish)

* New translations draggable-list.json (Spanish)

* New translations bookmark.json (Danish)

* New translations draggable-list.json (Danish)

* New translations bookmark.json (German)

* New translations draggable-list.json (German)

* New translations bookmark.json (Greek)

* New translations draggable-list.json (Greek)

* New translations bookmark.json (Hebrew)

* New translations draggable-list.json (Hebrew)

* New translations bookmark.json (Italian)

* New translations draggable-list.json (Italian)

* New translations bookmark.json (Japanese)

* New translations draggable-list.json (Japanese)

* New translations bookmark.json (Korean)

* New translations draggable-list.json (Korean)

* New translations bookmark.json (Dutch)

* New translations draggable-list.json (Dutch)

* New translations bookmark.json (Norwegian)

* New translations draggable-list.json (Norwegian)

* New translations bookmark.json (Polish)

* New translations draggable-list.json (Polish)

* New translations bookmark.json (Russian)

* New translations draggable-list.json (Russian)

* New translations bookmark.json (Slovak)

* New translations draggable-list.json (Slovak)

* New translations bookmark.json (Slovenian)

* New translations draggable-list.json (Slovenian)

* New translations bookmark.json (Swedish)

* New translations draggable-list.json (Swedish)

* New translations common-media-cards.json (Turkish)

* New translations overseerr.json (Turkish)

* New translations media-requests-list.json (Turkish)

* New translations media-requests-stats.json (Turkish)

* New translations bookmark.json (Turkish)

* New translations draggable-list.json (Turkish)

* New translations bookmark.json (Ukrainian)

* New translations draggable-list.json (Ukrainian)

* New translations bookmark.json (Chinese Simplified)

* New translations draggable-list.json (Chinese Simplified)

* New translations bookmark.json (English)

* New translations draggable-list.json (English)

* New translations bookmark.json (Vietnamese)

* New translations draggable-list.json (Vietnamese)

* New translations bookmark.json (Portuguese, Brazilian)

* New translations draggable-list.json (Portuguese, Brazilian)

* New translations bookmark.json (LOLCAT)

* New translations draggable-list.json (LOLCAT)

* New translations dns-hole-controls.json (Italian)

* New translations dns-hole-summary.json (Italian)

* New translations bookmark.json (Danish)

* New translations draggable-list.json (Danish)

* New translations bookmark.json (German)

* New translations draggable-list.json (German)

* New translations bookmark.json (Italian)

* New translations draggable-list.json (Italian)

* New translations draggable-list.json (Turkish)

* New translations bookmark.json (Ukrainian)

* New translations draggable-list.json (Ukrainian)

* New translations bookmark.json (Hebrew)

* New translations draggable-list.json (Hebrew)

* New translations bookmark.json (Turkish)

* New translations bookmark.json (Slovak)

* New translations draggable-list.json (Slovak)

* New translations common.json (Turkish)

* New translations dns-hole-controls.json (French)

* New translations dns-hole-summary.json (French)

* New translations dns-hole-controls.json (Spanish)

* New translations dns-hole-summary.json (Spanish)

* New translations dns-hole-controls.json (Danish)

* New translations dns-hole-summary.json (Danish)

* New translations dns-hole-controls.json (German)

* New translations dns-hole-summary.json (German)

* New translations dns-hole-controls.json (Greek)

* New translations dns-hole-summary.json (Greek)

* New translations dns-hole-controls.json (Hebrew)

* New translations dns-hole-summary.json (Hebrew)

* New translations dns-hole-controls.json (Italian)

* New translations dns-hole-summary.json (Italian)

* New translations dns-hole-controls.json (Japanese)

* New translations dns-hole-summary.json (Japanese)

* New translations dns-hole-controls.json (Korean)

* New translations dns-hole-summary.json (Korean)

* New translations dns-hole-controls.json (Dutch)

* New translations dns-hole-summary.json (Dutch)

* New translations dns-hole-controls.json (Norwegian)

* New translations dns-hole-summary.json (Norwegian)

* New translations dns-hole-controls.json (Polish)

* New translations dns-hole-summary.json (Polish)

* New translations dns-hole-controls.json (Russian)

* New translations dns-hole-summary.json (Russian)

* New translations dns-hole-controls.json (Slovak)

* New translations dns-hole-summary.json (Slovak)

* New translations dns-hole-controls.json (Slovenian)

* New translations dns-hole-summary.json (Slovenian)

* New translations dns-hole-controls.json (Swedish)

* New translations dns-hole-summary.json (Swedish)

* New translations dns-hole-controls.json (Turkish)

* New translations dns-hole-summary.json (Turkish)

* New translations dns-hole-controls.json (Ukrainian)

* New translations dns-hole-summary.json (Ukrainian)

* New translations dns-hole-controls.json (Chinese Simplified)

* New translations dns-hole-summary.json (Chinese Simplified)

* New translations dns-hole-controls.json (English)

* New translations dns-hole-summary.json (English)

* New translations dns-hole-controls.json (Vietnamese)

* New translations dns-hole-summary.json (Vietnamese)

* New translations dns-hole-controls.json (Portuguese, Brazilian)

* New translations dns-hole-summary.json (Portuguese, Brazilian)

* New translations dns-hole-controls.json (LOLCAT)

* New translations dns-hole-summary.json (LOLCAT)

* New translations bookmark.json (English)

* New translations draggable-list.json (English)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (Danish)

* New translations common.json (German)

* New translations common.json (Greek)

* New translations common.json (Hebrew)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations common.json (Dutch)

* New translations common.json (Norwegian)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Slovak)

* New translations common.json (Slovenian)

* New translations common.json (Swedish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (English)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (LOLCAT)

* New translations dashdot.json (French)

* New translations media-server.json (French)
2023-05-16 14:30:48 +09:00
ajnart
b8ea9dbb39 🌐 Fix strings for DNS module 2023-05-16 14:10:04 +09:00
Thomas Camlong
be5c60fa3e Merge pull request #899 from ajnart/drop-cache
 Add drop cache buttons
2023-05-16 13:55:00 +09:00
Thomas Camlong
ec08953514 Merge branch 'dev' into drop-cache 2023-05-16 13:54:43 +09:00
Thomas Camlong
f8dcd40286 Merge pull request #914 from ajnart/migrate/tabler-icons-react
⬆️ Upgrade to `@tabler/icons-react`
2023-05-16 13:53:59 +09:00
renovate[bot]
f717f4e8d6 Update react monorepo 2023-05-16 04:53:58 +00:00
Thomas Camlong
329c38c989 Merge pull request #902 from ajnart/renovate/mantine-monorepo
Update mantine monorepo to v6.0.10
2023-05-16 13:53:05 +09:00
renovate[bot]
a4d6c278db Update dependency consola to v3 2023-05-16 04:52:10 +00:00
renovate[bot]
7aa6f90e17 Update dependency @ctrl/shared-torrent to v4.3.3 2023-05-16 04:51:24 +00:00
Thomas Camlong
c788f6bc1e Merge pull request #906 from ajnart/renovate/tanstack-query-monorepo
Update tanstack-query monorepo to v4.29.7
2023-05-16 13:49:50 +09:00
Thomas Camlong
b1d49e3a9e Merge pull request #904 from ajnart/renovate/nextjs-monorepo
Update dependency next to v13.4.2
2023-05-16 13:49:35 +09:00
Thomas Camlong
04918865ea Merge pull request #912 from ajnart/renovate/major-nextjs-monorepo
Update nextjs monorepo to v13 (major)
2023-05-16 13:49:11 +09:00
Thomas Camlong
f4b610e5a3 Merge pull request #903 from ajnart/renovate/yarn-monorepo
Update Yarn to v3.5.1
2023-05-16 13:48:36 +09:00
renovate[bot]
76b5b3024d Update Yarn to v3.5.1 2023-05-16 04:47:26 +00:00
Thomas Camlong
7371bb5559 Merge pull request #908 from ajnart/renovate/ctrl-qbittorrent-6.x
Update dependency @ctrl/qbittorrent to v6
2023-05-16 13:46:31 +09:00
Thomas Camlong
b9a43aeaad Merge pull request #909 from ajnart/renovate/axios-1.x
Update dependency axios to v1
2023-05-16 13:45:51 +09:00
Thomas Camlong
a6441056fe Merge pull request #911 from ajnart/renovate/typescript-5.x
Update dependency typescript to v5
2023-05-16 13:45:21 +09:00
Thomas Camlong
954eabc217 Merge pull request #918 from ajnart/fix-compilation
🐛 Try fixing compilation error on vercel
2023-05-16 13:44:40 +09:00
ajnart
03eb843a2f 💚 Merge CI 2023-05-16 13:41:24 +09:00
ajnart
c195987564 Add vercel cache for CI 2023-05-16 13:38:15 +09:00
ajnart
631864dfaf re-launch ci 2023-05-16 13:32:23 +09:00
ajnart
03f07dbd81 🐛 Try fixing compilation error on vercel 2023-05-16 13:25:07 +09:00
Thomas Camlong
3bda652f4b Merge pull request #913 from ajnart/bundle-analysis-action
👷 Add NextJS bundle analysis GitHub Action
2023-05-16 13:24:42 +09:00
renovate[bot]
9924d5a80b Update typescript-eslint monorepo to v5.59.6 2023-05-15 21:13:49 +00:00
renovate[bot]
bdf7a40713 Update nextjs monorepo to v13 2023-05-15 11:15:00 +00:00
Manuel
8d1bb71a22 Update docker_dev.yml 2023-05-15 13:10:17 +02:00
ajnart
5e3f0da581 🔥 Remove vercel config 2023-05-15 20:10:14 +09:00
ajnart
7f49ca7983 💚 Continue on error and update comment feature 2023-05-15 18:12:30 +09:00
ajnart
29d0b63f40 ⚰️ Remove continue-on-error 2023-05-15 18:10:44 +09:00
ajnart
bea4e86167 💚 Continue on error and update comment feature 2023-05-15 17:45:20 +09:00
ajnart
6f48cafd42 ⬆️ Upgrade to @tabler/icons-react 2023-05-15 17:40:59 +09:00
ajnart
dc7e860263 🔧 Add base config for anaylyze 2023-05-15 17:37:00 +09:00
ajnart
b35bbedb77 💚 Add yarn install to CI for bundle analysis 2023-05-15 17:27:52 +09:00
ajnart
141004c39f 💚 Change to using turbo 2023-05-15 17:24:46 +09:00
ajnart
96713f5223 👷 Add NextJS bundle analysis GitHub Action 2023-05-15 17:23:11 +09:00
renovate[bot]
3770fdb05f Update dependency typescript to v5 2023-05-15 08:17:39 +00:00
renovate[bot]
1f6858ee8b Update dependency axios to v1 2023-05-15 08:16:49 +00:00
renovate[bot]
165eb74c9d Update dependency @ctrl/qbittorrent to v6 2023-05-15 08:16:32 +00:00
renovate[bot]
5d34ef3544 Update tanstack-query monorepo to v4.29.7 2023-05-15 08:15:47 +00:00
renovate[bot]
44b48ce475 Update dependency next to v13.4.2 2023-05-15 08:14:53 +00:00
ajnart
d713d5f7e4 Add buttons to reset certain cache queries 2023-05-15 17:14:18 +09:00
renovate[bot]
45db7dfcb0 Add renovate.json 2023-05-15 17:10:23 +09:00
Manuel
a982773c0d Bookmark widget (#890)
* 🚧 Bookmark widget

*  Add input type

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>

*  Add content display and input fields

* 🐛 Fix delete button updating to invalid schema

* 🌐 Add translations for options

*  Add field for image

* ♻️ Refactor IconSelector and add forward ref

* 🦺 Add form validation

* 🦺 Add validation for icon url and fix state for icon picker

* 🌐 PR feedback

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2023-05-15 17:10:23 +09:00
ajnart
27c0ef608e 🐛 Fix a small bug with the ping system 2023-05-15 17:10:10 +09:00
renovate[bot]
9f2517cce1 Update mantine monorepo to v6.0.10 2023-05-15 08:09:56 +00:00
renovate[bot]
0c7d64c8e6 Update dependency prettier to v2.8.8 2023-05-15 08:09:10 +00:00
renovate[bot]
37342a54be Update dependency @types/dockerode to v3.3.17 2023-05-15 08:04:37 +00:00
Thomas Camlong
830adad22f Merge pull request #849 from ajnart/renovate/configure
Configure Renovate
2023-05-15 17:00:45 +09:00
Manuel
c52acd2913 Bookmark widget (#890)
* 🚧 Bookmark widget

*  Add input type

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>

*  Add content display and input fields

* 🐛 Fix delete button updating to invalid schema

* 🌐 Add translations for options

*  Add field for image

* ♻️ Refactor IconSelector and add forward ref

* 🦺 Add form validation

* 🦺 Add validation for icon url and fix state for icon picker

* 🌐 PR feedback

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2023-05-15 09:54:50 +02:00
Thomas Camlong
194da2b6e5 Merge pull request #855 from ajnart/small-fix-ping
🐛 Fix a small bug with the ping system
2023-05-15 16:27:03 +09:00
ajnart
599ccda1ed Add stale time to useGetDashboardIcons query 2023-05-15 16:24:22 +09:00
ajnart
9f4f3794b0 🐛 Fix small bug when deleting a config
It would always return error previously. That has been fixed.
2023-05-15 16:24:05 +09:00
ajnart
c2c0d0bb55 🐛 Fix IconSelector size
Added the `withinPortal` option so that it doesn't clip into the underlying modal
2023-05-15 16:23:36 +09:00
ajnart
6901c985fd Add notifications when chaning configs 2023-05-15 16:22:58 +09:00
ajnart
86913d2244 🌐 Fix missing string in add-app.json 2023-05-15 16:22:33 +09:00
ajnart
f34d1d0096 🙈 Add all languages other than EN to gitignore
This will allow for easier search in IDEs
- vscode hides gitignored files
- new contributors won't push translations using JSON anymore
2023-05-15 16:22:13 +09:00
ajnart
3efe18d06f Invalidate queries
This commit adds the functionality of query invalidation
- when a config is created
- when the calendar options are changed

It also makes it so the calendar doesn't update if the widget is currently being edited
2023-05-15 16:20:48 +09:00
Manuel
92e8d79c5a Add pihole integration (#860)
*  Add pihole integration

* Update src/widgets/adhole/AdHoleControls.tsx

Co-authored-by: Larvey <39219859+LarveyOfficial@users.noreply.github.com>

* Update src/tools/client/math.ts

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>

* Update src/widgets/dnshole/DnsHoleSummary.tsx

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>

---------

Co-authored-by: Larvey <39219859+LarveyOfficial@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2023-05-06 19:51:53 +02:00
Thomas Camlong
6ad799efe8 Merge pull request #883 from ajnart/manuel-rw-patch-2 2023-05-06 16:28:38 +09:00
Manuel
e6c4b1e78c 🔧 Update version in default.json 2023-05-06 09:28:00 +02:00
Meier Lukas
81292a8b5a Merge pull request #880 from ajnart/fix/wrong-locale-for-turkish
🐛 Fix wrong i18n locale for turkish
2023-05-04 16:30:12 +02:00
Meier Lukas
c71c36f6b3 🐛 Fix wrong i18n language for turkish 2023-05-04 16:24:34 +02:00
Thomas Camlong
20f3dc3b3f Merge pull request #877 from ajnart/language/add-turkish
 Add turkish translation locale
2023-05-04 13:21:40 +09:00
Meier Lukas
400c5d1229 🐛 Fix failing build by adding turkish locale directory 2023-05-04 06:13:45 +02:00
Meier Lukas
a0ad61beb8 Add turkish translation locale 2023-05-04 06:06:39 +02:00
Manuel
1c0c9cc282 🔧 Update deprecated attributes in config file (#868) 2023-05-03 12:51:03 +02:00
Manuel
50aba040e4 Add label filter for torrent widget (#865) 2023-05-03 12:50:11 +02:00
Manuel
678c8d0018 🐛 Add ipv6 support for url regex (#864) 2023-04-26 10:31:46 +02:00
Thomas Camlong
5c61f81c03 Merge pull request #856 from LarveyOfficial/dashName
 Dash Integration: Ability to re-name widget for multiple instances
2023-04-26 09:54:36 +09:00
Thomas Camlong
85e90700a6 Merge pull request #861 from LarveyOfficial/colorPickerFix
🐛 Make color picker prioritize config colors
2023-04-26 09:48:48 +09:00
Larvey
e2426ed6e5 Make color picker button prioritize config colors 2023-04-25 17:02:53 -04:00
Larvey
7c6ac76ace Remove unneeded ternary
Didn't know this was possible. :D
2023-04-25 14:02:45 -04:00
Larvey
815d4d6a62 Remove dashName from all languages but English
As per request, seems this was not required. Only English
2023-04-25 14:01:58 -04:00
Larvey
59238ae2a6 Added dashName variable
Allows user to change DashDot Name
2023-04-25 13:43:14 -04:00
Larvey
39c89c3f6d Added dashName variable to locales
In preparation for the dashName variable addition
2023-04-25 13:37:49 -04:00
ajnart
9b45e24584 🐛 Fix a small bug with the ping system 2023-04-25 16:06:15 +09:00
Manuel
cd433b0e3c 🚨 Fix runtime zustand warnings for imports (#853) 2023-04-24 21:40:20 +02:00
Manuel
f4df411d47 🐛 Fix calendar sizing (#852) 2023-04-24 21:39:04 +02:00
Manuel
2494ee6a34 💄 Fix max iframe width (#851) 2023-04-24 20:09:12 +02:00
renovate[bot]
d1b7ef3707 Add renovate.json 2023-04-24 08:01:40 +00:00
Manuel
cd9fa354ec 🐛 Fix rss widget crash with legacy string (#848) 2023-04-23 22:09:29 +02:00
Manuel
f308e64788 📝 Update README.md (#822)
* 📝 Update README.md

* Update README.md

Co-authored-by: Bjorn Lammers <walkxnl@gmail.com>

* Update README.md

Co-authored-by: Bjorn Lammers <walkxnl@gmail.com>

* Update README.md

Co-authored-by: Bjorn Lammers <walkxnl@gmail.com>

* Update README.md

Co-authored-by: Bjorn Lammers <walkxnl@gmail.com>

* Update README.md

Co-authored-by: Bjorn Lammers <walkxnl@gmail.com>

---------

Co-authored-by: Bjorn Lammers <walkxnl@gmail.com>
2023-04-21 11:31:27 +02:00
Manuel
da2dcf821c 🔖 Update version in package.json (#844) 2023-04-21 11:09:21 +02:00
Manuel
5a6c039f5b 🚑️ Ping array (#823) 2023-04-21 10:21:34 +02:00
Thomas Camlong
f4d936e3e5 New Crowdin updates (#829)
* New translations media-requests-list.json (Spanish)

* New translations media-requests-list.json (Danish)

* New translations media-requests-list.json (German)

* New translations media-requests-list.json (Hebrew)

* New translations media-requests-list.json (Italian)

* New translations media-requests-list.json (Norwegian)

* New translations media-requests-list.json (Slovak)

* New translations media-requests-list.json (English)

* New translations media-requests-list.json (Spanish)

* New translations media-requests-list.json (German)

* New translations media-requests-list.json (English)

* New translations rss.json (German)

* New translations media-requests-list.json (Hebrew)

* New translations media-requests-list.json (Italian)

* New translations media-requests-list.json (Chinese Simplified)

* New translations media-requests-list.json (Chinese Simplified)

* New translations media-requests-stats.json (Chinese Simplified)

* New translations search.json (Chinese Simplified)

* New translations add-app.json (Chinese Simplified)

* New translations error-boundary.json (Chinese Simplified)

* New translations media-requests-list.json (Danish)

* New translations media-requests-list.json (Dutch)

* New translations media-requests-stats.json (Dutch)

* New translations common.json (Dutch)

* New translations dashdot.json (Dutch)

* New translations ping.json (Dutch)

* New translations page-appearance.json (Dutch)

* New translations config-changer.json (Dutch)

* New translations search-engine.json (Dutch)

* New translations add-app.json (Dutch)

* New translations about.json (Dutch)

* New translations change-position.json (Dutch)

* New translations torrents-status.json (Dutch)

* New translations general.json (Dutch)

* New translations gridstack.json (Dutch)

* New translations video-stream.json (Dutch)

* New translations rss.json (Dutch)

* New translations rss.json (English)

* New translations iframe.json (Dutch)

* New translations error-boundary.json (Dutch)

* New translations dashdot.json (Chinese Simplified)

* New translations about.json (Chinese Simplified)

* New translations rss.json (Chinese Simplified)

* New translations common.json (Chinese Simplified)

* New translations rss.json (Chinese Simplified)

* New translations error-boundary.json (Chinese Simplified)
2023-04-21 10:15:47 +02:00
Larvey
2ed085831b Allow Video Stream widget to play any video file type. (#835)
* Remove type limitation for video player

This allows the video player to play any video source, including m3u8 live streams, mp4, gifs, etc.

* Fixed Linting.
2023-04-21 10:15:27 +02:00
Thomas Camlong
e7731651f2 Merge pull request #825 from ajnart/fix-calendar
🐛 Fix Calendar
2023-04-17 17:02:12 +09:00
Thomas Camlong
8c752a01a8 Merge pull request #826 from ajnart/media-widget-external-url
🐛 Fix media request not using external address
2023-04-17 17:01:49 +09:00
Thomas Camlong
e14ff314c7 Merge pull request #828 from ajnart/827-media-request-tile-incorrectly-displaying-amount-of-open-requests
✏️ Fix typo in media request widget
2023-04-17 17:01:23 +09:00
ajnart
42b7254a94 ✏️ Fix typo in media request widget 2023-04-17 17:00:47 +09:00
ajnart
a18c8df664 🐛 Fix media request not using external address 2023-04-17 15:14:26 +09:00
ajnart
252651c1fb 🐛 Fix edit modal zIndex and imports 2023-04-17 15:07:18 +09:00
ajnart
543113292b 🐛 Fix Calendar 2023-04-17 14:48:04 +09:00
Thomas Camlong
ec76c10fdc Merge pull request #802 from ajnart/dev
v0.12.0
2023-04-16 18:57:32 +09:00
Thomas Camlong
cad111de6d New Crowdin updates (#817)
* New translations common.json (Spanish)

* New translations common.json (Danish)

* New translations common.json (German)

* New translations common.json (Hebrew)

* New translations common.json (Italian)

* New translations common.json (Norwegian)

* New translations common.json (Slovak)

* New translations common.json (Ukrainian)

* New translations add-app.json (Spanish)

* New translations add-app.json (Danish)

* New translations add-app.json (German)

* New translations add-app.json (Hebrew)

* New translations add-app.json (Italian)

* New translations add-app.json (Norwegian)

* New translations add-app.json (Slovak)

* New translations rss.json (Spanish)

* New translations rss.json (Danish)

* New translations rss.json (German)

* New translations rss.json (Hebrew)

* New translations rss.json (Italian)

* New translations rss.json (Norwegian)

* New translations rss.json (Slovak)

* New translations iframe.json (Spanish)

* New translations iframe.json (Danish)

* New translations iframe.json (German)

* New translations iframe.json (Hebrew)

* New translations iframe.json (Italian)

* New translations iframe.json (Norwegian)

* New translations iframe.json (Slovak)

* New translations iframe.json (Ukrainian)

* New translations error-boundary.json (Spanish)

* New translations error-boundary.json (Danish)

* New translations error-boundary.json (German)

* New translations error-boundary.json (Hebrew)

* New translations error-boundary.json (Italian)

* New translations error-boundary.json (Norwegian)

* New translations error-boundary.json (Slovak)
2023-04-16 18:57:18 +09:00
Thomas Camlong
66d7bb414e New Crowdin updates (#811)
* New translations common.json (Slovenian)

* New translations add-app.json (Slovenian)

* New translations rss.json (Slovenian)

* New translations iframe.json (Slovenian)

* New translations error-boundary.json (Slovenian)

* New translations error-boundary.json (Vietnamese)

* New translations common.json (Spanish)

* New translations common.json (Danish)

* New translations common.json (German)

* New translations common.json (Hebrew)

* New translations common.json (Italian)

* New translations common.json (Norwegian)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Slovak)

* New translations common.json (Swedish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (English)

* New translations common.json (Vietnamese)

* New translations add-app.json (French)

* New translations add-app.json (Spanish)

* New translations add-app.json (Danish)

* New translations add-app.json (German)

* New translations add-app.json (Hebrew)

* New translations add-app.json (Italian)

* New translations add-app.json (Norwegian)

* New translations add-app.json (Polish)

* New translations add-app.json (Russian)

* New translations add-app.json (Slovak)

* New translations add-app.json (Swedish)

* New translations add-app.json (Ukrainian)

* New translations add-app.json (Chinese Simplified)

* New translations add-app.json (English)

* New translations add-app.json (Vietnamese)

* New translations add-app.json (Portuguese, Brazilian)

* New translations rss.json (Spanish)

* New translations rss.json (Danish)

* New translations rss.json (German)

* New translations rss.json (Hebrew)

* New translations rss.json (Italian)

* New translations rss.json (Dutch)

* New translations rss.json (Norwegian)

* New translations rss.json (Polish)

* New translations rss.json (Russian)

* New translations rss.json (Slovak)

* New translations rss.json (Ukrainian)

* New translations rss.json (Chinese Simplified)

* New translations rss.json (English)

* New translations rss.json (Vietnamese)

* New translations rss.json (Portuguese, Brazilian)

* New translations iframe.json (French)

* New translations iframe.json (Spanish)

* New translations iframe.json (Danish)

* New translations iframe.json (German)

* New translations iframe.json (Hebrew)

* New translations iframe.json (Italian)

* New translations iframe.json (Dutch)

* New translations iframe.json (Norwegian)

* New translations iframe.json (Polish)

* New translations iframe.json (Russian)

* New translations iframe.json (Slovak)

* New translations iframe.json (Chinese Simplified)

* New translations iframe.json (English)

* New translations iframe.json (Vietnamese)

* New translations iframe.json (Portuguese, Brazilian)

* New translations error-boundary.json (Spanish)

* New translations error-boundary.json (Danish)

* New translations error-boundary.json (German)

* New translations error-boundary.json (Hebrew)

* New translations error-boundary.json (Italian)

* New translations error-boundary.json (Norwegian)

* New translations error-boundary.json (Russian)

* New translations error-boundary.json (Slovak)

* New translations error-boundary.json (English)

* New translations common.json (German)

* New translations common.json (Spanish)

* New translations common.json (Danish)

* New translations common.json (German)

* New translations common.json (Hebrew)

* New translations add-app.json (Spanish)

* New translations add-app.json (Danish)

* New translations add-app.json (German)

* New translations add-app.json (Hebrew)

* New translations rss.json (Spanish)

* New translations rss.json (Danish)

* New translations rss.json (Hebrew)

* New translations iframe.json (Spanish)

* New translations iframe.json (Danish)

* New translations iframe.json (Hebrew)

* New translations error-boundary.json (Spanish)

* New translations error-boundary.json (Danish)

* New translations error-boundary.json (Hebrew)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations add-app.json (Italian)

* New translations rss.json (German)

* New translations rss.json (Italian)

* New translations iframe.json (German)

* New translations iframe.json (Italian)

* New translations error-boundary.json (German)

* New translations error-boundary.json (Italian)

* New translations common.json (Norwegian)

* New translations add-app.json (Norwegian)

* New translations rss.json (Norwegian)

* New translations iframe.json (Norwegian)

* New translations error-boundary.json (Norwegian)

* New translations media-requests-list.json (Ukrainian)

* New translations common.json (Ukrainian)

* New translations iframe.json (Ukrainian)

* New translations common.json (Slovak)

* New translations add-app.json (Slovak)

* New translations rss.json (Slovak)

* New translations iframe.json (Slovak)

* New translations error-boundary.json (Slovak)
2023-04-16 17:51:54 +09:00
Thomas Camlong
f94266c1ad Merge pull request #816 from ajnart/fix-rss
🐛 Fix RSS client bug
2023-04-16 17:51:38 +09:00
ajnart
75cf90c7ea 🐛 Fix RSS client bug 2023-04-16 17:51:07 +09:00
Thomas Camlong
1f044a0172 Merge pull request #813 from ajnart/fix/anonymous-plex-user
🐛 Anonymous Plex user
2023-04-16 17:43:40 +09:00
Manuel
5ae6b39fa9 🐛 Anonymous Plex user 2023-04-14 12:22:11 +02:00
Thomas Camlong
632a9967fd New Crowdin updates (#733)
* New translations video-stream.json (Chinese Simplified)

* New translations rss.json (Chinese Simplified)

* New translations iframe.json (Chinese Simplified)

* New translations error-boundary.json (French)

* New translations error-boundary.json (Spanish)

* New translations error-boundary.json (Danish)

* New translations error-boundary.json (German)

* New translations error-boundary.json (Greek)

* New translations error-boundary.json (Hebrew)

* New translations error-boundary.json (Italian)

* New translations error-boundary.json (Japanese)

* New translations error-boundary.json (Korean)

* New translations error-boundary.json (Dutch)

* New translations error-boundary.json (Norwegian)

* New translations error-boundary.json (Polish)

* New translations error-boundary.json (Russian)

* New translations error-boundary.json (Slovak)

* New translations error-boundary.json (Slovenian)

* New translations error-boundary.json (Swedish)

* New translations error-boundary.json (Ukrainian)

* New translations error-boundary.json (Chinese Simplified)

* New translations error-boundary.json (English)

* New translations error-boundary.json (Vietnamese)

* New translations error-boundary.json (Portuguese, Brazilian)

* New translations error-boundary.json (LOLCAT)

* New translations error-boundary.json (Danish)

* New translations error-boundary.json (German)

* New translations error-boundary.json (English)

* New translations common.json (English)

* New translations dashdot.json (English)

* New translations ping.json (English)

* New translations page-appearance.json (English)

* New translations config-changer.json (English)

* New translations search-engine.json (English)

* New translations add-app.json (English)

* New translations change-position.json (English)

* New translations torrents-status.json (English)

* New translations general.json (English)

* New translations video-stream.json (English)

* New translations rss.json (English)

* New translations iframe.json (English)

* New translations error-boundary.json (Hebrew)

* New translations error-boundary.json (Italian)

* New translations error-boundary.json (Slovak)

* New translations about.json (Polish)

* New translations about.json (English)

* New translations about.json (French)

* New translations about.json (Spanish)

* New translations about.json (Danish)

* New translations about.json (German)

* New translations about.json (Greek)

* New translations about.json (Hebrew)

* New translations about.json (Italian)

* New translations about.json (Japanese)

* New translations about.json (Korean)

* New translations about.json (Dutch)

* New translations about.json (Norwegian)

* New translations about.json (Russian)

* New translations about.json (Slovak)

* New translations about.json (Slovenian)

* New translations about.json (Swedish)

* New translations about.json (Ukrainian)

* New translations about.json (Chinese Simplified)

* New translations about.json (Vietnamese)

* New translations about.json (Portuguese, Brazilian)

* New translations about.json (LOLCAT)

* New translations about.json (Spanish)

* New translations about.json (Russian)

* New translations about.json (Slovak)

* New translations about.json (Ukrainian)

* New translations about.json (Spanish)

* New translations about.json (Russian)

* New translations common.json (Russian)

* New translations dashdot.json (Russian)

* New translations config-changer.json (Russian)

* New translations search-engine.json (Russian)

* New translations change-position.json (Russian)

* New translations torrents-status.json (Russian)

* New translations general.json (Russian)

* New translations error-boundary.json (Russian)

* New translations about.json (Danish)

* New translations dashdot.json (Russian)

* New translations ping.json (Russian)

* New translations about.json (German)

* New translations dashdot.json (Russian)

* New translations common.json (Russian)

* New translations page-appearance.json (Russian)

* New translations add-app.json (Russian)

* New translations video-stream.json (Russian)

* New translations rss.json (Russian)

* New translations iframe.json (Russian)

* New translations about.json (Swedish)

* New translations about.json (Italian)

* New translations about.json (Hebrew)

* New translations about.json (Hebrew)

* New translations common.json (Slovenian)

* New translations common.json (Slovenian)

* New translations dashdot.json (Slovenian)

* New translations ping.json (Slovenian)

* New translations page-appearance.json (Slovenian)

* New translations config-changer.json (Slovenian)

* New translations about.json (Slovenian)

* New translations config-changer.json (Slovenian)

* New translations search-engine.json (Slovenian)

* New translations add-app.json (Slovenian)

* New translations change-position.json (Slovenian)

* New translations torrents-status.json (Slovenian)

* New translations general.json (Slovenian)

* New translations video-stream.json (Slovenian)

* New translations rss.json (Slovenian)

* New translations iframe.json (Slovenian)

* New translations error-boundary.json (Slovenian)

* New translations about.json (Vietnamese)

* New translations error-boundary.json (Vietnamese)

* New translations about.json (English)

* New translations media-requests-list.json (French)

* New translations media-requests-stats.json (French)

* New translations media-requests-list.json (Spanish)

* New translations media-requests-stats.json (Spanish)

* New translations media-requests-list.json (Danish)

* New translations media-requests-stats.json (Danish)

* New translations media-requests-list.json (German)

* New translations media-requests-stats.json (German)

* New translations media-requests-list.json (Greek)

* New translations media-requests-stats.json (Greek)

* New translations media-requests-list.json (Hebrew)

* New translations media-requests-stats.json (Hebrew)

* New translations media-requests-list.json (Italian)

* New translations media-requests-stats.json (Italian)

* New translations media-requests-list.json (Japanese)

* New translations media-requests-stats.json (Japanese)

* New translations media-requests-list.json (Korean)

* New translations media-requests-stats.json (Korean)

* New translations media-requests-list.json (Dutch)

* New translations media-requests-stats.json (Dutch)

* New translations media-requests-list.json (Norwegian)

* New translations media-requests-stats.json (Norwegian)

* New translations media-requests-list.json (Polish)

* New translations media-requests-stats.json (Polish)

* New translations media-requests-list.json (Russian)

* New translations media-requests-stats.json (Russian)

* New translations media-requests-list.json (Slovak)

* New translations media-requests-stats.json (Slovak)

* New translations media-requests-list.json (Slovenian)

* New translations media-requests-stats.json (Slovenian)

* New translations media-requests-list.json (Swedish)

* New translations media-requests-stats.json (Swedish)

* New translations media-requests-list.json (Ukrainian)

* New translations media-requests-stats.json (Ukrainian)

* New translations media-requests-list.json (Chinese Simplified)

* New translations media-requests-stats.json (Chinese Simplified)

* New translations media-requests-list.json (English)

* New translations media-requests-stats.json (English)

* New translations media-requests-list.json (Vietnamese)

* New translations media-requests-stats.json (Vietnamese)

* New translations media-requests-list.json (Portuguese, Brazilian)

* New translations media-requests-stats.json (Portuguese, Brazilian)

* New translations media-requests-list.json (LOLCAT)

* New translations media-requests-stats.json (LOLCAT)

* New translations media-requests-list.json (Italian)

* New translations media-requests-stats.json (Italian)

* New translations common.json (Slovenian)

* New translations rss.json (Slovenian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (Danish)

* New translations common.json (German)

* New translations common.json (Greek)

* New translations common.json (Hebrew)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations common.json (Dutch)

* New translations common.json (Norwegian)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Slovak)

* New translations common.json (Swedish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (English)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (LOLCAT)

* New translations common.json (Norwegian)

* New translations dashdot.json (Norwegian)

* New translations ping.json (Norwegian)

* New translations page-appearance.json (Norwegian)

* New translations config-changer.json (Norwegian)

* New translations search-engine.json (Norwegian)

* New translations add-app.json (Norwegian)

* New translations about.json (Norwegian)

* New translations change-position.json (Norwegian)

* New translations torrents-status.json (Norwegian)

* New translations general.json (Norwegian)

* New translations video-stream.json (Norwegian)

* New translations rss.json (French)

* New translations rss.json (Spanish)

* New translations rss.json (Danish)

* New translations rss.json (German)

* New translations rss.json (Greek)

* New translations rss.json (Hebrew)

* New translations rss.json (Italian)

* New translations rss.json (Japanese)

* New translations rss.json (Korean)

* New translations rss.json (Dutch)

* New translations rss.json (Norwegian)

* New translations rss.json (Polish)

* New translations rss.json (Russian)

* New translations rss.json (Slovak)

* New translations rss.json (Swedish)

* New translations rss.json (Ukrainian)

* New translations rss.json (Chinese Simplified)

* New translations rss.json (English)

* New translations rss.json (Vietnamese)

* New translations rss.json (Portuguese, Brazilian)

* New translations rss.json (LOLCAT)

* New translations media-server.json (Norwegian)

* New translations media-requests-list.json (Spanish)

* New translations media-requests-stats.json (Spanish)

* New translations media-requests-list.json (Danish)

* New translations media-requests-stats.json (Danish)

* New translations media-requests-list.json (German)

* New translations media-requests-stats.json (German)

* New translations media-requests-list.json (Norwegian)

* New translations media-requests-stats.json (Norwegian)

* New translations common.json (Spanish)

* New translations common.json (Danish)

* New translations common.json (Italian)

* New translations common.json (Norwegian)

* New translations rss.json (Spanish)

* New translations rss.json (Danish)

* New translations rss.json (Italian)

* New translations media-server.json (Norwegian)

* New translations iframe.json (Norwegian)

* New translations error-boundary.json (Norwegian)

* New translations media-requests-list.json (Hebrew)

* New translations media-requests-stats.json (Hebrew)

* New translations media-requests-list.json (Slovak)

* New translations media-requests-stats.json (Slovak)

* New translations common.json (Hebrew)

* New translations common.json (Slovak)

* New translations rss.json (Hebrew)

* New translations rss.json (Slovak)

* New translations about.json (English)

* New translations media-requests-list.json (English)

* New translations media-requests-stats.json (English)

* New translations common.json (English)

* New translations rss.json (English)
2023-04-13 00:20:50 +09:00
ajnart
fb9a8ed094 ⬆️ Upgrade turbo version 2023-04-12 23:57:05 +09:00
Thomas Camlong
e8cc9cc338 Merge pull request #805 from ajnart/tests/add-media-request-tests
 Add tests for media request widget
2023-04-12 23:53:39 +09:00
Thomas Camlong
02f187914c Merge pull request #806 from ajnart/refactor/fix-default-img-paths
♻️ Fix default img paths
2023-04-12 23:52:24 +09:00
Thomas Camlong
0ac591d353 Merge pull request #807 from ajnart/refactor/dynamic-calender-dimensions
💄 Dynamic calender dimensions
2023-04-12 23:52:12 +09:00
Manuel
049492917a 💄 Dynamic calender dimensions 2023-04-11 22:07:17 +02:00
Manuel
530b158f4e ♻️ Fix default img paths 2023-04-11 18:59:56 +02:00
walkxcode
76479503ad 📝 Fix images in Documentation 2023-04-11 18:13:25 +02:00
Manuel
e8179d01af Add tests for media request widget 2023-04-11 17:38:10 +02:00
Thomas Camlong
d920c6319f Merge pull request #797 from ajnart/rss-multiple-feeds
Rss multiple feeds
2023-04-11 01:07:49 +09:00
ajnart
b45a614cd8 💡 Address PR comments 2023-04-10 23:29:00 +09:00
Thomas Camlong
5a46ecc901 Merge pull request #796 from ajnart/feat/overseerr-widget
 Add overseerr widget
2023-04-10 23:13:22 +09:00
Thomas Camlong
3850bc2dbe Apply suggestions from code review 2023-04-10 23:13:01 +09:00
ajnart
afbb0e6944 ⬆️ Bump version to v0.12.0 2023-04-10 23:05:06 +09:00
Manuel
6b3fe8951a 🚨 Fix warnings 2023-04-09 16:46:13 +02:00
Manuel
2e0478b2a7 Merge branch 'feat/overseerr-widget' of https://github.com/ajnart/homarr into feat/overseerr-widget 2023-04-07 20:03:52 +02:00
Thomas Camlong
3977885c9a Merge pull request #769 from ajnart/warn-missing-properties 2023-04-07 07:59:51 +09:00
Manuel
31a0b5553f Merge branch 'dev' into feat/overseerr-widget 2023-04-06 23:34:37 +02:00
Manuel
972aff26f7 Merge branch 'dev' into feat/overseerr-widget 2023-04-06 23:11:29 +02:00
Manuel
984292482a 🚑 Fix sidebar ribbons breakpoint 2023-04-06 22:49:56 +02:00
Thomas Camlong
648f60fab4 Merge pull request #798 from ajnart/local-storage-caching 2023-04-06 08:16:15 +09:00
Manuel
c1463b3aa6 Add overseerr widget 2023-04-05 21:49:42 +02:00
ajnart
42ce621197 Add localstorage caching with React Query 2023-04-05 15:50:26 +09:00
ajnart
18c84e7e1e 🔥 Remove unused dependencies 2023-04-05 15:49:54 +09:00
ajnart
31a80f5588 Add option to manually edit the refresh interval 2023-04-05 15:49:54 +09:00
ajnart
9d51e2ce52 Change the loading overloay to the refresh button 2023-04-05 15:49:54 +09:00
ajnart
1a7ae434b7 Raise cache time for ReactQuery 2023-04-05 15:49:54 +09:00
ajnart
1930a4c1f6 Add title display if availalbe 2023-04-05 15:49:53 +09:00
ajnart
0c99b77843 Update default rss feed value with homarr releases 2023-04-05 15:49:53 +09:00
ajnart
405219c081 Change default value, fix API 2023-04-05 15:49:53 +09:00
ajnart
54aa5f7f4d Update RSS widget locale 2023-04-05 15:49:53 +09:00
ajnart
6811388991 Add support for multiple RSS feeds 2023-04-05 15:49:52 +09:00
Thomas Camlong
7cf6fe53fc Merge pull request #788 from ajnart/allow-multiple-widgets-of-same-type
Allow multiple widgets of same type
2023-04-04 20:29:59 +09:00
deepsource-autofix[bot]
217e5b861f style: Format code with prettier 2023-04-03 06:57:28 +00:00
ajnart
f1e39ba911 💡 Address PR comments 2023-04-03 15:57:11 +09:00
ajnart
56e824267d 🚨 Lint and prettier 2023-04-03 15:45:47 +09:00
ajnart
2fc4adfbb0 Update useGetRssFeed to use ids 2023-04-03 15:41:46 +09:00
ajnart
b2f04937b9 Merge branch 'dev' into HEAD 2023-04-03 15:40:47 +09:00
Thomas Camlong
2c9fbb5a1b Merge pull request #780 from ajnart/rss-improvements 2023-04-01 15:01:13 +09:00
Thomas Camlong
5a41de0eb9 Merge pull request #783 from ajnart/deepsource-autofix-1247c7e2
Replace short hand type conversions with function calls
2023-04-01 08:15:37 +09:00
ajnart
69dd4ea75c Add support for proxied docker #758 2023-03-31 21:30:00 +02:00
Meier Lukas
e2311fedc0 🐛 Fix issues from pull request 2023-03-30 23:35:29 +02:00
Meier Lukas
77c8cb8f9e 🐛 API endpoints not working with multiple widgets 2023-03-30 23:15:08 +02:00
Meier Lukas
18d58ad4e7 Update default config 2023-03-30 22:54:36 +02:00
Meier Lukas
8c59ab0846 🐛 Fix issues with updating tiles 2023-03-30 22:54:08 +02:00
Meier Lukas
525985b1dc Migrate tiles from id to type 2023-03-30 22:20:56 +02:00
Meier Lukas
43dc1cd70c Change rendering from id to type 2023-03-30 21:54:44 +02:00
Meier Lukas
66f9dd51dd Add migration for multiple widgets 2023-03-30 21:46:59 +02:00
Thomas Camlong
1652f6e368 Merge pull request #766 from ajnart/tests/add-tests
 Add vitest and initial tests
2023-03-29 20:16:08 +09:00
deepsource-autofix[bot]
e8d82c866e style: Format code with prettier 2023-03-29 11:02:54 +00:00
Manuel
4c13e8c2f0 Update mock plex url in plex sdk test 2023-03-29 13:02:33 +02:00
Manuel
51a1156e68 💚 Remove tests from CI build 2023-03-29 13:00:36 +02:00
Manuel
13531a007c 🚨 Fix build warnings 2023-03-29 12:55:03 +02:00
Manuel
41e142634f Merge branch 'tests/add-tests' of https://github.com/ajnart/homarr into tests/add-tests 2023-03-29 12:42:51 +02:00
Manuel
ca47f2d240 💚 Fix tests and build system 2023-03-29 12:42:47 +02:00
deepsource-autofix[bot]
0506cd542c style: Format code with prettier 2023-03-29 10:20:01 +00:00
Manuel
3f44c59e00 🔀 Merge branch 'dev' into tests/add-tests 2023-03-29 12:17:20 +02:00
deepsource-autofix[bot]
497e22830e style: Format code with prettier
Format code with prettier

This commit fixes the style issues introduced in e966fda according to the output
from prettier.

Details: https://deepsource.io/gh/ajnart/homarr/transform/d081bf6a-f351-4ebd-a249-c708aaec7e67/
2023-03-29 12:04:30 +02:00
Thomas Camlong
e966fdad71 Merge pull request #771 from ajnart/mantine-v6
🎉 Move to Mantine v6
2023-03-28 16:05:09 +09:00
deepsource-autofix[bot]
64e8e85aac refactor: Replace short hand type conversions with function calls
Prefer using explicit casts by calling `Number`, `Boolean`, or `String` over using operators like `+`, `!!` or `"" +`. This is considered best practice as it improves readability.
2023-03-27 06:10:26 +00:00
deepsource-io[bot]
964b65477c ci: Update .deepsource.toml 2023-03-27 06:02:42 +00:00
deepsource-io[bot]
39a4e89d66 ci: Add .deepsource.toml 2023-03-27 02:49:53 +00:00
ajnart
c7317c7278 Address PR comments 2023-03-27 11:42:17 +09:00
Thomas Camlong
31f562a223 Merge pull request #779 from ajnart/sonarr-series-name 2023-03-24 00:43:27 +08:00
Manuel
577e467048 Add happy-dom dependency 2023-03-22 21:40:38 +01:00
ajnart
8d1ebba2e1 💄 Style and usability improvements to RSS widget 2023-03-23 01:28:17 +08:00
ajnart
fdeac8eb29 Add TV show name in media info and style changes 2023-03-23 00:44:03 +08:00
Thomas Camlong
b87cfb4853 Merge pull request #748 from ajnart/edit-mode-password
Edit mode password modal
2023-03-22 22:30:42 +08:00
Thomas Camlong
64dec6ce3f Merge branch 'dev' into edit-mode-password 2023-03-22 22:22:16 +08:00
Thomas Camlong
a114e6c623 Merge pull request #770 from ajnart/required-properties
 Make integrations fields required
2023-03-22 22:21:21 +08:00
Thomas Camlong
c2af38caab Merge pull request #775 from ajnart/about-keybinds
 Add a simple keybind viewer in about menu #751
2023-03-22 22:20:56 +08:00
Manuel
0d6346c73a ♻️ Pull request comments 2023-03-22 13:29:00 +01:00
ajnart
e0eb195097 🚨 Fix compilation 2023-03-21 11:43:10 +08:00
ajnart
94f13b805c 🐛 Hide docker when edit mode is not enabled #745 2023-03-21 11:40:33 +08:00
ajnart
c507a8892f 🐛 Fix bug with notification 2023-03-21 11:39:34 +08:00
ajnart
b923f8261b 🧑‍💻 Address PR comments 2023-03-21 11:36:34 +08:00
ajnart
13670c5626 🧑‍💻 Address PR comments 2023-03-21 11:35:07 +08:00
Thomas Camlong
59504ff6c4 Merge pull request #742 from ajnart/fix/rss-crash
🚑 Fix RSS widget crash
2023-03-21 11:28:40 +08:00
ajnart
3bb0f20066 🧑‍💻 Address PR comments 2023-03-21 11:26:19 +08:00
ajnart
850375767e 🌐 Add translations 2023-03-21 11:20:15 +08:00
ajnart
ed159ea3c3 🌐 Add translations 2023-03-21 11:18:19 +08:00
ajnart
c799d507d2 🎨 Wrap shortcut with text component 2023-03-21 11:11:50 +08:00
Manuel
4c9d1a1c01 🔀 Merge branch 'dev' into tests/add-tests 2023-03-20 23:18:20 +01:00
Manuel
6633d21788 🧪 Add test for Plex 2023-03-20 23:17:17 +01:00
ajnart
9aebcf0c69 Add a simple keybind viewer in about menu #751 2023-03-20 10:54:46 +08:00
Manuel
63f82971c8 Environment variable for default color scheme #237 (#744) 2023-03-18 12:29:39 +01:00
Manuel
4c28a77e00 Add widget error boundary (#753) 2023-03-18 12:29:10 +01:00
Manuel
c41f547af3 Add beforeunload hook (#762) 2023-03-18 12:28:11 +01:00
ajnart
b3aae68469 Make integrations fields required
Minor integration styling, bigger tooltips, longer texts, removed clear secret button
2023-03-18 19:09:21 +08:00
ajnart
2063adc6c0 Add console warn if apps are missing properties 2023-03-18 18:29:22 +08:00
Thomas Camlong
04a304dcd6 Turbo cache (#767)
* Try to add vercel caching with turbo

* Update lockfile

* Update turbo json file

* Fix CI

* Add new rule

* re-launch ci

* Update CI to use Turbo

* Use yarn turbo build
2023-03-18 18:19:28 +08:00
Manuel
0b237f27f7 Add c8 code coverage 2023-03-17 23:17:58 +01:00
Manuel
5ed363146f Add test for AppAvatar 2023-03-17 23:05:30 +01:00
Manuel
77bad9d6b3 📝 Update contribution guideline for tests 2023-03-17 22:44:27 +01:00
Manuel
464b9d4142 🚨 Fix nestjs warnings, remove old eslint plugins 2023-03-17 22:40:14 +01:00
Manuel
4a856c6267 Add vitest and initial tests 2023-03-17 22:10:00 +01:00
Manuel
47cb9cd5b6 💄 Fix overflow of items in RSS widget 2023-03-07 20:09:51 +01:00
Manuel
13999e44eb 💄 Add conditional rendering for image 2023-03-07 19:52:56 +01:00
Thomas Camlong
749f492034 Merge pull request #756 from ajnart/docs/issue-template
Update bug.yml
2023-03-07 23:47:20 +09:00
Manuel
c6fa03ba8c Update bug.yml 2023-03-06 11:05:27 +01:00
Thomas Camlong
b78ed7fb04 Merge pull request #750 from ajnart/fix-ping-status
🐛 Fix StatusCode not being used properly
2023-03-04 08:14:22 +09:00
Manuel
c8ef6bae1a 🚑 Fix URL malformed (#743) 2023-03-03 20:27:30 +01:00
ajnart
457e9cf2bd 🎨 Format codebase 2023-03-03 12:40:49 +09:00
ajnart
68cea4b6a8 ️ Icon selector performance changes
Added caching for the icons
2023-03-03 12:39:40 +09:00
ajnart
85120e3816 💄 Icon selector style changes 2023-03-03 12:39:10 +09:00
ajnart
c6d8bcd574 💄 Icon selector style changes 2023-03-03 12:38:56 +09:00
ajnart
1aeee38c0d WIP on Mantine v6 2023-03-03 01:21:38 +09:00
ajnart
387f155b29 WIP on Mantine v6 2023-03-03 01:13:23 +09:00
ajnart
5dae500ac3 🚧 WIP on Mantine V6 2023-03-03 00:37:22 +09:00
ajnart
caa625c3ec Disable show the toggle conditionally 2023-03-02 20:44:52 +09:00
ajnart
faf5d11900 💚 Fix build 2023-03-02 20:32:41 +09:00
ajnart
5c183e83f3 🐛 Fix defaultValue crash 2023-03-02 20:11:52 +09:00
ajnart
ab212e36d0 🙈 add .env file to gitignore 2023-03-02 20:05:27 +09:00
ajnart
402f05f265 🔥 Delete .env 2023-03-02 20:04:58 +09:00
ajnart
46938db8f3 Show the toggle conditionally
The toggle button should only show if the environment variable is defined
2023-03-02 20:04:32 +09:00
ajnart
1dd205c441 🐛 Fix StatusCode not being used properly 2023-03-02 19:57:24 +09:00
ajnart
f906214fa9 Try adding a vercel config file 2023-03-02 16:53:52 +09:00
ajnart
e734af0109 🔥 Remove logs and rephrase modal 2023-03-02 16:43:54 +09:00
ajnart
8850e3a027 🔥 remove .env file 2023-03-02 16:41:27 +09:00
ajnart
0b7f407b8c Add feature for edit mode password 2023-03-02 16:41:00 +09:00
Manuel
6f7692c086 🚑 Fix RSS widget crash 2023-02-28 20:41:09 +01:00
Manuel
623bfe58bd 🔀 Merge v0.11.5 2023-02-25 00:16:24 +01:00
Thomas Camlong
05423440f3 🌐 New Crowdin updates (#711) 2023-02-24 22:15:33 +01:00
Mauz
fddcfb3f06 🚑 Fix Error with latest Dashdot changes (#725) 2023-02-22 22:04:09 +01:00
Manuel
f56f4b33ce Add disable edit mode environment variable (#730) 2023-02-22 21:59:49 +01:00
Manuel
f5686fbf2c ♻️ Refactor icon picker (#724) 2023-02-20 22:11:30 +01:00
Manuel
2c1b329dfd 🚨 Fix build warnings 2023-02-18 15:02:39 +01:00
Thomas Camlong
f1b3949f15 Merge pull request #704 from MauriceNino/feature/dashdot-consistency-changes
Add options to sort and resize graphs in dash. widget
2023-02-18 20:09:42 +09:00
ajnart
334947dd04 📦 Bumb package version 2023-02-18 10:12:22 +09:00
Manuel
596bcefbbc 🔀 Merge upstream changes from master to dev 2023-02-17 23:51:06 +01:00
Manuel
b738fa8463 🔀 Merge branch 'dev' into feature/dashdot-consistency-changes 2023-02-17 23:41:49 +01:00
Manuel
27fac54da4 Add iframe widget (#717) 2023-02-15 22:17:47 +01:00
Manuel
d157e986a1 Plex and Jellyfin widget (#713) 2023-02-15 22:12:49 +01:00
Manuel
ca50cffe82 Add RSS widget 2023-02-15 22:00:06 +01:00
MauriceNino
0ee70f3881 Remove obsolete translations 2023-02-14 14:03:26 +01:00
MauriceNino
d8931644d8 Refactor settings code; Add props access to every settings item 2023-02-14 13:41:59 +01:00
MauriceNino
4c2c2fb564 Fix mobile controls 2023-02-14 13:10:52 +01:00
MauriceNino
368707ed76 Add translations for en & de in Dashdot; Fix PR comments 2023-02-14 13:01:12 +01:00
ajnart
2a5a0a7699 🚨 Fix lockfile 2023-02-14 11:10:50 +09:00
Thomas Camlong
dc69930eab Merge branch 'dev' into feature/dashdot-consistency-changes 2023-02-14 10:53:46 +09:00
ajnart
1f8a71ef6d 🚨 Fix compilation with new lockfile 2023-02-14 10:38:30 +09:00
ajnart
47ea22e411 🐛 Fix dev settings initial state 2023-02-14 09:23:45 +09:00
Thomas Camlong
9929cf64ac Update README.md 2023-02-11 23:56:55 +09:00
Thomas Camlong
89182ec4bc Update README.md 2023-02-11 23:53:05 +09:00
Thomas Camlong
c56f90d43c Merge pull request #694 from ajnart/docs/update-readme
📝 Update readme
2023-02-11 23:49:45 +09:00
ajnart
3e0cf2ded1 🚑 Hotfix build 2023-02-11 23:18:48 +09:00
Manuel
9b53b49159 Update README.md 2023-02-11 14:00:07 +01:00
Manuel
725007f88f test html 2023-02-11 13:42:42 +01:00
ajnart
b767040760 ️ Improve middleware performance
This commit also aims to fix a bug when the password cookie is undefined
2023-02-11 20:47:52 +09:00
ajnart
16a77cdf25 🧑‍💻 Add developer settings in customizations tab 2023-02-11 20:46:15 +09:00
Thomas Camlong
4c52980d25 Merge pull request #710 from ajnart/fix-middleware-cache
🐛 Fix middleware
2023-02-11 09:31:14 +09:00
ajnart
f910e3fe97 🐛 Fix middleware 2023-02-11 09:10:38 +09:00
Thomas Camlong
1460a979c0 Merge pull request #709 from ajnart/turbo-build
️ Add turbo build system
2023-02-11 09:09:40 +09:00
ajnart
1047b73d58 ️ Add turbo build system 2023-02-11 09:07:34 +09:00
Thomas Camlong
4208ac44cf Merge pull request #706 from ajnart/dynamic-imports
Dynamic imports
2023-02-11 08:58:48 +09:00
Thomas Camlong
7ae7e50634 Merge pull request #707 from ajnart/fix-zustand
Fix Zustand imports
2023-02-11 08:58:33 +09:00
ajnart
4f652c71ba Fix Zustand imports 2023-02-11 08:58:09 +09:00
Thomas Camlong
023e44f523 New Crowdin updates (#693)
* New translations dashdot.json (Russian)

* New translations dashdot.json (French)

* New translations dashdot.json (Spanish)

* New translations dashdot.json (Danish)

* New translations dashdot.json (German)

* New translations dashdot.json (Hebrew)

* New translations dashdot.json (Italian)

* New translations dashdot.json (Japanese)

* New translations dashdot.json (Korean)

* New translations dashdot.json (Dutch)

* New translations dashdot.json (Polish)

* New translations dashdot.json (Slovenian)

* New translations dashdot.json (Swedish)

* New translations dashdot.json (Ukrainian)

* New translations dashdot.json (Chinese Simplified)

* New translations dashdot.json (Vietnamese)

* New translations dashdot.json (Portuguese, Brazilian)

* New translations dashdot.json (LOLCAT)

* New translations dashdot.json (Greek)

* New translations dashdot.json (Spanish)

* New translations dashdot.json (Danish)

* New translations dashdot.json (Italian)

* New translations general.json (Spanish)

* New translations common.json (French)

* New translations dashdot.json (French)

* New translations page-appearance.json (French)

* New translations about.json (French)

* New translations general.json (French)

* New translations gridstack.json (French)

* New translations dashdot.json (Hebrew)

* New translations dashdot.json (German)

* New translations common.json (Norwegian)

* New translations calendar.json (Norwegian)

* New translations common-media-cards.json (Norwegian)

* New translations common.json (Norwegian)

* New translations dashdot.json (Norwegian)

* New translations date.json (Norwegian)

* New translations dlspeed.json (Norwegian)

* New translations docker.json (Norwegian)

* New translations overseerr.json (Norwegian)

* New translations ping.json (Norwegian)

* New translations search.json (Norwegian)

* New translations weather.json (Norwegian)

* New translations common.json (Norwegian)

* New translations app-width.json (Norwegian)

* New translations color-selector.json (Norwegian)

* New translations opacity-selector.json (Norwegian)

* New translations page-appearance.json (Norwegian)

* New translations shade-selector.json (Norwegian)

* New translations color-schema.json (Norwegian)

* New translations config-changer.json (Norwegian)

* New translations internationalization.json (Norwegian)

* New translations search-engine.json (Norwegian)

* New translations theme-selector.json (Norwegian)

* New translations widget-positions.json (Norwegian)

* New translations usenet.json (Norwegian)

* New translations login.json (Norwegian)

* New translations selector.json (Norwegian)

* New translations toggle-edit-mode.json (Norwegian)

* New translations add-app.json (Norwegian)

* New translations about.json (Norwegian)

* New translations change-position.json (Norwegian)

* New translations drawer.json (Norwegian)

* New translations torrents-status.json (Norwegian)

* New translations icon-picker.json (Norwegian)

* New translations general.json (Norwegian)

* New translations gridstack.json (Norwegian)

* New translations dlspeed.json (Norwegian)

* New translations docker.json (Norwegian)

* New translations overseerr.json (Norwegian)

* New translations ping.json (Norwegian)

* New translations search.json (Norwegian)

* New translations weather.json (Norwegian)

* New translations common.json (Norwegian)

* New translations app-width.json (Norwegian)

* New translations color-selector.json (Norwegian)

* New translations opacity-selector.json (Norwegian)

* New translations page-appearance.json (Norwegian)

* New translations shade-selector.json (Norwegian)

* New translations color-schema.json (Norwegian)

* New translations config-changer.json (Norwegian)

* New translations internationalization.json (Norwegian)

* New translations search-engine.json (Norwegian)

* New translations theme-selector.json (Norwegian)

* New translations widget-positions.json (Norwegian)

* New translations usenet.json (Norwegian)

* New translations login.json (Norwegian)

* New translations selector.json (Norwegian)

* New translations toggle-edit-mode.json (Norwegian)

* New translations add-app.json (Norwegian)

* New translations about.json (Norwegian)

* New translations change-position.json (Norwegian)

* New translations drawer.json (Norwegian)

* New translations torrents-status.json (Norwegian)

* New translations icon-picker.json (Norwegian)

* New translations general.json (Norwegian)

* New translations gridstack.json (Norwegian)

* New translations common.json (Slovak)

* New translations calendar.json (Slovak)

* New translations common-media-cards.json (Slovak)

* New translations common.json (Slovak)

* New translations dashdot.json (Slovak)

* New translations date.json (Slovak)

* New translations dlspeed.json (Slovak)

* New translations docker.json (Slovak)

* New translations overseerr.json (Slovak)

* New translations ping.json (Slovak)

* New translations search.json (Slovak)

* New translations weather.json (Slovak)

* New translations common.json (Slovak)

* New translations app-width.json (Slovak)

* New translations color-selector.json (Slovak)

* New translations opacity-selector.json (Slovak)

* New translations page-appearance.json (Slovak)

* New translations shade-selector.json (Slovak)

* New translations color-schema.json (Slovak)

* New translations config-changer.json (Slovak)

* New translations internationalization.json (Slovak)

* New translations search-engine.json (Slovak)

* New translations theme-selector.json (Slovak)

* New translations widget-positions.json (Slovak)

* New translations usenet.json (Slovak)

* New translations login.json (Slovak)

* New translations selector.json (Slovak)

* New translations toggle-edit-mode.json (Slovak)

* New translations add-app.json (Slovak)

* New translations about.json (Slovak)

* New translations change-position.json (Slovak)

* New translations drawer.json (Slovak)

* New translations torrents-status.json (Slovak)

* New translations icon-picker.json (Slovak)

* New translations general.json (Slovak)

* New translations gridstack.json (Slovak)

* New translations common.json (Slovak)

* New translations calendar.json (Slovak)

* New translations common.json (Slovak)

* New translations about.json (Slovak)

* New translations dashdot.json (Russian)

* New translations general.json (Russian)

* New translations common.json (Russian)

* New translations page-appearance.json (Russian)

* New translations general.json (Russian)

* New translations dashdot.json (Swedish)

* New translations calendar.json (Vietnamese)

* New translations dlspeed.json (Vietnamese)

* New translations weather.json (Vietnamese)

* New translations color-selector.json (Vietnamese)

* New translations widget-positions.json (Vietnamese)

* New translations search.json (Vietnamese)

* New translations common.json (Vietnamese)

* New translations common.json (Vietnamese)

* New translations common.json (Vietnamese)

* New translations dashdot.json (Vietnamese)

* New translations docker.json (Vietnamese)

* New translations overseerr.json (Vietnamese)

* New translations ping.json (Vietnamese)

* New translations page-appearance.json (Vietnamese)

* New translations config-changer.json (Vietnamese)

* New translations search-engine.json (Vietnamese)

* New translations usenet.json (Vietnamese)

* New translations about.json (Vietnamese)

* New translations torrents-status.json (Vietnamese)

* New translations general.json (Vietnamese)

* New translations gridstack.json (Vietnamese)

* New translations common.json (Slovak)

* New translations calendar.json (Slovak)

* New translations common-media-cards.json (Slovak)

* New translations common.json (Slovak)

* New translations dashdot.json (Slovak)

* New translations date.json (Slovak)

* New translations dlspeed.json (Slovak)

* New translations docker.json (Slovak)

* New translations overseerr.json (Slovak)

* New translations ping.json (Slovak)

* New translations search.json (Slovak)

* New translations weather.json (Slovak)

* New translations common.json (Slovak)

* New translations app-width.json (Slovak)

* New translations color-selector.json (Slovak)

* New translations opacity-selector.json (Slovak)

* New translations page-appearance.json (Slovak)

* New translations shade-selector.json (Slovak)

* New translations color-schema.json (Slovak)

* New translations config-changer.json (Slovak)

* New translations internationalization.json (Slovak)

* New translations search-engine.json (Slovak)

* New translations theme-selector.json (Slovak)

* New translations widget-positions.json (Slovak)

* New translations usenet.json (Slovak)

* New translations login.json (Slovak)

* New translations selector.json (Slovak)

* New translations toggle-edit-mode.json (Slovak)

* New translations add-app.json (Slovak)

* New translations about.json (Slovak)

* New translations change-position.json (Slovak)

* New translations drawer.json (Slovak)

* New translations torrents-status.json (Slovak)

* New translations icon-picker.json (Slovak)

* New translations general.json (Slovak)

* New translations gridstack.json (Slovak)
2023-02-11 08:38:52 +09:00
Thomas Camlong
85beb7fe43 Merge pull request #697 from ajnart/add-norwegian-slovak
🌐 Add Norwegian and Slovak
2023-02-11 08:38:35 +09:00
Thomas Camlong
62d9888889 Merge pull request #701 from ajnart/change-css-highlight
Change css highlight, remove unused packages
2023-02-11 08:38:05 +09:00
ajnart
10e3718cb8 🚨 Fix build for 404 page 2023-02-11 08:01:45 +09:00
Manuel
fef47b96ee ♻️ Add static CSS class names (#699) 2023-02-10 23:37:08 +01:00
MauriceNino
2e242256cc Fix margin on the right side 2023-02-10 18:48:08 +01:00
MauriceNino
a05e80bf26 Add options to sort and resize graphs in dash. widget 2023-02-10 18:20:28 +01:00
ajnart
06d72d679b 🚧 WIP on dynamic imports 2023-02-10 13:21:38 +09:00
ajnart
edb13ae716 🚧 WIP on dynamic imports 2023-02-10 13:21:38 +09:00
ajnart
793ab4db7a Remove unsed dependencies and add new css editor 2023-02-10 12:44:48 +09:00
ajnart
84db1aeaf7 ️ Change code editor 2023-02-10 12:44:31 +09:00
Yossi Hillali
fab018a10e Add video-stream widget (#685) 2023-02-08 22:23:53 +01:00
ajnart
ba3f841ba3 Fix typos 2023-02-08 22:15:44 +09:00
ajnart
0b07fdd380 🌐 Add Norwegian and Slovak 2023-02-08 22:11:38 +09:00
Manuel
b3b24e4800 Update README.md 2023-02-06 23:12:00 +01:00
Manuel
e897c21aa2 📝 Update readme 2023-02-06 23:06:31 +01:00
Manuel
a2f376aed8 🔀 Merge v0.11.4 2023-02-06 21:29:21 +01:00
Thomas Camlong
bb010ff54a 🌐 New Crowdin updates (#659) 2023-02-06 21:02:59 +01:00
Manuel
58d42ea00c Add warning for downgrading dash. url protocol 2023-02-06 20:52:36 +01:00
Manuel
ebd0802003 🐛 Crash with no default value for reduce 2023-02-06 19:54:44 +01:00
Manuel
2530d71534 🐛 Fix modal position when scroling 2023-02-05 22:23:07 +01:00
Manuel
a8dea274f3 ♻️ Display of available properties in menu 2023-02-05 21:41:47 +01:00
Manuel
63f1a64893 🐛 Fix bug with scroll area sizing 2023-02-05 20:12:21 +01:00
Manuel
2539e8cec1 Custom column counts for gridstack #613 #660 2023-02-05 17:16:03 +01:00
Thomas Camlong
5296ce88d2 Add sonarr-v4 compatibility (#689) 2023-02-05 17:09:11 +01:00
ajnart
cc9317b31c Change calendar media style 2023-02-05 21:09:21 +09:00
ajnart
2588134b58 Try fixing previews 2023-02-05 19:37:21 +09:00
Manuel
e27aa51b4d 🐛 Fix package attributes readout 2023-02-04 21:03:30 +01:00
ajnart
1569a01b27 🚑 Hotfix password not working 2023-02-03 21:17:23 +09:00
ajnart
3bd5495d2a 🚑 Hotfix preview height 2023-02-03 21:08:27 +09:00
ajnart
eff73d233a 🚑 Hotfix media popover 2023-02-02 20:48:15 +09:00
ajnart
61333d6c3d 🚨 Fix imports 2023-02-02 19:14:17 +09:00
ajnart
32462ccdea 🚨 Fix imports 2023-02-02 19:13:12 +09:00
Thomas Camlong
949fd7cea8 Merge pull request #671 from ajnart/next-13
Next 13
2023-02-02 19:03:36 +09:00
ajnart
1e117cbe7b Merge branch 'dev' into next-13 2023-02-02 19:03:11 +09:00
Thomas Camlong
2abe81e590 Merge pull request #670 from ajnart/661-add-fix-for-calendar-pop-up-size-on-mobile
661 add fix for calendar pop up size on mobile
2023-02-02 19:02:28 +09:00
Thomas Camlong
6485a8fd96 Merge pull request #675 from ajnart/fix-overflow-docker-drawer
💄 Fix overflow in about modal and docker drawer #674
2023-02-02 19:02:12 +09:00
ajnart
f805eb17e2 Merge branch 'dev' into fix-overflow-docker-drawer 2023-02-02 19:01:53 +09:00
Manuel
5382da6998 🔖 Increment version number 2023-02-02 19:00:54 +09:00
Manuel
6995396af4 Add switch for percentages in dash. widget #641 2023-02-02 19:00:54 +09:00
Manuel
868b0017b9 🐛 Re-add missing filters for torrent widget 2023-02-02 19:00:53 +09:00
Manuel
766418ce53 ♻️ Add version reading by package file 2023-02-02 19:00:53 +09:00
Thomas Camlong
3af176e90d Merge pull request #679 from ajnart/634-keep-iphone-from-zooming-in-when-searching-in-homarr
Update _app.tsx
2023-02-02 18:59:34 +09:00
Thomas Camlong
6fe9fb9718 Merge pull request #673 from ajnart/useQuery-stale-time-cache
 Add cache and stale timers for most react query
2023-02-02 18:59:20 +09:00
Thomas Camlong
d926e518fe Merge branch 'dev' into useQuery-stale-time-cache 2023-02-02 18:59:09 +09:00
Manuel
789bfd6f06 🔖 Increment version number 2023-02-01 12:55:31 +01:00
Manuel
a533aad7b9 Add switch for percentages in dash. widget #641 2023-02-01 12:37:13 +01:00
ajnart
49b17c2fd7 🚨 Fix compilation by downgrading Mantine 2023-02-01 11:22:57 +09:00
Thomas Camlong
24973c5bbb Update _app.tsx 2023-02-01 11:06:24 +09:00
Thomas Camlong
37672e4b15 Update _app.tsx 2023-02-01 11:04:15 +09:00
Manuel
8a50fcffa2 🔀 Merge branch 'dev' into next-13 2023-01-31 22:21:15 +01:00
Manuel
e89a65c8dc 🚨 Fix build errors 2023-01-31 22:10:27 +01:00
Manuel
b459b0fe89 🐛 Re-add missing filters for torrent widget 2023-01-31 22:03:34 +01:00
Manuel
2b20cecb79 ♻️ Add version reading by package file 2023-01-31 21:58:55 +01:00
Manuel
e20149a93c 💄 Fix overflow in about modal and docker drawer #674 2023-01-31 18:07:04 +01:00
Manuel
2b76ae83b1 💄 Fix overflowing text wrap in header for page title #606 2023-01-31 17:33:53 +01:00
ajnart
dfa623d98f ⬆️ Upgrade to Next v13.1.6 2023-01-31 12:53:32 +09:00
ajnart
6586cdd060 Add cache and stale timers for most react query 2023-01-31 11:45:52 +09:00
ajnart
87909c27c0 🚸 Improve tv show episode badge 2023-01-31 10:35:17 +09:00
ajnart
e9eebadce6 🧑‍💻 Add react query dev tool 2023-01-31 10:10:02 +09:00
ajnart
fd7a73c1e7 Add max width to the Calendar 2023-01-31 10:06:24 +09:00
Manuel
f28f0b98a0 🚸 Add hotkey for entering and exiting edit mode #660 2023-01-30 21:41:16 +01:00
Manuel
84a6c38d9c 🐛 Search bar not respecting the open target #666 2023-01-30 21:12:45 +01:00
Manuel
561055d5d6 🐛 Fix overwriting not affected apps and widgets in categories #665 2023-01-30 21:03:27 +01:00
Manuel
1977c7478e 🐛 Fix mismatched torrent clients 2023-01-30 12:51:54 +01:00
Manuel
1ffd984eb3 🥅 Add error handling for download queue API 2023-01-29 20:30:10 +01:00
Manuel
53012da946 🔀 Merge v0.11.3 2023-01-29 18:06:38 +01:00
Thomas Camlong
cf45b4c82c 🌐 New Crowdin updates (#617) 2023-01-29 16:09:35 +01:00
Manuel
67ee1bfb9d 🐛 Fix crash and missing translations with icon picker 2023-01-29 14:21:35 +01:00
Manuel
dabb7c2409 ♻️ Pull request feedback 2023-01-28 23:01:15 +01:00
Manuel
52a1dc5523 💄 Fix margin for category accordeon 2023-01-28 21:03:57 +01:00
Manuel
118e310884 🔖 Bump version from 0.11.2 to 0.11.3 2023-01-28 20:56:18 +01:00
Thomas Camlong
2d31696820 Add autocomplete to the icon selection screen (#647) 2023-01-28 20:52:54 +01:00
Manuel
653f8c6fd8 ♻️ Refactor torrent network traffic widget #616 2023-01-28 20:41:30 +01:00
Ezbon Jacob
2c2f3ea5f4 feat: add support for default ports on http(s) protocols 2023-01-28 15:40:25 +01:00
Thomas Camlong
79906b4e15 Merge pull request #649 from ajnart/feature-category-collapse
Add category collapse
2023-01-27 10:40:07 +09:00
Thomas Camlong
2d00f9229c Merge pull request #648 from ajnart:502-adjust-size-of-results-in-the-search-box-to-screen-size
Rework media display for Overseerr
2023-01-27 10:39:28 +09:00
Manuel
d1f09ea684 🐛 Refactor category actions and fix wrong wrapper #630 2023-01-26 22:01:37 +01:00
ajnart
e1179820b7 💄 Fix background color 2023-01-27 00:33:41 +09:00
ajnart
3e57534b45 Add category collapse
Fixes #636
2023-01-27 00:22:17 +09:00
ajnart
b94488175e Rework media display for Overseerr
Looks a lot better on mobile, fixes #502
2023-01-26 23:23:11 +09:00
Thomas Camlong
f2e16b49fd Merge pull request #626 from ajnart/docker-keybind
💄 Docker module improvements
2023-01-25 07:58:57 +09:00
Thomas Camlong
51e5e2c6e5 Merge pull request #633 from ajnart/fix-incorrect-wrapper-position-increment
🐛 Fix incorrect wrapper position increment #630 #621
2023-01-25 00:22:55 +09:00
Manuel
a16866b269 🐛 Fix incorrect wrapper position increment #630 #621 2023-01-23 20:35:59 +01:00
ajnart
b770b06ed8 💄 Docker module improvements
Added a keybind, made the text bigger, offeset the scrollbar, made the table take more space
2023-01-23 23:56:38 +09:00
Manuel
ab3c08575c 🔀 Merge v0.11.2 2023-01-22 18:34:16 +01:00
Manuel
9d5948e122 🐛 Fix change position modal not closing when value is 0 #573 2023-01-22 18:08:43 +01:00
Manuel
d3abdb0150 💄 Add opacity for search box 2023-01-22 18:01:46 +01:00
Thomas Camlong
e2d70d0d07 🌐 Update translations, added Greek 2023-01-22 17:47:13 +01:00
ajnart
9d566330be work on next13 2023-01-23 01:34:36 +09:00
Thomas Camlong
e47bbc966c Merge pull request #611 from ajnart/revert-597-Fix-HTTP-status-code-#596
Revert "🐛 rename okStatus to statusCodes"
2023-01-22 23:24:14 +09:00
ajnart
096e2019f9 rename statusCodes to okStatus #605 2023-01-22 23:24:00 +09:00
Thomas Camlong
9169fd1293 Revert "🐛 rename okStatus to statusCodes"
This reverts commit 41da97feaf.
2023-01-22 23:20:48 +09:00
ajnart
8209b70674 🐛 Fix Opacity for buttons 2023-01-22 23:10:05 +09:00
Thomas Camlong
38bcbabf3d Merge pull request #602 from ajnart/fix-disabled-modules-in-config-migrator
🐛 Fix crash with disabled modules in migrator #576
2023-01-22 23:02:50 +09:00
Thomas Camlong
cc9bcc9a92 Merge pull request #595 from ajnart/sidebar-style-adjustments
🎨 Tighten up sidebars
2023-01-22 23:02:31 +09:00
Thomas Camlong
d566d51628 New Crowdin updates (#599)
* New translations torrents-status.json (French)

* New translations torrents-status.json (Spanish)

* New translations torrents-status.json (Danish)

* New translations torrents-status.json (German)

* New translations torrents-status.json (Hebrew)

* New translations torrents-status.json (Italian)

* New translations common.json (Japanese)

* New translations calendar.json (Japanese)

* New translations common.json (Japanese)

* New translations dashdot.json (Japanese)

* New translations date.json (Japanese)

* New translations dlspeed.json (Japanese)

* New translations docker.json (Japanese)

* New translations overseerr.json (Japanese)

* New translations ping.json (Japanese)

* New translations search.json (Japanese)

* New translations weather.json (Japanese)

* New translations common.json (Japanese)

* New translations page-appearance.json (Japanese)

* New translations config-changer.json (Japanese)

* New translations search-engine.json (Japanese)

* New translations widget-positions.json (Japanese)

* New translations usenet.json (Japanese)

* New translations login.json (Japanese)

* New translations selector.json (Japanese)

* New translations toggle-edit-mode.json (Japanese)

* New translations torrents-status.json (Japanese)

* New translations common.json (Korean)

* New translations config-changer.json (Korean)

* New translations torrents-status.json (Korean)

* New translations torrents-status.json (Dutch)

* New translations common.json (Polish)

* New translations calendar.json (Polish)

* New translations common-media-cards.json (Polish)

* New translations common.json (Polish)

* New translations dashdot.json (Polish)

* New translations date.json (Polish)

* New translations dlspeed.json (Polish)

* New translations docker.json (Polish)

* New translations overseerr.json (Polish)

* New translations ping.json (Polish)

* New translations search.json (Polish)

* New translations weather.json (Polish)

* New translations common.json (Polish)

* New translations page-appearance.json (Polish)

* New translations config-changer.json (Polish)

* New translations search-engine.json (Polish)

* New translations widget-positions.json (Polish)

* New translations usenet.json (Polish)

* New translations login.json (Polish)

* New translations selector.json (Polish)

* New translations toggle-edit-mode.json (Polish)

* New translations add-app.json (Polish)

* New translations about.json (Polish)

* New translations change-position.json (Polish)

* New translations drawer.json (Polish)

* New translations torrents-status.json (Polish)

* New translations torrents-status.json (Russian)

* New translations common.json (Slovenian)

* New translations calendar.json (Slovenian)

* New translations common.json (Slovenian)

* New translations dashdot.json (Slovenian)

* New translations date.json (Slovenian)

* New translations dlspeed.json (Slovenian)

* New translations docker.json (Slovenian)

* New translations overseerr.json (Slovenian)

* New translations ping.json (Slovenian)

* New translations search.json (Slovenian)

* New translations weather.json (Slovenian)

* New translations common.json (Slovenian)

* New translations page-appearance.json (Slovenian)

* New translations config-changer.json (Slovenian)

* New translations search-engine.json (Slovenian)

* New translations widget-positions.json (Slovenian)

* New translations usenet.json (Slovenian)

* New translations login.json (Slovenian)

* New translations selector.json (Slovenian)

* New translations toggle-edit-mode.json (Slovenian)

* New translations add-app.json (Slovenian)

* New translations about.json (Slovenian)

* New translations change-position.json (Slovenian)

* New translations drawer.json (Slovenian)

* New translations torrents-status.json (Slovenian)

* New translations torrents-status.json (Swedish)

* New translations torrents-status.json (Ukrainian)

* New translations torrents-status.json (Chinese Simplified)

* New translations common.json (Vietnamese)

* New translations config-changer.json (Vietnamese)

* New translations toggle-edit-mode.json (Vietnamese)

* New translations torrents-status.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations calendar.json (Portuguese, Brazilian)

* New translations common.json (Portuguese, Brazilian)

* New translations dashdot.json (Portuguese, Brazilian)

* New translations date.json (Portuguese, Brazilian)

* New translations dlspeed.json (Portuguese, Brazilian)

* New translations docker.json (Portuguese, Brazilian)

* New translations overseerr.json (Portuguese, Brazilian)

* New translations ping.json (Portuguese, Brazilian)

* New translations search.json (Portuguese, Brazilian)

* New translations weather.json (Portuguese, Brazilian)

* New translations common.json (Portuguese, Brazilian)

* New translations page-appearance.json (Portuguese, Brazilian)

* New translations config-changer.json (Portuguese, Brazilian)

* New translations internationalization.json (Portuguese, Brazilian)

* New translations search-engine.json (Portuguese, Brazilian)

* New translations theme-selector.json (Portuguese, Brazilian)

* New translations widget-positions.json (Portuguese, Brazilian)

* New translations usenet.json (Portuguese, Brazilian)

* New translations login.json (Portuguese, Brazilian)

* New translations selector.json (Portuguese, Brazilian)

* New translations toggle-edit-mode.json (Portuguese, Brazilian)

* New translations add-app.json (Portuguese, Brazilian)

* New translations about.json (Portuguese, Brazilian)

* New translations change-position.json (Portuguese, Brazilian)

* New translations drawer.json (Portuguese, Brazilian)

* New translations torrents-status.json (Portuguese, Brazilian)

* New translations docker.json (LOLCAT)

* New translations torrents-status.json (LOLCAT)

* New translations torrents-status.json (French)

* New translations torrents-status.json (Spanish)

* New translations torrents-status.json (Danish)

* New translations torrents-status.json (German)

* New translations torrents-status.json (Italian)

* New translations add-app.json (Japanese)

* New translations about.json (Japanese)

* New translations torrents-status.json (Japanese)

* New translations torrents-status.json (Dutch)

* New translations torrents-status.json (Hebrew)

* New translations torrents-status.json (Russian)

* New translations torrents-status.json (Danish)

* New translations common.json (Russian)

* New translations ping.json (Russian)

* New translations common.json (Russian)

* New translations theme-selector.json (Russian)

* New translations color-schema.json (Russian)

* New translations config-changer.json (Russian)

* New translations search-engine.json (Russian)

* New translations widget-positions.json (Russian)

* New translations about.json (Russian)

* New translations dashdot.json (Russian)

* New translations docker.json (Russian)

* New translations overseerr.json (Russian)

* New translations search.json (Russian)

* New translations weather.json (Russian)

* New translations page-appearance.json (Russian)

* New translations add-app.json (Russian)

* New translations login.json (Russian)

* New translations dashdot.json (Russian)

* New translations docker.json (Russian)

* New translations usenet.json (Russian)

* New translations date.json (Russian)

* New translations dlspeed.json (Russian)

* New translations search-engine.json (Russian)

* New translations selector.json (Russian)

* New translations toggle-edit-mode.json (Russian)

* New translations torrents-status.json (Russian)

* New translations dashdot.json (Russian)
2023-01-22 23:02:11 +09:00
Manuel
b342b3f11e 🥅 Add error hanlding for calendar apps 2023-01-22 00:01:05 +01:00
Manuel
79c359e1ce 🚨 Fix build error in config upload 2023-01-21 23:14:30 +01:00
Manuel
0c5769f537 🚑 Fix type mismatch in migrator 2023-01-21 22:30:56 +01:00
Manuel
1455a0b72f 🐛 Fix torrent size calculation 2023-01-20 23:51:04 +01:00
Manuel
002b0d809c Revert update of lockfile 2023-01-20 20:34:28 +01:00
Manuel
7edbc96c23 🚨 Fix build warnings 2023-01-20 20:24:25 +01:00
Manuel
77ae6f0082 🔖 Increment version to 0.10.2 2023-01-20 20:12:26 +01:00
ajnart
41da97feaf 🐛 rename okStatus to statusCodes 2023-01-20 20:09:30 +01:00
Manuel
1e046e8193 🔧 Fix wrapper position in default config 2023-01-20 20:05:03 +01:00
Manuel
df07886e6a 🐛 Fix crash with disabled modules in migrator #576 2023-01-20 19:06:49 +01:00
Thomas Camlong
80845fa12e Merge pull request #587 from ajnart/torrent-queue-item-info
 Add detail popover for torrents list and better error handling for torrents
2023-01-20 12:58:08 +09:00
ajnart
932fe950bd 🐛 Fix appName wordBreak 2023-01-20 12:57:45 +09:00
ajnart
efbc6f0423 💄 Update popover style 2023-01-20 12:55:50 +09:00
Thomas Camlong
41a304be0f Merge pull request #594 from ajnart/caledar-styling
💄 Fix Calendar widget UI
2023-01-20 11:18:07 +09:00
Thomas Camlong
92dcf59464 New Crowdin updates (#583) 2023-01-20 11:08:16 +09:00
Thomas Camlong
2125645cf7 Merge pull request #588 from ajnart/584-the-integrations-list-is-covered-by-the-main-window-when-adding-a-container 2023-01-20 11:07:54 +09:00
Thomas Camlong
2ceb55dd7c Merge pull request #593 from ajnart/592-make-all-icons-in-the-header-transparent 2023-01-20 11:07:37 +09:00
Thomas Camlong
8c85205450 Merge pull request #589 from ajnart/585-add-docker-container-to-homarr-doesnt-bring-popup-configuration-window 2023-01-20 11:07:19 +09:00
Thomas Camlong
356fb467b0 Merge pull request #591 from ajnart/590-hide-overflowing-app-names-option-to-hide-app-name 2023-01-20 11:06:57 +09:00
Manuel
7a72457971 ♻️ PR feedback 2023-01-19 22:24:16 +01:00
ajnart
cd000131c1 💄 Fix Calendar widget UI 2023-01-19 11:15:56 +09:00
ajnart
6477b76bac 💄 Fix Calendar widget UI 2023-01-19 11:13:47 +09:00
ajnart
3481fef3eb 🎨 Tighten up sidebars 2023-01-19 11:13:03 +09:00
ajnart
5eee00e2bd Make all icons transparent
Fixes #592
2023-01-19 10:39:39 +09:00
ajnart
fc5aca8379 ♻️ Work on app tile design
Fixes Hide overflowing app names / option to hide app name #590
2023-01-19 10:05:48 +09:00
ajnart
5e50c56feb 💄 Torrent Queue styling 2023-01-19 09:09:31 +09:00
Thomas Camlong
0dc8f24306 Merge pull request #582 from ajnart/fix-svg-images
🐛 #579 fix svg images for app tiles
2023-01-19 08:29:50 +09:00
ajnart
e91e61646d 💄 Change icon width 2023-01-19 08:29:20 +09:00
ajnart
e6295398aa 🐛 Make PublicPort for Docker containers nullable
Fixes #585
2023-01-19 08:23:44 +09:00
ajnart
b67b60e80d 🐛 Fixing zIndex when using "add to Homarr" 2023-01-19 08:15:59 +09:00
Manuel
1bf3b1312b Add detail popover for torrents list 2023-01-18 21:47:06 +01:00
Manuel
1cb9c02c61 🐛 #579 fix svg images for app tiles 2023-01-18 18:37:31 +01:00
Thomas Camlong
e950987359 Merge pull request #581 from digdilem/patch-1
Update README.md
2023-01-19 02:29:26 +09:00
digdilem
64215a0a42 Update README.md
Fixing 404 on Integrations link
2023-01-18 17:26:09 +00:00
Thomas Camlong
edece1101b Merge pull request #580 from ajnart/dev
v0.11.1
2023-01-19 01:55:53 +09:00
Thomas Camlong
65d3ed7895 New Crowdin updates (#571)
* New translations date.json (French)

* New translations calendar.json (French)

* New translations docker.json (French)

* New translations about.json (French)

* New translations calendar.json (Spanish)

* New translations common.json (Spanish)

* New translations dashdot.json (Spanish)

* New translations date.json (Spanish)

* New translations docker.json (Danish)

* New translations ping.json (Danish)

* New translations docker.json (German)

* New translations ping.json (German)

* New translations docker.json (Hebrew)

* New translations ping.json (Hebrew)

* New translations docker.json (Italian)

* New translations ping.json (Italian)

* New translations docker.json (Dutch)

* New translations ping.json (Dutch)

* New translations docker.json (Swedish)

* New translations ping.json (Swedish)

* New translations docker.json (LOLCAT)

* New translations ping.json (LOLCAT)

* New translations config-changer.json (French)

* New translations docker.json (Italian)

* New translations ping.json (Italian)

* New translations config-changer.json (Italian)

* New translations docker.json (Dutch)

* New translations ping.json (Dutch)

* New translations config-changer.json (Dutch)

* New translations calendar.json (Ukrainian)

* New translations common.json (Ukrainian)

* New translations dashdot.json (Ukrainian)

* New translations date.json (Ukrainian)

* New translations dlspeed.json (Ukrainian)

* New translations docker.json (Ukrainian)

* New translations overseerr.json (Ukrainian)

* New translations ping.json (Ukrainian)

* New translations search.json (Ukrainian)

* New translations weather.json (Ukrainian)

* New translations common.json (Ukrainian)

* New translations page-appearance.json (Ukrainian)

* New translations config-changer.json (Ukrainian)

* New translations search-engine.json (Ukrainian)

* New translations widget-positions.json (Ukrainian)

* New translations usenet.json (Ukrainian)

* New translations login.json (Ukrainian)

* New translations selector.json (Ukrainian)

* New translations toggle-edit-mode.json (Ukrainian)

* New translations add-app.json (Ukrainian)

* New translations about.json (Ukrainian)

* New translations torrents-status.json (Ukrainian)

* New translations add-app.json (Spanish)

* New translations date.json (Spanish)

* New translations dlspeed.json (Spanish)

* New translations docker.json (Spanish)

* New translations overseerr.json (Spanish)

* New translations ping.json (Spanish)

* New translations search.json (Spanish)

* New translations weather.json (Spanish)

* New translations page-appearance.json (Spanish)

* New translations config-changer.json (Spanish)

* New translations usenet.json (Spanish)

* New translations add-app.json (Spanish)

* New translations about.json (Spanish)

* New translations torrents-status.json (Spanish)

* New translations docker.json (Hebrew)

* New translations ping.json (Hebrew)

* New translations calendar.json (French)

* New translations dashdot.json (French)

* New translations dlspeed.json (French)

* New translations docker.json (French)

* New translations overseerr.json (French)

* New translations ping.json (French)

* New translations config-changer.json (French)

* New translations add-app.json (French)

* New translations common.json (Spanish)

* New translations config-changer.json (Spanish)

* New translations search-engine.json (Spanish)

* New translations widget-positions.json (Spanish)
2023-01-19 01:47:00 +09:00
Manuel
898cd37d76 🔖 Increate version tag to 0.11.1 2023-01-18 17:49:42 +01:00
Manuel
beabe75fb1 🔖 Bump version 2023-01-18 17:34:17 +01:00
Manuel
1e6703ec3f 🐛 Fix config migrator wrapper positons 2023-01-18 17:34:17 +01:00
Thomas Camlong
3853cd6a72 🔨 Change demo URL 2023-01-18 17:34:17 +01:00
ajnart
89c34643fc ✏️ Try to fix locales on vercel 2023-01-18 17:34:17 +01:00
Manuel
727b4c4eca 🔖 Bump version 2023-01-18 15:26:31 +01:00
Manuel
f7c9564bbe 🐛 Fix config migrator wrapper positons 2023-01-18 15:18:04 +01:00
Thomas Camlong
af7f1ffad1 🔨 Change demo URL 2023-01-18 18:13:22 +09:00
ajnart
f0ff5d453d ✏️ Try to fix locales on vercel 2023-01-18 17:56:43 +09:00
1068 changed files with 29247 additions and 7926 deletions

10
.deepsource.toml Normal file
View File

@@ -0,0 +1,10 @@
version = 1
[[analyzers]]
name = "javascript"
[analyzers.meta]
plugins = ["react"]
[[transformers]]
name = "prettier"

View File

@@ -2,12 +2,12 @@ module.exports = {
extends: [
'mantine',
'plugin:@next/next/recommended',
'plugin:jest/recommended',
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:vitest/recommended',
],
plugins: ['testing-library', 'jest', 'react-hooks', 'react', 'unused-imports'],
plugins: ['testing-library', 'react-hooks', 'react', 'unused-imports', 'vitest'],
overrides: [
{
files: ['**/?(*.)+(spec|test).[jt]s?(x)'],
@@ -29,6 +29,14 @@ module.exports = {
'@typescript-eslint/no-shadow': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'no-continue': 'off',
'linebreak-style': 0,
'vitest/max-nested-describe': [
'error',
{
max: 3,
},
],
'testing-library/no-node-access': ['error', { allowContainerFirstChild: true }],
},
};

View File

@@ -32,8 +32,15 @@ body:
- type: textarea
id: logs
attributes:
label: Additional info
description: Logs? Screenshots? More info?
label: Logs
description: Provide your Homarr logs so we can investigate what's going on
validations:
required: true
- type: textarea
id: context
attributes:
label: Context
description: Screenshots? More info?
validations:
required: false
- type: checkboxes
@@ -42,9 +49,11 @@ body:
label: Please tick the boxes
description: Before submitting, please ensure that
options:
- label: You've read the [docs](https://github.com/ajnart/homarr#readme)
- label: I confirm that I attached the proper logs
required: true
- label: You've checked for [duplicate issues](https://github.com/ajnart/homarr/issues)
- label: I've read the [docs](https://github.com/ajnart/homarr#readme)
required: true
- label: You've tried to debug yourself
- label: I've checked for [duplicate issues](https://github.com/ajnart/homarr/issues)
required: true
- label: I've tried to debug myself
required: true

View File

@@ -19,6 +19,9 @@ env:
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
jobs:
# Push image to GitHub Packages.
@@ -49,7 +52,7 @@ jobs:
${{ runner.os }}-yarn-
- name: Restore NextJS cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
# See here for caching with `yarn` https://github.com/actions/cache/blob/main/examples.md#node---yarn or you can leverage caching with actions/setup-node https://github.com/actions/setup-node
path: |

View File

@@ -1,8 +1,5 @@
name: Development CI
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
on:
push:
branches: [dev]
@@ -19,16 +16,27 @@ on:
required: true
description: 'Tag to deploy to'
defaults:
run:
working-directory: ./
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
permissions:
contents: read # for checkout repository
actions: read # for fetching base branch bundle stats
pull-requests: write # for comments
jobs:
# Push image to GitHub Packages.
# See also https://docs.docker.com/docker-hub/builds/
yarn_install_and_build:
yarn_install_and_build_dev:
runs-on: ubuntu-latest
permissions:
packages: write
@@ -53,21 +61,20 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore NextJS cache
uses: actions/cache@v2
- name: Restore next build
uses: actions/cache@v3
id: restore-build-cache
env:
cache-name: cache-next-build
with:
# See here for caching with `yarn` https://github.com/actions/cache/blob/main/examples.md#node---yarn or you can leverage caching with actions/setup-node https://github.com/actions/setup-node
path: |
${{ github.workspace }}/.next/cache
# Generate a new cache whenever packages or source files change.
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
# If source files changed but packages didn't, rebuild from a prior cache.
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
path: .next/cache
key: ${{ runner.os }}-build-${{ env.cache-name }}
- run: yarn install --immutable
- run: yarn build
- run: yarn turbo build
- run: yarn test:run
- name: Docker meta
if: github.event_name != 'pull_request'
@@ -107,3 +114,95 @@ jobs:
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v3
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore next build
uses: actions/cache@v3
id: restore-build-cache
env:
cache-name: cache-next-build
with:
# if you use a custom build directory, replace all instances of `.next` in this file with your build directory
# ex: if your app builds to `dist`, replace `.next` with `dist`
path: .next/cache
# change this if you prefer a more strict cache
key: ${{ runner.os }}-build-${{ env.cache-name }}
- run: yarn install
- name: Build next.js app
# change this if your site requires a custom build command
run: yarn turbo build
# Here's the first place where next-bundle-analysis' own script is used
# This step pulls the raw bundle stats for the current bundle
- name: Analyze bundle
run: npx -p nextjs-bundle-analysis report
- name: Upload bundle
uses: actions/upload-artifact@v3
with:
name: bundle
path: .next/analyze/__bundle_analysis.json
- name: Download base branch bundle stats
uses: dawidd6/action-download-artifact@v2
continue-on-error: true
if: success() && github.event.number
with:
workflow: nextjs_bundle_analysis.yml
branch: ${{ github.event.pull_request.base.ref }}
path: .next/analyze/base
# And here's the second place - this runs after we have both the current and
# base branch bundle stats, and will compare them to determine what changed.
# There are two configurable arguments that come from package.json:
#
# - budget: optional, set a budget (bytes) against which size changes are measured
# it's set to 350kb here by default, as informed by the following piece:
# https://infrequently.org/2021/03/the-performance-inequality-gap/
#
# - red-status-percentage: sets the percent size increase where you get a red
# status indicator, defaults to 20%
#
# Either of these arguments can be changed or removed by editing the `nextBundleAnalysis`
# entry in your package.json file.
- name: Compare with base branch bundle
if: success() && github.event.number
run: ls -laR .next/analyze/base && npx -p nextjs-bundle-analysis compare
- name: Get Comment Body
id: get-comment-body
if: success() && github.event.number
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings
run: |
echo "body<<EOF" >> $GITHUB_OUTPUT
echo "$(cat .next/analyze/__bundle_analysis_comment.txt)" >> $GITHUB_OUTPUT
echo EOF >> $GITHUB_OUTPUT
- name: Comment
uses: marocchino/sticky-pull-request-comment@v2
with:
header: next-touched-pages
message: ${{ steps.get-comment-body.outputs.body }}

11
.gitignore vendored
View File

@@ -25,6 +25,7 @@ yarn-debug.log*
yarn-error.log*
# local env files
.env
.env.local
.env.development.local
.env.test.local
@@ -32,6 +33,7 @@ yarn-error.log*
# vercel
.vercel
.turbo
*.tsbuildinfo
# storybook
@@ -46,4 +48,11 @@ data/configs
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
!.yarn/versions
#envfiles
.env
#Languages other than 'en'
public/locales/*
!public/locales/en

File diff suppressed because one or more lines are too long

873
.yarn/releases/yarn-3.5.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +0,0 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
yarn-path ".yarn/releases/yarn-1.22.19.cjs"

View File

@@ -1,3 +1,3 @@
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-3.2.1.cjs
yarnPath: .yarn/releases/yarn-3.5.1.cjs

View File

@@ -104,3 +104,11 @@ Enhancement suggestions are tracked as [GitHub issues](https://github.com/ajnart
Homarr uses [GitMoji](https://gitmoji.dev/).
We would appreciate it if everyone keeps their commit messages withing these rulings.
### Tests
> Components should be tested using unit tests. A unit is the smallest isolated part of the component. Unit tests must not have any dependencies and must be isolated.
- Place testfiles directly at the root of the unit
- Only test a single unit of work inside a unit test
- You may test multiple units inside one test file
- Testnames do not begin with ``should`` or the unit name

183
README.md
View File

@@ -1,148 +1,123 @@
<!-- Project Title -->
<h1 align="center">Homarr</h1>
![Banner](docs/banner.png)
<!-- Badges -->
<p align="center">
<img src="https://img.shields.io/github/stars/ajnart/homarr?label=%E2%AD%90%20Stars&style=flat-square?branch=master&kill_cache=1%22">
<a href="https://github.com/ajnart/homarr/releases/latest">
<img alt="Latest Release (Semver)" src="https://img.shields.io/github/v/release/ajnart/homarr?label=%F0%9F%9A%80%20Release">
  <img alt="Latest Release (Semver)" src="https://img.shields.io/github/v/release/ajnart/homarr?label=%F0%9F%9A%80%20Release">
</a>
<a href="https://github.com/ajnart/homarr/actions/workflows/docker.yml">
<img title="Docker CI Status" src="https://github.com/ajnart/homarr/actions/workflows/docker.yml/badge.svg" alt="CI Status">
  <img title="Docker CI Status" src="https://github.com/ajnart/homarr/actions/workflows/docker.yml/badge.svg" alt="CI Status">
</a>
<a href=https://crowdin.com/project/homarr>
<img title="Translations" src="https://badges.crowdin.net/homarr/localized.svg" />
</a>
<a href="https://discord.gg/aCsmEV5RgA">
<img title="Discord" src="https://discordapp.com/api/guilds/972958686051962910/widget.png?style=shield">
  <img title="Discord" src="https://discordapp.com/api/guilds/972958686051962910/widget.png?style=shield">
</a>
</p>
<!-- Links -->
<p align="center">
<i>Join the discord! — Don't forget to star the repo if you are enjoying the project!</i>
</p>
<h3 align="center"><a href="https://homarr.dev">Read the Docs</a></h3>
<p align="center">
<a href="https://homarr.ajnart.fr/"><strong> Demo ↗️ </strong></a> • <a href="https://homarr.dev/docs/introduction/installation"><strong> Install ➡️ </strong></a>
<a href="https://demo.homarr.dev/">
<strong>Demo ✨</strong>
</a>
<a href="https://homarr.dev/docs/introduction/installation">
<strong>Install 💻</strong>
</a> •
<a href="https://crowdin.com/project/homarr">
<strong>Translations 🈺</strong>
</a> •
<a href="https://discord.com/invite/aCsmEV5RgA">
<strong>Discord 👋</strong>
</a>
</p>
---
Simplify the management of your server with Homarr - a sleek, modern dashboard that puts all of your apps and services at your fingertips. With Homarr, you can access and control everything in one convenient location. Homarr seamlessly integrates with the apps you've added, providing you with valuable information and giving you complete control. Installation is a breeze, and Homarr supports a wide range of deployment methods.
<!-- Homarr Description -->
<img align="right" width=150 src="public/imgs/logo/logo-color.svg" />
<br/>
<br/>
Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.
![Features Section](docs/section-features.png)
It integrates with the services you use to display information on the homepage (E.g. Show upcoming Sonarr/Radarr releases).
- 🖌️ Highly customizable with an extensive drag and drop grid system
- ✨ Integrates seamlessly with your favorite self-hosted applications
- 📌 Easy and fast app management - no YAML involved
- 🙊 Advanced secrets' management system for enhanced security
- 📄 Detailed documentation and active community
- 🔍 Search through the web or supported integrations in an instant
- 🏴󠁧󠁢󠁮󠁩󠁲󠁿 Monitor your application with a built-in status system
- 🦞 Comprehensive built-in icon picker with over 7000 icons
- 🐳 Easy deployment with Docker, unRAID, and Synology
- 🚀 Compatible with any major consumer hardware (x86, Raspberry Pi, old laptops, ...)
- 💵 Free and Open-Source - your data stays on your device. No telemetry data.
For a full list of integrations, [head over to our documentation](https://homarr.dev/docs/advanced-configuration/integrations).
<br/>
<br/>
If you have any questions about Homarr or want to share information with us, please go to one of the following places:
![Widgets & Integrations Section](docs/section-widgets-and-integrations.png)
- [Github Discussions](https://github.com/ajnart/homarr/discussions)
- [Discord Server](https://discord.gg/aCsmEV5RgA)
Homarr has a [built-in collection of widgets and integrations](https://homarr.dev/docs/integrations/), that connect to your applications and enable you to control them directly from the dashboard.
Each widget and integration has a comprehensive documentation for your comfort.
Homarr will integrate with the following applications of yours:
**For more information, [read the documentation!](https://homarr.dev/docs/about)**
- 📥 Torrent clients
- [Deluge](https://homarr.dev/docs/integrations/#deluge)
- [Transmission](https://homarr.dev/docs/integrations/#transmission)
- [qBittorent](https://homarr.dev/docs/integrations/#qbittorrent-integration)
- 📥 Usenet clients
- [SABnzbd](https://homarr.dev/docs/integrations/#sabnzbd)
- [NZBGet](https://homarr.dev/docs/integrations/#nzbget)
- 📚 Media collection managers
- [Sonarr](https://homarr.dev/docs/integrations/#sonarr)
- [Radarr](https://homarr.dev/docs/integrations/#radarr)
- [Lidarr](https://homarr.dev/docs/integrations/#lidarr)
- [Readarr](https://homarr.dev/docs/integrations/#readarr)
- 🎞️ Media request managers
- [Overseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
- [Jellyseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
- 🔌 [Dash.](https://homarr.dev/docs/integrations/#dash)
- 🐳 [Docker](https://homarr.dev/docs/integrations/#docker)
<details>
<summary><b>Table of Contents</b></summary>
<p>
We're constantly adding new integrations and widgets, which will enhance your experience even further.
- [✨ Features](#-features)
- [👀 Preview](#-preview)
- [🛠️ Running a dev environment](#-running-a-dev-environment)
- [💖 Contributing](#-contributing)
- [📜 License](#-license)
<br/>
<br/>
</p>
</details>
![Preview Section](docs/section-preview.png)
---
https://user-images.githubusercontent.com/30572287/217098893-5880e7de-13d0-42c5-b505-f7921593396f.mp4
## ✨ Features
- Integrates with services you use.
- Search the web directly from your homepage.
- Real-time status indicator for every service.
- Automatically finds icons while you type the name of a service.
- Widgets that can display all types of information.
- Easy deployment with Docker.
- Very light-weight and fast.
- Free and Open-Source.
- And more...
<br/>
<br/>
**[⤴️ Back to Top](#homarr)**
![Installation Section](docs/section-installation.png)
---
Since we are updating Homarr very frequently, we recommend reading our official installation guides:
## 👀 Preview
<img alt="Homarr Preview" align="center" width="100%" src="https://user-images.githubusercontent.com/71191962/169860380-856634fb-4f41-47cb-ba54-6a9e7b3b9c81.gif" />
<a href="https://homarr.dev/docs/introduction/installation">
<img src="docs/installation-button.png" width="200" />
</a>
**[⤴️ Back to Top](#homarr)**
<br/>
<br/>
---
![Contribute Section](docs/section-contribute.png)
Homarr is maintained by motivated developers in their free-time.
We work for fun and learning on this project.
### 🛠️ Running a dev environment
Hence, we're glad for all the help and support we can get.
Although a donation is appreciated, there are other ways you can support us.
_Requirements_:
- [Git](https://git-scm.com/downloads)
- [NodeJS](https://nodejs.org/en/) _(Latest or LTS)_
- [Yarn](https://yarnpkg.com/)
<a href="https://ko-fi.com/ajnart">
<img src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3" width="200" />
</a>
**Installing**
You can also support us by helping with [translating the entire project](https://homarr.dev/docs/community/translations) to as many language as possible or contributing directly to the code or documentation.
- Clone the GitHub repo: `git clone https://github.com/ajnart/homarr.git` & `cd homarr`
- Install all dependencies: `yarn install`
- Build the source: `yarn build`
- Start the NextJS web server: ``yarn start``
- *Note: If you want to update the code in real time, launch with ``yarn dev``*
**[⤴️ Back to Top](#homarr)**
---
## 💖 Contributing
**Please read our [Contribution Guidelines](/CONTRIBUTING.md)**
All contributions are highly appreciated.
**[⤴️ Back to Top](#homarr)**
---
## 📜 License
Homarr is Licensed under [MIT](https://en.wikipedia.org/wiki/MIT_License)
```txt
Copyright © 2022 Thomas "ajnart" Camlong
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
**[⤴️ Back to Top](#homarr)**
---
<p align="center">
<i>Thank you for visiting! <b>For more information <a href="https://homarr.dev">read the documentation!</a></b></i>
<br/>
<br/>
</p>
All contributions, regardless of their size or scope, are welcome and highly appreciated! Thank you ❤️

44
checkly.config.ts Normal file
View File

@@ -0,0 +1,44 @@
import { defineConfig } from 'checkly'
/**
* See https://www.checklyhq.com/docs/cli/project-structure/
*/
const config = defineConfig({
/* A human friendly name for your project */
projectName: 'homarr',
/** A logical ID that needs to be unique across your Checkly account,
* See https://www.checklyhq.com/docs/cli/constructs/ to learn more about logical IDs.
*/
logicalId: 'homarr',
/* An optional URL to your Git repo */
repoUrl: 'https://github.com/checkly/checkly-cli',
/* Sets default values for Checks */
checks: {
/* A default for how often your Check should run in minutes */
frequency: 10,
/* Checkly data centers to run your Checks as monitors */
locations: ['us-east-1', 'eu-west-1'],
/* An optional array of tags to organize your Checks */
tags: ['mac'],
/** The Checkly Runtime identifier, determining npm packages and the Node.js version available at runtime.
* See https://www.checklyhq.com/docs/cli/npm-packages/
*/
runtimeId: '2023.02',
/* A glob pattern that matches the Checks inside your repo, see https://www.checklyhq.com/docs/cli/using-check-test-match/ */
checkMatch: '**/__checks__/**/*.check.ts',
browserChecks: {
/* A glob pattern matches any Playwright .spec.ts files and automagically creates a Browser Check. This way, you
* can just write native Playwright code. See https://www.checklyhq.com/docs/cli/using-check-test-match/
* */
testMatch: '**/__checks__/**/*.spec.ts',
},
},
cli: {
/* The default datacenter location to use when running npx checkly test */
runLocation: 'eu-west-1',
/* An array of default reporters to use when a reporter is not specified with the "--reporter" flag */
reporters: ['list'],
},
})
export default config

View File

@@ -1,383 +1,389 @@
{
"schemaVersion": 1,
"configProperties": {
"name": "default"
},
"categories": [
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f",
"position": 1,
"name": "Welcome to Homarr 🎉",
"type": "category"
}
],
"wrappers": [
{
"id": "default",
"position": 1
}
],
"apps": [
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a337",
"name": "Discord",
"url": "https://discord.com/invite/aCsmEV5RgA",
"behaviour": {
"onClickUrl": "https://discord.com/invite/aCsmEV5RgA",
"isOpeningNewTab": true,
"externalUrl": "https://discord.com/invite/aCsmEV5RgA"
},
"network": {
"enabledStatusChecker": false,
"okStatus": [
200
]
},
"appearance": {
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/discord.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 3,
"y": 1
},
"size": {
"width": 3,
"height": 1
}
},
"sm": {
"location": {
"x": 2,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
},
"lg": {
"location": {
"x": 2,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
}
}
"schemaVersion": 1,
"configProperties": {
"name": "default"
},
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a330",
"name": "Contribute",
"url": "https://github.com/ajnart/homarr",
"behaviour": {
"onClickUrl": "https://github.com/ajnart/homarr",
"externalUrl": "https://github.com/ajnart/homarr",
"isOpeningNewTab": true
},
"network": {
"enabledStatusChecker": false,
"okStatus": []
},
"appearance": {
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/github.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
"categories": [
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f",
"position": 1,
"name": "Welcome to Homarr 🎉",
"type": "category"
}
},
"shape": {
"md": {
"location": {
"x": 2,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
],
"wrappers": [
{
"id": "default",
"position": 0
},
"sm": {
"location": {
"x": 0,
"y": 2
},
"size": {
"width": 2,
"height": 1
}
},
"lg": {
"location": {
"x": 4,
"y": 0
},
"size": {
"width": 2,
"height": 2
}
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a326",
"position": 1
}
}
},
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a990",
"name": "Donate",
"url": "https://ko-fi.com/ajnart",
"behaviour": {
"onClickUrl": "https://ko-fi.com/ajnart",
"externalUrl": "https://ko-fi.com/ajnart",
"isOpeningNewTab": true
},
"network": {
"enabledStatusChecker": false,
"okStatus": [
200
]
},
"appearance": {
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/ko-fi.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 2,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
],
"apps": [
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a337",
"name": "Discord",
"url": "https://discord.com/invite/aCsmEV5RgA",
"behaviour": {
"onClickUrl": "https://discord.com/invite/aCsmEV5RgA",
"isOpeningNewTab": true,
"externalUrl": "https://discord.com/invite/aCsmEV5RgA"
},
"network": {
"enabledStatusChecker": false,
"statusCodes": [
"200"
]
},
"appearance": {
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/discord.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 3,
"y": 1
},
"size": {
"width": 3,
"height": 1
}
},
"sm": {
"location": {
"x": 2,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
},
"lg": {
"location": {
"x": 2,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
}
}
},
"sm": {
"location": {
"x": 2,
"y": 2
},
"size": {
"width": 1,
"height": 1
}
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a990",
"name": "Donate",
"url": "https://ko-fi.com/ajnart",
"behaviour": {
"onClickUrl": "https://ko-fi.com/ajnart",
"externalUrl": "https://ko-fi.com/ajnart",
"isOpeningNewTab": true
},
"network": {
"enabledStatusChecker": false,
"statusCodes": [
"200"
]
},
"appearance": {
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/ko-fi.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 2,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
},
"sm": {
"location": {
"x": 2,
"y": 2
},
"size": {
"width": 1,
"height": 1
}
},
"lg": {
"location": {
"x": 3,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
}
}
},
"lg": {
"location": {
"x": 3,
"y": 1
},
"size": {
"width": 1,
"height": 1
}
}
}
},
{
"id": "5df743d9-5cb1-457c-85d2-64ff86855652",
"name": "Documentation",
"url": "https://homarr.dev",
"behaviour": {
"onClickUrl": "https://homarr.dev",
"externalUrl": "https://homarr.dev",
"isOpeningNewTab": true
},
"network": {
"enabledStatusChecker": false,
"okStatus": [
200
]
},
"appearance": {
"iconUrl": "/imgs/logo/logo.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 0,
"y": 1
},
"size": {
"width": 2,
"height": 1
}
{
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a330",
"name": "Contribute",
"url": "https://github.com/ajnart/homarr",
"behaviour": {
"onClickUrl": "https://github.com/ajnart/homarr",
"externalUrl": "https://github.com/ajnart/homarr",
"isOpeningNewTab": true
},
"network": {
"enabledStatusChecker": false,
"statusCodes": []
},
"appearance": {
"iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/github.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 2,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
},
"sm": {
"location": {
"x": 0,
"y": 2
},
"size": {
"width": 2,
"height": 1
}
},
"lg": {
"location": {
"x": 4,
"y": 0
},
"size": {
"width": 2,
"height": 2
}
}
}
},
"sm": {
"location": {
"x": 0,
"y": 0
},
"size": {
"width": 1,
"height": 1
}
},
"lg": {
"location": {
"x": 0,
"y": 1
},
"size": {
"width": 2,
"height": 1
}
{
"id": "5df743d9-5cb1-457c-85d2-64ff86855652",
"name": "Documentation",
"url": "https://homarr.dev",
"behaviour": {
"onClickUrl": "https://homarr.dev",
"externalUrl": "https://homarr.dev",
"isOpeningNewTab": true
},
"network": {
"enabledStatusChecker": false,
"statusCodes": [
"200"
]
},
"appearance": {
"iconUrl": "/imgs/logo/logo.png"
},
"integration": {
"type": null,
"properties": []
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 0,
"y": 1
},
"size": {
"width": 2,
"height": 1
}
},
"sm": {
"location": {
"x": 0,
"y": 0
},
"size": {
"width": 1,
"height": 1
}
},
"lg": {
"location": {
"x": 0,
"y": 1
},
"size": {
"width": 2,
"height": 1
}
}
}
}
],
"widgets": [
{
"id": "971aa859-8570-49a1-8d34-dd5c7b3638d1",
"type": "date",
"properties": {
"display24HourFormat": true
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"sm": {
"location": {
"x": 0,
"y": 1
},
"size": {
"width": 2,
"height": 1
}
},
"md": {
"location": {
"x": 4,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
},
"lg": {
"location": {
"x": 2,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
}
}
},
{
"id": "e3004052-6b83-480e-b458-56e8ccdca5f0",
"type": "weather",
"properties": {
"displayInFahrenheit": false,
"location": "Paris"
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 0,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
},
"sm": {
"location": {
"x": 1,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
},
"lg": {
"location": {
"x": 0,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
}
}
}
],
"settings": {
"common": {
"searchEngine": {
"type": "google",
"properties": {}
}
},
"customization": {
"layout": {
"enabledLeftSidebar": false,
"enabledRightSidebar": false,
"enabledDocker": false,
"enabledPing": false,
"enabledSearchbar": true
},
"pageTitle": "Homarr v0.12 ⭐️",
"logoImageUrl": "/imgs/logo/logo.png",
"faviconUrl": "/imgs/favicon/favicon-squared.png",
"backgroundImageUrl": "",
"customCss": "",
"colors": {
"primary": "red",
"secondary": "yellow",
"shade": 7
},
"appOpacity": 100
}
}
}
],
"widgets": [
{
"id": "date",
"properties": {
"display24HourFormat": true
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"sm": {
"location": {
"x": 0,
"y": 1
},
"size": {
"width": 2,
"height": 1
}
},
"md": {
"location": {
"x": 4,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
},
"lg": {
"location": {
"x": 2,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
}
}
},
{
"id": "weather",
"properties": {
"displayInFahrenheit": false,
"location": "Paris"
},
"area": {
"type": "category",
"properties": {
"id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a33f"
}
},
"shape": {
"md": {
"location": {
"x": 0,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
},
"sm": {
"location": {
"x": 1,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
},
"lg": {
"location": {
"x": 0,
"y": 0
},
"size": {
"width": 2,
"height": 1
}
}
}
}
],
"settings": {
"common": {
"searchEngine": {
"type": "google",
"properties": {}
}
},
"customization": {
"layout": {
"enabledLeftSidebar": false,
"enabledRightSidebar": false,
"enabledDocker": false,
"enabledPing": false,
"enabledSearchbar": true
},
"pageTitle": "Homarr v0.11 ⭐️",
"logoImageUrl": "/imgs/logo/logo.png",
"faviconUrl": "/imgs/favicon/favicon-squared",
"backgroundImageUrl": "",
"customCss": "",
"colors": {
"primary": "red",
"secondary": "yellow",
"shade": 7
},
"appOpacity": 100
}
}
}
}

View File

@@ -1,3 +1,2 @@
export const REPO_URL = 'ajnart/homarr';
export const CURRENT_VERSION = 'v0.11.0';
export const ICON_PICKER_SLICE_LIMIT = 36;

BIN
docs/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
docs/banner.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
docs/section-contribute.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
docs/section-features.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/section-preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
docs/section-template.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -1,3 +1,5 @@
const path = require('path');
module.exports = {
// https://www.i18next.com/overview/configuration-options#logging
i18n: {
@@ -22,10 +24,17 @@ module.exports = {
'vi',
'uk',
'zh',
'el',
'sk',
'no',
'tr',
],
fallbackLng: 'en',
localeDetection: true,
returnEmptyString: false,
},
returnEmptyString: false,
appendNamespaceToCIMode: true,
reloadOnPrerender: process.env.NODE_ENV === 'development',
fallbackLng: 'en',
localePath: path.resolve('./public/locales'),
};

View File

@@ -1,6 +1,6 @@
{
"name": "homarr",
"version": "0.11.0",
"version": "0.12.2",
"description": "Homarr - A homepage for your server.",
"license": "MIT",
"repository": {
@@ -11,96 +11,116 @@
"dev": "next dev",
"build": "next build",
"analyze": "ANALYZE=true next build",
"turbo": "turbo run build",
"start": "next start",
"typecheck": "tsc --noEmit",
"export": "next build && next export",
"lint": "next lint",
"jest": "jest",
"jest:watch": "jest --watch",
"prettier:check": "prettier --check \"**/*.{ts,tsx}\"",
"prettier:write": "prettier --write \"**/*.{ts,tsx}\"",
"test": "npm run prettier:check && npm run lint && npm run typecheck && npm run jest",
"ci": "yarn test && yarn lint --fix && yarn typecheck && yarn prettier:write"
"test": "vitest",
"test:ui": "vitest --ui",
"test:run": "vitest run",
"test:coverage": "vitest run --coverage"
},
"dependencies": {
"@ctrl/deluge": "^4.1.0",
"@ctrl/qbittorrent": "^4.1.0",
"@ctrl/qbittorrent": "^6.0.0",
"@ctrl/shared-torrent": "^4.1.1",
"@ctrl/transmission": "^4.1.1",
"@dnd-kit/core": "^6.0.5",
"@dnd-kit/sortable": "^7.0.1",
"@dnd-kit/utilities": "^3.2.0",
"@emotion/react": "^11.10.5",
"@emotion/react": "^11.10.6",
"@emotion/server": "^11.10.0",
"@mantine/carousel": "^5.9.3",
"@mantine/core": "^5.9.3",
"@mantine/dates": "^5.9.3",
"@mantine/dropzone": "^5.9.3",
"@mantine/form": "^5.9.3",
"@mantine/hooks": "^5.9.3",
"@mantine/modals": "^5.9.3",
"@mantine/next": "^5.9.3",
"@mantine/notifications": "^5.9.3",
"@mantine/prism": "^5.9.3",
"@nivo/core": "^0.79.0",
"@nivo/line": "^0.79.1",
"@tabler/icons": "^1.106.0",
"@jellyfin/sdk": "^0.7.0",
"@mantine/core": "^6.0.0",
"@mantine/dates": "^6.0.0",
"@mantine/dropzone": "^6.0.0",
"@mantine/form": "^6.0.0",
"@mantine/hooks": "^6.0.0",
"@mantine/modals": "^6.0.0",
"@mantine/next": "^6.0.0",
"@mantine/notifications": "^6.0.0",
"@nivo/core": "^0.83.0",
"@nivo/line": "^0.83.0",
"@react-native-async-storage/async-storage": "^1.18.1",
"@tabler/icons-react": "^2.18.0",
"@tanstack/query-async-storage-persister": "^4.27.1",
"@tanstack/query-sync-storage-persister": "^4.27.1",
"@tanstack/react-query": "^4.2.1",
"axios": "^0.27.2",
"consola": "^2.15.3",
"@tanstack/react-query-devtools": "^4.24.4",
"@tanstack/react-query-persist-client": "^4.28.0",
"@vitejs/plugin-react": "^3.1.0",
"axios": "^1.0.0",
"consola": "^3.0.0",
"cookies-next": "^2.1.1",
"dayjs": "^1.11.6",
"dayjs": "^1.11.7",
"dockerode": "^3.3.2",
"embla-carousel-react": "^7.0.0",
"fily-publish-gridstack": "^0.0.13",
"framer-motion": "^6.5.1",
"framer-motion": "^9.0.2",
"html-entities": "^2.3.3",
"i18next": "^21.9.1",
"i18next-browser-languagedetector": "^6.1.5",
"i18next-http-backend": "^1.4.1",
"js-file-download": "^0.4.12",
"next": "12.2.0",
"next": "^13.4.2",
"next-i18next": "^11.3.0",
"nzbget-api": "^0.0.3",
"ping": "^0.4.2",
"prism-react-renderer": "^1.3.5",
"prismjs": "^1.29.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-simple-code-editor": "^0.13.1",
"rss-parser": "^3.12.0",
"sabnzbd-api": "^1.5.0",
"sharp": "^0.30.7",
"systeminformation": "^5.12.1",
"uuid": "^8.3.2",
"xml-js": "^1.6.11",
"yarn": "^1.22.19",
"zustand": "^4.1.4"
"zod": "^3.21.4",
"zustand": "^4.3.7"
},
"devDependencies": {
"@next/bundle-analyzer": "^12.1.4",
"@next/eslint-plugin-next": "^12.1.4",
"@next/bundle-analyzer": "^13.0.0",
"@next/eslint-plugin-next": "^13.0.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^14.0.0",
"@types/dockerode": "^3.3.9",
"@types/node": "17.0.1",
"@types/ping": "^0.4.1",
"@types/react": "17.0.1",
"@types/prismjs": "^1.26.0",
"@types/react": "17.0.59",
"@types/uuid": "^8.3.4",
"@types/video.js": "^7.3.51",
"@typescript-eslint/eslint-plugin": "^5.30.7",
"@typescript-eslint/parser": "^5.30.7",
"@vitest/coverage-c8": "^0.31.1",
"@vitest/ui": "^0.31.1",
"checkly": "latest",
"eslint": "^8.20.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-mantine": "^2.0.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^26.6.0",
"eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-testing-library": "^5.5.1",
"eslint-plugin-unused-imports": "^2.0.0",
"jest": "^28.1.3",
"eslint-plugin-vitest": "^0.2.0",
"happy-dom": "^8.9.0",
"node-mocks-http": "^1.12.2",
"prettier": "^2.7.1",
"sass": "^1.56.1",
"typescript": "^4.7.4"
"ts-node": "latest",
"turbo": "latest",
"typescript": "^5.0.4",
"video.js": "^8.0.3",
"vitest": "^0.31.1",
"vitest-fetch-mock": "^0.2.2"
},
"resolutions": {
"@types/react": "17.0.2",
"@types/react-dom": "17.0.2"
"@types/react": "17.0.59",
"@types/react-dom": "17.0.20"
},
"packageManager": "yarn@3.2.1"
"packageManager": "yarn@3.5.1",
"nextBundleAnalysis": {
"budget": null,
"budgetPercentIncreaseRed": 20,
"minimumChangeThreshold": 0,
"showDetails": true
}
}

View File

@@ -6,10 +6,15 @@
"delete": "Slet",
"ok": "OK",
"edit": "Rediger",
"enabled": "Aktiveret",
"disabled": "Deaktiveret",
"enableAll": "Aktiver alle",
"disableAll": "Deaktiver alle",
"version": "Version",
"changePosition": "Ændre placering",
"remove": "Fjern",
"removeConfirm": "Er du sikker på, at du ønsker at fjerne {{item}} ?",
"removeConfirm": "Er du sikker på, at du ønsker at fjerne {{item}}?",
"createItem": "+ opret {{item}}",
"sections": {
"settings": "Indstillinger",
"dangerZone": "Farezone"
@@ -24,5 +29,11 @@
"seconds": "sekunder",
"minutes": "minutter",
"hours": "timer"
},
"loading": "Indlæser...",
"breakPoints": {
"small": "lille",
"medium": "mellem",
"large": "stor"
}
}

View File

@@ -7,10 +7,5 @@
"popover": {
"title": "Redigeringstilstand er aktiveret for <1>{{size}}</1> størrelse",
"text": "Du kan justere og konfigurere dine apps nu. Ændringer er <strong>ikke gemt</strong> indtil du forlader redigeringstilstanden"
},
"screenSizes": {
"small": "lille",
"medium": "mellem",
"large": "stor"
}
}

View File

@@ -1,7 +1,18 @@
{
"description": "Homarr er et <strong>elegant</strong>, <strong>moderne</strong> dashboard, der giver dig alle dine apps og tjenester lige ved hånden. Med Homarr kan du få adgang til og styre alt på ét praktisk sted. Homarr integrerer problemfrit med de apps, du har tilføjet, og giver dig værdifulde oplysninger og fuld kontrol. Installationen er en leg, og Homarr understøtter en lang række implementeringsmetoder.",
"i18n": "Indlæst I18n oversættelse navnerum",
"locales": "Konfigurerede I18n landestandarder",
"contact": "Har du problemer eller spørgsmål? Kontakt os!",
"addToDashboard": "Tilføj til dashboard"
}
"addToDashboard": "Tilføj til dashboard",
"tip": "Mod henviser til din modificeringstast, det er Ctrl og Command/Super/Windows-tasten",
"key": "Genvejstast",
"action": "Handling",
"keybinds": "Genvejstaster",
"metrics": {
"configurationSchemaVersion": "Konfigurationsskema version",
"configurationsCount": "Tilgængelige konfigurationer",
"version": "Version",
"nodeEnvironment": "Node miljø",
"i18n": "Indlæste I18n-oversættelsesnavneområder",
"locales": "Konfigurerede I18n landestandarder",
"experimental_disableEditMode": "<b>EKSPERIMENTAL</b>: Deaktivér redigeringstilstand"
}
}

View File

@@ -39,7 +39,15 @@
"appearance": {
"icon": {
"label": "App Ikon",
"description": "Det ikon, der vises på dashboarded."
"description": "Begynd at skrive for at finde et ikon. Du kan også indsætte en billed-URL for at bruge et brugerdefineret ikon.",
"autocomplete": {
"title": "Ingen resultater fundet",
"text": "Prøv at bruge et mere specifikt søgeord. Hvis du ikke kan finde det ønskede ikon, kan du indsætte billedets URL ovenfor for at få et brugerdefineret ikon"
},
"noItems": {
"title": "Indlæser eksterne ikoner",
"text": "Dette kan tage nogle sekunder"
}
}
},
"integration": {

View File

@@ -0,0 +1,7 @@
{
"iconPicker": {
"textInputPlaceholder": "Søger efter noget...",
"searchLimitationTitle": "Begrænset til 30 resultater",
"searchLimitationMessage": "Søgeresultaterne blev begrænset til 30, fordi der var for mange matchende resultater"
}
}

View File

@@ -0,0 +1,21 @@
{
"descriptor": {
"name": "Bogmærke",
"description": "Viser en statisk liste over strenge eller links",
"settings": {
"title": "Bogmærke indstillinger",
"items": {
"label": "Elementer"
},
"layout": {
"label": "Layout"
}
}
},
"card": {
"noneFound": {
"title": "Bogmærkelisten er tom",
"text": "Tilføj nye elementer til denne liste i redigeringstilstand"
}
}
}

View File

@@ -4,6 +4,9 @@
"description": "Viser en kalender med kommende udgivelser fra understøttede integrationer.",
"settings": {
"title": "Indstillinger for kalender widget",
"useSonarrv4": {
"label": "Brug Sonarr v4 API"
},
"sundayStart": {
"label": "Søndag første ugedag"
},

View File

@@ -4,7 +4,7 @@
},
"errors": {
"unmappedOptions": {
"text": "<b>Der er fundet en ubrugt parameter i konfigurationen</b><br /><code>{{key}}</code>. Homarr kan ikke fortolke og bruge denne parameter. For at undgå uventet adfærd skal du sikkerhedskopiere din konfiguration og rette konfigurationen."
"text": ""
}
}
}

View File

@@ -4,20 +4,80 @@
"description": "Viser graferne for en ekstern Dash. instans i Homarr.",
"settings": {
"title": "Indstillinger for Dash. widget",
"cpuMultiView": {
"label": "CPU Multikerne Visning"
},
"storageMultiView": {
"label": "Multidrevet Lagervisning"
},
"useCompactView": {
"label": "Brug kompakt tilstand"
},
"graphs": {
"label": "Grafer"
"dashName": {
"label": "Dash. Navn"
},
"url": {
"label": "Dash. URL"
},
"usePercentages": {
"label": "Vis procentdele"
},
"columns": {
"label": "Vis kolonner"
},
"graphHeight": {
"label": "Højde af grafer"
},
"graphsOrder": {
"label": "Grafer (rækkefølge)",
"storage": {
"label": "Lager",
"enabled": {
"label": "Vis i widget"
},
"span": {
"label": "Kolonne spændvidde"
},
"compactView": {
"label": "Vis som tekst (kompakt)"
},
"multiView": {
"label": "Vis som multi-drevvisning"
}
},
"network": {
"label": "Netværk",
"enabled": {
"label": "Vis i widget"
},
"span": {
"label": "Kolonne spændvidde"
},
"compactView": {
"label": "Vis som tekst (kompakt)"
}
},
"cpu": {
"label": "CPU",
"enabled": {
"label": "Vis i widget"
},
"span": {
"label": "Kolonne spændvidde"
},
"multiView": {
"label": "Vis som multi-core-visning"
}
},
"ram": {
"label": "RAM",
"enabled": {
"label": "Vis i widget"
},
"span": {
"label": "Kolonne spændvidde"
}
},
"gpu": {
"label": "GPU",
"enabled": {
"label": "Vis i widget"
},
"span": {
"label": "Kolonne spændvidde"
}
}
}
}
},
@@ -25,7 +85,11 @@
"title": "Dash.",
"errors": {
"noService": "Ingen Dash. service fundet. Tilføj venligst en til dit Homarr-dashboard eller indstil en Dash. URL i modulindstillingerne",
"noInformation": "Kan ikke hente information fra dash. - kører du den nyeste version?"
"noInformation": "Kan ikke hente information fra dash. - kører du den nyeste version?",
"protocolDowngrade": {
"title": "Registreret protokolnedgradering",
"text": "Forbindelsen til din Dash.-instans bruger HTTP. Dette er en sikkerhedsrisiko, fordi HTTP er ukrypteret, og angribere kan misbruge denne forbindelse. Sørg for, at Dash. bruger HTTPS, eller nedgrader Homarr til HTTP (anbefales ikke)."
}
},
"graphs": {
"storage": {
@@ -43,7 +107,7 @@
"cpu": {
"title": "CPU"
},
"memory": {
"ram": {
"title": "RAM"
},
"gpu": {

View File

@@ -18,7 +18,7 @@
}
},
"lineChart": {
"title": "Nuværende downloadhastighed",
"title": "Nuværende netværkstrafik",
"download": "Download: {{download}}",
"upload": "Upload: {{upload}}",
"timeSpan": "{{seconds}} sekunder siden",

View File

@@ -0,0 +1,6 @@
{
"descriptor": {
"name": "DNS hole kontrol",
"description": "Kontroller PiHole eller AdGuard fra dit dashboard"
}
}

View File

@@ -0,0 +1,20 @@
{
"descriptor": {
"name": "DNS hole oversigt",
"description": "Viser vigtige data fra PiHole eller AdGuard",
"settings": {
"title": "Indstillinger for DNS Hole oversigt",
"usePiHoleColors": {
"label": "Brug farver fra PiHole"
}
}
},
"card": {
"metrics": {
"domainsOnAdlist": "Domæner på adlister",
"queriesToday": "Forespørgsler i dag",
"queriesBlockedTodayPercentage": "blokeret i dag",
"queriesBlockedToday": "blokeret i dag"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"descriptor": {
"name": "indlejret dokument (iframe)",
"description": "Indlejr ethvert indhold fra internettet. Nogle websteder kan begrænse adgang.",
"settings": {
"title": "iFrame indstillinger",
"embedUrl": {
"label": "Indlejr URL"
},
"allowFullScreen": {
"label": "Tillad fuld skærm"
}
}
},
"card": {
"errors": {
"noUrl": {
"title": "",
"text": "Sørg for, at du har indtastet en gyldig adresse i konfigurationen af din widget"
}
}
}
}

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "Medieforespørgsler",
"description": "Se en liste over alle medieforespørgsler fra din Overseerr eller Jellyseerr instans",
"settings": {
"title": "Liste over medieforespørgsler",
"replaceLinksWithExternalHost": {
"label": "Udskift links med ekstern vært"
}
}
},
"noRequests": "Ingen anmodninger fundet. Kontroller, at du har konfigureret dine apps korrekt.",
"pending": "Der er {{countPendingApproval}} anmodninger, der venter på godkendelse.",
"nonePending": "Der er i øjeblikket ingen godkendelser, der er under behandling. Du er i mål!",
"state": {
"approved": "Godkendt",
"pendingApproval": "Afventer godkendelse",
"declined": "Afvist"
},
"tooltips": {
"approve": "Godkend anmodninger",
"decline": "Afvis alle anmodninger"
}
}

View File

@@ -0,0 +1,14 @@
{
"descriptor": {
"name": "Statistik for medieanmodning",
"description": "Statistik over dine medieanmodninger",
"settings": {
"title": "Statistikker over medieanmodninger"
}
},
"stats": {
"pending": "Afventer godkendelse",
"tvRequests": "TV-anmodninger",
"movieRequests": "Film anmodninger"
}
}

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "Medieserver",
"description": "Interagere med din Jellyfin- eller Plex-medieserver",
"settings": {
"title": "Indstillinger for medieserver widget"
}
},
"card": {
"table": {
"header": {
"session": "Session",
"user": "Bruger",
"currentlyPlaying": "Afspiller i øjeblikket"
}
},
"errors": {
"general": {
"title": "Kunne ikke indlæse indholdet",
"text": "Det er ikke muligt at hente oplysninger fra serveren. Se venligst logfilerne for at få flere oplysninger"
}
}
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Ping",
"description": "Viser en statusindikator afhængig af HTTP-svarkoden for en given URL."
"description": "Viser en statusindikator afhængigt af HTTP-svarkoden for en given URL."
},
"states": {
"online": "Online {{response}}",

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "RSS Widget",
"description": "",
"settings": {
"title": "Indstillinger for RSS-widget",
"rssFeedUrl": {
"label": "RSS-feed URL'er",
"description": "URL'erne for de RSS-feeds, du vil vise fra."
},
"refreshInterval": {
"label": "Opdateringsinterval (i minutter)"
}
},
"card": {
"errors": {
"general": {
"title": "Det er ikke muligt at hente RSS-feed",
"text": "Der var et problem med at hente RSS-feedet. Sørg for, at du har konfigureret RSS-feedet korrekt ved hjælp af en gyldig URL. URL'er skal stemme overens med den officielle specifikation. Når du har opdateret feed'et, skal du muligvis opdatere dashboardet."
}
}
}
}
}

View File

@@ -12,10 +12,21 @@
},
"displayStaleTorrents": {
"label": "Vis torrents uden aktivitet"
},
"labelFilterIsWhitelist": {
"label": "Etiketlisten er en whitelist (i stedet for en blackliste)"
},
"labelFilter": {
"label": "Etiket liste",
"description": "Når \"er whitelist\" er markeret, fungerer dette som en whitelist. Hvis det ikke er markeret, er det en blackliste. Gør ikke noget, hvis den er tom"
}
}
},
"card": {
"footer": {
"error": "Fejl",
"lastUpdated": "Sidst opdateret {{time}} siden"
},
"table": {
"header": {
"name": "Navn",
@@ -25,12 +36,16 @@
"estimatedTimeOfArrival": "ETA",
"progress": "Fremskridt"
},
"item": {
"text": "Administreret af {{appName}}, {{ratio}} ratio"
},
"body": {
"nothingFound": "Ingen torrents fundet"
"nothingFound": "Ingen torrents fundet",
"filterHidingItems": "{{count}} poster er skjult af dine filtre"
}
},
"lineChart": {
"title": "Nuværende downloadhastighed",
"title": "Nuværende netværkstrafik",
"download": "Download: {{download}}",
"upload": "Upload: {{upload}}",
"timeSpan": "{{seconds}} sekunder siden",
@@ -49,6 +64,17 @@
},
"loading": {
"title": "Indlæser..."
},
"popover": {
"introductionPrefix": "Administreret af",
"metrics": {
"queuePosition": "Placering i køen - {{position}}",
"progress": "Fremskridt - {{progress}}%",
"totalSelectedSize": "I alt - {{totalSize}}",
"state": "Status - {{state}}",
"ratio": "Ratio -",
"completed": "Fuldført"
}
}
}
}

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "Video Stream",
"description": "Indlejr en video stream eller video fra et kamera eller et website",
"settings": {
"title": "Indstillinger for video stream widget",
"FeedUrl": {
"label": "Feed URL"
},
"autoPlay": {
"label": "Auto-afspilning"
},
"muted": {
"label": "Slå lyden fra"
},
"controls": {
"label": "Video afspilnings kontrol"
}
}
},
"errors": {
"invalidStream": "Ugyldig stream"
}
}

View File

@@ -9,11 +9,20 @@
"configTip": "Upload din konfigurationsfil ved at trække og slippe den på siden!"
},
"credits": {
"madeWithLove": "Lavet med ❤️ af @"
"madeWithLove": "Lavet med ❤️ af @",
"thirdPartyContent": "Se indhold fra tredjepart",
"thirdPartyContentTable": {
"dependencyName": "Afhængighed",
"dependencyVersion": "Version"
}
},
"grow": "Forøg gitteret (udnyt al pladsen)",
"layout": {
"title": "Dashboard layout",
"preview": {
"title": "Forhåndsvisning",
"subtitle": "Ændringer vil blive gemt automatisk"
},
"divider": "Layout indstillinger",
"main": "Primær",
"sidebar": "Sidepanel",
"cannotturnoff": "Kan ikke slås fra",

View File

@@ -1,3 +1,4 @@
{
"colors": "Farver",
"suffix": "{{color}} farve"
}

View File

@@ -0,0 +1,21 @@
{
"text": "Tilpasninger giver dig mulighed for at konfigurere og justere din oplevelse med Homarr til dine præferencer.",
"accordeon": {
"layout": {
"name": "Layout",
"description": "Aktiver og deaktiver elementer på din header og dashboard felter"
},
"gridstack": {
"name": "Gridstack",
"description": "Tilpas adfærd og kolonner i dit dashboardområde"
},
"pageMetadata": {
"name": "Metadata om siden",
"description": "Juster titler, logo og PWA"
},
"appereance": {
"name": "Udseende",
"description": "Tilpas baggrunden, farverne og appenes udseende"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"columnsCount": {
"labelPreset": "Kolonner i {{size}} størrelse",
"descriptionPreset": "Antal kolonner, når skærmen er mindre end {{pixels}} pixel bred",
"descriptionExceedsPreset": "Antal kolonner, når skærmstørrelsen er større end {{pixels}} pixels"
},
"unsavedChanges": "Du har ændringer, der ikke er gemt. Klik på knappen Anvend ændringer nedenfor for at anvende og gemme.",
"applyChanges": "Anvend ændringer",
"defaultValues": "Standardværdier"
}

View File

@@ -1,22 +1,28 @@
{
"pageTitle": {
"label": "Sidetitel"
"label": "Sidetitel",
"description": "Dashboardets titel øverst til venstre"
},
"metaTitle": {
"label": "Metatitel"
"label": "Metatitel",
"description": "Den titel, der vises i fanen i din browser"
},
"logo": {
"label": "Logo"
"label": "Logo",
"description": "Logoet, der vises øverst til venstre"
},
"favicon": {
"label": "Favicon"
"label": "Favicon",
"description": "Det ikon, der vises i fanen i din browser"
},
"background": {
"label": "Baggrund"
},
"customCSS": {
"label": "Tilpasset CSS",
"placeholder": "Brugerdefineret CSS vil blive anvendt sidst"
"description": "Yderligere, tilpasse dit dashboard ved hjælp af CSS, anbefales kun til erfarne brugere",
"placeholder": "Brugerdefineret CSS vil blive anvendt sidst",
"applying": "Anvender CSS..."
},
"buttons": {
"submit": "Indsend"

View File

@@ -0,0 +1,7 @@
{
"noEntries": {
"title": "Ingen poster",
"text": "Brug knapperne nedenfor til at tilføje flere elementer"
},
"buttonAdd": "Tilføj"
}

View File

@@ -0,0 +1,14 @@
{
"card": {
"title": "Ups, der opstod en fejl!",
"buttons": {
"details": "Detaljer",
"tryAgain": "Prøv igen"
}
},
"modal": {
"text": "",
"label": "Din fejl",
"reportButton": "Rapportér denne fejl"
}
}

View File

@@ -6,16 +6,21 @@
"delete": "Löschen",
"ok": "OK",
"edit": "Bearbeiten",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"enableAll": "Alle aktivieren",
"disableAll": "Alles deaktivieren",
"version": "Version",
"changePosition": "Position wechseln",
"remove": "Entfernen",
"removeConfirm": "Sind Sie sicher, dass Sie {{item}} entfernen möchten?",
"createItem": "+ Erstelle {{item}}",
"sections": {
"settings": "Einstellungen",
"dangerZone": "Gefahrenzone"
},
"secrets": {
"apiKey": "API-Schlüssel",
"apiKey": "API Schlüssel",
"username": "Benutzername",
"password": "Passwort"
},
@@ -24,5 +29,11 @@
"seconds": "Sekunden",
"minutes": "Minuten",
"hours": "Stunden"
},
"loading": "Wird geladen...",
"breakPoints": {
"small": "Klein",
"medium": "Mittel",
"large": "Groß"
}
}

View File

@@ -5,12 +5,7 @@
"enabled": "Speichern und Beenden"
},
"popover": {
"title": "Der Bearbeitungsmodus ist für <1>{{size}}</1> aktiviert",
"title": "Der Bearbeitungsmodus ist für die Kategorie <1>{{size}}</1> aktiviert",
"text": "Sie können Ihre Apps jetzt anpassen und konfigurieren. Änderungen werden <strong>nicht gespeichert</strong> bis Sie den Bearbeitungsmodus verlassen"
},
"screenSizes": {
"small": "Klein",
"medium": "Mittel",
"large": "Groß"
}
}

View File

@@ -1,7 +1,18 @@
{
"description": "Homarr ist ein <strong>schlankes</strong>, <strong>modernes</strong> Dashboard, das alle Ihre Apps und Dienste auf Knopfdruck zur Verfügung stellt. Mittels Homarr können Sie von einem einzigen Ort aus auf alles zugreifen und steuern. Es lässt sich nahtlos in die von Ihnen bevorzugten Apps integrieren und versorgt Sie mit wertvollen Informationen und der vollständige Kontrolle. Die Installation ist ein Kinderspiel, und es werden eine breite Palette von Konfigurations unterstützt.",
"i18n": "Geladene I18n Übersetzungs Namensräume",
"locales": "Konfigurierte I18n Sprachumgebungen",
"description": "Homarr ist ein <strong>schlankes</strong> und <strong>modernes</strong> Dashboard, das alle Ihre Apps und Dienste auf Knopfdruck zur Verfügung stellt. Mittels Homarr können Sie von einem einzigen Ort aus auf alles zugreifen und steuern. Es lässt sich nahtlos in die von Ihnen bevorzugten Apps integrieren und versorgt Sie mit wertvollen Informationen und der vollständige Kontrolle. Die Installation ist ein Kinderspiel, und es werden eine breite Palette von Konfigurations unterstützt.",
"contact": "Haben Sie Probleme oder Fragen? Nehmen Sie Kontakt mit uns auf!",
"addToDashboard": "Zum Dashboard hinzufügen"
}
"addToDashboard": "Zum Dashboard hinzufügen",
"tip": "Mod bezieht sich auf die Modifikator Taste, d. h. Strg und Befehl/Super/Windows-Taste",
"key": "Kurzbefehl Taste",
"action": "Aktion",
"keybinds": "Tastenbelegung",
"metrics": {
"configurationSchemaVersion": "Version des Konfigurationsschemas",
"configurationsCount": "Verfügbare Konfigurationen",
"version": "Version",
"nodeEnvironment": "Node-Umgebung",
"i18n": "Geladene I18n Übersetzungs Namensräume",
"locales": "Konfigurierte I18n Sprachumgebungen",
"experimental_disableEditMode": "<b>EXPERIMENTAL</b>: Bearbeitungsmodus deaktivieren"
}
}

View File

@@ -29,7 +29,7 @@
"network": {
"statusChecker": {
"label": "Statusprüfer",
"description": "Prüft, ob Ihre Anwendung online und mittels einer einfachen HTTP(S)-Anfrage erreichbar ist."
"description": "Prüft, ob Ihre Anwendung mittels einer einfachen HTTP(S)-Anfrage erreichbar ist."
},
"statusCodes": {
"label": "HTTP Statuscodes",
@@ -39,7 +39,15 @@
"appearance": {
"icon": {
"label": "App Symbol",
"description": "Das Symbol, das auf dem Dashboard angezeigt werden soll."
"description": "Beginnen Sie zu tippen, um ein Symbol zu finden. Sie können auch eine Bild-URL einfügen, um ein benutzerdefiniertes Symbol zu verwenden.",
"autocomplete": {
"title": "Die Suche ergab keine Treffer",
"text": "Versuchen Sie, einen spezifischeren Suchbegriff zu verwenden. Wenn Sie das gewünschte Symbol nicht finden können, fügen Sie die obige Bild-URL für ein benutzerdefiniertes Symbol ein"
},
"noItems": {
"title": "Lade externe Icons",
"text": "Dies kann einige Sekunden dauern…"
}
}
},
"integration": {
@@ -55,11 +63,11 @@
"explanationPublic": "Ein öffentliche Phrase wird immer an den Client gesendet und ist über die API zugänglich. Es sollte keine vertraulichen Werte wie Benutzernamen, Passwörter, Token, Zertifikate und ähnliches enthalten!"
},
"secrets": {
"description": "Um eine Phrase zu aktualisieren, geben Sie einen Wert ein und klicken Sie auf Speichern. Um eine Phrase zu entfernen, klicken Sie auf die Schaltfläche Löschen.",
"description": "Um eine geheime Phrase zu aktualisieren, geben Sie einen Wert ein und klicken Sie auf Speichern. Um eine geheime Phrase zu entfernen, klicken Sie auf die Schaltfläche Löschen.",
"warning": "Ihre Anmeldedaten dienen als Zugang für Homarr und sie sollten diese <strong>niemals</strong> an andere Personen weitergeben. Das Homarr-Team wird Sie niemals nach Ihren Zugangsdaten fragen. Stellen Sie sicher, dass sie ihre <strong>Zugangsdaten sicher aufbewahren und verwalten</strong>.",
"clear": "Phrase löschen",
"save": "Phrase speichern",
"update": "Phrase ändern"
"clear": "Geheime Phrase löschen",
"save": "Geheime Phrase speichern",
"update": "Geheime Phrase ändern"
}
},
"validation": {

View File

@@ -0,0 +1,7 @@
{
"iconPicker": {
"textInputPlaceholder": "Nach etwas suchen...",
"searchLimitationTitle": "Begrenzt auf 30 Ergebnisse",
"searchLimitationMessage": "Die Suchergebnisse wurden auf 30 begrenzt, da es zu viele Treffer gab"
}
}

View File

@@ -0,0 +1,21 @@
{
"descriptor": {
"name": "Lesezeichen",
"description": "Zeigt eine statische Liste von Zeichenfolgen oder Links an",
"settings": {
"title": "Lesezeichen-Einstellungen",
"items": {
"label": "Elemente"
},
"layout": {
"label": "Ansicht"
}
}
},
"card": {
"noneFound": {
"title": "Lesezeichenliste leer",
"text": "Neue Elemente im Bearbeitungsmodus zu dieser Liste hinzufügen"
}
}
}

View File

@@ -3,7 +3,10 @@
"name": "Kalender",
"description": "Zeigt einen Kalender mit anstehenden Veröffentlichungen von unterstützten Widgets an.",
"settings": {
"title": "Einstellungen für das Kalender Widget",
"title": "Kalender Widget Einstellungen",
"useSonarrv4": {
"label": "Sonarr v4 API verwenden"
},
"sundayStart": {
"label": "Wochenbeginn am Sonntag"
},

View File

@@ -1,6 +1,6 @@
{
"buttons": {
"play": "Abspielen",
"request": "Anfragen"
"play": "Wiedergabe",
"request": "Anfrage"
}
}

View File

@@ -4,7 +4,7 @@
},
"errors": {
"unmappedOptions": {
"text": "<b>Ungenutzter Parameter in der Konfiguration erkannt</b><br /><code>{{key}}</code>. Homarr ist nicht in der Lage, diesen Parameter zu interpretieren und zu verwenden. Um ein unerwartetes Verhalten zu vermeiden, sichern Sie Ihre Konfiguration und korrigieren Sie sie."
"text": ""
}
}
}

View File

@@ -4,20 +4,80 @@
"description": "Zeigt die Graphen einer externen Dash.-Instanz innerhalb von Homarr an.",
"settings": {
"title": "Einstellungen für Dash. Widget",
"cpuMultiView": {
"label": "CPU Multi-Core View"
},
"storageMultiView": {
"label": "Speicher Multi-Drive View"
},
"useCompactView": {
"label": "Kompaktmodus verwenden"
},
"graphs": {
"label": "Graphen"
"dashName": {
"label": "Dash. Name"
},
"url": {
"label": "Dash. URL"
},
"usePercentages": {
"label": "Prozentangaben anzeigen"
},
"columns": {
"label": "Spalten anzeigen"
},
"graphHeight": {
"label": "Höhe des Graphen"
},
"graphsOrder": {
"label": "Reihenfolge der Graphen",
"storage": {
"label": "Speicher",
"enabled": {
"label": "In Widget anzeigen"
},
"span": {
"label": "Länge der Säulen"
},
"compactView": {
"label": "Als Text anzeigen (kompakt)"
},
"multiView": {
"label": "Als Multi-Laufwerk-Ansicht anzeigen"
}
},
"network": {
"label": "Netzwerk",
"enabled": {
"label": "In Widget anzeigen"
},
"span": {
"label": "Länge der Säulen"
},
"compactView": {
"label": "Als Text anzeigen (kompakt)"
}
},
"cpu": {
"label": "CPU",
"enabled": {
"label": "In Widget anzeigen"
},
"span": {
"label": "Länge der Säulen"
},
"multiView": {
"label": "Als Multi-Core-Ansicht anzeigen"
}
},
"ram": {
"label": "RAM",
"enabled": {
"label": "In Widget anzeigen"
},
"span": {
"label": "Länge der Säulen"
}
},
"gpu": {
"label": "GPU",
"enabled": {
"label": "In Widget anzeigen"
},
"span": {
"label": "Länge der Säulen"
}
}
}
}
},
@@ -25,7 +85,11 @@
"title": "Dash.",
"errors": {
"noService": "Kein Dash. Dienst gefunden. Bitte fügen Sie einen zu Ihrem Homarr Dashboard hinzu oder setzen Sie eine Dash. URL in den Moduloptionen",
"noInformation": "Es können keine Informationen vom Dash. abgerufen werden. - Verwenden Sie die neueste Version?"
"noInformation": "Es können keine Informationen vom Dash. abgerufen werden. - Verwenden Sie die neueste Version?",
"protocolDowngrade": {
"title": "Protokoll-Downgrade erkannt",
"text": "Die Verbindung zu Ihrer Dash.-Instanz erfolgt über HTTP. Dies ist ein Sicherheitsrisiko, da HTTP unverschlüsselt ist und Angreifer diese Verbindung missbrauchen könnten. Stellen Sie sicher, dass Dash. HTTPS verwendet, oder setzen Sie Homarr auf HTTP herab (nicht empfohlen)."
}
},
"graphs": {
"storage": {
@@ -43,7 +107,7 @@
"cpu": {
"title": "CPU"
},
"memory": {
"ram": {
"title": "RAM"
},
"gpu": {

View File

@@ -1,9 +1,9 @@
{
"descriptor": {
"name": "Datum und Zeit",
"description": "Zeigt das aktuelle Datum und die Uhrzeit an",
"description": "Zeigt das aktuelle Datum und die Uhrzeit an.",
"settings": {
"title": "Einstellungen für das Widget \"Datum und Uhrzeit",
"title": "\"Datum und Uhrzeit\" Widget Einstellungen",
"display24HourFormat": {
"label": "24-Stunden Format"
}

View File

@@ -0,0 +1,6 @@
{
"descriptor": {
"name": "DNS-Hole Steuerung",
"description": "Steuern Sie PiHole oder AdGuard von Ihrem Dashboard aus"
}
}

View File

@@ -0,0 +1,20 @@
{
"descriptor": {
"name": "DNS-Hole Zusammenfassung",
"description": "Zeigt wichtige Daten von PiHole oder AdGuard an",
"settings": {
"title": "Einstellungen für die DNS-Hole Zusammenfassung",
"usePiHoleColors": {
"label": "Farben von PiHole verwenden"
}
}
},
"card": {
"metrics": {
"domainsOnAdlist": "Domains auf der Adlist",
"queriesToday": "Heutige Anfragen",
"queriesBlockedTodayPercentage": "heute blockiert",
"queriesBlockedToday": "heute blockiert"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"descriptor": {
"name": "iFrame",
"description": "Einbetten von Inhalten aus dem Internet. Einige Websites können den Zugriff einschränken.",
"settings": {
"title": "iFrame Einstellungen",
"embedUrl": {
"label": "URL einbetten"
},
"allowFullScreen": {
"label": "Vollbildmodus zulassen"
}
}
},
"card": {
"errors": {
"noUrl": {
"title": "",
"text": "Stellen Sie sicher, dass Sie in der Konfiguration Ihres Widgets eine gültige Adresse eingegeben haben"
}
}
}
}

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "Medienanfragen",
"description": "Sehen Sie eine Liste aller Medienanfragen von Ihrer Overseerr- oder Jellyseerr-Instanz",
"settings": {
"title": "Liste der Medienanfragen",
"replaceLinksWithExternalHost": {
"label": "Links durch externen Host ersetzen"
}
}
},
"noRequests": "Keine Anfragen gefunden. Bitte stellen Sie sicher, dass Sie Ihre Anwendungen richtig konfiguriert haben.",
"pending": "{{countPendingApproval}} Anfragen warten auf eine Genehmigung.",
"nonePending": "Es sind derzeit keine Genehmigungen ausstehend. Sie sind startklar!",
"state": {
"approved": "Genehmigt",
"pendingApproval": "Warten auf Freigabe",
"declined": "Abgelehnt"
},
"tooltips": {
"approve": "Anfrage bestätigen",
"decline": "Anfrage ablehnen"
}
}

View File

@@ -0,0 +1,14 @@
{
"descriptor": {
"name": "Statistik der Medienanfragen",
"description": "Statistiken über Ihre Medienanfragen",
"settings": {
"title": "Statistik der Medienanfragen"
}
},
"stats": {
"pending": "Ausstehende Freigaben",
"tvRequests": "TV-Anfragen",
"movieRequests": "Filmanfragen"
}
}

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "Medien Server",
"description": "Interagiere mit deinem Jellyfin oder Plex Media Server",
"settings": {
"title": "Einstellungen für das Medien Server Widget"
}
},
"card": {
"table": {
"header": {
"session": "Sitzung",
"user": "Benutzer",
"currentlyPlaying": "Momentan läuft"
}
},
"errors": {
"general": {
"title": "Inhalt kann nicht geladen werden",
"text": "Informationen vom Server konnten nicht abgerufen werden. Bitte überprüfen Sie die Logs für weitere Details"
}
}
}
}

View File

@@ -1,7 +1,7 @@
{
"descriptor": {
"name": "Ping",
"description": "Zeigt einen Statusindikator in Abhängigkeit vom HTTP-Antwortcode einer bestimmten URL an."
"description": "Zeigt einen Statusindikator in Abhängigkeit des HTTP-Antwortcode einer bestimmten URL an."
},
"states": {
"online": "Online {{response}}",

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "RSS-Widget",
"description": "",
"settings": {
"title": "Einstellungen für das RSS-Widget",
"rssFeedUrl": {
"label": "RSS-Feed URL",
"description": "Die URLs der RSS Feeds, die angezeigt werden sollen."
},
"refreshInterval": {
"label": "Aktualisierungsintervall (in Minuten)"
}
},
"card": {
"errors": {
"general": {
"title": "RSS Feed konnte nicht abgerufen werden",
"text": "Es ist ein Fehler beim Erreichen des RSS Feeds passiert. Stelle sicher, dass die eingetragene URL des RSS Feeds richtig ist. URLs sollten den offiziellen Spezifikationen entsprechen. Nach einem Update des Feeds muss möglicherweise die Dashboard-Seite aktualisiert werden."
}
}
}
}
}

View File

@@ -12,10 +12,21 @@
},
"displayStaleTorrents": {
"label": "Angehaltene Torrents anzeigen"
},
"labelFilterIsWhitelist": {
"label": "Labelliste ist eine Whitelist (statt einer Blacklist)"
},
"labelFilter": {
"label": "Labelliste",
"description": "Wenn \"ist Whitelist\" ausgewählt ist, handel es sich um eine Whitelist. Ist \"ist Whitelist\" nicht ausgewählt, handelt es sich um eine Blacklist. Wenn die Auswahl leer ist, wird nicht passieren"
}
}
},
"card": {
"footer": {
"error": "Fehler",
"lastUpdated": "Zuletzt aktualisiert vor {{time}}"
},
"table": {
"header": {
"name": "Name",
@@ -25,8 +36,12 @@
"estimatedTimeOfArrival": "Voraussichtlicher Abschluss",
"progress": "Fortschritt"
},
"item": {
"text": "Verwaltet von {{appName}}, {{ratio}} ratio"
},
"body": {
"nothingFound": "Keine Torrents gefunden"
"nothingFound": "Keine Torrents gefunden",
"filterHidingItems": "{{count}} Einträge sind durch Filter ausgeblendet"
}
},
"lineChart": {
@@ -49,6 +64,17 @@
},
"loading": {
"title": "Wird geladen..."
},
"popover": {
"introductionPrefix": "Verwaltet von",
"metrics": {
"queuePosition": "Position in der Warteschlange - {{position}}",
"progress": "Fortschritt - {{progress}}%",
"totalSelectedSize": "Insgesamt - {{totalSize}}",
"state": "Status - {{state}}",
"ratio": "Verhältnis -",
"completed": "Abgeschlossen"
}
}
}
}

View File

@@ -0,0 +1,24 @@
{
"descriptor": {
"name": "Videostream",
"description": "Einbetten eines Videostreams oder eines Videos von einer Kamera oder einer Website",
"settings": {
"title": "Einstellungen für das Video Stream Widget",
"FeedUrl": {
"label": "Feed-URL"
},
"autoPlay": {
"label": "Automatische Wiedergabe"
},
"muted": {
"label": "Audio stummschalten"
},
"controls": {
"label": "Videoplayer Steuerung"
}
}
},
"errors": {
"invalidStream": "Ungültiger Stream"
}
}

View File

@@ -3,7 +3,7 @@
"name": "Wetter",
"description": "Zeigt die aktuellen Wetterinformationen für einen bestimmten Ort an.",
"settings": {
"title": "Einstellungen für das Wetter Widget",
"title": "Wetter Widget Einstellungen",
"displayInFahrenheit": {
"label": "In Fahrenheit anzeigen"
},

View File

@@ -9,11 +9,20 @@
"configTip": "Laden Sie Ihre Konfigurationsdatei hoch, indem Sie sie per Drag & Drop auf diese Seite ziehen!"
},
"credits": {
"madeWithLove": "Gemacht mit ❤️ von @"
"madeWithLove": "Gemacht mit ❤️ von @",
"thirdPartyContent": "Inhalte von Dritten anzeigen",
"thirdPartyContentTable": {
"dependencyName": "Abhängigkeiten",
"dependencyVersion": "Version"
}
},
"grow": "Erweitertes Raster (nutzt den ganzen Platz)",
"layout": {
"title": "Dashboard Anordnung",
"preview": {
"title": "Vorschau",
"subtitle": "Änderungen werden automatisch gespeichert"
},
"divider": "Layout-Einstellungen",
"main": "Haupt",
"sidebar": "Seitenleiste",
"cannotturnoff": "Kann nicht deaktiviert werden",

View File

@@ -1,3 +1,4 @@
{
"colors": "Farben",
"suffix": "{{color}} Farbe"
}

View File

@@ -0,0 +1,21 @@
{
"text": "Anpassungen ermöglichen es Ihnen, Ihre Homarr Umgebung nach Ihren Wünschen anzupassen und zu konfigurieren.",
"accordeon": {
"layout": {
"name": "Ansicht",
"description": "Aktivieren und Deaktivieren von Elementen in der Kopfzeile und der Dashboard-Kacheln"
},
"gridstack": {
"name": "Gridstack",
"description": "Passen Sie das Verhalten und die Spalten Ihres Dashboard-Bereichs an"
},
"pageMetadata": {
"name": "Seiten Metadaten",
"description": "Titel, Logo und PWA anpassen"
},
"appereance": {
"name": "Aussehen",
"description": "Anpassen des Hintergrunds, der Farben und des Erscheinungsbilds"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"columnsCount": {
"labelPreset": "Spalten in {{size}} Größe",
"descriptionPreset": "Anzahl der Spalten, wenn der Bildschirm weniger als {{pixels}} Pixel breit ist",
"descriptionExceedsPreset": "Anzahl der Spalten, wenn die Bildschirmgröße {{pixels}} Pixel überschreitet"
},
"unsavedChanges": "Sie haben nicht gespeicherte Änderungen. Klicken Sie unten auf die Schaltfläche 'Änderungen übernehmen', um sie zu übernehmen und zu speichern.",
"applyChanges": "Änderungen übernehmen",
"defaultValues": "Standardwerte"
}

View File

@@ -1,22 +1,28 @@
{
"pageTitle": {
"label": "Seiten Titel"
"label": "Seiten Titel",
"description": "Der Titel des Dashboards oben links"
},
"metaTitle": {
"label": "Meta Titel"
"label": "Meta Titel",
"description": "Der in der Registerkarte Ihres Browsers angezeigte Titel"
},
"logo": {
"label": "Logo"
"label": "Logo",
"description": "Das oben links angezeigte Logo"
},
"favicon": {
"label": "Favicon"
"label": "Favicon",
"description": "Der in der Registerkarte Ihres Browsers angezeigte Symbol"
},
"background": {
"label": "Hintergrund"
},
"customCSS": {
"label": "Benutzerdefiniertes CSS",
"placeholder": "Benutzerdefiniertes CSS wird zuletzt angewendet"
"description": "Außerdem können Sie Ihr Dashboard mittels CSS anpassen, dies wird nur für erfahrene Benutzer empfohlen",
"placeholder": "Benutzerdefiniertes CSS wird zuletzt angewendet",
"applying": "CSS wird übernommen..."
},
"buttons": {
"submit": "Absenden"

View File

@@ -1,45 +1,45 @@
{
"configSelect": {
"label": "Konfigurationslader",
"description": "",
"label": "Änderung der Konfiguration",
"description": "{{configCount}} Konfigurationen sind verfügbar",
"loadingNew": "Ihre Konfiguration wird geladen...",
"pleaseWait": "Bitte warten Sie, bis Ihre neue Konfiguration geladen ist!"
},
"modal": {
"copy": {
"title": "",
"title": "Wählen Sie den Namen für Ihre neue Konfiguration",
"form": {
"configName": {
"label": "",
"label": "Name der Konfiguration",
"validation": {
"required": "",
"notUnique": ""
"required": "Name der Konfiguration ist erforderlich",
"notUnique": "Der Name dieser Konfiguration wird bereits verwendet"
},
"placeholder": ""
"placeholder": "Ihr neuer Konfigurationsname"
},
"submitButton": ""
"submitButton": "Bestätigen"
},
"events": {
"configSaved": {
"title": "",
"message": ""
"title": "Konfiguration gespeichert",
"message": "Konfiguration gespeichert als {{configName}}"
},
"configCopied": {
"title": "",
"message": ""
"title": "Konfiguration kopiert",
"message": "Konfiguration kopiert als {{configName}}"
},
"configNotCopied": {
"title": "",
"message": ""
"title": "Konfiguration konnte nicht kopiert werden",
"message": "Ihre Konfiguration wurde nicht als {{configName}} kopiert"
}
}
},
"confirmDeletion": {
"title": "",
"warningText": "",
"text": "",
"title": "Bestätigen Sie die Löschung Ihrer Konfiguration",
"warningText": "Sie sind dabei, '<b>{{configName}}</b>' zu löschen",
"text": "Bitte beachten Sie, dass die Löschung nicht rückgängig gemacht werden kann und Ihre Konfigurations Daten dauerhaft verloren gehen. Nachdem Sie auf diese Schaltfläche geklickt haben, wird die Konfiguration dauerhaft gelöscht. Stellen Sie sicher, dass Sie ein angemessenes Backup dieser Datei erstellen.",
"buttons": {
"confirm": ""
"confirm": "Ja, lösche die folgende Konfiguration: '<b>{{configName}}</b>'"
}
}
},

View File

@@ -0,0 +1,7 @@
{
"noEntries": {
"title": "Keine Einträge",
"text": "Verwenden Sie die Schaltflächen unten, um weitere Einträge hinzuzufügen"
},
"buttonAdd": "Hinzufügen"
}

View File

@@ -0,0 +1,14 @@
{
"card": {
"title": "Ups, ein Fehler ist aufgetreten!",
"buttons": {
"details": "Details",
"tryAgain": "Erneut versuchen"
}
},
"modal": {
"text": "",
"label": "Dein Fehler",
"reportButton": "Fehler melden"
}
}

View File

@@ -0,0 +1,27 @@
{
"title": "Καλώς ήρθατε!",
"text": "Παρακαλώ εισάγετε τον κωδικό σας",
"form": {
"fields": {
"password": {
"label": "Κωδικός",
"placeholder": "Ο κωδικός σας"
}
},
"buttons": {
"submit": "Σύνδεση"
}
},
"notifications": {
"checking": {
"title": "Έλεγχος κωδικού πρόσβασης",
"message": "Ο κωδικός πρόσβασής σας ελέγχεται..."
},
"correct": {
"title": "Σύνδεση επιτυχής, ανακατεύθυνση..."
},
"wrong": {
"title": "Ο κωδικός που εισαγάγατε είναι εσφαλμένος. Προσπαθήστε ξανά."
}
}
}

View File

@@ -0,0 +1,39 @@
{
"save": "Αποθήκευση",
"about": "Σχετικά",
"cancel": "Ακύρωση",
"close": "Κλείσιμο",
"delete": "Διαγραφή",
"ok": "ΟΚ",
"edit": "Επεξεργασία",
"enabled": "",
"disabled": "",
"enableAll": "",
"disableAll": "",
"version": "Έκδοση",
"changePosition": "Αλλαγή θέσης",
"remove": "Αφαίρεση",
"removeConfirm": "Είστε σίγουροι ότι θέλετε να καταργήσετε το {{item}};",
"createItem": "+ δημιουργήστε {{item}}",
"sections": {
"settings": "Ρυθμίσεις",
"dangerZone": "Επικίνδυνη Περιοχή"
},
"secrets": {
"apiKey": "Κλειδί API",
"username": "Όνομα Χρήστη",
"password": "Κωδικός"
},
"tip": "Συμβουλές: ",
"time": {
"seconds": "δευτερόλεπτα",
"minutes": "λεπτά",
"hours": "ώρες"
},
"loading": "Φόρτωση...",
"breakPoints": {
"small": "μικρό",
"medium": "μεσαίο",
"large": "μεγάλο"
}
}

View File

@@ -0,0 +1,11 @@
{
"modal": {
"title": "Προσθήκη νέου πλακιδίου",
"text": "Τα πλακάκια είναι το κύριο στοιχείο του Homarr. Χρησιμοποιούνται για την εμφάνιση των εφαρμογών σας και άλλων πληροφοριών. Μπορείτε να προσθέσετε όσα πλακίδια θέλετε."
},
"widgetDescription": "Τα widgets αλληλεπιδρούν με τις εφαρμογές σας, για να σας παρέχουν περισσότερο έλεγχο των εφαρμογών σας. Συνήθως απαιτούν πρόσθετες ρυθμίσεις πριν από τη χρήση.",
"goBack": "Επιστροφή στο προηγούμενο βήμα",
"actionIcon": {
"tooltip": "Προσθέστε ένα πλακίδιο"
}
}

View File

@@ -0,0 +1,11 @@
{
"description": "Στη Λειτουργία επεξεργασίας, μπορείτε να προσαρμόσετε τα πλακίδια και να ρυθμίσετε τις εφαρμογές. Οι αλλαγές δεν αποθηκεύονται μέχρι να βγείτε από τη λειτουργία επεξεργασίας.",
"button": {
"disabled": "Λειτουργία επεξεργασίας",
"enabled": "Έξοδος και Αποθήκευση"
},
"popover": {
"title": "Η λειτουργία επεξεργασίας είναι ενεργοποιημένη για <1>{{size}}</1> μέγεθος",
"text": "Μπορείτε να προσαρμόσετε και να ρυθμίσετε τις εφαρμογές σας τώρα. Οι αλλαγές <strong>δεν αποθηκεύονται</strong> μέχρι να βγείτε από τη λειτουργία επεξεργασίας"
}
}

View File

@@ -0,0 +1,3 @@
{
"title": "{{position}} πλαϊνή μπάρα"
}

View File

@@ -0,0 +1,18 @@
{
"description": "Το Homarr είναι ένα <strong>κομψό</strong>, <strong>μοντέρνο</strong> ταμπλό που βάζει όλες τις εφαρμογές και τις υπηρεσίες σας στα χέρια σας. Με το Homarr, μπορείτε να έχετε πρόσβαση και να ελέγχετε τα πάντα σε μια βολική τοποθεσία. Το Homarr ενσωματώνεται απρόσκοπτα με τις εφαρμογές που έχετε προσθέσει, παρέχοντάς σας πολύτιμες πληροφορίες και δίνοντάς σας πλήρη έλεγχο. Η εγκατάσταση είναι πανεύκολη και το Homarr υποστηρίζει ένα ευρύ φάσμα μεθόδων ανάπτυξης.",
"contact": "Έχετε προβλήματα ή ερωτήσεις; Συνδεθείτε μαζί μας!",
"addToDashboard": "Προσθήκη στο ταμπλό",
"tip": "Το Mod αναφέρεται στο πλήκτρο τροποποίησης, είναι τα πλήκτρα Ctrl και Command/Super/Windows",
"key": "Πλήκτρο συντόμευσης",
"action": "Ενέργεια",
"keybinds": "Δεσμοί πλήκτρων",
"metrics": {
"configurationSchemaVersion": "Έκδοση σχήματος διαμόρφωσης",
"configurationsCount": "Διαθέσιμες διαμορφώσεις",
"version": "Έκδοση",
"nodeEnvironment": "Περιβάλλον κόμβου",
"i18n": "Φορτωμένα πεδία ονομάτων μετάφρασης I18n",
"locales": "Διαμορφωμένες τοπικές ρυθμίσεις I18n",
"experimental_disableEditMode": "<b>ΠΕΙΡΑΜΑΤΙΚΟ</b>: Απενεργοποίηση της λειτουργίας επεξεργασίας"
}
}

View File

@@ -0,0 +1,76 @@
{
"tabs": {
"general": "Γενικά",
"behaviour": "Συμπεριφορά",
"network": "Δίκτυο",
"appearance": "Εμφάνιση",
"integration": "Ενσωμάτωση"
},
"general": {
"appname": {
"label": "Όνομα εφαρμογής",
"description": "Χρησιμοποιείται για την εμφάνιση της εφαρμογής στο ταμπλό."
},
"internalAddress": {
"label": "Εσωτερική διεύθυνση",
"description": "Η εσωτερική διεύθυνση IP της εφαρμογής."
},
"externalAddress": {
"label": "Εξωτερική διεύθυνση",
"description": "URL που θα ανοίγει όταν κάνετε κλικ στην εφαρμογή."
}
},
"behaviour": {
"isOpeningNewTab": {
"label": "Άνοιγμα σε νέα καρτέλα",
"description": "Ανοίξτε την εφαρμογή σε νέα καρτέλα αντί της τρέχουσας."
}
},
"network": {
"statusChecker": {
"label": "Έλεγχος κατάστασης",
"description": "Ελέγχει αν η εφαρμογή σας είναι συνδεδεμένη χρησιμοποιώντας ένα απλό αίτημα HTTP(S)."
},
"statusCodes": {
"label": "Κωδικοί κατάστασης HTTP",
"description": "Οι κωδικοί κατάστασης HTTP που θεωρούνται online."
}
},
"appearance": {
"icon": {
"label": "Εικονίδιο εφαρμογής",
"description": "",
"autocomplete": {
"title": "Δεν βρέθηκαν αποτελέσματα",
"text": "Προσπαθήστε να χρησιμοποιήσετε έναν πιο συγκεκριμένο όρο αναζήτησης. Αν δεν μπορείτε να βρείτε το εικονίδιο που επιθυμείτε, επικολλήστε την παραπάνω διεύθυνση URL εικόνας για ένα προσαρμοσμένο εικονίδιο"
},
"noItems": {
"title": "Φόρτωση εξωτερικών εικονιδίων",
"text": "Αυτό μπορεί να διαρκέσει μερικά δευτερόλεπτα"
}
}
},
"integration": {
"type": {
"label": "Διαμόρφωση ενσωμάτωσης",
"description": "Η διαμόρφωση ενσωμάτωσης που θα χρησιμοποιηθεί για τη σύνδεση με την εφαρμογή σας.",
"placeholder": "Επιλέξτε Ενσωμάτωση",
"defined": "Καθορισμένο",
"undefined": "Απροσδιόριστο",
"public": "Δημόσιο",
"private": "Ιδιωτικό",
"explanationPrivate": "Ένα ιδιωτικό μυστικό θα αποσταλεί στον διακομιστή μόνο μία φορά. Μόλις το πρόγραμμα περιήγησής σας ανανεώσει τη σελίδα, δεν θα αποσταλεί ποτέ ξανά.",
"explanationPublic": "Ένα δημόσιο μυστικό αποστέλλεται πάντα στον πελάτη και είναι προσβάσιμο μέσω του API. Δεν πρέπει να περιέχει εμπιστευτικές τιμές όπως ονόματα χρηστών, κωδικούς πρόσβασης, μάρκες, πιστοποιητικά και παρόμοια!"
},
"secrets": {
"description": "Για να ενημερώσετε ένα μυστικό, εισαγάγετε μια τιμή και κάντε κλικ στο κουμπί αποθήκευσης. Για να διαγράψετε ένα μυστικό, χρησιμοποιήστε το κουμπί διαγραφής.",
"warning": "Τα διαπιστευτήριά σας λειτουργούν ως πρόσβαση για τις ενσωματώσεις σας και δεν θα πρέπει <strong>ποτέ </strong> να τα μοιράζεστε με κανέναν άλλον. Η ομάδα Homarr δεν θα σας ζητήσει ποτέ διαπιστευτήρια. Βεβαιωθείτε ότι <strong>αποθηκεύετε και διαχειρίζεστε τα μυστικά σας με ασφάλεια</strong>.",
"clear": "Καθαρισμός μυστικού",
"save": "Αποθήκευση μυστικού",
"update": "Ενημέρωση μυστικού"
}
},
"validation": {
"popover": "Η φόρμα σας περιέχει άκυρα δεδομένα. Ως εκ τούτου, δεν μπορεί να αποθηκευτεί. Παρακαλούμε επιλύστε όλα τα προβλήματα και κάντε ξανά κλικ σε αυτό το κουμπί για να αποθηκεύσετε τις αλλαγές σας"
}
}

View File

@@ -0,0 +1,8 @@
{
"xPosition": "Θέση του άξονα X",
"width": "Πλάτος",
"height": "Ύψος",
"yPosition": "Θέση του άξονα Y",
"zeroOrHigher": "0 ή υψηλότερο",
"betweenXandY": "Μεταξύ {min} και {max}"
}

View File

@@ -0,0 +1,7 @@
{
"iconPicker": {
"textInputPlaceholder": "",
"searchLimitationTitle": "",
"searchLimitationMessage": ""
}
}

View File

@@ -0,0 +1,21 @@
{
"descriptor": {
"name": "",
"description": "",
"settings": {
"title": "",
"items": {
"label": ""
},
"layout": {
"label": "Διάταξη"
}
}
},
"card": {
"noneFound": {
"title": "",
"text": ""
}
}
}

View File

@@ -0,0 +1,18 @@
{
"descriptor": {
"name": "Ημερολόγιο",
"description": "Εμφανίζει ένα ημερολόγιο με τις επερχόμενες κυκλοφορίες, από τις υποστηριζόμενες ενσωματώσεις.",
"settings": {
"title": "Ρυθμίσεις για το widget ημερολογίου",
"useSonarrv4": {
"label": "Χρήση του API Sonarr v4"
},
"sundayStart": {
"label": "Ξεκινήστε την εβδομάδα από την Κυριακή"
},
"radarrReleaseType": {
"label": "Τύπος κυκλοφορίας Radarr"
}
}
}
}

View File

@@ -0,0 +1,6 @@
{
"buttons": {
"play": "Αναπαραγωγή",
"request": "Αίτημα"
}
}

View File

@@ -0,0 +1,10 @@
{
"settings": {
"label": "Ρυθμίσεις"
},
"errors": {
"unmappedOptions": {
"text": ""
}
}
}

View File

@@ -0,0 +1,118 @@
{
"descriptor": {
"name": "Dash.",
"description": "Εμφανίζει τα γραφήματα ενός εξωτερικού Dash. Instance μέσα στο Homarr.",
"settings": {
"title": "Ρυθμίσεις για το widget Dash",
"dashName": {
"label": ""
},
"url": {
"label": "Dash. URL"
},
"usePercentages": {
"label": "Εμφάνιση ποσοστών"
},
"columns": {
"label": "Εμφάνιση στηλών"
},
"graphHeight": {
"label": "Ύψος γραφημάτων"
},
"graphsOrder": {
"label": "Γραφήματα (σειρά)",
"storage": {
"label": "Αποθηκευτικός χώρος",
"enabled": {
"label": "Εμφάνιση στο widget"
},
"span": {
"label": "Εύρος στήλης"
},
"compactView": {
"label": "Εμφάνιση ως κείμενο (συμπαγές)"
},
"multiView": {
"label": "Εμφάνιση ως multi-drive-view"
}
},
"network": {
"label": "Δίκτυο",
"enabled": {
"label": "Εμφάνιση στο widget"
},
"span": {
"label": "Εύρος στήλης"
},
"compactView": {
"label": "Εμφάνιση ως κείμενο (συμπαγές)"
}
},
"cpu": {
"label": "CPU",
"enabled": {
"label": "Εμφάνιση στο widget"
},
"span": {
"label": "Εύρος στήλης"
},
"multiView": {
"label": "Εμφάνιση ως προβολή πολλαπλών πυρήνων"
}
},
"ram": {
"label": "RAM",
"enabled": {
"label": "Εμφάνιση στο widget"
},
"span": {
"label": "Εύρος στήλης"
}
},
"gpu": {
"label": "GPU",
"enabled": {
"label": "Εμφάνιση στο widget"
},
"span": {
"label": "Εύρος στήλης"
}
}
}
}
},
"card": {
"title": "Dash.",
"errors": {
"noService": "Δεν βρέθηκε υπηρεσία Dash. Παρακαλούμε προσθέστε μία στο ταμπλό Homarr ή ορίστε μια Dash. URL στις επιλογές της ενότητας",
"noInformation": "Δεν μπορεί να αποκτήσει πληροφορίες από το dash. - τρέχετε την τελευταία έκδοση;",
"protocolDowngrade": {
"title": "Εντοπισμένη υποβάθμιση πρωτοκόλλου",
"text": "Η σύνδεση με την εμφάνισή σας Dash. χρησιμοποιεί HTTP. Αυτό αποτελεί κίνδυνο για την ασφάλεια, επειδή το HTTP δεν είναι κρυπτογραφημένο και οι επιτιθέμενοι θα μπορούσαν να κάνουν κατάχρηση αυτής της σύνδεσης. Βεβαιωθείτε ότι το Dash. χρησιμοποιεί HTTPS ή υποβαθμίστε το Homarr σε HTTP (δεν συνιστάται)."
}
},
"graphs": {
"storage": {
"title": "Αποθηκευτικός χώρος",
"label": "Αποθηκευτικός χώρος:"
},
"network": {
"title": "Δίκτυο",
"label": "Δίκτυο:",
"metrics": {
"download": "Κάτω",
"upload": "Πάνω"
}
},
"cpu": {
"title": "CPU"
},
"ram": {
"title": "RAM"
},
"gpu": {
"title": "GPU"
}
}
}
}

View File

@@ -0,0 +1,12 @@
{
"descriptor": {
"name": "Ημερομηνία και ώρα",
"description": "Εμφανίζει την τρέχουσα ημερομηνία και ώρα.",
"settings": {
"title": "Ρυθμίσεις για το widget ημερομηνίας και ώρας",
"display24HourFormat": {
"label": "Εμφάνιση πλήρης ώρας(24-ώρο)"
}
}
}
}

View File

@@ -0,0 +1,35 @@
{
"descriptor": {
"name": "Ταχύτητα Λήψης",
"description": "Εμφανίζει την ταχύτητα λήψης και μεταφόρτωσης των υποστηριζόμενων ενσωματώσεων."
},
"card": {
"table": {
"header": {
"name": "Όνομα",
"size": "Μέγεθος",
"download": "Κάτω",
"upload": "Πάνω",
"estimatedTimeOfArrival": "Εκτιμώμενος χρόνος αναμονής",
"progress": "Πρόοδος"
},
"body": {
"nothingFound": "Δεν βρέθηκαν torrents"
}
},
"lineChart": {
"title": "Τρέχουσα ταχύτητα λήψης",
"download": "Λήψη: {{download}}",
"upload": "Ανέβασμα: {{upload}}",
"timeSpan": "{{seconds}} δευτερόλεπτα πριν",
"totalDownload": "Λήψη: {{download}}/s",
"totalUpload": "Ανέβασμα: {{upload}}/s"
},
"errors": {
"noDownloadClients": {
"title": "Δεν βρέθηκαν υποστηριζόμενα προγράμματα λήψης!",
"text": "Προσθέστε μια υπηρεσία λήψης για να δείτε τις τρέχουσες λήψεις σας"
}
}
}
}

View File

@@ -0,0 +1,6 @@
{
"descriptor": {
"name": "",
"description": ""
}
}

Some files were not shown because too many files have changed in this diff Show More