From 25e4d378435adb0f22739712b5cde85f0066d795 Mon Sep 17 00:00:00 2001 From: lucaperl <52839381+lucaperl@users.noreply.github.com> Date: Sat, 28 Jan 2023 19:13:50 +0100 Subject: [PATCH 01/42] Added "Light Grey" and "Dark Grey" subtitle colors For OLED screens and HDR content, where white subtitles would be blinding. --- src/components/subtitlesettings/subtitlesettings.template.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/subtitlesettings/subtitlesettings.template.html b/src/components/subtitlesettings/subtitlesettings.template.html index 685b03997e..e530b83f98 100644 --- a/src/components/subtitlesettings/subtitlesettings.template.html +++ b/src/components/subtitlesettings/subtitlesettings.template.html @@ -102,6 +102,8 @@
- - + + From c7dab8daa40a6ad4cb823170467ee2036049b0e6 Mon Sep 17 00:00:00 2001 From: lucaperl <52839381+lucaperl@users.noreply.github.com> Date: Sun, 29 Jan 2023 19:10:20 +0100 Subject: [PATCH 03/42] Update subtitle color string keys --- .../subtitlesettings.template.html | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/subtitlesettings/subtitlesettings.template.html b/src/components/subtitlesettings/subtitlesettings.template.html index b4ef9775df..5f1f14ae9d 100644 --- a/src/components/subtitlesettings/subtitlesettings.template.html +++ b/src/components/subtitlesettings/subtitlesettings.template.html @@ -101,16 +101,16 @@
From 85e4f67005babefc7b08656da7d9f857e236cdd5 Mon Sep 17 00:00:00 2001 From: lucaperl <52839381+lucaperl@users.noreply.github.com> Date: Sun, 29 Jan 2023 19:22:22 +0100 Subject: [PATCH 04/42] Add Subtitle color strings Subtitle color strings as added in #3549 and #4311 --- src/strings/en-us.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 7a2bd21686..af48ce9b86 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1448,10 +1448,20 @@ "Subtitle": "Subtitle", "SubtitleAppearanceSettingsAlsoPassedToCastDevices": "These settings also apply to any Google Cast playback started by this device.", "SubtitleAppearanceSettingsDisclaimer": "Following settings do not apply to the graphical subtitles mentioned above or ASS/SSA subtitles that embed their own styles.", + "SubtitleBlack": "Black", + "SubtitleBlue": "Blue", + "SubtitleCyan": "Cyan", "SubtitleDownloadersHelp": "Enable and rank your preferred subtitle downloaders in order of priority.", + "SubtitleGray": "Gray", + "SubtitleGreen": "Green", + "SubtitleLightGray": "Light Gray", + "SubtitleMagenta": "Magenta", "SubtitleOffset": "Subtitle Offset", + "SubtitleRed": "Red", "Subtitles": "Subtitles", "SubtitleVerticalPositionHelp": "Line number where text appears. Positive numbers indicate top down. Negative numbers indicate bottom up.", + "SubtitleWhite": "White", + "SubtitleYellow": "Yellow", "Suggestions": "Suggestions", "Sunday": "Sunday", "Sync": "Sync", From 19dea327bb9d9844bc7b5cb6cf16d0480b248cb1 Mon Sep 17 00:00:00 2001 From: Joe Rogers <1337joe@gmail.com> Date: Mon, 13 Feb 2023 01:20:54 -0500 Subject: [PATCH 05/42] Remove duplicated display of studios, unused parameter --- src/controllers/itemDetails/index.js | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 28b0424153..5309119aec 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -1090,7 +1090,7 @@ function renderTagline(page, item) { } } -function renderDetails(page, item, apiClient, context, isStatic) { +function renderDetails(page, item, apiClient, context) { renderSimilarItems(page, item, context); renderMoreFromSeason(page, item, apiClient); renderMoreFromArtist(page, item, apiClient); @@ -1110,7 +1110,7 @@ function renderDetails(page, item, apiClient, context, isStatic) { } renderTags(page, item); - renderSeriesAirTime(page, item, isStatic); + renderSeriesAirTime(page, item); } function enableScrollX() { @@ -1289,7 +1289,7 @@ function renderSimilarItems(page, item, context) { } } -function renderSeriesAirTime(page, item, isStatic) { +function renderSeriesAirTime(page, item) { const seriesAirTime = page.querySelector('#seriesAirTime'); if (item.Type != 'Series') { seriesAirTime.classList.add('hide'); @@ -1308,19 +1308,6 @@ function renderSeriesAirTime(page, item, isStatic) { if (item.AirTime) { html += ' at ' + item.AirTime; } - if (item.Studios.length) { - if (isStatic) { - html += ' on ' + escapeHtml(item.Studios[0].Name); - } else { - const context = inferContext(item); - const href = appRouter.getRouteUrl(item.Studios[0], { - context: context, - itemType: 'Studio', - serverId: item.ServerId - }); - html += ' on ' + escapeHtml(item.Studios[0].Name) + ''; - } - } if (html) { html = (item.Status == 'Ended' ? 'Aired ' : 'Airs ') + html; seriesAirTime.innerHTML = html; From 721a766ca2606b80beafa45d0e73ecca7c6a6408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Wed, 22 Feb 2023 18:02:28 +0000 Subject: [PATCH 06/42] Translated using Weblate (Czech) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/ --- src/strings/cs.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/cs.json b/src/strings/cs.json index 839e85f4f7..78acddc0c0 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -1703,5 +1703,6 @@ "LabelChapterImageResolutionHelp": "Rozližení extrahovaných obrázků kapitol.", "ResolutionMatchSource": "Stejné jako zdroj", "PreferEmbeddedExtrasTitlesOverFileNames": "Preferovat vložené názvy před názvy souborů pro doplňky", - "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Doplňky většinou mají stejný vložený název jako nadřazená položka. Zaškrtnutím je i přesto můžete upřednostnit." + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Doplňky většinou mají stejný vložený název jako nadřazená položka. Zaškrtnutím je i přesto můžete upřednostnit.", + "SecondarySubtitles": "Sekundární titulky" } From 488bb4248a8aeb112db1f6ea54b714f23fd58a71 Mon Sep 17 00:00:00 2001 From: Bas Date: Wed, 22 Feb 2023 18:30:31 +0000 Subject: [PATCH 07/42] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index 543962164b..44d8eab396 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -366,7 +366,7 @@ "HeaderTranscodingProfile": "Direct Afspelen Profiel", "HeaderTranscodingProfileHelp": "Transcoding profielen toevoegen om aan te geven welke indelingen moeten worden gebruikt wanneer transcoding vereist is.", "HeaderTunerDevices": "Tuner apparaten", - "HeaderTypeImageFetchers": "Afbeelding downloaders ({0}):", + "HeaderTypeImageFetchers": "Ophalers afbeeldingen ({0}):", "HeaderTypeText": "Voer tekst in", "HeaderUpcomingOnTV": "Binnenkort op tv", "HeaderUploadImage": "Afbeelding Uploaden", @@ -504,7 +504,7 @@ "LabelHardwareAccelerationType": "Hardware acceleratie:", "LabelHardwareAccelerationTypeHelp": "Hardwarematige versnelling vereist extra configuratie.", "LabelHomeNetworkQuality": "Thuisnetwerk kwaliteit:", - "LabelHomeScreenSectionValue": "Beginscherm sectie {0}:", + "LabelHomeScreenSectionValue": "Beginschermsectie {0}:", "LabelHttpsPort": "Lokale HTTPS poort nummer:", "LabelHttpsPortHelp": "Het TCP poort nummer voor de HTTPS server.", "LabelIconMaxHeight": "Pictogram maximum hoogte:", @@ -735,7 +735,7 @@ "MessageConfirmRevokeApiKey": "Weet u zeker dat u deze API-sleutel in wilt trekken? De verbinding van de applicatie met deze server zal plotseling verbroken worden.", "MessageConfirmShutdown": "Weet u zeker dat u de server wilt afsluiten?", "MessageContactAdminToResetPassword": "Neem contact op met de serverbeheerder om uw wachtwoord te resetten.", - "MessageCreateAccountAt": "Maak een account bij {0}", + "MessageCreateAccountAt": "Account aanmaken bij {0}", "MessageDeleteTaskTrigger": "Weet u zeker dat u deze signaal taak wilt verwijderen?", "MessageDirectoryPickerBSDInstruction": "Voor BSD moet u mogelijk de opslag in uw FreeNAS Jail opzetten, zodat Jellyfin toegang heeft tot uw media.", "MessageDirectoryPickerLinuxInstruction": "Voor Linux op Arch Linux, CentOS, Debian, Fedora, openSUSE, of Ubuntu, moet u de service-gebruiker ten minste leestoegang tot uw opslaglocaties verlenen.", @@ -928,8 +928,8 @@ "Raised": "Verhoogd", "Rate": "Waardeer", "RecentlyWatched": "Onlangs bekeken", - "RecommendationBecauseYouLike": "Omdat u {0} leuk vond", - "RecommendationBecauseYouWatched": "Omdat u keek naar {0}", + "RecommendationBecauseYouLike": "Omdat je {0} leuk vindt", + "RecommendationBecauseYouWatched": "Omdat je keek naar {0}", "RecommendationDirectedBy": "Geregisseerd door {0}", "RecommendationStarring": "In de hoofdrollen {0}", "Record": "Opnemen", @@ -991,7 +991,7 @@ "Shuffle": "Willekeurig", "SimultaneousConnectionLimitHelp": "Het maximum aantal toegestane gelijktijdige streams. Geef 0 in voor geen limiet.", "SkipEpisodesAlreadyInMyLibrary": "Neem geen afleveringen op die al in mijn bibliotheek aanwezig zijn", - "SkipEpisodesAlreadyInMyLibraryHelp": "Afleveringen zullen worden vergeleken met behulp van seizoen en aflevering nummers, indien beschikbaar.", + "SkipEpisodesAlreadyInMyLibraryHelp": "Afleveringen zullen worden vergeleken met behulp van seizoens- en afleveringsnummers, indien beschikbaar.", "Small": "Klein", "SmallCaps": "Kleine letters", "Smaller": "Kleiner", @@ -1059,7 +1059,7 @@ "ValueConditions": "Voorwaarden: {0}", "ValueEpisodeCount": "{0} afleveringen", "ValueMovieCount": "{0} films", - "ValueMusicVideoCount": "{0} muziek video's", + "ValueMusicVideoCount": "{0} muziekvideo's", "ValueOneEpisode": "1 aflevering", "ValueOneMovie": "1 film", "ValueOneMusicVideo": "1 muziekvideo", @@ -1265,7 +1265,7 @@ "EveryXMinutes": "Elke {0} minuten", "OnWakeFromSleep": "Op het wakker worden vanuit slaapstand", "WeeklyAt": "{0}s op {1}", - "DailyAt": "Dagelijks op {0}", + "DailyAt": "Dagelijks om {0}", "LastSeen": "Laatst gezien {0}", "PersonRole": "als {0}", "ListPaging": "{0}-{1} van de {2}", @@ -1292,7 +1292,7 @@ "MessageSyncPlayGroupDoesNotExist": "Kan niet deelnemen aan de groep omdat deze niet bestaat.", "MessageSyncPlayPlaybackPermissionRequired": "Afspeelrechten vereist.", "MessageSyncPlayGroupWait": "{0} is aan het bufferen…", - "MessageSyncPlayUserLeft": "{0} i heeft de groep verlaten.", + "MessageSyncPlayUserLeft": "{0} heeft de groep verlaten.", "MessageSyncPlayUserJoined": "{0} is lid geworden van de groep.", "MessageSyncPlayDisabled": "SyncPlay uitgeschakeld.", "MessageSyncPlayEnabled": "SyncPlay ingeschakeld.", @@ -1702,5 +1702,6 @@ "HeaderDummyChapter": "Hoofdstukafbeeldingen", "LabelDummyChapterDurationHelp": "De extractieinterval voor hoofdstukafbeeldingen in seconden.", "ResolutionMatchSource": "Gelijk aan bron", - "HeaderRecordingMetadataSaving": "Metadata opname" + "HeaderRecordingMetadataSaving": "Metadata opname", + "SecondarySubtitles": "Secundaire ondertiteling" } From ca51355e9e7650aa598f91ae2b42465c6b416e26 Mon Sep 17 00:00:00 2001 From: blob03 Date: Wed, 22 Feb 2023 20:12:14 +0000 Subject: [PATCH 08/42] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index d742a3d561..859cbd8640 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1703,5 +1703,6 @@ "LabelDummyChapterDuration": "Intervalle :", "LabelDummyChapterCountHelp": "Nombre maximal d’images de chapitre à extraire pour chaque fichier multimédia.", "PreferEmbeddedExtrasTitlesOverFileNames": "Préférer les titres intégrés aux médias pour les bonus", - "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Les bonus possèdent souvent un titre intégré identique au média parent, cocher l'option pour utiliser ce titre quoi qu'il en soit." + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Les bonus possèdent souvent un titre intégré identique au média parent, cocher l'option pour utiliser ce titre quoi qu'il en soit.", + "SecondarySubtitles": "Sous-titres secondaires" } From db51d280c469bc2cc9b15df35090000169602106 Mon Sep 17 00:00:00 2001 From: Pranav Avva Date: Wed, 22 Feb 2023 20:27:55 +0000 Subject: [PATCH 09/42] Translated using Weblate (Hindi) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hi/ --- src/strings/hi-in.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/strings/hi-in.json b/src/strings/hi-in.json index 46c2072174..32dd0870a8 100644 --- a/src/strings/hi-in.json +++ b/src/strings/hi-in.json @@ -141,5 +141,11 @@ "ButtonSubmit": "प्रस्तुत करें", "ButtonTogglePlaylist": "प्लेलिस्ट", "ButtonUninstall": "ऐप हटाएं", - "ButtonTrailer": "ट्रेलर" + "ButtonTrailer": "ट्रेलर", + "Large": "बड़ा", + "Small": "छोटा", + "Normal": "सामान्य", + "Songs": "गाने", + "Larger": "और बड़ा", + "ListPaging": "{2} का {0}-{1}" } From 92362e30068ebe6b12177650e7abe0fc495f4955 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Feb 2023 23:52:00 +0000 Subject: [PATCH 10/42] Update dependency cssnano to v5.1.15 --- package-lock.json | 86 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1aba4abd48..865a514c68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,7 +79,7 @@ "copy-webpack-plugin": "11.0.0", "cross-env": "7.0.3", "css-loader": "6.7.3", - "cssnano": "5.1.14", + "cssnano": "5.1.15", "es-check": "7.1.0", "eslint": "8.34.0", "eslint-plugin-compat": "4.1.1", @@ -5455,12 +5455,12 @@ } }, "node_modules/cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dev": true, "dependencies": { - "cssnano-preset-default": "^5.2.13", + "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, @@ -5476,22 +5476,22 @@ } }, "node_modules/cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", "dev": true, "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", + "postcss-colormin": "^5.3.1", "postcss-convert-values": "^5.1.3", "postcss-discard-comments": "^5.1.2", "postcss-discard-duplicates": "^5.1.0", "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", + "postcss-merge-rules": "^5.1.4", "postcss-minify-font-values": "^5.1.0", "postcss-minify-gradients": "^5.1.1", "postcss-minify-params": "^5.1.4", @@ -5506,7 +5506,7 @@ "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-initial": "^5.1.2", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", "postcss-unique-selectors": "^5.1.1" @@ -9990,7 +9990,7 @@ "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true }, "node_modules/logform": { @@ -11388,12 +11388,12 @@ } }, "node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", + "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" @@ -12101,9 +12101,9 @@ } }, "node_modules/postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", "dev": true, "dependencies": { "browserslist": "^4.21.4", @@ -12571,9 +12571,9 @@ } }, "node_modules/postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", "dev": true, "dependencies": { "browserslist": "^4.21.4", @@ -23025,33 +23025,33 @@ "dev": true }, "cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dev": true, "requires": { - "cssnano-preset-default": "^5.2.13", + "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", "yaml": "^1.10.2" } }, "cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", "dev": true, "requires": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", + "postcss-colormin": "^5.3.1", "postcss-convert-values": "^5.1.3", "postcss-discard-comments": "^5.1.2", "postcss-discard-duplicates": "^5.1.0", "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", + "postcss-merge-rules": "^5.1.4", "postcss-minify-font-values": "^5.1.0", "postcss-minify-gradients": "^5.1.1", "postcss-minify-params": "^5.1.4", @@ -23066,7 +23066,7 @@ "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-initial": "^5.1.2", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", "postcss-unique-selectors": "^5.1.1" @@ -26456,7 +26456,7 @@ "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true }, "logform": { @@ -27476,12 +27476,12 @@ } }, "postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", "dev": true, "requires": { - "browserslist": "^4.16.6", + "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" @@ -27971,9 +27971,9 @@ } }, "postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", "dev": true, "requires": { "browserslist": "^4.21.4", @@ -28262,9 +28262,9 @@ } }, "postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", "dev": true, "requires": { "browserslist": "^4.21.4", diff --git a/package.json b/package.json index e1d25ca0a4..1b8b771097 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "copy-webpack-plugin": "11.0.0", "cross-env": "7.0.3", "css-loader": "6.7.3", - "cssnano": "5.1.14", + "cssnano": "5.1.15", "es-check": "7.1.0", "eslint": "8.34.0", "eslint-plugin-compat": "4.1.1", From f5b255c9f22dd429e5cc798e9803d31758c4970c Mon Sep 17 00:00:00 2001 From: Oskari Lavinto Date: Thu, 23 Feb 2023 01:12:04 +0000 Subject: [PATCH 11/42] Translated using Weblate (Finnish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/ --- src/strings/fi.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/fi.json b/src/strings/fi.json index 35b4abfc95..d2051489b4 100644 --- a/src/strings/fi.json +++ b/src/strings/fi.json @@ -1696,5 +1696,6 @@ "LabelChapterImageResolutionHelp": "Purettujen kappalekuvien resoluutio.", "ResolutionMatchSource": "Vastaa lähdettä", "PreferEmbeddedExtrasTitlesOverFileNames": "Suosi lisämateriaaleille upotettuja otsikoita tiedostonimien sijaan", - "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Lisämateriaaleilla on usein sama otsikko kuin niiden isännällä. Valitse tämä käyttääksesi silti upotettuja otsikoita." + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Lisämateriaaleilla on usein sama otsikko kuin niiden isännällä. Valitse tämä käyttääksesi silti upotettuja otsikoita.", + "SecondarySubtitles": "Toissijaiset tekstitykset" } From 2da9c9cba8d503ed34317b840b5cfe9de738a81a Mon Sep 17 00:00:00 2001 From: TnZzZHlp Date: Thu, 23 Feb 2023 12:26:07 +0000 Subject: [PATCH 12/42] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index 818bf42ffd..cee2f4d006 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1703,5 +1703,6 @@ "LabelDummyChapterCount": "限制:", "LabelDummyChapterCountHelp": "每个媒体文件的最大章节图像提取数。", "LabelChapterImageResolution": "分辨率:", - "LabelChapterImageResolutionHelp": "提取的章节图像的分辨率。" + "LabelChapterImageResolutionHelp": "提取的章节图像的分辨率。", + "SecondarySubtitles": "次字幕" } From b230b0cd9c99cbe75c61403c5e246eb63e6301e1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 23 Feb 2023 19:52:27 +0000 Subject: [PATCH 13/42] Update dependency eslint-plugin-compat to v4.1.2 --- package-lock.json | 22 ++++++++++------------ package.json | 2 +- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1aba4abd48..b1cc230c6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -82,7 +82,7 @@ "cssnano": "5.1.14", "es-check": "7.1.0", "eslint": "8.34.0", - "eslint-plugin-compat": "4.1.1", + "eslint-plugin-compat": "4.1.2", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-jsx-a11y": "6.7.1", @@ -6504,22 +6504,21 @@ } }, "node_modules/eslint-plugin-compat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.1.tgz", - "integrity": "sha512-vUAaqKcDwXpVASyCAfKzkfaw3NxZ6FqeCNSGp7yqHpUMzkAiWRO0B6pR5zqh8RUhvybwXhPXvwVKDLr9GqGFUQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.2.tgz", + "integrity": "sha512-DNrQgDi5L4mAL4FdFboKBlSRg6MWfd75eA7K91lMjtP5ryN+O11qT2FDn7Z6zqy6sZ4sJawUR5V75qzB6l0CBg==", "dev": true, "dependencies": { "@mdn/browser-compat-data": "^5.2.34", "ast-metadata-inferer": "^0.7.0", "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001450", - "core-js": "^3.27.2", + "caniuse-lite": "^1.0.30001451", "find-up": "^5.0.0", "lodash.memoize": "4.1.2", "semver": "7.3.8" }, "engines": { - "node": ">=9.x" + "node": ">=16.x" }, "peerDependencies": { "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" @@ -24046,16 +24045,15 @@ } }, "eslint-plugin-compat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.1.tgz", - "integrity": "sha512-vUAaqKcDwXpVASyCAfKzkfaw3NxZ6FqeCNSGp7yqHpUMzkAiWRO0B6pR5zqh8RUhvybwXhPXvwVKDLr9GqGFUQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.2.tgz", + "integrity": "sha512-DNrQgDi5L4mAL4FdFboKBlSRg6MWfd75eA7K91lMjtP5ryN+O11qT2FDn7Z6zqy6sZ4sJawUR5V75qzB6l0CBg==", "dev": true, "requires": { "@mdn/browser-compat-data": "^5.2.34", "ast-metadata-inferer": "^0.7.0", "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001450", - "core-js": "^3.27.2", + "caniuse-lite": "^1.0.30001451", "find-up": "^5.0.0", "lodash.memoize": "4.1.2", "semver": "7.3.8" diff --git a/package.json b/package.json index e1d25ca0a4..24d3325686 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "cssnano": "5.1.14", "es-check": "7.1.0", "eslint": "8.34.0", - "eslint-plugin-compat": "4.1.1", + "eslint-plugin-compat": "4.1.2", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-jsx-a11y": "6.7.1", From c16c6269a2226dec0ded0b5e490511d0cd726486 Mon Sep 17 00:00:00 2001 From: Ian Walton Date: Thu, 23 Feb 2023 23:05:48 -0500 Subject: [PATCH 14/42] Add dashboard to pluginManager exported functions. --- src/components/pluginManager.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index 80899d8bed..0f9a04091d 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -8,6 +8,7 @@ import { appRouter } from '../components/appRouter'; import * as inputManager from '../scripts/inputManager'; import toast from '../components/toast/toast'; import confirm from '../components/confirm/confirm'; +import * as dashboard from '../utils/dashboard'; // TODO: replace with each plugin version const cacheParam = new Date().getTime(); @@ -86,7 +87,8 @@ class PluginManager { appRouter, inputManager, toast, - confirm + confirm, + dashboard }); } else { console.debug(`Loading plugin (via dynamic import): ${pluginSpec}`); From 66dcbd59ca3e5a12fa5dc3ba7831b50de79fc195 Mon Sep 17 00:00:00 2001 From: Ian Walton Date: Thu, 23 Feb 2023 23:07:55 -0500 Subject: [PATCH 15/42] Add ServerConnections to pluginManager exported functions. --- src/components/pluginManager.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index 0f9a04091d..763f0eb2d1 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -9,6 +9,7 @@ import * as inputManager from '../scripts/inputManager'; import toast from '../components/toast/toast'; import confirm from '../components/confirm/confirm'; import * as dashboard from '../utils/dashboard'; +import ServerConnections from '../components/ServerConnections'; // TODO: replace with each plugin version const cacheParam = new Date().getTime(); @@ -88,7 +89,8 @@ class PluginManager { inputManager, toast, confirm, - dashboard + dashboard, + ServerConnections }); } else { console.debug(`Loading plugin (via dynamic import): ${pluginSpec}`); From 6eb760b03ca438bd7a334e0e930bb777a6671856 Mon Sep 17 00:00:00 2001 From: Valentin COMTE Date: Fri, 24 Feb 2023 04:43:16 +0000 Subject: [PATCH 16/42] Translated using Weblate (English (United Kingdom)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/ --- src/strings/en-gb.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json index fd3cd5de27..a4e975a8a5 100644 --- a/src/strings/en-gb.json +++ b/src/strings/en-gb.json @@ -1703,5 +1703,6 @@ "ResolutionMatchSource": "Match Source", "SaveRecordingNFO": "Save recording EPG metadata in NFO", "PreferEmbeddedExtrasTitlesOverFileNames": "Prefer embedded titles over filenames for extras", - "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Extras often have the same embedded name as the parent, check this to use embedded titles for them anyway." + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Extras often have the same embedded name as the parent, check this to use embedded titles for them anyway.", + "SecondarySubtitles": "Secondary Subtitles" } From 527489af06d38643657372af6b9341183da8ae22 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 Feb 2023 12:34:31 +0000 Subject: [PATCH 17/42] Update dependency blurhash to v2.0.5 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1aba4abd48..fda672c43a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@jellyfin/libass-wasm": "4.1.1", "@jellyfin/sdk": "unstable", "@loadable/component": "5.15.3", - "blurhash": "2.0.4", + "blurhash": "2.0.5", "classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz", "classnames": "2.3.2", "core-js": "3.28.0", @@ -4278,9 +4278,9 @@ } }, "node_modules/blurhash": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.4.tgz", - "integrity": "sha512-r/As72u2FbucLoK5NTegM/GucxJc3d8GvHc4ngo13IO/nt2HU4gONxNLq1XPN6EM/V8Y9URIa7PcSz2RZu553A==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", + "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==" }, "node_modules/body-parser": { "version": "1.20.0", @@ -22160,9 +22160,9 @@ "dev": true }, "blurhash": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.4.tgz", - "integrity": "sha512-r/As72u2FbucLoK5NTegM/GucxJc3d8GvHc4ngo13IO/nt2HU4gONxNLq1XPN6EM/V8Y9URIa7PcSz2RZu553A==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", + "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==" }, "body-parser": { "version": "1.20.0", diff --git a/package.json b/package.json index e1d25ca0a4..5e8ceaa684 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "@jellyfin/libass-wasm": "4.1.1", "@jellyfin/sdk": "unstable", "@loadable/component": "5.15.3", - "blurhash": "2.0.4", + "blurhash": "2.0.5", "classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz", "classnames": "2.3.2", "core-js": "3.28.0", From 34d903d85bdeb1d03e5bdbd183f72a91487058ca Mon Sep 17 00:00:00 2001 From: Kilian von Pflugk Date: Fri, 24 Feb 2023 20:06:38 +0000 Subject: [PATCH 18/42] Translated using Weblate (German) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/ --- src/strings/de.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/strings/de.json b/src/strings/de.json index e874f5d420..89856057b3 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -1688,5 +1688,21 @@ "DownloadAll": "Alle Herunterladen", "LabelStereoDownmixAlgorithm": "Stereo Downmix Algorithmus", "StereoDownmixAlgorithmHelp": "Algorithmus um Mehrkanal-Audio zu Stereo-Audio umzuwandeln.", - "Experimental": "Experimentell" + "Experimental": "Experimentell", + "SaveRecordingNFO": "Speichern der EPG-Metadaten in NFO", + "SaveRecordingNFOHelp": "Speichern Sie Metadaten von EPG-Anbietern zusammen mit den Medien.", + "ResolutionMatchSource": "Quelle der Übereinstimmung", + "PreferEmbeddedExtrasTitlesOverFileNames": "Eingebettete Titel gegenüber Dateinamen für Extras bevorzugen", + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Extras haben oft denselben eingebetteten Namen wie die übergeordnete Datei. Aktivieren Sie diese Option, um trotzdem eingebettete Titel für sie zu verwenden.", + "SaveRecordingImages": "Speichern der EPG-Bilder der Aufnahme", + "SaveRecordingImagesHelp": "Speichern Sie Bilder von EPG-Anbietern zusammen mit den Medien.", + "SecondarySubtitles": "Sekundäre Untertitel", + "HeaderDummyChapter": "Kapitel Bilder", + "HeaderRecordingMetadataSaving": "Aufzeichnung von Metadaten", + "LabelDummyChapterDuration": "Intervall:", + "LabelDummyChapterDurationHelp": "Das Intervall für die Extraktion des Kapitelbildes in Sekunden.", + "LabelDummyChapterCount": "Limit:", + "LabelDummyChapterCountHelp": "Die maximale Anzahl von Kapitelbildern, die für jede Mediendatei extrahiert werden.", + "LabelChapterImageResolution": "Auflösung:", + "LabelChapterImageResolutionHelp": "Die Auflösung der extrahierten Kapitelbilder." } From 1476542f4f40d09d82e1fe9c212d68fbd52b3400 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 25 Feb 2023 03:13:31 +0000 Subject: [PATCH 19/42] Update dependency sass to v1.58.3 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b1cc230c6c..c90c1e92ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -98,7 +98,7 @@ "postcss-loader": "7.0.2", "postcss-preset-env": "8.0.1", "postcss-scss": "4.0.6", - "sass": "1.58.1", + "sass": "1.58.3", "sass-loader": "13.2.0", "source-map-loader": "4.0.1", "style-loader": "3.3.1", @@ -13671,9 +13671,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.58.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", - "integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==", + "version": "1.58.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz", + "integrity": "sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -29066,9 +29066,9 @@ "dev": true }, "sass": { - "version": "1.58.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", - "integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==", + "version": "1.58.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz", + "integrity": "sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", diff --git a/package.json b/package.json index 24d3325686..37024acb6f 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "postcss-loader": "7.0.2", "postcss-preset-env": "8.0.1", "postcss-scss": "4.0.6", - "sass": "1.58.1", + "sass": "1.58.3", "sass-loader": "13.2.0", "source-map-loader": "4.0.1", "style-loader": "3.3.1", From 793e9c73f72d855081d20c7a7766303aea442d24 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 25 Feb 2023 03:13:38 +0000 Subject: [PATCH 20/42] Update github/codeql-action action to v2.2.5 --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 9162d3ca71..d0d11b4c5f 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -21,11 +21,11 @@ jobs: - name: Checkout repository uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 - name: Initialize CodeQL - uses: github/codeql-action/init@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # v2.2.4 + uses: github/codeql-action/init@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2.2.5 with: languages: ${{ matrix.language }} queries: +security-extended - name: Autobuild - uses: github/codeql-action/autobuild@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # v2.2.4 + uses: github/codeql-action/autobuild@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2.2.5 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # v2.2.4 + uses: github/codeql-action/analyze@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2.2.5 From c46802166c4292892c93c66e1b91641cf88e5f30 Mon Sep 17 00:00:00 2001 From: Troja Date: Sat, 25 Feb 2023 14:39:19 +0000 Subject: [PATCH 21/42] Translated using Weblate (Belarusian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/be/ --- src/strings/be-by.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/be-by.json b/src/strings/be-by.json index 266b83683b..68b4794d0d 100644 --- a/src/strings/be-by.json +++ b/src/strings/be-by.json @@ -1689,5 +1689,6 @@ "LabelDummyChapterCountHelp": "Максімальная колькасць выяваў раздзелаў, якія будуць выняты для кожнага медыяфайла.", "LabelChapterImageResolution": "Дазвол:", "LabelChapterImageResolutionHelp": "Дазвол вынятых малюнкаў раздзелаў.", - "ResolutionMatchSource": "Супадзенне з крыніцай" + "ResolutionMatchSource": "Супадзенне з крыніцай", + "SecondarySubtitles": "Дадатковыя субтытры" } From 494c0ed43432ab6e21e491c0a36609a124624ad7 Mon Sep 17 00:00:00 2001 From: Netanel Henya Date: Sun, 26 Feb 2023 01:01:31 +0200 Subject: [PATCH 22/42] cleanup: reorganized sass files to be in src/styles instead of src/assets/css --- src/components/actionSheet/actionSheet.js | 2 +- src/components/collectionEditor/collectionEditor.js | 2 +- src/components/dialog/dialog.js | 2 +- src/components/dialogHelper/dialogHelper.js | 2 +- src/components/favoriteitems.js | 2 +- src/components/filtermenu/filtermenu.js | 2 +- src/components/guide/guide.js | 4 ++-- src/components/itemMediaInfo/itemMediaInfo.js | 2 +- .../mediaLibraryCreator/mediaLibraryCreator.js | 2 +- .../mediaLibraryEditor/mediaLibraryEditor.js | 2 +- src/components/metadataEditor/metadataEditor.js | 4 ++-- src/components/recordingcreator/recordingeditor.js | 4 ++-- src/components/recordingcreator/recordingfields.js | 2 +- .../recordingcreator/seriesrecordingeditor.js | 4 ++-- src/components/search/SearchFields.tsx | 2 +- src/components/sortmenu/sortmenu.js | 2 +- src/components/subtitleeditor/subtitleeditor.js | 2 +- src/components/subtitlesettings/subtitlesettings.js | 2 +- src/components/tvproviders/schedulesdirect.js | 2 +- src/components/upnextdialog/upnextdialog.js | 2 +- src/components/viewSettings/viewSettings.js | 2 +- src/controllers/dashboard/dashboard.js | 2 +- src/controllers/dashboard/logs.js | 2 +- src/controllers/itemDetails/index.js | 2 +- src/controllers/livetv/livetvsuggested.js | 2 +- src/controllers/livetvstatus.js | 2 +- src/controllers/music/musicrecommended.js | 4 ++-- src/controllers/playback/video/index.js | 4 ++-- src/controllers/session/selectServer/index.js | 2 +- src/controllers/shows/tvrecommended.js | 2 +- src/controllers/shows/tvupcoming.js | 2 +- src/controllers/wizard/user/index.js | 2 +- src/elements/emby-tabs/emby-tabs.js | 2 +- src/index.jsx | 10 +++++----- src/libraries/navdrawer/navdrawer.js | 2 +- src/libraries/scroller.js | 2 +- src/routes/user/userprofiles.tsx | 2 +- src/scripts/editorsidebar.js | 2 +- src/scripts/libraryMenu.js | 4 ++-- src/scripts/routes.js | 6 +++--- src/scripts/scrollHelper.js | 2 +- src/{assets/css => styles}/clearbutton.scss | 0 src/{assets/css => styles}/dashboard.scss | 0 src/{assets/css => styles}/detailtable.scss | 0 src/{assets/css => styles}/flexstyles.scss | 0 src/{assets/css => styles}/fonts.scss | 2 +- src/{assets/css => styles}/fonts.sized.scss | 0 src/{assets/css => styles}/ios.scss | 0 src/{assets/css => styles}/librarybrowser.scss | 0 src/{assets/css => styles}/livetv.scss | 0 src/{assets/css => styles}/metadataeditor.scss | 0 src/{assets/css => styles}/scrollstyles.scss | 0 src/{assets/css => styles}/site.scss | 0 src/{assets/css => styles}/videoosd.scss | 0 54 files changed, 55 insertions(+), 55 deletions(-) rename src/{assets/css => styles}/clearbutton.scss (100%) rename src/{assets/css => styles}/dashboard.scss (100%) rename src/{assets/css => styles}/detailtable.scss (100%) rename src/{assets/css => styles}/flexstyles.scss (100%) rename src/{assets/css => styles}/fonts.scss (96%) rename src/{assets/css => styles}/fonts.sized.scss (100%) rename src/{assets/css => styles}/ios.scss (100%) rename src/{assets/css => styles}/librarybrowser.scss (100%) rename src/{assets/css => styles}/livetv.scss (100%) rename src/{assets/css => styles}/metadataeditor.scss (100%) rename src/{assets/css => styles}/scrollstyles.scss (100%) rename src/{assets/css => styles}/site.scss (100%) rename src/{assets/css => styles}/videoosd.scss (100%) diff --git a/src/components/actionSheet/actionSheet.js b/src/components/actionSheet/actionSheet.js index eacf3624b2..1114908fcf 100644 --- a/src/components/actionSheet/actionSheet.js +++ b/src/components/actionSheet/actionSheet.js @@ -6,7 +6,7 @@ import dom from '../../scripts/dom'; import '../../elements/emby-button/emby-button'; import './actionSheet.scss'; import 'material-design-icons-iconfont'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../components/listview/listview.scss'; function getOffsets(elems) { diff --git a/src/components/collectionEditor/collectionEditor.js b/src/components/collectionEditor/collectionEditor.js index 8af78fede2..89862725a5 100644 --- a/src/components/collectionEditor/collectionEditor.js +++ b/src/components/collectionEditor/collectionEditor.js @@ -12,7 +12,7 @@ import '../../elements/emby-input/emby-input'; import '../../elements/emby-select/emby-select'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; diff --git a/src/components/dialog/dialog.js b/src/components/dialog/dialog.js index 9629e9bb23..85e81abb02 100644 --- a/src/components/dialog/dialog.js +++ b/src/components/dialog/dialog.js @@ -10,7 +10,7 @@ import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-input/emby-input'; import '../formdialog.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import template from './dialog.template.html'; /* eslint-disable indent */ diff --git a/src/components/dialogHelper/dialogHelper.js b/src/components/dialogHelper/dialogHelper.js index 9c1ecec625..6811525465 100644 --- a/src/components/dialogHelper/dialogHelper.js +++ b/src/components/dialogHelper/dialogHelper.js @@ -7,7 +7,7 @@ import { toBoolean } from '../../utils/string.ts'; import dom from '../../scripts/dom'; import './dialoghelper.scss'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; /* eslint-disable indent */ diff --git a/src/components/favoriteitems.js b/src/components/favoriteitems.js index 67137b9174..6bba5c3bdc 100644 --- a/src/components/favoriteitems.js +++ b/src/components/favoriteitems.js @@ -6,7 +6,7 @@ import imageLoader from './images/imageLoader'; import globalize from '../scripts/globalize'; import layoutManager from './layoutManager'; import { getParameterByName } from '../utils/url.ts'; -import '../assets/css/scrollstyles.scss'; +import '../styles/scrollstyles.scss'; import '../elements/emby-itemscontainer/emby-itemscontainer'; /* eslint-disable indent */ diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index d6b85256a9..4c1b6d625b 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -13,7 +13,7 @@ import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-select/emby-select'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import ServerConnections from '../ServerConnections'; import template from './filtermenu.template.html'; diff --git a/src/components/guide/guide.js b/src/components/guide/guide.js index 14c973d511..e353d562ab 100644 --- a/src/components/guide/guide.js +++ b/src/components/guide/guide.js @@ -17,13 +17,13 @@ import dom from '../../scripts/dom'; import './guide.scss'; import './programs.scss'; import 'material-design-icons-iconfont'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-programcell/emby-programcell'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-tabs/emby-tabs'; import '../../elements/emby-scroller/emby-scroller'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import 'webcomponents.js/webcomponents-lite'; import ServerConnections from '../ServerConnections'; import template from './tvguide.template.html'; diff --git a/src/components/itemMediaInfo/itemMediaInfo.js b/src/components/itemMediaInfo/itemMediaInfo.js index d149a633a0..1a05d40849 100644 --- a/src/components/itemMediaInfo/itemMediaInfo.js +++ b/src/components/itemMediaInfo/itemMediaInfo.js @@ -20,7 +20,7 @@ import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../formdialog.scss'; import 'material-design-icons-iconfont'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import ServerConnections from '../ServerConnections'; import template from './itemMediaInfo.template.html'; diff --git a/src/components/mediaLibraryCreator/mediaLibraryCreator.js b/src/components/mediaLibraryCreator/mediaLibraryCreator.js index 05c0fb02f8..0c049f8943 100644 --- a/src/components/mediaLibraryCreator/mediaLibraryCreator.js +++ b/src/components/mediaLibraryCreator/mediaLibraryCreator.js @@ -19,7 +19,7 @@ import '../../elements/emby-select/emby-select'; import '../../elements/emby-toggle/emby-toggle'; import '../listview/listview.scss'; import '../formdialog.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import './style.scss'; import toast from '../toast/toast'; import alert from '../alert'; diff --git a/src/components/mediaLibraryEditor/mediaLibraryEditor.js b/src/components/mediaLibraryEditor/mediaLibraryEditor.js index da0dc2909c..ed54675016 100644 --- a/src/components/mediaLibraryEditor/mediaLibraryEditor.js +++ b/src/components/mediaLibraryEditor/mediaLibraryEditor.js @@ -17,7 +17,7 @@ import '../listview/listview.scss'; import '../../elements/emby-button/paper-icon-button-light'; import '../formdialog.scss'; import '../../elements/emby-toggle/emby-toggle'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import './style.scss'; import toast from '../toast/toast'; import confirm from '../confirm/confirm'; diff --git a/src/components/metadataEditor/metadataEditor.js b/src/components/metadataEditor/metadataEditor.js index a36779ba53..6456c5721d 100644 --- a/src/components/metadataEditor/metadataEditor.js +++ b/src/components/metadataEditor/metadataEditor.js @@ -15,8 +15,8 @@ import '../../elements/emby-textarea/emby-textarea'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../formdialog.scss'; -import '../../assets/css/clearbutton.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/clearbutton.scss'; +import '../../styles/flexstyles.scss'; import './style.scss'; import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; diff --git a/src/components/recordingcreator/recordingeditor.js b/src/components/recordingcreator/recordingeditor.js index 19cec8d88e..b55754f540 100644 --- a/src/components/recordingcreator/recordingeditor.js +++ b/src/components/recordingcreator/recordingeditor.js @@ -4,7 +4,7 @@ import globalize from '../../scripts/globalize'; import layoutManager from '../layoutManager'; import loading from '../loading/loading'; import scrollHelper from '../../scripts/scrollHelper'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-collapse/emby-collapse'; import '../../elements/emby-input/emby-input'; @@ -12,7 +12,7 @@ import '../../elements/emby-button/paper-icon-button-light'; import '../formdialog.scss'; import './recordingcreator.scss'; import 'material-design-icons-iconfont'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import ServerConnections from '../ServerConnections'; import template from './recordingeditor.template.html'; diff --git a/src/components/recordingcreator/recordingfields.js b/src/components/recordingcreator/recordingfields.js index 4b912392ad..a666a49562 100644 --- a/src/components/recordingcreator/recordingfields.js +++ b/src/components/recordingcreator/recordingfields.js @@ -7,7 +7,7 @@ import recordingHelper from './recordinghelper'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import './recordingfields.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './recordingfields.template.html'; diff --git a/src/components/recordingcreator/seriesrecordingeditor.js b/src/components/recordingcreator/seriesrecordingeditor.js index a649b1231b..590c600e74 100644 --- a/src/components/recordingcreator/seriesrecordingeditor.js +++ b/src/components/recordingcreator/seriesrecordingeditor.js @@ -4,7 +4,7 @@ import layoutManager from '../layoutManager'; import loading from '../loading/loading'; import scrollHelper from '../../scripts/scrollHelper'; import datetime from '../../scripts/datetime'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-input/emby-input'; @@ -13,7 +13,7 @@ import '../../elements/emby-button/paper-icon-button-light'; import '../formdialog.scss'; import './recordingcreator.scss'; import 'material-design-icons-iconfont'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import ServerConnections from '../ServerConnections'; import template from './seriesrecordingeditor.template.html'; diff --git a/src/components/search/SearchFields.tsx b/src/components/search/SearchFields.tsx index 68cf02f38d..8a0fa01dfd 100644 --- a/src/components/search/SearchFields.tsx +++ b/src/components/search/SearchFields.tsx @@ -7,7 +7,7 @@ import globalize from '../../scripts/globalize'; import 'material-design-icons-iconfont'; import '../../elements/emby-input/emby-input'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import './searchfields.scss'; import layoutManager from '../layoutManager'; import browser from '../../scripts/browser'; diff --git a/src/components/sortmenu/sortmenu.js b/src/components/sortmenu/sortmenu.js index 394ced6dcb..65aef222e9 100644 --- a/src/components/sortmenu/sortmenu.js +++ b/src/components/sortmenu/sortmenu.js @@ -7,7 +7,7 @@ import '../../elements/emby-button/paper-icon-button-light'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; import '../../elements/emby-button/emby-button'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import template from './sortmenu.template.html'; function onSubmit(e) { diff --git a/src/components/subtitleeditor/subtitleeditor.js b/src/components/subtitleeditor/subtitleeditor.js index 1aa6d57fc6..b332e4238f 100644 --- a/src/components/subtitleeditor/subtitleeditor.js +++ b/src/components/subtitleeditor/subtitleeditor.js @@ -14,7 +14,7 @@ import '../formdialog.scss'; import 'material-design-icons-iconfont'; import './subtitleeditor.scss'; import '../../elements/emby-button/emby-button'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import confirm from '../confirm/confirm'; diff --git a/src/components/subtitlesettings/subtitlesettings.js b/src/components/subtitlesettings/subtitlesettings.js index 6cbced92d2..971b8c775d 100644 --- a/src/components/subtitlesettings/subtitlesettings.js +++ b/src/components/subtitlesettings/subtitlesettings.js @@ -13,7 +13,7 @@ import '../../elements/emby-select/emby-select'; import '../../elements/emby-slider/emby-slider'; import '../../elements/emby-input/emby-input'; import '../../elements/emby-checkbox/emby-checkbox'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import './subtitlesettings.scss'; import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; diff --git a/src/components/tvproviders/schedulesdirect.js b/src/components/tvproviders/schedulesdirect.js index d34fa40932..ca6f7a6e84 100644 --- a/src/components/tvproviders/schedulesdirect.js +++ b/src/components/tvproviders/schedulesdirect.js @@ -7,7 +7,7 @@ import '../listview/listview.scss'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-button/emby-button'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import './style.scss'; import Dashboard from '../../utils/dashboard'; import Events from '../../utils/events.ts'; diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js index 31bb695f3e..2a37fcbe45 100644 --- a/src/components/upnextdialog/upnextdialog.js +++ b/src/components/upnextdialog/upnextdialog.js @@ -8,7 +8,7 @@ import globalize from '../../scripts/globalize'; import itemHelper from '../itemHelper'; import './upnextdialog.scss'; import '../../elements/emby-button/emby-button'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; /* eslint-disable indent */ diff --git a/src/components/viewSettings/viewSettings.js b/src/components/viewSettings/viewSettings.js index 8dfa589aa2..f5cb864206 100644 --- a/src/components/viewSettings/viewSettings.js +++ b/src/components/viewSettings/viewSettings.js @@ -9,7 +9,7 @@ import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-select/emby-select'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import template from './viewSettings.template.html'; function onSubmit(e) { diff --git a/src/controllers/dashboard/dashboard.js b/src/controllers/dashboard/dashboard.js index 87704d406f..fd98d163e9 100644 --- a/src/controllers/dashboard/dashboard.js +++ b/src/controllers/dashboard/dashboard.js @@ -16,7 +16,7 @@ import imageHelper from '../../scripts/imagehelper'; import indicators from '../../components/indicators/indicators'; import '../../components/listview/listview.scss'; import '../../elements/emby-button/emby-button'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import taskButton from '../../scripts/taskbutton'; import Dashboard from '../../utils/dashboard'; diff --git a/src/controllers/dashboard/logs.js b/src/controllers/dashboard/logs.js index aa6436962d..23a6d43853 100644 --- a/src/controllers/dashboard/logs.js +++ b/src/controllers/dashboard/logs.js @@ -3,7 +3,7 @@ import loading from '../../components/loading/loading'; import globalize from '../../scripts/globalize'; import '../../elements/emby-button/emby-button'; import '../../components/listview/listview.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import Dashboard from '../../utils/dashboard'; import alert from '../../components/alert'; diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 4c2c429829..c2a7580724 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -22,7 +22,7 @@ import libraryMenu from '../../scripts/libraryMenu'; import globalize from '../../scripts/globalize'; import browser from '../../scripts/browser'; import { playbackManager } from '../../components/playback/playbackmanager'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-button/emby-button'; diff --git a/src/controllers/livetv/livetvsuggested.js b/src/controllers/livetv/livetvsuggested.js index f2a63f3ecd..4deb2b713a 100644 --- a/src/controllers/livetv/livetvsuggested.js +++ b/src/controllers/livetv/livetvsuggested.js @@ -6,7 +6,7 @@ import globalize from '../../scripts/globalize'; import * as mainTabsManager from '../../components/maintabsmanager'; import cardBuilder from '../../components/cardbuilder/cardBuilder'; import imageLoader from '../../components/images/imageLoader'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-tabs/emby-tabs'; import '../../elements/emby-button/emby-button'; diff --git a/src/controllers/livetvstatus.js b/src/controllers/livetvstatus.js index d771464b1d..8b2b4bebc3 100644 --- a/src/controllers/livetvstatus.js +++ b/src/controllers/livetvstatus.js @@ -7,7 +7,7 @@ import layoutManager from '../components/layoutManager'; import loading from '../components/loading/loading'; import browser from '../scripts/browser'; import '../components/listview/listview.scss'; -import '../assets/css/flexstyles.scss'; +import '../styles/flexstyles.scss'; import '../elements/emby-itemscontainer/emby-itemscontainer'; import '../components/cardbuilder/card.scss'; import 'material-design-icons-iconfont'; diff --git a/src/controllers/music/musicrecommended.js b/src/controllers/music/musicrecommended.js index 238b7a6d60..3ea00a9a8c 100644 --- a/src/controllers/music/musicrecommended.js +++ b/src/controllers/music/musicrecommended.js @@ -9,11 +9,11 @@ import imageLoader from '../../components/images/imageLoader'; import libraryMenu from '../../scripts/libraryMenu'; import * as mainTabsManager from '../../components/maintabsmanager'; import globalize from '../../scripts/globalize'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-tabs/emby-tabs'; import '../../elements/emby-button/emby-button'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import Dashboard from '../../utils/dashboard'; /* eslint-disable indent */ diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index 19c1492d0e..cacea1a304 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -15,10 +15,10 @@ import { appHost } from '../../../components/apphost'; import layoutManager from '../../../components/layoutManager'; import * as userSettings from '../../../scripts/settings/userSettings'; import keyboardnavigation from '../../../scripts/keyboardNavigation'; -import '../../../assets/css/scrollstyles.scss'; +import '../../../styles/scrollstyles.scss'; import '../../../elements/emby-slider/emby-slider'; import '../../../elements/emby-button/paper-icon-button-light'; -import '../../../assets/css/videoosd.scss'; +import '../../../styles/videoosd.scss'; import ServerConnections from '../../../components/ServerConnections'; import shell from '../../../scripts/shell'; import SubtitleSync from '../../../components/subtitlesync/subtitlesync'; diff --git a/src/controllers/session/selectServer/index.js b/src/controllers/session/selectServer/index.js index 4665b2eba0..b45cb71060 100644 --- a/src/controllers/session/selectServer/index.js +++ b/src/controllers/session/selectServer/index.js @@ -10,7 +10,7 @@ import actionSheet from '../../../components/actionSheet/actionSheet'; import dom from '../../../scripts/dom'; import browser from '../../../scripts/browser'; import 'material-design-icons-iconfont'; -import '../../../assets/css/flexstyles.scss'; +import '../../../styles/flexstyles.scss'; import '../../../elements/emby-scroller/emby-scroller'; import '../../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../../components/cardbuilder/card.scss'; diff --git a/src/controllers/shows/tvrecommended.js b/src/controllers/shows/tvrecommended.js index 1977b7cd4f..5d9b3e2e0b 100644 --- a/src/controllers/shows/tvrecommended.js +++ b/src/controllers/shows/tvrecommended.js @@ -9,7 +9,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import { playbackManager } from '../../components/playback/playbackmanager'; import * as mainTabsManager from '../../components/maintabsmanager'; import globalize from '../../scripts/globalize'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-button/emby-button'; import Dashboard from '../../utils/dashboard'; diff --git a/src/controllers/shows/tvupcoming.js b/src/controllers/shows/tvupcoming.js index 0c1be00a18..fa6be1f356 100644 --- a/src/controllers/shows/tvupcoming.js +++ b/src/controllers/shows/tvupcoming.js @@ -4,7 +4,7 @@ import datetime from '../../scripts/datetime'; import cardBuilder from '../../components/cardbuilder/cardBuilder'; import imageLoader from '../../components/images/imageLoader'; import globalize from '../../scripts/globalize'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; /* eslint-disable indent */ diff --git a/src/controllers/wizard/user/index.js b/src/controllers/wizard/user/index.js index 9d1f13ae31..d6647f7357 100644 --- a/src/controllers/wizard/user/index.js +++ b/src/controllers/wizard/user/index.js @@ -1,6 +1,6 @@ import loading from '../../../components/loading/loading'; import globalize from '../../../scripts/globalize'; -import '../../../assets/css/dashboard.scss'; +import '../../../styles/dashboard.scss'; import '../../../elements/emby-input/emby-input'; import '../../../elements/emby-button/emby-button'; import Dashboard from '../../../utils/dashboard'; diff --git a/src/elements/emby-tabs/emby-tabs.js b/src/elements/emby-tabs/emby-tabs.js index 723cb7e8fe..9455b5e1db 100644 --- a/src/elements/emby-tabs/emby-tabs.js +++ b/src/elements/emby-tabs/emby-tabs.js @@ -5,7 +5,7 @@ import browser from '../../scripts/browser'; import focusManager from '../../components/focusManager'; import layoutManager from '../../components/layoutManager'; import './emby-tabs.scss'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; /* eslint-disable indent */ const EmbyTabs = Object.create(HTMLDivElement.prototype); diff --git a/src/index.jsx b/src/index.jsx index b9a4d9603e..57bdaa2f19 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -6,7 +6,7 @@ import 'intersection-observer'; import 'classlist.js'; import 'whatwg-fetch'; import 'resize-observer-polyfill'; -import './assets/css/site.scss'; +import './styles/site.scss'; import React, { StrictMode } from 'react'; import * as ReactDOM from 'react-dom'; import Events from './utils/events.ts'; @@ -89,13 +89,13 @@ function onGlobalizeInit() { if (browser.tv && !browser.android) { console.debug('using system fonts with explicit sizes'); - import('./assets/css/fonts.sized.scss'); + import('./styles/fonts.sized.scss'); } else { console.debug('using default fonts'); - import('./assets/css/fonts.scss'); + import('./styles/fonts.scss'); } - import('./assets/css/librarybrowser.scss'); + import('./styles/librarybrowser.scss'); loadPlugins().then(onAppReady); } @@ -135,7 +135,7 @@ async function onAppReady() { console.debug('onAppReady: loading dependencies'); if (browser.iOS) { - import('./assets/css/ios.scss'); + import('./styles/ios.scss'); } Events.on(appHost, 'resume', () => { diff --git a/src/libraries/navdrawer/navdrawer.js b/src/libraries/navdrawer/navdrawer.js index bd27b6e55c..539682a076 100644 --- a/src/libraries/navdrawer/navdrawer.js +++ b/src/libraries/navdrawer/navdrawer.js @@ -6,7 +6,7 @@ import browser from '../../scripts/browser'; import dom from '../../scripts/dom'; import './navdrawer.scss'; -import '../../assets/css/scrollstyles.scss'; +import '../../styles/scrollstyles.scss'; import globalize from '../../scripts/globalize'; function getTouches(e) { diff --git a/src/libraries/scroller.js b/src/libraries/scroller.js index c388c52fe8..670a46f4b9 100644 --- a/src/libraries/scroller.js +++ b/src/libraries/scroller.js @@ -8,7 +8,7 @@ import layoutManager from '../components/layoutManager'; import dom from '../scripts/dom'; import focusManager from '../components/focusManager'; import ResizeObserver from 'resize-observer-polyfill'; -import '../assets/css/scrollstyles.scss'; +import '../styles/scrollstyles.scss'; import globalize from '../scripts/globalize'; /** diff --git a/src/routes/user/userprofiles.tsx b/src/routes/user/userprofiles.tsx index 7d46593ff6..ff39fae33f 100644 --- a/src/routes/user/userprofiles.tsx +++ b/src/routes/user/userprofiles.tsx @@ -11,7 +11,7 @@ import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../../components/cardbuilder/card.scss'; import '../../components/indicators/indicators.scss'; -import '../../assets/css/flexstyles.scss'; +import '../../styles/flexstyles.scss'; import Page from '../../components/Page'; type MenuEntry = { diff --git a/src/scripts/editorsidebar.js b/src/scripts/editorsidebar.js index 10a474798c..06624898d1 100644 --- a/src/scripts/editorsidebar.js +++ b/src/scripts/editorsidebar.js @@ -303,7 +303,7 @@ import { getParameterByName } from '../utils/url.ts'; updateEditorNode(this, item); }).on('pagebeforeshow', '.metadataEditorPage', function () { /* eslint-disable-next-line @babel/no-unused-expressions */ - import('../assets/css/metadataeditor.scss'); + import('../styles/metadataeditor.scss'); }).on('pagebeforeshow', '.metadataEditorPage', function () { const page = this; Dashboard.getCurrentUser().then(function (user) { diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index 3afc730c33..92405f8fe3 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -22,8 +22,8 @@ import { getParameterByName } from '../utils/url.ts'; import '../elements/emby-button/paper-icon-button-light'; import 'material-design-icons-iconfont'; -import '../assets/css/scrollstyles.scss'; -import '../assets/css/flexstyles.scss'; +import '../styles/scrollstyles.scss'; +import '../styles/flexstyles.scss'; /* eslint-disable indent */ diff --git a/src/scripts/routes.js b/src/scripts/routes.js index f1574dd53e..d90eb95eaa 100644 --- a/src/scripts/routes.js +++ b/src/scripts/routes.js @@ -7,10 +7,10 @@ import '../elements/emby-collapse/emby-collapse'; import '../elements/emby-select/emby-select'; import '../elements/emby-checkbox/emby-checkbox'; import '../elements/emby-slider/emby-slider'; -import '../assets/css/livetv.scss'; +import '../styles/livetv.scss'; import '../components/listview/listview.scss'; -import '../assets/css/dashboard.scss'; -import '../assets/css/detailtable.scss'; +import '../styles/dashboard.scss'; +import '../styles/detailtable.scss'; import { appRouter } from '../components/appRouter'; /* eslint-disable indent */ diff --git a/src/scripts/scrollHelper.js b/src/scripts/scrollHelper.js index 57c8f28fb7..725df86434 100644 --- a/src/scripts/scrollHelper.js +++ b/src/scripts/scrollHelper.js @@ -1,6 +1,6 @@ import focusManager from '../components/focusManager'; import dom from './dom'; -import '../assets/css/scrollstyles.scss'; +import '../styles/scrollstyles.scss'; function getBoundingClientRect(elem) { // Support: BlackBerry 5, iOS 3 (original iPhone) diff --git a/src/assets/css/clearbutton.scss b/src/styles/clearbutton.scss similarity index 100% rename from src/assets/css/clearbutton.scss rename to src/styles/clearbutton.scss diff --git a/src/assets/css/dashboard.scss b/src/styles/dashboard.scss similarity index 100% rename from src/assets/css/dashboard.scss rename to src/styles/dashboard.scss diff --git a/src/assets/css/detailtable.scss b/src/styles/detailtable.scss similarity index 100% rename from src/assets/css/detailtable.scss rename to src/styles/detailtable.scss diff --git a/src/assets/css/flexstyles.scss b/src/styles/flexstyles.scss similarity index 100% rename from src/assets/css/flexstyles.scss rename to src/styles/flexstyles.scss diff --git a/src/assets/css/fonts.scss b/src/styles/fonts.scss similarity index 96% rename from src/assets/css/fonts.scss rename to src/styles/fonts.scss index 16142a3aab..681f1abd2c 100644 --- a/src/assets/css/fonts.scss +++ b/src/styles/fonts.scss @@ -1,4 +1,4 @@ -@import "../../styles/noto-sans/index.scss"; +@import "../styles/noto-sans/index.scss"; @mixin font($weight: null, $size: null) { font-weight: $weight; diff --git a/src/assets/css/fonts.sized.scss b/src/styles/fonts.sized.scss similarity index 100% rename from src/assets/css/fonts.sized.scss rename to src/styles/fonts.sized.scss diff --git a/src/assets/css/ios.scss b/src/styles/ios.scss similarity index 100% rename from src/assets/css/ios.scss rename to src/styles/ios.scss diff --git a/src/assets/css/librarybrowser.scss b/src/styles/librarybrowser.scss similarity index 100% rename from src/assets/css/librarybrowser.scss rename to src/styles/librarybrowser.scss diff --git a/src/assets/css/livetv.scss b/src/styles/livetv.scss similarity index 100% rename from src/assets/css/livetv.scss rename to src/styles/livetv.scss diff --git a/src/assets/css/metadataeditor.scss b/src/styles/metadataeditor.scss similarity index 100% rename from src/assets/css/metadataeditor.scss rename to src/styles/metadataeditor.scss diff --git a/src/assets/css/scrollstyles.scss b/src/styles/scrollstyles.scss similarity index 100% rename from src/assets/css/scrollstyles.scss rename to src/styles/scrollstyles.scss diff --git a/src/assets/css/site.scss b/src/styles/site.scss similarity index 100% rename from src/assets/css/site.scss rename to src/styles/site.scss diff --git a/src/assets/css/videoosd.scss b/src/styles/videoosd.scss similarity index 100% rename from src/assets/css/videoosd.scss rename to src/styles/videoosd.scss From 0edb3ae776a55b61ac39aeac3fb7131a81bfe379 Mon Sep 17 00:00:00 2001 From: MCSifreedsk33 Date: Sun, 26 Feb 2023 04:53:05 +0000 Subject: [PATCH 23/42] Translated using Weblate (Slovak) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/ --- src/strings/sk.json | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/strings/sk.json b/src/strings/sk.json index 282b1f0f8b..64bac51b24 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -173,11 +173,11 @@ "HeaderImageSettings": "Nastavenia obrázkov", "HeaderInstall": "Inštalovať", "HeaderInstantMix": "Okamžitý mix", - "HeaderLatestEpisodes": "Najnovšie epizódy", - "HeaderLatestMedia": "Najnovšie médiá", - "HeaderLatestMovies": "Najnovšie filmy", - "HeaderLatestMusic": "Najnovšia hudba", - "HeaderLatestRecordings": "Najnovšie nahrávky", + "HeaderLatestEpisodes": "Najnovšie pridané epizódy", + "HeaderLatestMedia": "Najnovšie pridané médiá", + "HeaderLatestMovies": "Najnovšie pridané filmy", + "HeaderLatestMusic": "Najnovšia pridaná hudba", + "HeaderLatestRecordings": "Najnovšie pridané nahrávky", "HeaderLibraries": "Knižnice", "HeaderLibraryAccess": "Prístup ku knižnici", "HeaderLibraryFolders": "Priečinky knižnice", @@ -659,7 +659,7 @@ "TabCodecs": "Kodeky", "TabContainers": "Kontajnery", "TabDashboard": "Dashboard", - "TabLatest": "Najnovšie", + "TabLatest": "Najnovšie pridané", "TabMusic": "Hudba", "TabMyPlugins": "Moje zásuvné moduly", "TabNetworks": "TV Siete", @@ -723,7 +723,7 @@ "ButtonRevoke": "Odvolať", "ButtonSelectView": "Výber zobrazenia", "CancelRecording": "Zrušiť nahrávanie", - "AirDate": "Dátum vysielania", + "AirDate": "Dátum prvého vysielania", "Aired": "Odvysielané", "Alerts": "Upozornenia", "AllowOnTheFlySubtitleExtraction": "Povoliť extrahovanie titulkov za behu", @@ -968,7 +968,7 @@ "EnableStreamLooping": "Autom. slučka živého vysielania", "EnableExternalVideoPlayersHelp": "Ponuka externého prehrávača sa zobrazí pri spustení prehrávania videa.", "EnableBackdropsHelp": "Zobraziť pozadia pre niektoré stránky pri prechádzaní knižnice.", - "DisplayInOtherHomeScreenSections": "Zobraziť v sekciách domovskej obrazovky, ako sú najnovšie médiá a pokračovať v pozeraní", + "DisplayInOtherHomeScreenSections": "Zobraziť 'Najnovšie pridané médiá' a 'Pokračovať v pozeraní' v sekciách domovskej obrazovky", "DirectStreamHelp1": "Video je kompatibilné zo zariadením, ale zvuková stopa je v nekompatibilnom formáte (DTS, Dolby TrueHD, atď.) alebo má nekompatibilný počet kanálov. Video bude pred odoslaním do zariadenia za behu bezstrátovo prebalené. Iba zvuk bude prekódovaný.", "Depressed": "Stlačený", "DefaultSubtitlesHelp": "Titulky sú načítané v závislosti od predvolených a vynútených nastavení vo vložených metadátach. Jazykové predvoľby sú zobrané do úvahy až vtedy, keď je k dispozícií viacero možností.", @@ -1701,5 +1701,6 @@ "LabelDummyChapterDurationHelp": "Interval extrakcie obrázkov kapitol v sekundách.", "SaveRecordingNFO": "Uložiť metadáta nahrávky zo sprievodcu EPG do NFO", "SaveRecordingImagesHelp": "Uloží obrázky z EPG položiek sprievodcu spolu s médiami.", - "HeaderRecordingMetadataSaving": "Metadáta nahrávok" + "HeaderRecordingMetadataSaving": "Metadáta nahrávok", + "SecondarySubtitles": "Sekundárne titulky" } From 6e4921b582188619de466b96d2e511c6b9c119bd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 26 Feb 2023 23:49:36 +0000 Subject: [PATCH 24/42] Update dependency jstree to v3.3.15 --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index bee1500884..a95a62a1ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "intersection-observer": "0.12.2", "jellyfin-apiclient": "1.10.0", "jquery": "3.6.3", - "jstree": "3.3.14", + "jstree": "3.3.15", "libarchive.js": "1.3.0", "lodash-es": "4.17.21", "marked": "4.2.12", @@ -9785,11 +9785,11 @@ } }, "node_modules/jstree": { - "version": "3.3.14", - "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.14.tgz", - "integrity": "sha512-W8t+nFOKENXNIulvu+DW4gPcnpOXY0FswiTiOn1Fnhs6poRe6eA/Kf6fS1/GJJ8C8KEy0q3ttF6tbGRDmHIM/g==", + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.15.tgz", + "integrity": "sha512-fNK2EBgGjaJQ3cJuINX/80vDeAufYWtM0csudgYl3eJG+eRAH/1r1IJVUOvAlJIa+uSgg+Fi8uGrt+Xbs92eKg==", "dependencies": { - "jquery": "^3.6.0" + "jquery": "^3.5.0" } }, "node_modules/jsx-ast-utils": { @@ -26275,11 +26275,11 @@ "dev": true }, "jstree": { - "version": "3.3.14", - "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.14.tgz", - "integrity": "sha512-W8t+nFOKENXNIulvu+DW4gPcnpOXY0FswiTiOn1Fnhs6poRe6eA/Kf6fS1/GJJ8C8KEy0q3ttF6tbGRDmHIM/g==", + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.15.tgz", + "integrity": "sha512-fNK2EBgGjaJQ3cJuINX/80vDeAufYWtM0csudgYl3eJG+eRAH/1r1IJVUOvAlJIa+uSgg+Fi8uGrt+Xbs92eKg==", "requires": { - "jquery": "^3.6.0" + "jquery": "^3.5.0" } }, "jsx-ast-utils": { diff --git a/package.json b/package.json index b1ed0c59b0..27dffd1bb4 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "intersection-observer": "0.12.2", "jellyfin-apiclient": "1.10.0", "jquery": "3.6.3", - "jstree": "3.3.14", + "jstree": "3.3.15", "libarchive.js": "1.3.0", "lodash-es": "4.17.21", "marked": "4.2.12", From 5dec54a7b74b3af6c90d224439c98ac588f1be92 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 26 Feb 2023 23:50:22 +0000 Subject: [PATCH 25/42] Update dependency stylelint to v15 --- package-lock.json | 181 +++++++++++++++++++++++++++++++++------------- package.json | 2 +- 2 files changed, 130 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index bee1500884..b13f56e99d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -102,7 +102,7 @@ "sass-loader": "13.2.0", "source-map-loader": "4.0.1", "style-loader": "3.3.1", - "stylelint": "14.16.1", + "stylelint": "15.2.0", "stylelint-config-rational-order": "0.1.2", "stylelint-no-browser-hacks": "1.2.1", "stylelint-order": "6.0.2", @@ -2378,19 +2378,19 @@ } }, "node_modules/@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz", + "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==", "dev": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": "^14 || ^16 || >=18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.2", + "postcss": "^8.4", "postcss-selector-parser": "^6.0.10" } }, @@ -8824,9 +8824,9 @@ "dev": true }, "node_modules/ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" @@ -14766,16 +14766,20 @@ } }, "node_modules/stylelint": { - "version": "14.16.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz", - "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.2.0.tgz", + "integrity": "sha512-wjg5OLn8zQwjlj5cYUgyQpMWKzct42AG5dYlqkHRJQJqsystFFn3onqEc263KH4xfEI0W3lZCnlIhFfS64uwSA==", "dev": true, "dependencies": { - "@csstools/selector-specificity": "^2.0.2", + "@csstools/css-parser-algorithms": "^2.0.1", + "@csstools/css-tokenizer": "^2.0.1", + "@csstools/media-query-list-parser": "^2.0.1", + "@csstools/selector-specificity": "^2.1.1", "balanced-match": "^2.0.0", "colord": "^2.9.3", - "cosmiconfig": "^7.1.0", + "cosmiconfig": "^8.0.0", "css-functions-list": "^3.1.0", + "css-tree": "^2.3.1", "debug": "^4.3.4", "fast-glob": "^3.2.12", "fastest-levenshtein": "^1.0.16", @@ -14784,7 +14788,7 @@ "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.2.0", - "ignore": "^5.2.1", + "ignore": "^5.2.4", "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", @@ -14794,7 +14798,7 @@ "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.19", + "postcss": "^8.4.21", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", @@ -14808,13 +14812,13 @@ "svg-tags": "^1.0.0", "table": "^6.8.1", "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.2" + "write-file-atomic": "^5.0.0" }, "bin": { "stylelint": "bin/stylelint.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14.13.1 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -17073,6 +17077,12 @@ "stylelint": "^14.5.1 || ^15.0.0" } }, + "node_modules/stylelint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/stylelint/node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -17089,19 +17099,34 @@ "dev": true }, "node_modules/stylelint/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.0.tgz", + "integrity": "sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==", "dev": true, "dependencies": { - "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/stylelint/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, "node_modules/stylelint/node_modules/globby": { @@ -17158,6 +17183,24 @@ "node": ">=0.10.0" } }, + "node_modules/stylelint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/stylelint/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, "node_modules/stylelint/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -19102,16 +19145,16 @@ } }, "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz", + "integrity": "sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/write-file-atomic/node_modules/signal-exit": { @@ -20671,9 +20714,9 @@ "requires": {} }, "@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz", + "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==", "dev": true, "requires": {} }, @@ -25592,9 +25635,9 @@ "dev": true }, "ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "immediate": { @@ -29940,16 +29983,20 @@ } }, "stylelint": { - "version": "14.16.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz", - "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.2.0.tgz", + "integrity": "sha512-wjg5OLn8zQwjlj5cYUgyQpMWKzct42AG5dYlqkHRJQJqsystFFn3onqEc263KH4xfEI0W3lZCnlIhFfS64uwSA==", "dev": true, "requires": { - "@csstools/selector-specificity": "^2.0.2", + "@csstools/css-parser-algorithms": "^2.0.1", + "@csstools/css-tokenizer": "^2.0.1", + "@csstools/media-query-list-parser": "^2.0.1", + "@csstools/selector-specificity": "^2.1.1", "balanced-match": "^2.0.0", "colord": "^2.9.3", - "cosmiconfig": "^7.1.0", + "cosmiconfig": "^8.0.0", "css-functions-list": "^3.1.0", + "css-tree": "^2.3.1", "debug": "^4.3.4", "fast-glob": "^3.2.12", "fastest-levenshtein": "^1.0.16", @@ -29958,7 +30005,7 @@ "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.2.0", - "ignore": "^5.2.1", + "ignore": "^5.2.4", "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", @@ -29968,7 +30015,7 @@ "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.19", + "postcss": "^8.4.21", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", @@ -29982,9 +30029,15 @@ "svg-tags": "^1.0.0", "table": "^6.8.1", "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.2" + "write-file-atomic": "^5.0.0" }, "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -29998,16 +30051,25 @@ "dev": true }, "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.0.tgz", + "integrity": "sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==", "dev": true, "requires": { - "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "path-type": "^4.0.0" + } + }, + "css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" } }, "globby": { @@ -30048,6 +30110,21 @@ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -33334,9 +33411,9 @@ } }, "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz", + "integrity": "sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==", "dev": true, "requires": { "imurmurhash": "^0.1.4", diff --git a/package.json b/package.json index b1ed0c59b0..54585eaa84 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "sass-loader": "13.2.0", "source-map-loader": "4.0.1", "style-loader": "3.3.1", - "stylelint": "14.16.1", + "stylelint": "15.2.0", "stylelint-config-rational-order": "0.1.2", "stylelint-no-browser-hacks": "1.2.1", "stylelint-order": "6.0.2", From a5d4dc5738ee1c4354c5f863a4bfcfaec83c94a7 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Mon, 27 Feb 2023 10:24:27 +0100 Subject: [PATCH 26/42] Allow setting DummyChapterCount to 0 to disable dummy chapters --- src/controllers/dashboard/metadataimages.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/dashboard/metadataimages.html b/src/controllers/dashboard/metadataimages.html index d0de7cb738..a407ae387b 100644 --- a/src/controllers/dashboard/metadataimages.html +++ b/src/controllers/dashboard/metadataimages.html @@ -26,7 +26,7 @@
${LabelDummyChapterDurationHelp}
- +
${LabelDummyChapterCountHelp}
From 21e07e05add7869f0906351d1b962f08d8c823f6 Mon Sep 17 00:00:00 2001 From: CarlBishop Date: Mon, 27 Feb 2023 13:30:45 +0000 Subject: [PATCH 27/42] Translated using Weblate (Italian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/ --- src/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/it.json b/src/strings/it.json index 1a325f784e..3ccb4247ad 100644 --- a/src/strings/it.json +++ b/src/strings/it.json @@ -137,7 +137,7 @@ "Disconnect": "Disconnetti", "Display": "Schermo", "DisplayInMyMedia": "Visualizza nella schermata di home", - "DisplayInOtherHomeScreenSections": "Mostra le sezioni della schermata home come 'Ultimi media' e 'Continua a guardare'", + "DisplayInOtherHomeScreenSections": "Visualizza nelle sezioni della schermata iniziale come \"Media aggiunti di recente\" e \"Continua a guardare\"", "DisplayMissingEpisodesWithinSeasons": "Visualizza gli episodi mancanti nelle stagioni", "DisplayMissingEpisodesWithinSeasonsHelp": "Questo deve anche essere abilitato per le librerie TV nella configurazione del server.", "DisplayModeHelp": "Seleziona lo stile del layout che vuoi per l'interfaccia.", From ebf0c1d3bbd3c51308fa2dccda75fbfd1f0bc036 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 27 Feb 2023 17:12:36 +0000 Subject: [PATCH 28/42] Update Babel to v7.21.0 --- package-lock.json | 395 +++++++++++++++++++++++++--------------------- package.json | 4 +- 2 files changed, 215 insertions(+), 184 deletions(-) diff --git a/package-lock.json b/package-lock.json index bee1500884..6ac899b4ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,7 @@ "workbox-precaching": "6.5.4" }, "devDependencies": { - "@babel/core": "7.20.12", + "@babel/core": "7.21.0", "@babel/eslint-parser": "7.19.1", "@babel/eslint-plugin": "7.19.1", "@babel/plugin-proposal-class-properties": "7.18.6", @@ -62,7 +62,7 @@ "@babel/plugin-transform-modules-umd": "7.18.6", "@babel/preset-env": "7.20.2", "@babel/preset-react": "7.18.6", - "@babel/preset-typescript": "7.18.6", + "@babel/preset-typescript": "7.21.0", "@types/escape-html": "1.0.2", "@types/loadable__component": "5.13.4", "@types/lodash-es": "4.17.6", @@ -123,12 +123,26 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { "node": ">=6.0.0" @@ -182,21 +196,21 @@ } }, "node_modules/@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", "dev": true, "dependencies": { - "@ampproject/remapping": "^2.1.0", + "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", + "@babel/generator": "^7.21.0", "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -246,13 +260,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7", + "@babel/types": "^7.21.0", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -319,17 +334,18 @@ "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", "@babel/helper-split-export-declaration": "^7.18.6" }, "engines": { @@ -394,13 +410,13 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -419,12 +435,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -443,9 +459,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", @@ -454,8 +470,8 @@ "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" }, "engines": { "node": ">=6.9.0" @@ -530,12 +546,12 @@ } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -572,9 +588,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -596,14 +612,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dev": true, "dependencies": { "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -624,9 +640,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", + "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1124,12 +1140,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1679,14 +1695,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", - "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.0.tgz", + "integrity": "sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-typescript": "^7.18.6" + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -1852,14 +1868,14 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz", + "integrity": "sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.21.0", + "@babel/plugin-transform-typescript": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -1894,19 +1910,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", - "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", + "@babel/generator": "^7.21.1", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1915,9 +1931,9 @@ } }, "node_modules/@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.19.4", @@ -2609,9 +2625,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "devOptional": true, "engines": { "node": ">=6.0.0" @@ -2637,19 +2653,19 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "devOptional": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "devOptional": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "node_modules/@leichtgewicht/ip-codec": { @@ -19210,12 +19226,25 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } } }, "@apideck/better-ajv-errors": { @@ -19253,21 +19282,21 @@ "dev": true }, "@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", "dev": true, "requires": { - "@ampproject/remapping": "^2.1.0", + "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", + "@babel/generator": "^7.21.0", "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -19296,13 +19325,14 @@ } }, "@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", "dev": true, "requires": { - "@babel/types": "^7.20.7", + "@babel/types": "^7.21.0", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" } }, @@ -19356,17 +19386,18 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", "@babel/helper-split-export-declaration": "^7.18.6" } }, @@ -19410,13 +19441,13 @@ } }, "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, "@babel/helper-hoist-variables": { @@ -19429,12 +19460,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", "dev": true, "requires": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.21.0" } }, "@babel/helper-module-imports": { @@ -19447,9 +19478,9 @@ } }, "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", @@ -19458,8 +19489,8 @@ "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" } }, "@babel/helper-optimise-call-expression": { @@ -19513,12 +19544,12 @@ } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" } }, "@babel/helper-split-export-declaration": { @@ -19543,9 +19574,9 @@ "dev": true }, "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true }, "@babel/helper-wrap-function": { @@ -19561,14 +19592,14 @@ } }, "@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dev": true, "requires": { "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" } }, "@babel/highlight": { @@ -19583,9 +19614,9 @@ } }, "@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", + "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -19912,12 +19943,12 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-arrow-functions": { @@ -20257,14 +20288,14 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", - "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.0.tgz", + "integrity": "sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-typescript": "^7.18.6" + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" } }, "@babel/plugin-transform-unicode-escapes": { @@ -20397,14 +20428,14 @@ } }, "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz", + "integrity": "sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.21.0", + "@babel/plugin-transform-typescript": "^7.21.0" } }, "@babel/runtime": { @@ -20427,27 +20458,27 @@ } }, "@babel/traverse": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", - "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", + "@babel/generator": "^7.21.1", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.19.4", @@ -20850,9 +20881,9 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "devOptional": true }, "@jridgewell/set-array": { @@ -20872,19 +20903,19 @@ } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "devOptional": true }, "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "devOptional": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "@leichtgewicht/ip-codec": { diff --git a/package.json b/package.json index b1ed0c59b0..59ea84efbd 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "repository": "https://github.com/jellyfin/jellyfin-web", "license": "GPL-2.0-or-later", "devDependencies": { - "@babel/core": "7.20.12", + "@babel/core": "7.21.0", "@babel/eslint-parser": "7.19.1", "@babel/eslint-plugin": "7.19.1", "@babel/plugin-proposal-class-properties": "7.18.6", @@ -13,7 +13,7 @@ "@babel/plugin-transform-modules-umd": "7.18.6", "@babel/preset-env": "7.20.2", "@babel/preset-react": "7.18.6", - "@babel/preset-typescript": "7.18.6", + "@babel/preset-typescript": "7.21.0", "@types/escape-html": "1.0.2", "@types/loadable__component": "5.13.4", "@types/lodash-es": "4.17.6", From f0ad8acd2856af920afe5ee1d75ab0847701d56b Mon Sep 17 00:00:00 2001 From: rushmash Date: Mon, 27 Feb 2023 16:20:55 +0000 Subject: [PATCH 29/42] Translated using Weblate (Belarusian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/be/ --- src/strings/be-by.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/strings/be-by.json b/src/strings/be-by.json index 68b4794d0d..fab979dd48 100644 --- a/src/strings/be-by.json +++ b/src/strings/be-by.json @@ -1690,5 +1690,15 @@ "LabelChapterImageResolution": "Дазвол:", "LabelChapterImageResolutionHelp": "Дазвол вынятых малюнкаў раздзелаў.", "ResolutionMatchSource": "Супадзенне з крыніцай", - "SecondarySubtitles": "Дадатковыя субтытры" + "SecondarySubtitles": "Дадатковыя субтытры", + "SubtitleBlack": "Чорны", + "SubtitleBlue": "Сіні", + "SubtitleCyan": "Блакітны", + "SubtitleGray": "Шэры", + "SubtitleGreen": "Зялёны", + "SubtitleLightGray": "Светла-шэры", + "SubtitleMagenta": "Пурпурны", + "SubtitleRed": "Чырвоны", + "SubtitleWhite": "Белы", + "SubtitleYellow": "Жоўты" } From b18a7c411e4f7992b9a256f454c3b714973740a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Mon, 27 Feb 2023 16:23:02 +0000 Subject: [PATCH 30/42] Translated using Weblate (Czech) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/ --- src/strings/cs.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/strings/cs.json b/src/strings/cs.json index 78acddc0c0..369b0c17ca 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -1704,5 +1704,15 @@ "ResolutionMatchSource": "Stejné jako zdroj", "PreferEmbeddedExtrasTitlesOverFileNames": "Preferovat vložené názvy před názvy souborů pro doplňky", "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Doplňky většinou mají stejný vložený název jako nadřazená položka. Zaškrtnutím je i přesto můžete upřednostnit.", - "SecondarySubtitles": "Sekundární titulky" + "SecondarySubtitles": "Sekundární titulky", + "SubtitleBlack": "Černá", + "SubtitleBlue": "Modrá", + "SubtitleCyan": "Tyrkysová", + "SubtitleGray": "Šedá", + "SubtitleGreen": "Zelená", + "SubtitleLightGray": "Světle šedá", + "SubtitleMagenta": "Fialová", + "SubtitleRed": "Červená", + "SubtitleWhite": "Bílá", + "SubtitleYellow": "Žlutá" } From 35a96997381e236c3046e97980d38b421c9b300d Mon Sep 17 00:00:00 2001 From: Bas Date: Mon, 27 Feb 2023 20:34:33 +0000 Subject: [PATCH 31/42] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index 44d8eab396..1d40cce4f7 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -1703,5 +1703,15 @@ "LabelDummyChapterDurationHelp": "De extractieinterval voor hoofdstukafbeeldingen in seconden.", "ResolutionMatchSource": "Gelijk aan bron", "HeaderRecordingMetadataSaving": "Metadata opname", - "SecondarySubtitles": "Secundaire ondertiteling" + "SecondarySubtitles": "Secundaire ondertiteling", + "SubtitleBlack": "Zwart", + "SubtitleBlue": "Blauw", + "SubtitleCyan": "Cyaan", + "SubtitleGray": "Grijs", + "SubtitleGreen": "Groen", + "SubtitleLightGray": "Lichtgrijs", + "SubtitleMagenta": "Magenta", + "SubtitleRed": "Rood", + "SubtitleWhite": "Wit", + "SubtitleYellow": "Geel" } From 8745ff57db9c3830ebf54642a06f5fdaed6879af Mon Sep 17 00:00:00 2001 From: Urtzi Odriozola Date: Mon, 27 Feb 2023 21:40:34 +0000 Subject: [PATCH 32/42] Translated using Weblate (Basque) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/eu/ --- src/strings/eu.json | 48 ++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/strings/eu.json b/src/strings/eu.json index e9fa50c682..bce8b4051f 100644 --- a/src/strings/eu.json +++ b/src/strings/eu.json @@ -129,7 +129,7 @@ "ValueCodec": "Kodeka: {0}", "ValueAudioCodec": "Audio-kodeka: {0}", "ValueAlbumCount": "{0} album", - "UserProfilesIntro": "Jellyfinek erabiltzaileen profilentzako euskarria barne hartzen du, eta erabiltzaile bakoitzak bere doikuntzak, ugaltze-egoera eta gurasoen kontrola izatea ahalbidetzen du.", + "UserProfilesIntro": "Jellyfinek erabiltzaileen profilentzako euskarria barne hartzen du, eta erabiltzaile bakoitzak bere ezarpenak, ugaltze-egoera eta gurasoen kontrola izatea ahalbidetzen du.", "UserAgentHelp": "Eman 'User-Agent' pertsonalizatutako http goiburu bat.", "UseEpisodeImagesInNextUpHelp": "\"Nobedadeak\" eta \"Ikusten jarraitu\" ataletan kapituluen irudiak agertuko dira miniatura gisa, seriearen miniatura nagusiaren ordez.", "UseEpisodeImagesInNextUp": "Erabili kapituluen irudiak \"Nobedadeak\" eta \"Ikusten jarraitu\" ataletan", @@ -188,7 +188,7 @@ "TabParentalControl": "Gurasoen kontrola", "TabOther": "Bestelakoak", "TabNotifications": "Jakinarazpenak", - "TabNfoSettings": "NFO doikuntzak", + "TabNfoSettings": "NFO ezarpenak", "TabNetworks": "Kate TB", "TabNetworking": "Sareak", "TabMyPlugins": "Nire osagarriak", @@ -212,7 +212,7 @@ "Subtitles": "Azpitituluak", "SubtitleOffset": "Azpitituluak lekualdatzea", "SubtitleDownloadersHelp": "Gaitu eta sailkatu hobetsitako azpitituluen deskargagailuak lehentasun-ordenaren arabera.", - "SubtitleAppearanceSettingsDisclaimer": "Ondorengo doikuntzak ez zaizkie aplikatuko aurretik aipatutako azpititulu grafikoei, ezta ASS/SSA azpitituluei ere, baldin eta beren estiloak badituzte.", + "SubtitleAppearanceSettingsDisclaimer": "Ondorengo ezarpenak ez zaizkie aplikatuko aurretik aipatutako azpititulu grafikoei, ezta ASS/SSA azpitituluei ere, baldin eta beren estiloak badituzte.", "SubtitleAppearanceSettingsAlsoPassedToCastDevices": "Doikuntza horiek gailu honek hasitako Chromecast edozein erreprodukziori ere aplikatzen zaizkio.", "Subtitle": "Azpititulua", "Studios": "Ikasketak", @@ -246,13 +246,13 @@ "SetUsingLastTracks": "Audioko/azpitituluetako pista aurreko itemarekin ezartzea", "SettingsWarning": "Balio horiek aldatzeak ezegonkortasuna edo konektagarritasun-akatsak eragin ditzake. Arazoren bat izanez gero, berriz ere bere balio lehenetsira aldatzea gomendatzen dizugu.", "SettingsSaved": "Konfigurazio gordea.", - "Settings": "Doikuntzak", + "Settings": "Ezarpenak", "ServerUpdateNeeded": "Zerbitzaria eguneratu egin behar da. Azken bertsioa deskargatzeko, bisitatu {0}", "ServerRestartNeededAfterPluginInstall": "Jellyfin berriz hasi beharko da osagarri bat instalatu ondoren.", "ServerNameIsShuttingDown": "{0}(e)ko zerbitzaria itzaltzen ari da.", "ServerNameIsRestarting": "{0}(e)ko zerbitzaria berrabiarazten ari da.", "SeriesYearToPresent": "{0} - Gaur egun", - "SeriesSettings": "Serie-doikuntzak", + "SeriesSettings": "Serie ezarpenak", "SeriesRecordingScheduled": "Programatutako serieak grabatzea.", "SeriesDisplayOrderHelp": "Ordenatu kapituluak jaulkipen-dataren, DVD-ordenaren edo zenbaki absolutuaren arabera.", "SeriesCancelled": "Serie ezeztatua.", @@ -911,7 +911,7 @@ "Hide": "Ezkutatu", "Help": "Laguntza", "HeaderYears": "Urteak", - "HeaderXmlSettings": "XML doikuntzak", + "HeaderXmlSettings": "XML ezarpenak", "HeaderXmlDocumentAttributes": "XML dokumentuaren atributuak", "HeaderXmlDocumentAttribute": "XML dokumentuaren atributua", "HeaderVideoTypes": "Bideo motak", @@ -953,7 +953,7 @@ "LibraryAccessHelp": "Aukeratu erabiltzaile honekin partekatu beharreko liburutegiak. Administratzaileek karpeta guztiak editatu ahal izango dituzte metadatuen kudeatzailea erabiliz.", "LeaveBlankToNotSetAPassword": "Hutsik utz dezakezu pasahitza ez konfiguratzeko.", "LearnHowYouCanContribute": "Ezagutu nola lagundu dezakezun.", - "LatestFromLibrary": "Duela gutxi {0} liburutegian", + "LatestFromLibrary": "Duela gutxi gehituta: {0}", "LastSeen": "Azkenekoz ikusita {0}", "Larger": "Handiagoa", "Large": "Handia", @@ -1113,7 +1113,7 @@ "HeaderSortOrder": "Agindua", "HeaderSortBy": "Ordenatu", "HeaderSetupLibrary": "Konfiguratu zure multimedia-liburutegiak", - "HeaderServerSettings": "Zerbitzariaren doikuntzak", + "HeaderServerSettings": "Zerbitzariaren ezarpenak", "HeaderServerAddressSettings": "Zerbitzariaren helbidea konfiguratzea", "HeaderSeriesStatus": "Serieen egoera", "HeaderSeriesOptions": "Serieen aukerak", @@ -1138,7 +1138,7 @@ "HeaderRemoteControl": "Urrutiko kontrola", "HeaderRemoteAccessSettings": "Urruneko sarbide-aukerak", "HeaderRecordingPostProcessing": "Prozesatu osteko grabazioa", - "HeaderRecordingOptions": "Grabazio-doikuntzak", + "HeaderRecordingOptions": "Grabazio ezarpenak", "HeaderRecentlyPlayed": "Duela gutxi erreproduzitua", "HeaderProfileServerSettingsHelp": "Balio horiek zerbitzaria bezeroei nola aurkeztuko zaien kontrolatzen dute.", "HeaderProfileInformation": "Profilari buruzko informazioa", @@ -1169,12 +1169,12 @@ "HeaderMyDevice": "Nire gailua", "HeaderMusicQuality": "Soinuaren kalitatea", "HeaderMoreLikeThis": "Hau bezalakoa", - "HeaderMetadataSettings": "Metadatuen doikuntzak", + "HeaderMetadataSettings": "Metadatuen ezarpenak", "HeaderMediaFolders": "Multimedia karpetak", "HeaderMedia": "Multimedia", "HeaderLoginFailure": "Saioaren hasierako akatsa", - "HeaderLiveTvTunerSetup": "Telebista-sintonizadorearen doikuntzak", - "HeaderLibrarySettings": "Liburutegiaren doikuntzak", + "HeaderLiveTvTunerSetup": "Telebista-sintonizadorearen ezarpenak", + "HeaderLibrarySettings": "Liburutegiaren ezarpenak", "HeaderLibraryOrder": "Liburutegiaren agindua", "HeaderLibraryFolders": "Liburutegiko karpetak", "HeaderLibraryAccess": "Liburutegirako sarbidea", @@ -1184,24 +1184,24 @@ "HeaderLatestMovies": "Azken filmak", "HeaderLatestMedia": "Berriki gehituak", "HeaderLatestEpisodes": "Azken kapituluak", - "HeaderKodiMetadataHelp": "NFO formatuko metadatuak aktibatu edo desaktibatu ditzakezu, liburutegi baten konfigurazioa irekiz eta metadatuen ataleko doikuntzak berrikusiz.", + "HeaderKodiMetadataHelp": "NFO formatuko metadatuak aktibatu edo desaktibatu ditzakezu, liburutegi baten konfigurazioa irekiz eta metadatuen ataleko ezarpenak berrikusiz.", "HeaderKeepSeries": "Serieak mantentzea", "HeaderKeepRecording": "Grabazioa mantendu", "HeaderInstantMix": "Bat-bateko nahasketa", "HeaderInstall": "Instalatu", - "HeaderImageSettings": "Irudi-doikuntzak", + "HeaderImageSettings": "Irudi ezarpenak", "HeaderImageOptions": "Irudi-aukerak", "HeaderIdentifyItemHelp": "Sartu bilaketa-parametro bat edo gehiago. Bilaketaren emaitzen kopurua handitzeko parametroak ezabatzen ditu.", "HeaderIdentificationHeader": "Identifikazio-goiburua", "HeaderIdentificationCriteriaHelp": "Gutxienez identifikazio-irizpide bat sartzen du.", "HeaderIdentification": "Identifikazioa", - "HeaderHttpsSettings": "https aukerak", - "HeaderHttpHeaders": "http buruak", + "HeaderHttpsSettings": "HTTPS aukerak", + "HeaderHttpHeaders": "HTTP buruak", "HeaderGuideProviders": "Gida-hornitzaileak", "HeaderFrequentlyPlayed": "Maiz erreproduzitua", "HeaderForKids": "Haurrentzat", "HeaderFetchImages": "Bilatu irudiak:", - "HeaderFetcherSettings": "Harrapatzailearen doikuntzak", + "HeaderFetcherSettings": "Harrapatzailearen ezarpenak", "HeaderFeatureAccess": "Sartzeko baimenak:", "HeaderExternalIds": "Kanpoko IDS:", "HeaderError": "Errorea", @@ -1421,8 +1421,8 @@ "DeleteAll": "Ezabatu dena", "Delete": "Ezabatu", "DeinterlaceMethodHelp": "Hautatu bihurketan zehar elkarri lotuta dagoen edukia askatzeko aplikatuko den iragazki mota. Lotura kentzeko hardware bidezko azelerazioa aktibatuta badago, iragazki horren ordez erabiliko da.", - "DefaultSubtitlesHelp": "Erabiliko diren azpitituluak fitxategien pistetan txertatutako metadatuen araberakoak izango dira (bai \"lehenetsita\" edo \"behartuta\"). Hizkuntza-doikuntzak kontuan hartzen dira hainbat aukera eskuragarri daudenean.", - "DefaultMetadataLangaugeDescription": "Hauek dira zure doikuntzak eta liburutegi bakoitzerako pertsonalizatu daitezke.", + "DefaultSubtitlesHelp": "Erabiliko diren azpitituluak fitxategien pistetan txertatutako metadatuen araberakoak izango dira (bai \"lehenetsita\" edo \"behartuta\"). Hizkuntza ezarpenak kontuan hartzen dira hainbat aukera eskuragarri daudenean.", + "DefaultMetadataLangaugeDescription": "Hauek dira zure ezarpenak eta liburutegi bakoitzerako pertsonalizatu daitezke.", "Default": "Lehenetsia", "DeathDateValue": "Hil egin zen: {0}", "DatePlayed": "Erreproduzitua", @@ -1455,7 +1455,7 @@ "ColorSpace": "Kolore-espazioa", "ColorPrimaries": "Kolore primarioak", "Collections": "Bildumak", - "ClientSettings": "Bezeroaren doikuntzak", + "ClientSettings": "Bezeroaren ezarpenak", "ClearQueue": "Ezabatu buztana", "CinemaModeConfigurationHelp": "Zinema moduak zinemaren esperientzia zuzenean ematen du bere aretoan, funtzio nagusiaren aurretik trailerrak eta sarrera pertsonalizatuak erreproduzitzeko gaitasunarekin.", "Channels": "Kanalak", @@ -1547,7 +1547,7 @@ "HeaderBranding": "Itxura pertsonalizatzea", "HeaderBlockItemsWithNoRating": "Baloraziorik gabeko edo ezezagunak diren artikuluak blokeatzea:", "HeaderAutoDiscovery": "Sarearen aurkikuntza", - "HeaderAudioSettings": "Audio-doikuntzak", + "HeaderAudioSettings": "Audio ezarpenak", "HeaderAudioBooks": "Audioliburuak", "HeaderAppearsOn": "Hemen agertzen da", "HeaderApp": "Aplikazioa", @@ -1626,5 +1626,9 @@ "ButtonSpace": "Hutsunea", "EnableRewatchingNextUp": "Gaitu berriz ikustea Nobedadeak atalekoentzat", "EnableRewatchingNextUpHelp": "Gaitu jada ikusitako kapituluak \"Nobedadeak\" atalean agertzea.", - "LabelMaxVideoResolution": "Onartutako bideo-transkodetzearen bereizmen maximoa:" + "LabelMaxVideoResolution": "Onartutako bideo-transkodetzearen bereizmen maximoa:", + "EnableCardLayout": "Erakutsi CardBox ikusgai", + "GoogleCastUnsupported": "Google Cast ez da bateragarria", + "Experimental": "Esperimentala", + "DownloadAll": "Deskargatu dena" } From 6190041ef15dda7598e1713e21a795586f025722 Mon Sep 17 00:00:00 2001 From: blob03 Date: Tue, 28 Feb 2023 13:06:36 +0000 Subject: [PATCH 33/42] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index 859cbd8640..e26cc1a0c0 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1704,5 +1704,15 @@ "LabelDummyChapterCountHelp": "Nombre maximal d’images de chapitre à extraire pour chaque fichier multimédia.", "PreferEmbeddedExtrasTitlesOverFileNames": "Préférer les titres intégrés aux médias pour les bonus", "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Les bonus possèdent souvent un titre intégré identique au média parent, cocher l'option pour utiliser ce titre quoi qu'il en soit.", - "SecondarySubtitles": "Sous-titres secondaires" + "SecondarySubtitles": "Sous-titres secondaires", + "SubtitleBlack": "Noir", + "SubtitleBlue": "Bleu", + "SubtitleCyan": "Cyan", + "SubtitleGray": "Gris", + "SubtitleGreen": "Vert", + "SubtitleLightGray": "Gris clair", + "SubtitleMagenta": "Magenta", + "SubtitleRed": "Rouge", + "SubtitleWhite": "Blanc", + "SubtitleYellow": "Jaune" } From 84f4e7c9911015e209901a79b2720ec8adbf11d3 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 28 Feb 2023 15:38:08 -0500 Subject: [PATCH 34/42] Fix login page redirect --- src/components/ConnectionRequired.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/ConnectionRequired.tsx b/src/components/ConnectionRequired.tsx index aa67a257e1..9c5f402b0a 100644 --- a/src/components/ConnectionRequired.tsx +++ b/src/components/ConnectionRequired.tsx @@ -1,5 +1,5 @@ import React, { FunctionComponent, useEffect, useState } from 'react'; -import { Outlet, useNavigate } from 'react-router-dom'; +import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import type { ConnectResponse } from 'jellyfin-apiclient'; import alert from './alert'; @@ -31,11 +31,11 @@ const ConnectionRequired: FunctionComponent = ({ isUserRequired = true }) => { const navigate = useNavigate(); + const location = useLocation(); const [ isLoading, setIsLoading ] = useState(true); useEffect(() => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any const bounce = async (connectionResponse: ConnectResponse) => { switch (connectionResponse.State) { case ConnectionState.SignedIn: @@ -45,12 +45,12 @@ const ConnectionRequired: FunctionComponent = ({ return; case ConnectionState.ServerSignIn: // Bounce to the login page - console.debug('[ConnectionRequired] not logged in, redirecting to login page'); - navigate(BounceRoutes.Login, { - state: { - serverid: connectionResponse.ApiClient.serverId() - } - }); + if (location.pathname === BounceRoutes.Login) { + setIsLoading(false); + } else { + console.debug('[ConnectionRequired] not logged in, redirecting to login page'); + navigate(`${BounceRoutes.Login}?serverid=${connectionResponse.ApiClient.serverId()}`); + } return; case ConnectionState.ServerSelection: // Bounce to select server page @@ -144,7 +144,7 @@ const ConnectionRequired: FunctionComponent = ({ }; validateConnection(); - }, [ isAdminRequired, isUserRequired, navigate ]); + }, [ isAdminRequired, isUserRequired, location.pathname, navigate ]); if (isLoading) { return ; From 45de744a3981b3ad48173305480c19bde3c719c1 Mon Sep 17 00:00:00 2001 From: Kela910512 Date: Tue, 28 Feb 2023 20:56:41 +0000 Subject: [PATCH 35/42] Translated using Weblate (Hungarian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/ --- src/strings/hu.json | 45 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/src/strings/hu.json b/src/strings/hu.json index e83e7516b2..117a166d8a 100644 --- a/src/strings/hu.json +++ b/src/strings/hu.json @@ -107,9 +107,9 @@ "HeaderIdentifyItemHelp": "Adj meg egy vagy több keresési kritériumot. Távolítsd el a kritériumokat a keresési eredmények növelése érdekében.", "HeaderImageSettings": "Kép beállítások", "HeaderInstall": "Telepítés", - "HeaderLatestEpisodes": "Legújabb epizódok", - "HeaderLatestMedia": "Legújabb média", - "HeaderLatestMovies": "Legújabb filmek", + "HeaderLatestEpisodes": "Nemrég hozzáadott epizódok", + "HeaderLatestMedia": "Nemrég hozzáadott tartalmak", + "HeaderLatestMovies": "Nemrég hozzáadott filmek", "HeaderLibraries": "Könyvtárak", "HeaderLibraryAccess": "Könyvtár hozzáférés", "HeaderLibraryFolders": "Médiatár mappák", @@ -156,7 +156,7 @@ "HeaderVideos": "Videók", "HeaderYears": "Év", "Help": "Súgó", - "HideWatchedContentFromLatestMedia": "A megtekintett tartalom elrejtése a \"Legújabb Média\"-ból", + "HideWatchedContentFromLatestMedia": "A megtekintett tartalom elrejtése a \"Nemrég hozzáadott felvételek\"-ből", "Home": "Kezdőlap", "Identify": "Azonosítás", "Images": "Képek", @@ -395,7 +395,7 @@ "TabCodecs": "Kódek", "TabContainers": "Tároló", "TabDashboard": "Vezérlőpult", - "TabLatest": "Legújabb", + "TabLatest": "Nemrég hozzáadott", "TabLogs": "Naplók", "TabMusic": "Zene", "TabMyPlugins": "Telepített bővítmények", @@ -519,7 +519,7 @@ "Disc": "Lemez", "Disconnect": "Bontás", "DisplayInMyMedia": "Megjelenítés a kezdőképernyőn", - "DisplayInOtherHomeScreenSections": "Megjelenítés a kezdőképernyőn, mint például a 'Legújabb Média', és a 'Folyamatban lévő filmek'", + "DisplayInOtherHomeScreenSections": "Megjelenítés a kezdőképernyőn, mint például a 'Nemrég hozzáadott', és a 'Korábban megtekintett'", "DisplayModeHelp": "Válaszd ki a használni kívánt elrendezést.", "DoNotRecord": "Ne rögzítsen", "DownloadsValue": "{0} letöltés", @@ -604,8 +604,8 @@ "HeaderInstantMix": "Azonnali keverés", "HeaderKeepRecording": "Felvétel készítése", "HeaderKodiMetadataHelp": "Az NFO-metaadatok engedélyezéséhez vagy letiltásához szerkesszen egy könyvtárat, és keresse meg a „Metaadat-mentők” részt.", - "HeaderLatestMusic": "Legújabb zenék", - "HeaderLatestRecordings": "Legújabb felvételek", + "HeaderLatestMusic": "Nemrég hozzáadott zenék", + "HeaderLatestRecordings": "Nemrég hozzáadott felvételek", "HeaderLoginFailure": "Bejelentkezési hiba", "HeaderMusicQuality": "Zene minősége", "HeaderNewApiKey": "Új API kulcs", @@ -1510,7 +1510,7 @@ "Framerate": "Képkockasebesség", "DirectPlayHelp": "A forrásfájl teljes mértékben kompatibilis ezzel az klienssel, és a munkamenet módosítások nélkül fogadja a fájlt.", "HeaderContinueReading": "Olvasás folytatása", - "EnableGamepadHelp": "Figyeljen bármilyen csatlakoztatott kontroller bemenetére.", + "EnableGamepadHelp": "Figyeljen bármilyen csatlakoztatott bemenetre. (Szükséges: TV megjelenítési mód)", "LabelEnableGamepad": "Engedélyezze a Gamepad-ot", "Controls": "Vezérlők", "TextSent": "Szöveg elküldve.", @@ -1685,5 +1685,30 @@ "MessageNoItemsAvailable": "Jelenleg nincs elérhető elem.", "MessageNoFavoritesAvailable": "Jelenleg nincs elérhető kedvenc.", "Unreleased": "Még nem jelent meg", - "DownloadAll": "Összes letöltése" + "DownloadAll": "Összes letöltése", + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Beágyazott címek használata.", + "SaveRecordingNFO": "A rögzített EPG metaadatok mentése NFO-ba", + "SubtitleBlack": "Fekete", + "SubtitleBlue": "Kék", + "SubtitleCyan": "Cián", + "SubtitleGray": "Szürke", + "SubtitleGreen": "Zöld", + "SubtitleLightGray": "Világos szürke", + "SubtitleMagenta": "Bíborvörös", + "SubtitleRed": "Piros", + "SubtitleWhite": "Fehér", + "SubtitleYellow": "Sárga", + "SecondarySubtitles": "Másodlagos feliratok", + "StereoDownmixAlgorithmHelp": "Többcsatornás hangot sztereóvá keverő algoritmus használata.", + "LabelDummyChapterCountHelp": "Az egyes médiafájlokból kibontható fejezetképek maximális száma.", + "PreferEmbeddedExtrasTitlesOverFileNames": "Részesítse előnyben a beágyazott címeket a fájlnevekkel szemben", + "SaveRecordingImages": "Rögzített EPG-képek mentése", + "Experimental": "Tapasztalati", + "LabelStereoDownmixAlgorithm": "Térhatású csatornák egyesítése", + "HeaderDummyChapter": "Fejezetképek", + "HeaderRecordingMetadataSaving": "Metaadatok rögzítése", + "LabelDummyChapterDuration": "Intervallum:", + "LabelDummyChapterCount": "Határvonal:", + "LabelChapterImageResolution": "Felbontás:", + "LabelChapterImageResolutionHelp": "A kinyert fejezetképek felbontása." } From 78cb9e06adda647f8ddecf23be850727f6056274 Mon Sep 17 00:00:00 2001 From: herinonja Date: Wed, 1 Mar 2023 02:16:26 -0500 Subject: [PATCH 36/42] Added translation using Weblate (Malagasy) --- src/strings/mg.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/strings/mg.json diff --git a/src/strings/mg.json b/src/strings/mg.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/src/strings/mg.json @@ -0,0 +1 @@ +{} From a5df24c76edc53317f0dee97fe2403d8177da98e Mon Sep 17 00:00:00 2001 From: Oskari Lavinto Date: Wed, 1 Mar 2023 09:58:02 +0000 Subject: [PATCH 37/42] Translated using Weblate (Finnish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/ --- src/strings/fi.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/strings/fi.json b/src/strings/fi.json index d2051489b4..e35b229682 100644 --- a/src/strings/fi.json +++ b/src/strings/fi.json @@ -343,7 +343,7 @@ "LabelAbortedByServerShutdown": "(Keskeytetty palvelimen sammutuksen takia)", "Identify": "Tunnista", "Horizontal": "Horisontaalinen", - "HideWatchedContentFromLatestMedia": "Piilota toistettu sisältö 'Hiljattain lisätty media' -osiosta", + "HideWatchedContentFromLatestMedia": "Piilota toistettu sisältö 'Viimeksi lisätty media' -osiosta", "HeaderUpcomingOnTV": "Tulossa televisiosta", "HeaderTypeImageFetchers": "Kuvien lataajat ({0}):", "HeaderTranscodingProfile": "Transkoodausprofiili", @@ -411,11 +411,11 @@ "HeaderMediaFolders": "Mediakansiot", "HeaderMedia": "Media", "HeaderLibraryFolders": "Kirjaston kansiot", - "HeaderLatestMedia": "Hiljattain lisätty media", - "HeaderLatestRecordings": "Hiljattain lisätyt tallenteet", - "HeaderLatestMusic": "Hiljattain lisätty musiikki", - "HeaderLatestMovies": "Hiljattain lisätyt elokuvat", - "HeaderLatestEpisodes": "Hiljattain lisätyt jaksot", + "HeaderLatestMedia": "Viimeksi lisätty media", + "HeaderLatestRecordings": "Viimeksi lisätyt tallenteet", + "HeaderLatestMusic": "Viimeksi lisätty musiikki", + "HeaderLatestMovies": "Viimeksi lisätyt elokuvat", + "HeaderLatestEpisodes": "Viimeksi lisätyt jaksot", "HeaderInstall": "Asenna", "HeaderFrequentlyPlayed": "Usein toistetut", "HeaderFetcherSettings": "Lataajan asetukset", @@ -562,7 +562,7 @@ "TabMyPlugins": "Omat lisäosat", "TabMusic": "Musiikki", "TabLogs": "Lokit", - "TabLatest": "Hiljattain lisätyt", + "TabLatest": "Viimeksi lisätyt", "TabDirectPlay": "Muuntamaton toisto", "TabDashboard": "Hallintapaneeli", "TabCatalog": "Luettelo", @@ -1264,7 +1264,7 @@ "LabelMinAudiobookResumeHelp": "Kohteita pidetään toistamattomina, jos toisto keskeytetään ennen tätä aikaa.", "LabelMaxStreamingBitrate": "Suoratoiston enimmäislaatu:", "MoreFromValue": "Lisää kohteesta {0}", - "LatestFromLibrary": "Hiljattain lisätty: '{0}'", + "LatestFromLibrary": "Viimeksi lisätty: {0}", "LabelVideoRange": "Videon alue:", "LabelVaapiDeviceHelp": "Tämä on renderöintinoodi, jota käytetään laitteistokiihdytykseen.", "LabelUserRemoteClientBitrateLimitHelp": "Korvaa globaali arvo asetusten kohdasta Ohjauspaneeli > Toisto > Suoratoisto.", From d57ec4333d77e7b52f6b1e79eea39df66be6ec29 Mon Sep 17 00:00:00 2001 From: herinonja Date: Wed, 1 Mar 2023 07:26:29 +0000 Subject: [PATCH 38/42] Translated using Weblate (Malagasy) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/mg/ --- src/strings/mg.json | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/strings/mg.json b/src/strings/mg.json index 0967ef424b..54e2956c06 100644 --- a/src/strings/mg.json +++ b/src/strings/mg.json @@ -1 +1,42 @@ -{} +{ + "Add": "Manampy", + "AddToPlaylist": "Ampiana ao amin'ny playlist", + "AddToPlayQueue": "Ampiana ao amin'ny filaharana", + "AirDate": "Daty fandefasana", + "Aired": "Nalefa", + "AlbumArtist": "Artista tompon'ny Album", + "Alerts": "Lakolosy", + "AllChannels": "Fahitalavitra rehetra", + "AllowMediaConversion": "Avela hiasa hanao famadiahana format", + "AllowEmbeddedSubtitlesAllowNoneOption": "Tsy asiana mihitsy", + "AllowEmbeddedSubtitlesAllowTextOption": "Asiana soratra", + "Absolute": "Feno", + "AccessRestrictedTryAgainLater": "Voafetra ny fidirana amin'izao fotoana izao. Andramo indray afaka fotoana fohy.", + "Actor": "Mpilalao", + "AddedOnValue": "Nampiana", + "AdditionalNotificationServices": "Tsidiho ny katalaogin'ny plugin raha hanampy serivisy fampahafantarana fanampiny.", + "AddToCollection": "Ampiana ao amin'ny fitahirizana", + "AddToFavorites": "Ampiana ao amin'ireo ankafihizina", + "AgeValue": "({0} taona)", + "Album": "Album", + "Albums": "Albums", + "All": "Rehetra", + "AllComplexFormats": "Ireo endrika sarotra rehetra (ASS, SSA, VobSub, PGS, SUB, IDX, …)", + "AllEpisodes": "Fizaràna rehetra", + "AllLanguages": "Tenim-pirenena rehetra", + "AllLibraries": "Tahiry rehetra", + "AllowedRemoteAddressesHelp": "Lisitry ny adiresy IP na IP/netmask nosarahan'ny faingo ho an'ny tambajotra izay avela hifandray lavitra. Raha avela ho banga dia afaka miditra avokoa ny IP rehetra.", + "AllowEmbeddedSubtitles": "Atsahatra ny karazana dikanteny ao anatiny", + "AllowEmbeddedSubtitlesAllowAllOption": "Avela malalaka", + "AllowEmbeddedSubtitlesAllowImageOption": "Asiana sary", + "AllowEmbeddedSubtitlesHelp": "Atsahatra ny dikanteny raikitra ao anaty media. Mila fanavaozana ny tahiry rehetra.", + "AllowFfmpegThrottling": "Ahena ny asa famadihana format", + "AllowFfmpegThrottlingHelp": "Rehefa lasa lavitra mihoatra ny playback ny asa famadihana format dia atsahatra kely ny fampiasana CPU. Tena ilaina izany rehefa mijery fotsiny fa tsy mandingana na mamerina matetika. Aza alefa raha mahita olana amin'ny playback.", + "AllowHevcEncoding": "Avela hamadika format HEVC", + "AllowHWTranscodingHelp": "Avela ny tuner hiasa sady mamadika format. Mety hanampy amin'ny fampihenana ny asa takian'ny serveur izany.", + "AllowMediaConversionHelp": "Avela na lavina ny fidirana amin'ny asa famadihana format.", + "AllowOnTheFlySubtitleExtraction": "Avela hamaky dikanteny eny ampandehanana.", + "AllowOnTheFlySubtitleExtractionHelp": "Azo alaina avy amin'ilay video ny dikanteny ao anatiny ary aseho amin'ny soratra tsotra, mba hisorohana ny famadihana video. Mety haharitra ela izany ka hampiato ny famakiana horonan-tsary mandritra ny dingan'ny fitrandrahana. Atsaharo raha avela ho dikanteny miaraka amin'ny famadihana horonan-tsary.", + "AllowRemoteAccess": "Avela hifandray amin'ny hafa ity serveur ity", + "AllowRemoteAccessHelp": "Raha tsy marihina dia ho voasakana ny fifandraisana lavitra rehetra." +} From b3195991a3f4c13e3d3bfacb4260402a6adb7d0c Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Wed, 1 Mar 2023 09:35:21 -0500 Subject: [PATCH 39/42] Move public pages to react-router --- src/components/appRouter.js | 2 +- src/index.jsx | 5 +- src/routes/index.tsx | 4 +- src/routes/legacyRoutes/index.tsx | 1 + src/routes/legacyRoutes/public.ts | 81 ++++++++++++++++++++ src/scripts/routes.js | 123 ------------------------------ 6 files changed, 90 insertions(+), 126 deletions(-) create mode 100644 src/routes/legacyRoutes/public.ts delete mode 100644 src/scripts/routes.js diff --git a/src/components/appRouter.js b/src/components/appRouter.js index 05feb0ff9c..be7cfd5855 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -124,7 +124,7 @@ class AppRouter { isBack: action === Action.Pop }); } else { - console.info('[appRouter] "%s" route not found', normalizedPath, location); + // The route is not registered here, so it should be handled by react-router this.currentRouteInfo = { route: {}, path: normalizedPath + location.search diff --git a/src/index.jsx b/src/index.jsx index 57bdaa2f19..08b3bfada3 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -24,7 +24,6 @@ import { appRouter, history } from './components/appRouter'; import './elements/emby-button/emby-button'; import './scripts/autoThemes'; import './scripts/libraryMenu'; -import './scripts/routes'; import './components/themeMediaPlayer'; import './scripts/autoBackdrops'; import { pageClassOn, serverAddress } from './utils/dashboard'; @@ -39,6 +38,10 @@ import { currentSettings } from './scripts/settings/userSettings'; import taskButton from './scripts/taskbutton'; import App from './App.tsx'; +import './styles/livetv.scss'; +import './styles/dashboard.scss'; +import './styles/detailtable.scss'; + function loadCoreDictionary() { const languages = ['af', 'ar', 'be-by', 'bg-bg', 'bn_bd', 'ca', 'cs', 'cy', 'da', 'de', 'el', 'en-gb', 'en-us', 'eo', 'es', 'es_419', 'es-ar', 'es_do', 'es-mx', 'et', 'eu', 'fa', 'fi', 'fil', 'fr', 'fr-ca', 'gl', 'gsw', 'he', 'hi-in', 'hr', 'hu', 'id', 'it', 'ja', 'kk', 'ko', 'lt-lt', 'lv', 'mr', 'ms', 'nb', 'nl', 'nn', 'pl', 'pr', 'pt', 'pt-br', 'pt-pt', 'ro', 'ru', 'sk', 'sl-si', 'sq', 'sv', 'ta', 'th', 'tr', 'uk', 'ur_pk', 'vi', 'zh-cn', 'zh-hk', 'zh-tw']; const translations = languages.map(function (language) { diff --git a/src/routes/index.tsx b/src/routes/index.tsx index be24c811d8..06e3badaf3 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -4,7 +4,7 @@ import { Navigate, Route, Routes } from 'react-router-dom'; import { ASYNC_ADMIN_ROUTES, ASYNC_USER_ROUTES, toAsyncPageRoute } from './asyncRoutes'; import ConnectionRequired from '../components/ConnectionRequired'; import ServerContentPage from '../components/ServerContentPage'; -import { LEGACY_ADMIN_ROUTES, LEGACY_USER_ROUTES, toViewManagerPageRoute } from './legacyRoutes'; +import { LEGACY_ADMIN_ROUTES, LEGACY_PUBLIC_ROUTES, LEGACY_USER_ROUTES, toViewManagerPageRoute } from './legacyRoutes'; const AppRoutes = () => ( @@ -28,6 +28,8 @@ const AppRoutes = () => ( {/* Public routes */} }> } /> + + {LEGACY_PUBLIC_ROUTES.map(toViewManagerPageRoute)} {/* Suppress warnings for unhandled routes */} diff --git a/src/routes/legacyRoutes/index.tsx b/src/routes/legacyRoutes/index.tsx index b4e97250e9..8f498f98aa 100644 --- a/src/routes/legacyRoutes/index.tsx +++ b/src/routes/legacyRoutes/index.tsx @@ -21,4 +21,5 @@ export function toViewManagerPageRoute(route: LegacyRoute) { } export * from './admin'; +export * from './public'; export * from './user'; diff --git a/src/routes/legacyRoutes/public.ts b/src/routes/legacyRoutes/public.ts new file mode 100644 index 0000000000..0e05875520 --- /dev/null +++ b/src/routes/legacyRoutes/public.ts @@ -0,0 +1,81 @@ +import { LegacyRoute } from '.'; + +export const LEGACY_PUBLIC_ROUTES: LegacyRoute[] = [ + { + path: 'addserver.html', + pageProps: { + controller: 'session/addServer/index', + view: 'session/addServer/index.html' + } + }, + { + path: 'selectserver.html', + pageProps: { + controller: 'session/selectServer/index', + view: 'session/selectServer/index.html' + } + }, + { + path: 'login.html', + pageProps: { + controller: 'session/login/index', + view: 'session/login/index.html' + } + }, + { + path: 'forgotpassword.html', + pageProps: { + controller: 'session/forgotPassword/index', + view: 'session/forgotPassword/index.html' + } + }, + { + path: 'forgotpasswordpin.html', + pageProps: { + controller: 'session/resetPassword/index', + view: 'session/resetPassword/index.html' + } + }, + { + path: 'wizardremoteaccess.html', + pageProps: { + controller: 'wizard/remote/index', + view: 'wizard/remote/index.html' + } + }, + { + path: 'wizardfinish.html', + pageProps: { + controller: 'wizard/finish/index', + view: 'wizard/finish/index.html' + } + }, + { + path: 'wizardlibrary.html', + pageProps: { + controller: 'dashboard/library', + view: 'wizard/library.html' + } + }, + { + path: 'wizardsettings.html', + pageProps: { + controller: 'wizard/settings/index', + view: 'wizard/settings/index.html' + } + }, + { + path: 'wizardstart.html', + pageProps: { + controller: 'wizard/start/index', + view: 'wizard/start/index.html' + } + }, + { + path: 'wizarduser.html', + pageProps: { + controller: 'wizard/user/index', + view: 'wizard/user/index.html' + } + } +]; diff --git a/src/scripts/routes.js b/src/scripts/routes.js deleted file mode 100644 index d90eb95eaa..0000000000 --- a/src/scripts/routes.js +++ /dev/null @@ -1,123 +0,0 @@ -import '../elements/emby-button/emby-button'; -import '../elements/emby-input/emby-input'; -import '../scripts/livetvcomponents'; -import '../elements/emby-button/paper-icon-button-light'; -import '../elements/emby-itemscontainer/emby-itemscontainer'; -import '../elements/emby-collapse/emby-collapse'; -import '../elements/emby-select/emby-select'; -import '../elements/emby-checkbox/emby-checkbox'; -import '../elements/emby-slider/emby-slider'; -import '../styles/livetv.scss'; -import '../components/listview/listview.scss'; -import '../styles/dashboard.scss'; -import '../styles/detailtable.scss'; -import { appRouter } from '../components/appRouter'; - -/* eslint-disable indent */ - - console.groupCollapsed('defining core routes'); - - function defineRoute(newRoute) { - const path = newRoute.alias ? newRoute.alias : newRoute.path; - console.debug('defining route: ' + path); - newRoute.dictionary = 'core'; - appRouter.addRoute(path, newRoute); - } - - defineRoute({ - alias: '/addserver.html', - path: 'session/addServer/index.html', - autoFocus: false, - anonymous: true, - startup: true, - controller: 'session/addServer/index' - }); - - defineRoute({ - alias: '/selectserver.html', - path: 'session/selectServer/index.html', - autoFocus: false, - anonymous: true, - startup: true, - controller: 'session/selectServer/index', - type: 'selectserver' - }); - - defineRoute({ - alias: '/login.html', - path: 'session/login/index.html', - autoFocus: false, - anonymous: true, - startup: true, - controller: 'session/login/index', - type: 'login' - }); - - defineRoute({ - alias: '/forgotpassword.html', - path: 'session/forgotPassword/index.html', - anonymous: true, - startup: true, - controller: 'session/forgotPassword/index' - }); - - defineRoute({ - alias: '/forgotpasswordpin.html', - path: 'session/resetPassword/index.html', - autoFocus: false, - anonymous: true, - startup: true, - controller: 'session/resetPassword/index' - }); - - defineRoute({ - alias: '/wizardremoteaccess.html', - path: 'wizard/remote/index.html', - autoFocus: false, - anonymous: true, - controller: 'wizard/remote/index' - }); - - defineRoute({ - alias: '/wizardfinish.html', - path: 'wizard/finish/index.html', - autoFocus: false, - anonymous: true, - controller: 'wizard/finish/index' - }); - - defineRoute({ - alias: '/wizardlibrary.html', - path: 'wizard/library.html', - autoFocus: false, - anonymous: true, - controller: 'dashboard/library' - }); - - defineRoute({ - alias: '/wizardsettings.html', - path: 'wizard/settings/index.html', - autoFocus: false, - anonymous: true, - controller: 'wizard/settings/index' - }); - - defineRoute({ - alias: '/wizardstart.html', - path: 'wizard/start/index.html', - autoFocus: false, - anonymous: true, - controller: 'wizard/start/index' - }); - - defineRoute({ - alias: '/wizarduser.html', - path: 'wizard/user/index.html', - controller: 'wizard/user/index', - autoFocus: false, - anonymous: true - }); - - console.groupEnd('defining core routes'); - -/* eslint-enable indent */ From 482ac2c39fcd8fa7186ca1d327e8c86f93744468 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Mar 2023 15:56:52 +0000 Subject: [PATCH 40/42] Update Linters to v5.53.0 --- package-lock.json | 164 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8ba2c5dd1a..f3fb256907 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,8 +68,8 @@ "@types/lodash-es": "4.17.6", "@types/react": "17.0.53", "@types/react-dom": "17.0.19", - "@typescript-eslint/eslint-plugin": "5.52.0", - "@typescript-eslint/parser": "5.52.0", + "@typescript-eslint/eslint-plugin": "5.53.0", + "@typescript-eslint/parser": "5.53.0", "@uupaa/dynamic-import-polyfill": "1.0.2", "autoprefixer": "10.4.13", "babel-loader": "9.1.2", @@ -3175,14 +3175,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz", - "integrity": "sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz", + "integrity": "sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.52.0", - "@typescript-eslint/type-utils": "5.52.0", - "@typescript-eslint/utils": "5.52.0", + "@typescript-eslint/scope-manager": "5.53.0", + "@typescript-eslint/type-utils": "5.53.0", + "@typescript-eslint/utils": "5.53.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -3224,14 +3224,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz", - "integrity": "sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.53.0.tgz", + "integrity": "sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.52.0", - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/typescript-estree": "5.52.0", + "@typescript-eslint/scope-manager": "5.53.0", + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/typescript-estree": "5.53.0", "debug": "^4.3.4" }, "engines": { @@ -3251,13 +3251,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz", - "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz", + "integrity": "sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/visitor-keys": "5.52.0" + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/visitor-keys": "5.53.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3268,13 +3268,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz", - "integrity": "sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz", + "integrity": "sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.52.0", - "@typescript-eslint/utils": "5.52.0", + "@typescript-eslint/typescript-estree": "5.53.0", + "@typescript-eslint/utils": "5.53.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3295,9 +3295,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz", - "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.53.0.tgz", + "integrity": "sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3308,13 +3308,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz", - "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz", + "integrity": "sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/visitor-keys": "5.52.0", + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/visitor-keys": "5.53.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3379,16 +3379,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz", - "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.53.0.tgz", + "integrity": "sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.52.0", - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/typescript-estree": "5.52.0", + "@typescript-eslint/scope-manager": "5.53.0", + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/typescript-estree": "5.53.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -3420,12 +3420,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz", - "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz", + "integrity": "sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/types": "5.53.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -21355,14 +21355,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz", - "integrity": "sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz", + "integrity": "sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.52.0", - "@typescript-eslint/type-utils": "5.52.0", - "@typescript-eslint/utils": "5.52.0", + "@typescript-eslint/scope-manager": "5.53.0", + "@typescript-eslint/type-utils": "5.53.0", + "@typescript-eslint/utils": "5.53.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -21384,53 +21384,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz", - "integrity": "sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.53.0.tgz", + "integrity": "sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.52.0", - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/typescript-estree": "5.52.0", + "@typescript-eslint/scope-manager": "5.53.0", + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/typescript-estree": "5.53.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz", - "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz", + "integrity": "sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/visitor-keys": "5.52.0" + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/visitor-keys": "5.53.0" } }, "@typescript-eslint/type-utils": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz", - "integrity": "sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz", + "integrity": "sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.52.0", - "@typescript-eslint/utils": "5.52.0", + "@typescript-eslint/typescript-estree": "5.53.0", + "@typescript-eslint/utils": "5.53.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz", - "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.53.0.tgz", + "integrity": "sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz", - "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz", + "integrity": "sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/visitor-keys": "5.52.0", + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/visitor-keys": "5.53.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -21470,16 +21470,16 @@ } }, "@typescript-eslint/utils": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz", - "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.53.0.tgz", + "integrity": "sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.52.0", - "@typescript-eslint/types": "5.52.0", - "@typescript-eslint/typescript-estree": "5.52.0", + "@typescript-eslint/scope-manager": "5.53.0", + "@typescript-eslint/types": "5.53.0", + "@typescript-eslint/typescript-estree": "5.53.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -21497,12 +21497,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz", - "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==", + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz", + "integrity": "sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/types": "5.53.0", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { diff --git a/package.json b/package.json index fb09c8bbbc..5c70366b74 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "@types/lodash-es": "4.17.6", "@types/react": "17.0.53", "@types/react-dom": "17.0.19", - "@typescript-eslint/eslint-plugin": "5.52.0", - "@typescript-eslint/parser": "5.52.0", + "@typescript-eslint/eslint-plugin": "5.53.0", + "@typescript-eslint/parser": "5.53.0", "@uupaa/dynamic-import-polyfill": "1.0.2", "autoprefixer": "10.4.13", "babel-loader": "9.1.2", From 7b9ae31c6bc1ee2b79994abd9578917d6c5b5fe0 Mon Sep 17 00:00:00 2001 From: hoanghuy309 Date: Wed, 1 Mar 2023 15:38:56 +0000 Subject: [PATCH 41/42] Translated using Weblate (Vietnamese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/ --- src/strings/vi.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/strings/vi.json b/src/strings/vi.json index ad55122705..e4af70ebe1 100644 --- a/src/strings/vi.json +++ b/src/strings/vi.json @@ -1695,5 +1695,15 @@ "PreferEmbeddedExtrasTitlesOverFileNames": "Ưu tiên tiêu đề được nhúng hơn tên tệp cho các tính năng bổ sung", "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Phần bổ sung thường có cùng tên được nhúng với phần gốc, hãy kiểm tra điều này để sử dụng các tiêu đề được nhúng cho chúng.", "HeaderDummyChapter": "Hình Ảnh Phân Đoạn", - "HeaderRecordingMetadataSaving": "Dữ Liệu Mô Tả Bản Ghi" + "HeaderRecordingMetadataSaving": "Dữ Liệu Mô Tả Bản Ghi", + "SubtitleYellow": "Vàng", + "SubtitleBlack": "Đen", + "SubtitleBlue": "Xanh lam", + "SubtitleCyan": "Lục lam", + "SubtitleGray": "Xám", + "SubtitleGreen": "Xanh lá", + "SubtitleLightGray": "Xám Nhạt", + "SubtitleMagenta": "Đỏ Sậm", + "SubtitleRed": "Đỏ", + "SubtitleWhite": "Trắng" } From 417539eea948fa63307e6aacaff573daa7b6d25f Mon Sep 17 00:00:00 2001 From: hoanghuy309 Date: Thu, 2 Mar 2023 02:04:44 +0000 Subject: [PATCH 42/42] Translated using Weblate (Vietnamese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/ --- src/strings/vi.json | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/strings/vi.json b/src/strings/vi.json index e4af70ebe1..c52f73cf88 100644 --- a/src/strings/vi.json +++ b/src/strings/vi.json @@ -14,20 +14,20 @@ "FileNotFound": "Không tìm thấy tệp tin.", "FileReadCancelled": "Tệp đọc đã bị hủy.", "FileReadError": "Có một lỗi xảy ra khi đọc tệp tin này.", - "HeaderCustomDlnaProfiles": "Hồ sơ khách hàng", + "HeaderCustomDlnaProfiles": "Cấu Hình Tùy Chỉnh", "HeaderFeatureAccess": "Truy cập tính năng:", "HeaderFrequentlyPlayed": "Phát thường xuyên", "HeaderLatestEpisodes": "Tập Phim Thêm Gần Đây", "HeaderLatestMovies": "Phim Thêm Gần Đây", "HeaderRecentlyPlayed": "Phát gần đây", "HeaderStatus": "Trạng thái", - "HeaderSystemDlnaProfiles": "Hồ sơ hệ thống", + "HeaderSystemDlnaProfiles": "Cấu Hình Hệ Thống", "HeaderUsers": "Người dùng", "LabelAudioLanguagePreference": "Ngôn ngữ thoại ưa thích:", "LabelCountry": "Quốc gia:", "LabelCurrentPassword": "Mật khẩu hiện tại:", "LabelDay": "Ngày trong tuần:", - "LabelEnableDlnaPlayTo": "Bật tính năng 'Phát tới' DLNA", + "LabelEnableDlnaPlayTo": "Bật tính năng 'Phát Với' DLNA", "LabelEvent": "Sự kiện:", "LabelFinish": "Xong", "LabelLanguage": "Ngôn ngữ:", @@ -175,7 +175,7 @@ "DeathDateValue": "Đã chết: {0}", "DatePlayed": "Ngày phát", "DateAdded": "Ngày thêm", - "CustomDlnaProfilesHelp": "Tạo một bộ thiết lập tuỳ chọn dành cho một thiết bị mới hoặc thay thế một thiết lập hệ thống.", + "CustomDlnaProfilesHelp": "Tạo cấu hình tùy chỉnh nhắm đến thiết bị mới hoặc ghi đè cấu hình hệ thống.", "CriticRating": "Đánh giá của nhà phê bình", "CopyStreamURLSuccess": "Đã sao chép URL thành công.", "CopyStreamURL": "Sao chép URL luồng phát", @@ -254,7 +254,7 @@ "HeaderDateIssued": "Ngày Phát Hành", "HeaderContinueWatching": "Xem Tiếp", "HeaderContinueListening": "Tiếp Tục Nghe", - "HeaderCodecProfileHelp": "Hồ sơ mã hóa chỉ ra những kiểu mã hoá nhất định mà một thiết bị có thể phát. Nếu một nội dung không thể phát, nó sẽ được chuyển mã, thậm chí nếu kiểu mã hoá đó được cấu hình để phát lại trực tiếp.", + "HeaderCodecProfileHelp": "Cấu hình mã hóa cho biết các giới hạn của thiết bị khi phát các bộ mã hóa. Nếu giới hạn được áp dụng thì phương tiện sẽ được chuyển mã, ngay cả khi bộ mã hóa được cấu hình để phát lại trực tiếp.", "HeaderContainerProfileHelp": "Cấu hình vùng chứa cho biết các giới hạn của thiết bị khi phát các định dạng cụ thể. Nếu giới hạn được áp dụng thì phương tiện sẽ được chuyển mã, ngay cả khi định dạng được định cấu hình để phát lại trực tiếp.", "HeaderContainerProfile": "Hồ Sơ Định Dạng", "HeaderConnectionFailure": "Kế Nối Thất Bại", @@ -452,9 +452,9 @@ "HeaderTracks": "Bản ghi", "HeaderThisUserIsCurrentlyDisabled": "Người dùng này hiện tại đang bị khoá", "HeaderTaskTriggers": "Kích Hoạt Tác Vụ", - "HeaderSubtitleProfilesHelp": "Hồ sơ phụ đề chỉ ra những định dạng phụ đề được hỗ trợ bởi thiết bị phát.", - "HeaderSubtitleProfiles": "Hồ Sơ Phụ Đề", - "HeaderSubtitleProfile": "Hồ Sơ Phụ Đề", + "HeaderSubtitleProfilesHelp": "Cấu hình phụ đề chỉ ra những định dạng phụ đề được hỗ trợ bởi thiết bị phát.", + "HeaderSubtitleProfiles": "Cấu Hình Phụ Đề", + "HeaderSubtitleProfile": "Cấu Hình Phụ Đề", "HeaderSubtitleDownloads": "Tải Phụ Đề", "HeaderSubtitleAppearance": "Giao Diện Phụ Đề", "HeaderStopRecording": "Ngừng Ghi Hình/Ghi Âm", @@ -503,7 +503,7 @@ "LabelAlbumArtPN": "Bìa Tuyển Tập PN:", "LabelAlbumArtMaxWidth": "Chiều rộng tối đa bìa tuyển tập:", "LabelAlbumArtMaxHeight": "Chiều cao tối đa bìa tuyển tập:", - "LabelAlbumArtHelp": "PN được sử dụng cho bìa tuyển tập, trong 'dlna:profileID' thuộc tính upnp:albumArtURI. Một vài thiết bị phát cần một giá trị đặc biệt, không ảnh hưởng đến kích thước của hình ảnh.", + "LabelAlbumArtHelp": "PN được dùng cho ảnh bìa album, trong thuộc tính 'dlna:profileID' trên 'upnp:albumArtURI'. Một số thiết bị yêu cầu một giá trị cụ thể, bất kể kích thước của hình ảnh.", "LabelAlbum": "Tuyển Tập:", "LabelAirsBeforeSeason": "Phát sóng trước phần:", "LabelAirsBeforeEpisode": "Phát sóng trước tập:", @@ -544,8 +544,8 @@ "HeaderTypeImageFetchers": "Trình tìm nạp hình ảnh ({0}):", "HeaderTuners": "Bộ Điều Khiển Thu Phát Sóng", "HeaderTunerDevices": "Thiết Bị Dò", - "HeaderTranscodingProfileHelp": "Thêm hồ sơ chuyển mã để chỉ ra những định dạng nên dùng khi cần chuyển mã.", - "HeaderTranscodingProfile": "Hồ Sơ Chuyển Mã", + "HeaderTranscodingProfileHelp": "Thêm cấu hình chuyển mã để cho biết định dạng nào sẽ được sử dụng khi cần chuyển mã.", + "HeaderTranscodingProfile": "Cấu Hình Chuyển Mã", "LabelEnableAutomaticPortMap": "Kích hoạt tính năng tự động kết nối các port", "LabelEmbedAlbumArtDidlHelp": "Một số thiết bị thích cách này hơn để tải ảnh bìa album. Số khác có thể bị lỗi nếu tuỳ chọn này được bật.", "LabelEmbedAlbumArtDidl": "Bìa tuyển tập trong DIDL", @@ -567,7 +567,7 @@ "LabelDidlMode": "Chế độ DIDL:", "LabelDeviceDescription": "Mô tả thiết bị:", "LabelDeinterlaceMethod": "Phương pháp khử xen kẽ:", - "LabelDefaultUserHelp": "Xác định thư viện người dùng sẽ hiển thị trên các thiết bị được kết nối. Tuỳ chọn này có thể được ghi đè trên hồ sơ của từng thiết bị.", + "LabelDefaultUserHelp": "Xác định thư viện người dùng sẽ hiển thị trên các thiết bị được kết nối. Điều này có thể được ghi đè trên cấu hình từng thiết bị.", "LabelDefaultUser": "Người dùng mặc định:", "LabelDefaultScreen": "Màn hình mặc định:", "LabelDeathDate": "Ngày mất:", @@ -590,10 +590,10 @@ "LabelEnableHttps": "Bật HTTPS", "LabelEnableHardwareDecodingFor": "Bật giải mã phần cứng cho:", "LabelEnableDlnaServerHelp": "Cho phép các thiết bị UPnP trong mạng của bạn duyệt và phát nội dung.", - "LabelEnableDlnaServer": "Bật tính năng máy chủ DLNA", + "LabelEnableDlnaServer": "Bật máy chủ DLNA", "LabelEnableDlnaPlayToHelp": "Phát hiện các thiết bị trong mạng của bạn và cung cấp khả năng điều khiển chúng từ xa.", "LabelEnableDlnaDebugLoggingHelp": "Tạo tệp nhật ký lớn và chỉ nên dùng khi cần thiết để xử lý sự cố.", - "LabelEnableDlnaDebugLogging": "Bật tính năng gỡ lỗi DLNA", + "LabelEnableDlnaDebugLogging": "Bật ghi nhật ký gỡ lỗi DLNA", "LabelEnableDlnaClientDiscoveryIntervalHelp": "Xác định thời gian tính bằng giây giữa hai lần tìm kiếm SSDP.", "LabelEnableDlnaClientDiscoveryInterval": "Thời gian dò tìm máy khách:", "LabelEnableBlastAliveMessagesHelp": "Bật cái này nếu máy chủ không được các thiết bị UPnP khác trên mạng của bạn tìm ra một cách đáng tin cậy.", @@ -837,7 +837,7 @@ "LabelProfileVideoCodecs": "Mã hóa video:", "LabelProfileContainersHelp": "Phân cách bằng dấu phẩy. Để trống để áp dụng cho tất cả các định dạng.", "LabelProfileContainer": "Định dạng:", - "LabelProfileCodecsHelp": "Phân cách bằng dấu phẩy. Điều này có thể được để trống để áp dụng cho tất cả các mã hóa.", + "LabelProfileCodecsHelp": "Phân cách bằng dấu phẩy. Có thể để trống để dùng tất cả các mã hóa.", "LabelProfileCodecs": "Mã hóa:", "LabelProfileAudioCodecs": "Mã hóa âm thanh:", "LabelPreferredSubtitleLanguage": "Ngôn ngữ phụ đề ưu tiên:", @@ -1271,7 +1271,7 @@ "Transcoding": "Chuyển mã", "Trailers": "Đoạn giới thiệu", "TabAccess": "Truy cập", - "SystemDlnaProfilesHelp": "Cấu hình hệ thống ở chế độ chỉ đọc. Các thay đổi đối với cấu hình hệ thống sẽ được lưu vào cấu hình tùy chỉnh mới.", + "SystemDlnaProfilesHelp": "Cấu hình hệ thống ở chế độ chỉ đọc. Thay đổi cấu hình hệ thống sẽ được lưu vào cấu hình tùy chỉnh mới.", "Sports": "Thể thao", "SpecialFeatures": "Các tính năng đặc biệt", "SortName": "Sắp xếp tên", @@ -1532,7 +1532,7 @@ "InterlacedVideoNotSupported": "Video xen kẽ không được hỗ trợ", "AnamorphicVideoNotSupported": "Video Anamorphic không được hỗ trợ", "AudioSampleRateNotSupported": "Tốc độ mẫu của âm thanh không được hỗ trợ", - "AudioProfileNotSupported": "Cấu hình của mã hóa âm thanh không được hỗ trợ", + "AudioProfileNotSupported": "Cấu hình mã hóa âm thanh không được hỗ trợ", "VideoResolutionNotSupported": "Độ phân giải của video không được hỗ trợ", "AudioChannelsNotSupported": "Số kênh âm thanh không được hỗ trợ", "AudioBitrateNotSupported": "Tốc độ bit của âm thanh không được hỗ trợ",