Compare commits

..

2166 Commits

Author SHA1 Message Date
Joshua M. Boniface
fc461a830d Fix Release ref for Fedora 2020-08-30 16:45:54 -04:00
Joshua M. Boniface
e6e5f38a0d Bump version to 10.6.4 2020-08-30 16:45:40 -04:00
dkanada
756e322e1c Merge pull request #1820 from thornbill/fix-guide-margin
Remove horizontal margins on guide

(cherry picked from commit 9e3a27266c)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-30 16:15:07 -04:00
Anthony Lavado
c9ed8c750e Merge pull request #1823 from thornbill/extra-blury
Set background color on blurhash image load

(cherry picked from commit 5a2c0beec5)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-30 16:14:54 -04:00
Joshua M. Boniface
5f1af65c2e Merge pull request #1849 from brianjmurrell/patch-1
Add BuildRequires: git to Fedora specfile
2020-08-30 16:05:29 -04:00
Brian J. Murrell
ff88922f19 Add BuildRequires: git to Fedora specfile
Sadly the yarn RPM at https://dl.yarnpkg.com/rpm/ uses git but doesn't
add it as a BuildRequires:.

This really should be reported upstream at yarnpkg.com.

Signed-off-by: Brian J. Murrell <brian@interlinx.bc.ca>
2020-08-27 12:29:07 -04:00
dkanada
47700dc29c Merge pull request #1818 from dmitrylyzo/fix-non-es6
Fix non-ES6 import [10.6.z]
2020-08-18 23:15:12 +09:00
Dmitry Lyzo
c2ebc35080 Fix non-ES6 import 2020-08-18 15:01:41 +03:00
Joshua M. Boniface
d040177525 Bump version to 10.6.3 2020-08-16 19:48:04 -04:00
dkanada
cac6b42dab Merge pull request #1799 from matjaz321/checkbox-space-ff-issue
Hitting space to check/uncheck checkboxes doesn't work on firefox

(cherry picked from commit fea28f7277)
2020-08-16 19:47:09 -04:00
dkanada
15e9b645f2 Merge pull request #1794 from bugfixin/master
Remove extraneous pageContainer element from videoOSD

(cherry picked from commit 926f1cbbcc)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-16 19:29:20 -04:00
dkanada
1833b348e9 Merge pull request #1748 from dmitrylyzo/fix-old-edge
Fix old Edge loading

(cherry picked from commit 73e3a94755)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-16 19:29:17 -04:00
dkanada
ccb74610aa Merge pull request #1542 from dmitrylyzo/fix-osd-lock
Fix OSD lock

(cherry picked from commit 04b2763447)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-16 19:21:38 -04:00
Joshua M. Boniface
5c37ee6276 Bump version to 10.6.2 2020-08-02 20:26:00 -04:00
dkanada
e25721cb34 Merge pull request #1734 from dmitrylyzo/fix-plugin-configuration
Fix injecting of view with embedded script

(cherry picked from commit 6607718edb)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:24:11 -04:00
dkanada
f11b27fc14 Merge pull request #1701 from MrTimscampi/mobile-logo
Use emblem when loading on mobile

(cherry picked from commit 60d9af0d75)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:48 -04:00
dkanada
26d29dc2cb Merge pull request #1686 from Larvitar/master
Fix issue with nowplaying page when item.Album or item.Artists are null.

(cherry picked from commit b1aa18e7e7)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:48 -04:00
Anthony Lavado
537b3a3351 Merge pull request #1684 from thornbill/fix-ios-fullscreeen
Fix fullscreen video in iOS Safari

(cherry picked from commit 9b6a90ffdd)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
dkanada
ab58d3c3a1 Merge pull request #1681 from jellyfin/book-paging
Add paging in book player with touch events

(cherry picked from commit cefdde1848)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
dkanada
e7be594b8f Merge pull request #1678 from jellyfin/banner
Fix banner height and use primary image as fallback

(cherry picked from commit 34d0b67f0e)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
dkanada
229294aecc Merge pull request #1672 from MrTimscampi/browsers
Adjust target browsers

(cherry picked from commit feab1aca89)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
dkanada
e41c1854d0 Merge pull request #1669 from joshuaboniface/fix-ci-docker
Flip quoting in variable set command

(cherry picked from commit 40b98bb3d4)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
Anthony Lavado
e355fcdac0 Merge pull request #1667 from joshuaboniface/fix-ci-docker
Get and tag with actual release version in CI

(cherry picked from commit 2c53a329e7)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
dkanada
453d225c84 Merge pull request #1665 from joshuaboniface/fix-bump-version
Fix bump_version so it works properly

(cherry picked from commit c8966a7f7d)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
dkanada
ec9ab39d26 Merge pull request #1656 from dmitrylyzo/fix-plugin-install
Fix CircleOfDeath on plugin install

(cherry picked from commit 89e584686e)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-02 20:15:47 -04:00
Joshua M. Boniface
c2d9ca2af9 Fix bad Debian package name in changelog 2020-07-27 18:57:44 -04:00
Joshua M. Boniface
eba30bda75 Bump version to 10.6.1 2020-07-27 18:30:12 -04:00
Anthony Lavado
5c9847468f Merge pull request #1662 from dmitrylyzo/fix-ios-transcode
Add h264 codec profile for TS container

(cherry picked from commit 58198df5ce)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:19:52 -04:00
Joshua M. Boniface
027cb4f744 Merge pull request #1660 from nyanmisaka/edge-chromium
Fix mkv directplay on Edge chromium

(cherry picked from commit 0408ff0867)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:21 -04:00
dkanada
37cde45d12 Merge pull request #1641 from dmitrylyzo/fix-event-source-2
Fix event source for inputManager in case of multiple open dialogs

(cherry picked from commit f5e93a18de)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:21 -04:00
dkanada
875c4e0882 Merge pull request #1632 from dmitrylyzo/remove-leftovers-1
Remove debug leftovers

(cherry picked from commit 71646b6131)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:21 -04:00
dkanada
ee9d651246 Merge pull request #1628 from dmitrylyzo/fix-webos3
Use NodeList instead of HTMLCollection

(cherry picked from commit 5bc2d567ab)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:20 -04:00
dkanada
7f133ff8cd Merge pull request #1627 from rom4nik/master
Fix required track count for subtitle selector to appear

(cherry picked from commit 120ce4f0ff)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:20 -04:00
dkanada
76f9b2c741 Merge pull request #1625 from MrTimscampi/syncplay-version-check
Add version check for SyncPlay

(cherry picked from commit 03a9e73b3b)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:20 -04:00
Bond-009
51768eb119 Merge pull request #1624 from MrTimscampi/apiclient-update
Update apiclient to 1.4.1

(cherry picked from commit 930197ac9e)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:20 -04:00
dkanada
cdaf03a769 Merge pull request #1620 from MrTimscampi/metadata-more-fix
Restore More button in metadata editor

(cherry picked from commit 995cbdde16)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:20 -04:00
dkanada
f1acfda7d2 Merge pull request #1612 from Maxr1998/master
Add support for seeking with milliseconds

(cherry picked from commit 6b45755480)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:20 -04:00
dkanada
fef30a0be3 Merge pull request #1595 from jellyfin/error
Fix issue with sync menu and excessive logging

(cherry picked from commit 7c2472785b)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-07-27 18:11:20 -04:00
Adam Bokor
b3fb64f114 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-07-19 08:28:11 -04:00
nextlooper42
616970e796 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-07-19 07:37:14 -04:00
LinFor
d7142955f9 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-07-19 04:12:28 -04:00
dkanada
56400a8d01 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/
2020-07-19 01:28:22 -04:00
dkanada
baa6c65946 Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-07-19 00:59:15 -04:00
dkanada
3f99f35037 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/
2020-07-19 00:59:15 -04:00
Luis Dominguez
8b942d089a Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-07-19 00:59:15 -04:00
Nicolas Kheirallah
f9ba67f146 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-07-18 15:23:11 -04:00
Jiacheng Hou
4f6de69ad8 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-07-18 14:24:05 -04:00
Jiacheng Hou
118c9d3df5 Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-07-18 14:24:04 -04:00
Sverre
778816033b Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nb_NO/
2020-07-18 14:24:04 -04:00
orgrinrt
dbcc35db63 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-07-18 10:19:32 -04:00
Emilio
a2ac8353fa Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-07-17 14:03:00 -04:00
David
61a5ffcf8a Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-07-17 10:03:36 -04:00
dkanada
cf2357dad3 Merge pull request #1437 from ferferga/header-css
CSS fixes when resizing library browser
2020-07-17 20:47:16 +09:00
DeathGambit
ba118a6974 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hi/
2020-07-17 07:41:50 -04:00
David
026d94d251 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-07-17 07:41:50 -04:00
David
09d072a4ce Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-07-17 07:25:20 -04:00
Moritz
cd2cab99ef Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-07-17 07:25:20 -04:00
DeathGambit
8f88db5c2a Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hi/
2020-07-17 05:39:15 -04:00
Daisuke Inoue
ef09c661c3 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-07-17 03:10:46 -04:00
Daisuke Inoue
1f3bc87409 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-07-17 02:54:50 -04:00
Daisuke Inoue
c3349dfe24 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-07-17 02:47:13 -04:00
dkanada
05a72cadd5 Merge pull request #1579 from jellyfin/dependabot/npm_and_yarn/lodash-4.17.19
Bump lodash from 4.17.15 to 4.17.19
2020-07-17 15:24:08 +09:00
Joshua M. Boniface
f4db8703b2 Merge pull request #1571 from jellyfin/repeated-fav
Remove repeated fav icon in remotecontrol in desktop layout
2020-07-16 22:32:20 -04:00
dependabot[bot]
73f88b840c Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-17 00:54:14 +00:00
dkanada
d430ad96b3 Merge pull request #1578 from dmitrylyzo/slider-input
Change volume slider event
2020-07-17 06:45:57 +09:00
dkanada
1450e24862 Merge pull request #1573 from MrTimscampi/minor-fixes
Minor fixes
2020-07-17 06:42:30 +09:00
dkanada
3e03b898db Merge pull request #1575 from thornbill/fix-ios-footer
Remove iOS footer hack
2020-07-17 06:34:35 +09:00
Dmitry Lyzo
5519d11d4d Change volume slider event 2020-07-16 23:48:35 +03:00
MrTimscampi
157bc178f5 Fix selector error in remotecontrol 2020-07-16 20:00:33 +02:00
Julien Machiels
dbb02275af Update src/controllers/itemDetails/index.js
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-07-16 19:00:27 +02:00
Anthony Lavado
b08a0885ed Merge pull request #1574 from thornbill/fix-light-headers
Fix lighter header/footer background color
2020-07-16 12:00:17 -04:00
MrTimscampi
3c37a57866 Fix suggestions 2020-07-16 17:25:36 +02:00
Bill Thornton
94f1a5aad5 Remove iOS footer hack 2020-07-16 11:24:30 -04:00
Bill Thornton
d662134cfb Fix lighter header/footer background color 2020-07-16 10:51:41 -04:00
MrTimscampi
eafb851c40 Fix quality settings for images 2020-07-16 16:03:36 +02:00
MrTimscampi
fe91b4a695 Fix play button on search results on mobile 2020-07-16 15:43:41 +02:00
ADRI IDZWAN MANSOR
af11f8b3b7 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ms/
2020-07-16 09:43:38 -04:00
MrTimscampi
4c95485835 Don't play songs unless clicking on play in search results 2020-07-16 15:27:20 +02:00
MrTimscampi
8c406176fb Change image action from resume to link 2020-07-16 15:27:20 +02:00
MrTimscampi
c4a1677523 Fix image size used on main item card 2020-07-16 15:27:20 +02:00
dumais1112
0989b5222c Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
2020-07-15 22:53:50 -04:00
Viperinius
1aeedf0fd0 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-07-15 16:06:12 -04:00
Fernando Fernández
3e14818374 Remove repeated fav icon in remotecontrol in desktop layout 2020-07-15 17:16:43 +02:00
Fernando Fernández
aca4c16272 Remove scrollbar on Firefox and mobile 2020-07-15 13:38:51 +02:00
Nyanmisaka
57ba9a8233 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-07-15 00:54:07 -04:00
Martim Pinheiro
5a950d36b8 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/
2020-07-14 23:05:05 -04:00
Fernando Fernández
0bdd88b958 Address review comments 2020-07-15 00:33:18 +02:00
dkanada
80c700cc71 Merge pull request #1551 from jellyfin/history
Fix some style issues on item details and now playing
2020-07-14 18:02:16 +09:00
dkanada
585b1cf5f4 Merge pull request #1559 from jellyfin/dependabot/npm_and_yarn/whatwg-fetch-3.2.0
Bump whatwg-fetch from 3.1.0 to 3.2.0
2020-07-14 18:01:32 +09:00
dkanada
ee35f089fd remove overlay class for now 2020-07-14 16:51:27 +09:00
Anthony Lavado
cbb4832926 Merge pull request #1563 from joshuaboniface/fix-azure-fuckery
Explicitly add what Azure used to do implicitly
2020-07-13 15:36:47 -04:00
Joshua M. Boniface
f2fdbe9176 Explicitly add what Azure used to do implicitly
... before they changed it on us out of nowhere.
2020-07-13 14:34:20 -04:00
dkanada
b10c2ed88f Merge pull request #1557 from jellyfin/dependabot/npm_and_yarn/autoprefixer-9.8.5
Bump autoprefixer from 9.8.4 to 9.8.5
2020-07-14 03:06:52 +09:00
dependabot-preview[bot]
19c25ae566 Bump whatwg-fetch from 3.1.0 to 3.2.0
Bumps [whatwg-fetch](https://github.com/github/fetch) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/github/fetch/releases)
- [Commits](https://github.com/github/fetch/compare/v3.1.0...v3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-13 13:38:30 +00:00
dependabot-preview[bot]
b30bfc496f Bump autoprefixer from 9.8.4 to 9.8.5
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.4 to 9.8.5.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.4...9.8.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-13 13:37:36 +00:00
fernando012
effb75145f Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-07-13 03:34:16 -04:00
dkanada
03a00fc612 add code suggestions 2020-07-13 01:21:46 +09:00
Franco Castillo
3dfc370012 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-07-11 20:54:22 -04:00
dkanada
aa9059d077 fix some css issues with now playing bar 2020-07-12 06:09:57 +09:00
dkanada
868dfff829 hide play button for now 2020-07-12 04:48:38 +09:00
dkanada
11e675de58 fix two minor issues 2020-07-12 04:24:45 +09:00
dkanada
c0d71f9bff Merge pull request #1541 from Influence365/add-toast-1
Migration of display, home, playback and subtitles to ES6 modules and small fixes
2020-07-11 23:32:22 +09:00
Cameron
df2af2a6ef remove autosave and update variable declerations 2020-07-11 14:57:41 +01:00
Cameron
8af1142000 migration of display, home, playback and subtitles to ES6 modules 2020-07-11 14:56:06 +01:00
dkanada
21ca0ec23d Merge pull request #1544 from Influence365/dashboard-bug-fixes
Dashboard Styling Bug fixes (add library text cut off, css textbox, and too long last seen text)
2020-07-11 22:37:18 +09:00
Cameron
cc1634e9f9 update 2020-07-11 14:10:12 +01:00
Quentin
92afa211c8 Translated using Weblate (Pirate)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pr/
2020-07-11 02:56:58 -04:00
Alan Beale
0436d19501 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/
2020-07-10 14:11:16 -04:00
Is
b730891943 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-07-10 09:25:14 -04:00
Alan Beale
379b4766e5 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/
2020-07-10 09:25:13 -04:00
lelamamalgache
11b6389534 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-07-09 19:23:31 -04:00
Cameron
2a5b89d775 Merge branch 'dashboard-bug-fixes' of https://github.com/Influence365/jellyfin-web into dashboard-bug-fixes 2020-07-09 22:24:08 +01:00
Cameron
107e4c273e fix lint 2020-07-09 22:22:29 +01:00
Cameron
6d6e002bd4 fix lint 2020-07-09 22:19:00 +01:00
Cameron
0695c8c7a8 bug fixes 2020-07-09 21:44:49 +01:00
dkanada
c0d8b903c8 Merge pull request #1534 from MrTimscampi/syncplay-better-api
Use new SyncPlay API client
2020-07-10 05:28:42 +09:00
MrTimscampi
6cf9cf6632 Upgrade jellyfin-apiclient 2020-07-09 22:23:50 +02:00
lelamamalgache
9f0dfb4756 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-07-08 20:43:34 -04:00
rhythm493
09a303a428 Translated using Weblate (Marathi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/mr/
2020-07-08 14:04:33 -04:00
Michael Epstein
6139d936e2 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-07-07 19:02:52 -04:00
rom4nik
97baba6fe5 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/
2020-07-07 19:02:51 -04:00
Michael Epstein
316f55bf5d Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-07-07 19:02:50 -04:00
MrTimscampi
2a15569e57 Use new SyncPlay API client 2020-07-07 18:20:53 +02:00
dkanada
7dd2c61526 Merge pull request #1521 from jellyfin/dependabot/npm_and_yarn/intersection-observer-0.11.0
Bump intersection-observer from 0.10.0 to 0.11.0
2020-07-07 17:48:54 +09:00
dependabot-preview[bot]
7727e23009 Bump intersection-observer from 0.10.0 to 0.11.0
Bumps [intersection-observer](https://github.com/w3c/IntersectionObserver) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/w3c/IntersectionObserver/releases)
- [Commits](https://github.com/w3c/IntersectionObserver/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 08:12:43 +00:00
dkanada
cdc4749f84 Merge pull request #1528 from jellyfin/dependabot/npm_and_yarn/hls.js-0.14.0
Bump hls.js from 0.13.2 to 0.14.0
2020-07-07 17:10:11 +09:00
dkanada
5ea152f8c6 Merge pull request #1532 from Influence365/fix-curvy-corners
Further fixes for purplehaze and AppleTV
2020-07-07 10:51:47 +09:00
dkanada
7bba5f07ac Merge pull request #1531 from MrTimscampi/provider-name
Adjust text selection rules and add provider name to identification results
2020-07-07 10:49:45 +09:00
Influence365
b809928bc4 Update src/themes/appletv/theme.css
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-07-06 21:46:16 +01:00
Cameron
1f97eedfbc fix lint 2020-07-06 20:59:00 +01:00
MrTimscampi
45a2a9b095 Fix duplicated rule 2020-07-06 20:55:04 +02:00
MrTimscampi
5e8421e625 Add provider name to identification results 2020-07-06 20:45:49 +02:00
MrTimscampi
d0e2d0c91b Adjust text selection rules 2020-07-06 20:45:31 +02:00
Cameron
ca1992ce74 fixes for purplehaze and AppleTV (for slow mode) 2020-07-06 19:23:08 +01:00
Fernando Fernández
25b96643cf Fix TV layout 2020-07-06 19:44:04 +02:00
pc-v2
df0f266ef0 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/id/
2020-07-06 13:02:53 -04:00
dependabot-preview[bot]
2f4be1f04f Bump hls.js from 0.13.2 to 0.14.0
Bumps [hls.js](https://github.com/video-dev/hls.js) from 0.13.2 to 0.14.0.
- [Release notes](https://github.com/video-dev/hls.js/releases)
- [Changelog](https://github.com/video-dev/hls.js/blob/master/docs/release-process.md)
- [Commits](https://github.com/video-dev/hls.js/compare/v0.13.2...v0.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-06 13:12:56 +00:00
Joshua M. Boniface
8fca6058e7 Merge pull request #1516 from MrTimscampi/update-deps
Update deps
2020-07-06 09:08:54 -04:00
SosoPlayz
ff6a8af234 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-07-06 08:53:15 -04:00
dkanada
892f4eb9f2 Merge pull request #1519 from Influence365/fix-curvy-corners
Fixing Border radius and light theme improvements
2020-07-06 21:19:10 +09:00
Cameron
6c8c82f75d fix lint 2020-07-06 11:37:29 +01:00
Cameron
8e4d672c7b a variety of theme based fixes 2020-07-06 11:26:40 +01:00
Daisuke Inoue
242413ab18 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-07-05 11:09:59 -04:00
orgrinrt
0abdaae863 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-07-05 11:09:58 -04:00
MrTimscampi
dc60416a7b Let webpack run Babel on xmldom 2020-07-05 13:40:12 +02:00
MrTimscampi
d709aec75b Remove leftover ccomment 2020-07-05 13:30:55 +02:00
MrTimscampi
a5ee5b06aa Fix linting errors due to updates 2020-07-05 12:54:25 +02:00
MrTimscampi
da8c5fa224 Remove document-register-element 2020-07-05 12:06:53 +02:00
dkanada
a4ea5b4319 Merge pull request #1509 from MrTimscampi/fix-blurhashh-listview
Remove blurhash from listView
2020-07-05 13:58:00 +09:00
Daisuke Inoue
12818fbda0 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-07-04 23:22:05 -04:00
Daisuke Inoue
805cef5aa0 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-07-04 22:38:48 -04:00
carlocastoldi
3e26b74f6c Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-07-04 17:33:07 -04:00
carlocastoldi
ec01e3fac5 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-07-04 17:16:01 -04:00
carlocastoldi
ecf3b0cc82 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-07-04 17:15:26 -04:00
WWWesten
2e06cb7584 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-07-04 15:04:50 -04:00
MrTimscampi
cc30828734 Revert "Bump shaka-player from 2.5.13 to 3.0.1"
This reverts commit 4178f07e97.
2020-07-04 20:43:59 +02:00
MrTimscampi
15ba9b360d Update dependencies 2020-07-04 20:43:56 +02:00
dkanada
15432e4954 Merge pull request #1506 from jellyfin/missing-placeholders
Add missing placeholder icons
2020-07-05 00:28:12 +09:00
Nyanmisaka
87222f7737 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-07-04 10:44:08 -04:00
Fernando
1bb7edb08d Replace icon with view_list 2020-07-04 16:04:59 +02:00
Muráncsik Sebestyén
d7022848b2 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-07-04 09:21:25 -04:00
kfir
dbf5aa2ef2 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/
2020-07-04 08:33:06 -04:00
Adam Bokor
6ee3a2794e Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-07-04 05:12:47 -04:00
dkanada
0849ea77d8 Merge pull request #1510 from MrTimscampi/fix-playback-stop
Fix back button not stopping video playback
2020-07-04 01:54:41 +09:00
MrTimscampi
e368271c8a Fix back button not stopping video playback 2020-07-03 17:39:53 +02:00
MrTimscampi
fef24c24e2 Remove blurhash from listView
As-is, correctly implementing blurhash on the listView would lead to significant changes to listView itself, to cardBuilder and to various places calling listView.
As a hotfix for 10.6, it is less invasive to revert the changes adding blurhash to listView and to postpone adding it to that component in 10.7, by removing the custom image creationg in order to use a card.
2020-07-03 17:21:53 +02:00
nextlooper42
5f0836fd5b Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-07-03 08:50:13 -04:00
Fernando Fernández
173f651533 Add missing photo album placeholder 2020-07-03 09:59:58 +02:00
Andrey
8dd15821d4 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-07-03 00:59:49 -04:00
Vitorvlv
b4b6a1c6fd Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-07-02 16:33:19 -04:00
Lukáš Kucharczyk
4605999bab Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-07-02 16:33:19 -04:00
Fernando Fernández
e4f23db875 Add missing placeholder icons 2020-07-02 19:20:47 +02:00
Joshua M. Boniface
995b376bc4 Merge pull request #1430 from jellyfin/nowplaying-hotfixes
Player hotfixes and improvements
2020-07-02 12:09:17 -04:00
Oliver Campling
17b97a4c78 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-07-02 05:06:18 -04:00
dkanada
381c374905 Merge pull request #1504 from MrTimscampi/highlight
Prevent text selection
2020-07-02 12:54:29 +09:00
Alexander Brissman
2690ec4d18 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nb_NO/
2020-07-01 20:40:50 -04:00
Fernando Fernández
96acbc0307 Update playlist visually when queuing items 2020-07-02 00:54:27 +02:00
MrTimscampi
1e02ae1855 Prevent text selection 2020-07-01 23:04:54 +02:00
Alexander Brissman
ec41a8b57d Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nb_NO/
2020-07-01 17:04:10 -04:00
Kiina
a5b6feefd4 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-07-01 14:51:03 -04:00
Fernando
f44a8bb6be Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-07-01 13:16:15 -04:00
Viperinius
9277e1f951 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-07-01 13:16:15 -04:00
Joshua M. Boniface
59eed728de Merge pull request #1498 from MrTimscampi/blurhash-perf
Improve blurhash performance
2020-07-01 11:42:13 -04:00
Fernando
a715bd8e6a Improve syntax
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-07-01 17:04:15 +02:00
ferferga
b4d4b4fab9 Context menu option parity between miniplayer and fullscreen player 2020-07-01 16:04:49 +02:00
ferferga
08a995fe2c Add 'Clear Queue' option 2020-07-01 15:54:51 +02:00
ferferga
737341934a Add stop playback option in mobile's layout context menu 2020-07-01 15:05:08 +02:00
Fernando
21b17e8097 Focus contextbutton after update if focused beforehand
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-07-01 13:22:56 +02:00
Adam Bokor
a28cbe4116 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-07-01 04:32:47 -04:00
dkanada
66beadea61 Merge pull request #1497 from MrTimscampi/splash
Add defered appLoader and splash screen
2020-07-01 14:15:09 +09:00
Zyzto
95978564fe Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-06-30 20:44:32 -04:00
MrTimscampi
f6fc874ebe Prefix splash properties 2020-06-30 22:16:32 +02:00
Fernando
0d5041910d Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-06-30 15:03:33 -04:00
ferferga
5626380d7f Revert changes caused by faulty API changes (jellyfin/jellyfin#3435) 2020-06-30 20:16:14 +02:00
ferferga
647cc72767 Merge remote-tracking branch 'upstream/master' into nowplaying-hotfixes 2020-06-30 20:14:41 +02:00
ferferga
82fa5f554c Address review comments and keep focus on playlist update 2020-06-30 19:28:52 +02:00
dkanada
beb9bebce5 Merge pull request #1496 from dmitrylyzo/keydown-bubbling
Rearrange keydown event handling
2020-07-01 02:06:54 +09:00
4d1m
e3dfb05557 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-06-30 06:14:56 -04:00
4d1m
7401689460 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-06-30 04:40:51 -04:00
MrTimscampi
0766d360c1 Move check outside of loop 2020-06-30 00:10:13 +02:00
MrTimscampi
c70ba48082 Adjust blurhash entry animation timing 2020-06-29 23:57:56 +02:00
MrTimscampi
0361a2d58d Fix blurhash entry animation 2020-06-29 23:57:05 +02:00
MrTimscampi
5924c17c72 Improve blurhash performance 2020-06-29 23:38:46 +02:00
Joshua M. Boniface
6ca47a891b Merge pull request #1475 from crobibero/syncplay-api
remove sessionId parameter from api calls
2020-06-29 14:59:23 -04:00
crobibero
1c2dbc4c27 bump jellyfin-apiclient 2020-06-29 09:25:50 -06:00
dkanada
c390a454a1 Merge pull request #1494 from dmitrylyzo/friendly-subtitlesync
Friendly SubtitleSync
2020-06-29 22:45:02 +09:00
Dmitry Lyzo
4d8c1bd7c6 Keep slider progress, as it is updated on change event 2020-06-29 13:36:55 +03:00
Dmitry Lyzo
a66291a33d Fix handling of keydown event by volume slider and videoosd 2020-06-29 13:03:31 +03:00
MrTimscampi
783d476448 Add async to scripts injected by appLoader 2020-06-29 11:48:55 +02:00
MrTimscampi
3fcb8ed00e Add splash screen during app load 2020-06-29 11:21:20 +02:00
MrTimscampi
33547e0d77 Add defer to apploader script 2020-06-29 11:20:57 +02:00
Vitorvlv
8e8d50a789 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-06-29 00:18:41 -04:00
dkanada
53f093c455 Merge pull request #1495 from dmitrylyzo/fix-firefox-subtitle-offset
Fix Firefox subtitle offset
2020-06-29 08:58:39 +09:00
Dmitry Lyzo
62a2f4b17d Rearrange keydown event handling 2020-06-28 23:46:27 +03:00
moltrabella
39b412bb06 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-06-28 15:40:23 -04:00
moltrabella
ff073ea4ed Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-28 15:40:23 -04:00
Dmitry Lyzo
a91afee7b6 Fix Firefox subtitle offset 2020-06-28 22:04:30 +03:00
Dmitry Lyzo
891cc78bdb Prevent OSD from being hidden when user works with UI 2020-06-28 20:50:40 +03:00
Gregor Gabrovšek
85cc7eaea2 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
2020-06-28 12:43:44 -04:00
nextlooper42
9fe6956445 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-28 12:43:44 -04:00
Lukáš Kucharczyk
1b12308f72 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-28 12:43:44 -04:00
Dmitry Lyzo
70b0fbafd0 Add minimum width for SubtitleSync dialog 2020-06-28 19:16:04 +03:00
Dmitry Lyzo
dccaa34d58 Fix SubtitleSync slider lagging 2020-06-28 19:14:13 +03:00
dkanada
178d698feb Merge pull request #1206 from MrTimscampi/details-redux
Fix some issues with details page and small redesign
2020-06-28 18:10:07 +09:00
MrTimscampi
d916bc19f8 Cleanup CSS 2020-06-28 07:20:44 +02:00
Gonzalo Seguel
a9f57a479c Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-06-27 23:59:20 -04:00
Gonzalo Seguel
45891f7b86 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-06-27 23:59:19 -04:00
nextlooper42
ec127772e6 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-27 23:02:45 -04:00
Vitorvlv
233c657dca Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-06-27 17:14:23 -04:00
millallo
46b4b64791 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-06-27 17:14:22 -04:00
Lukáš Kucharczyk
15c34e51b0 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-27 17:14:22 -04:00
dkanada
d8baca6d4a Merge pull request #1488 from jellyfin/dkanada-patch-1
Fix redirect issue on video player
2020-06-28 05:50:14 +09:00
dkanada
77e8333732 Merge pull request #1485 from jellyfin/missing-tooltip
Add missing tooltip for TV layout
2020-06-28 04:33:32 +09:00
chanh0
56cc24588d Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-06-27 13:30:37 -04:00
de1eted
4a3db58ec1 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-06-27 13:30:37 -04:00
chanh0
9a5e79b4a9 Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-06-27 07:07:22 -04:00
lelamamalgache
61862a74eb Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-06-26 17:33:27 -04:00
lelamamalgache
054187d709 Translated using Weblate (Pirate)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pr/
2020-06-26 17:33:27 -04:00
lelamamalgache
1d2acaa17f Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/eo/
2020-06-26 17:33:27 -04:00
lelamamalgache
356e9976fb Translated using Weblate (Urdu (Pakistan))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ur_PK/
2020-06-26 17:33:26 -04:00
lelamamalgache
ce830d718a Translated using Weblate (Marathi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/mr/
2020-06-26 17:33:26 -04:00
lelamamalgache
89cd821c43 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-06-26 17:33:26 -04:00
lelamamalgache
6b9e0e2c4b Translated using Weblate (Spanish (Dominican Republic))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_DO/
2020-06-26 17:33:26 -04:00
lelamamalgache
deb0608d91 Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/gl/
2020-06-26 17:33:26 -04:00
lelamamalgache
e348c2a451 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sr/
2020-06-26 17:33:25 -04:00
lelamamalgache
9570fd165d Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-06-26 17:33:25 -04:00
lelamamalgache
356619c717 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-06-26 17:33:25 -04:00
lelamamalgache
6e811c6c3e Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-06-26 17:33:25 -04:00
lelamamalgache
223d6bf919 Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-06-26 17:33:24 -04:00
lelamamalgache
798943876b Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-06-26 17:33:24 -04:00
lelamamalgache
1ec6888a8d Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-06-26 17:33:24 -04:00
lelamamalgache
ae9efcf413 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/
2020-06-26 17:33:24 -04:00
lelamamalgache
547f560fa3 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/
2020-06-26 17:33:23 -04:00
lelamamalgache
516e3ce7e6 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-06-26 17:33:23 -04:00
lelamamalgache
a4765add27 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
2020-06-26 17:33:23 -04:00
lelamamalgache
4aa9deafb1 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-06-26 17:33:22 -04:00
lelamamalgache
0c350bdd7b Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/
2020-06-26 17:33:22 -04:00
lelamamalgache
e01ae118aa Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/
2020-06-26 17:33:22 -04:00
lelamamalgache
320c911717 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nb_NO/
2020-06-26 17:33:22 -04:00
lelamamalgache
802e0ce107 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-06-26 17:33:21 -04:00
lelamamalgache
f68180153f Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ms/
2020-06-26 17:33:21 -04:00
lelamamalgache
329930011e Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lt/
2020-06-26 17:33:20 -04:00
lelamamalgache
29aadefd94 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-06-26 17:33:20 -04:00
lelamamalgache
3262279ba4 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/kk/
2020-06-26 17:33:20 -04:00
lelamamalgache
8895a3d2a7 Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/is/
2020-06-26 17:33:20 -04:00
lelamamalgache
5b125d9189 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/id/
2020-06-26 17:33:19 -04:00
lelamamalgache
f12b47a886 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/
2020-06-26 17:33:19 -04:00
lelamamalgache
a09302952b Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hi/
2020-06-26 17:33:19 -04:00
lelamamalgache
3aa5e971fb Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/
2020-06-26 17:33:19 -04:00
lelamamalgache
ca2590fcb8 Translated using Weblate (German (Swiss))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/gsw/
2020-06-26 17:33:19 -04:00
lelamamalgache
f26b4db5ca Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-06-26 17:33:18 -04:00
Julien Machiels
ac6c25f8f6 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-06-26 17:33:18 -04:00
Théo Coutu
bebc2b88d1 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
2020-06-26 17:33:18 -04:00
lelamamalgache
f833065453 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
2020-06-26 17:33:13 -04:00
lelamamalgache
2dfa6b89f2 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-06-26 17:33:12 -04:00
lelamamalgache
cc9d422f86 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-26 17:33:12 -04:00
lelamamalgache
63767749f5 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-06-26 17:33:11 -04:00
lelamamalgache
86f7e5c3ac Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-06-26 17:33:11 -04:00
lelamamalgache
68a66bfe00 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-26 17:33:11 -04:00
lelamamalgache
a508d42897 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ca/
2020-06-26 17:33:10 -04:00
lelamamalgache
4dee37d053 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-26 17:33:10 -04:00
lelamamalgache
20c184f33b Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/be/
2020-06-26 17:33:10 -04:00
lelamamalgache
8f359310f0 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-06-26 17:33:10 -04:00
lelamamalgache
f7a86247f5 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/el/
2020-06-26 16:11:47 -04:00
him428
0b3c6a004a Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-06-26 11:27:50 -04:00
Vitorvlv
e370d54edd Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-06-26 11:27:50 -04:00
Julien Machiels
6c6817eb7d Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-06-26 11:27:50 -04:00
Николай Иванов
52be2523dd Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-26 11:27:49 -04:00
Julien Machiels
65cd810288 Fix linting error 2020-06-26 16:59:21 +02:00
dkanada
fd863b26fe apply code suggestions 2020-06-26 23:47:14 +09:00
him428
86abe9b8d1 Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-06-26 05:46:52 -04:00
kenhon93
4b6f4b051c Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-06-26 05:46:51 -04:00
him428
17d8684cdf Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-06-26 05:46:51 -04:00
kenhon93
1bb428dee6 Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-06-26 04:59:08 -04:00
dkanada
29eb217a0d fix redirect issue on video player 2020-06-26 16:41:19 +09:00
Sasa
fda99dd4ae Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/
2020-06-25 19:51:08 -04:00
Franco Castillo
6e3f6fe1d7 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-25 14:45:06 -04:00
Mednis
d91ac41718 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-06-25 14:45:05 -04:00
Adam Bokor
2d6963b08c Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-06-25 13:29:55 -04:00
MrTimscampi
83c4bf8d62 Fix suggestions and layout issues 2020-06-25 18:40:19 +02:00
Sasa
d8b8486eb5 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/
2020-06-25 10:50:12 -04:00
Sasa
46134f0445 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/
2020-06-25 08:00:49 -04:00
Franco Castillo
4193c9c4e4 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-25 00:48:44 -04:00
Franco Castillo
de821fe7a9 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 22:24:37 -04:00
Franco Castillo
dfdb7b36d2 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 22:19:22 -04:00
Franco Castillo
37d3a46729 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 21:27:04 -04:00
Franco Castillo
dbf5372cdb Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 21:27:04 -04:00
Franco Castillo
bb76b6d8a2 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 19:40:01 -04:00
Franco Castillo
d2e94b695d Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 17:39:15 -04:00
Franco Castillo
458b26b275 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 16:26:16 -04:00
millallo
b190c37b13 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-06-24 16:21:11 -04:00
Sasa
9e17c7e5df Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/
2020-06-24 16:21:11 -04:00
Fernando
7d468a5f8c Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-06-24 16:21:10 -04:00
Franco Castillo
cca11846e9 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-24 16:21:09 -04:00
ferferga
fd6b20d88c Add missing CSS selector for TV Layout + fix code smell 2020-06-24 19:54:33 +02:00
ferferga
ab12e6e4ad Address review comments 2020-06-24 19:50:54 +02:00
Sasa
9571bc311d Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/
2020-06-24 12:07:41 -04:00
nextlooper42
2a43a3c02b Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-24 08:04:48 -04:00
nextlooper42
98c8c792f9 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-24 06:18:37 -04:00
TheGoose
560dcb64c2 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/
2020-06-24 06:18:37 -04:00
Lukáš Kucharczyk
053ae8478a Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-24 06:18:32 -04:00
ferferga
6325046b96 Fix breakage on remote sessions and address review comments 2020-06-24 08:11:56 +02:00
ferferga
f37b86c799 Add missing tooltip for TV layout 2020-06-24 07:55:21 +02:00
WWWesten
206edf9796 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-06-23 18:20:08 -04:00
Libor Filípek
f40f7d132b Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-23 17:59:23 -04:00
ferferga
8d31d507c2 Show favorite icon in playlist items on desktop layout 2020-06-23 23:45:21 +02:00
ferferga
4fe179214c Address review comments 2020-06-23 23:41:52 +02:00
ferferga
78cdbbb14f Remove item from sorted playlist when on shuffle mode and address review comments 2020-06-23 20:32:39 +02:00
ferferga
33d0329e5c Merge remote-tracking branch 'upstream/master' into nowplaying-hotfixes 2020-06-23 19:18:32 +02:00
ferferga
b7714eea14 Address review comments 2020-06-23 19:09:22 +02:00
MrTimscampi
12460589f7 Fix variable names 2020-06-23 17:32:55 +02:00
MrTimscampi
cd020a2cd1 Fix details banner setting 2020-06-23 17:29:59 +02:00
ferferga
ae8d06533c Add space-between in desktop and hide duplicate heart on mobile 2020-06-23 16:55:37 +02:00
dkanada
13b05c8e44 Merge pull request #1432 from dmitrylyzo/dont-start-time-sync
Don't start time sync if not in SyncPlay mode
2020-06-23 21:27:52 +09:00
Moritz
668c18cd35 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-23 08:23:55 -04:00
Moritz
3870a9fb66 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-23 07:54:28 -04:00
MrTimscampi
9c4a602979 Merge remote-tracking branch 'upstream/master' into details-redux 2020-06-23 10:35:38 +02:00
dkanada
ab9241fe59 Merge pull request #1171 from MrTimscampi/placeholder
Enable a simple color placeholder for loading cards
2020-06-23 17:24:49 +09:00
dkanada
8748ffdc22 Merge pull request #1462 from KGT1/seektoactionhandler
ActionHandler 'seekto' for Media Notification Seekbar
2020-06-23 16:58:03 +09:00
dkanada
3afba15834 Merge pull request #1477 from dmitrylyzo/hide-hamburger-button-on-tv
Hide hamburger button on TV
2020-06-23 14:25:24 +09:00
Dmitry Lyzo
6f9457c713 Hide hamburger button on TV 2020-06-22 23:02:04 +03:00
Dovry
f0afb359f0 Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/is/
2020-06-22 13:07:37 -04:00
ferferga
44b2e86147 Merge remote-tracking branch 'upstream/master' into nowplaying-hotfixes 2020-06-22 18:15:58 +02:00
ferferga
3e1d24d9a2 Don't shuffle first item 2020-06-22 18:02:45 +02:00
KGT1
c639b12f9e Update mediasession.js
changed playbackManager.getCurrentPlayer() to currentPlayer
2020-06-22 18:01:20 +02:00
ferferga
dba995c5f0 Fix not usable buttons in desktop layout 2020-06-22 17:55:28 +02:00
Nyanmisaka
614cd1992f Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-06-22 11:48:54 -04:00
Vitorvlv
b9bd7f0d4f Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-06-22 11:48:53 -04:00
millallo
9d30eb6c67 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-06-22 11:48:52 -04:00
Guillaume QUERO
418a11964a Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-06-22 11:48:52 -04:00
ferferga
f6a9f4679a Style cleanup, address suggestions and placeholders for songs in cardBuilder and listView 2020-06-22 17:37:06 +02:00
Nyanmisaka
558f409410 Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-06-22 10:30:23 -04:00
Nyanmisaka
5ac759b82c Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-06-22 10:30:23 -04:00
Lukáš Kucharczyk
2bc4681710 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-22 10:30:21 -04:00
Lukáš Kucharczyk
e5fd87d690 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-22 09:52:26 -04:00
Bond-009
86f2f44d7a Merge pull request #1464 from neilsb/system-plugin-removal
Prevent removal of system plugins
2020-06-22 15:52:22 +02:00
dkanada
d93911c407 Merge pull request #1393 from jellyfin/repos
Initial work for repository configuration
2020-06-22 22:52:08 +09:00
crobibero
ed7071015a remove sessionId parameter from api calls 2020-06-22 07:15:15 -06:00
Neil Burrows
4f45bdb024 Update src/controllers/dashboard/plugins/installed.js
Co-authored-by: Vasily <JustAMan@users.noreply.github.com>
2020-06-22 14:08:57 +01:00
dkanada
6a23344871 Merge pull request #1444 from grafixeyehero/unused-code
Remove unused  loadingDialog & serverRestartDialog
2020-06-22 20:36:14 +09:00
dkanada
845d8d90f8 Merge pull request #1473 from jellyfin/dependabot/npm_and_yarn/babel/preset-env-7.10.3
Bump @babel/preset-env from 7.10.2 to 7.10.3
2020-06-22 20:35:51 +09:00
dkanada
ae2377a55d Merge pull request #1465 from jellyfin/dependabot/npm_and_yarn/shaka-player-3.0.1
Bump shaka-player from 2.5.13 to 3.0.1
2020-06-22 20:30:23 +09:00
dkanada
993a994226 Merge pull request #1467 from jellyfin/dependabot/npm_and_yarn/fast-text-encoding-1.0.3
Bump fast-text-encoding from 1.0.2 to 1.0.3
2020-06-22 20:18:43 +09:00
dependabot-preview[bot]
680b8255c7 Bump @babel/preset-env from 7.10.2 to 7.10.3
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 11:16:02 +00:00
dependabot-preview[bot]
4178f07e97 Bump shaka-player from 2.5.13 to 3.0.1
Bumps [shaka-player](https://github.com/google/shaka-player) from 2.5.13 to 3.0.1.
- [Release notes](https://github.com/google/shaka-player/releases)
- [Changelog](https://github.com/google/shaka-player/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/shaka-player/compare/v2.5.13...v3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 11:15:00 +00:00
dkanada
ff25f034a9 Merge pull request #1468 from jellyfin/dependabot/npm_and_yarn/babel/core-7.10.3
Bump @babel/core from 7.10.2 to 7.10.3
2020-06-22 20:13:41 +09:00
dkanada
d1991c36e6 Merge pull request #1470 from jellyfin/dependabot/npm_and_yarn/jstree-3.3.10
Bump jstree from 3.3.9 to 3.3.10
2020-06-22 20:13:10 +09:00
dkanada
f18231ca11 Merge pull request #1471 from jellyfin/dependabot/npm_and_yarn/stylelint-13.6.1
Bump stylelint from 13.6.0 to 13.6.1
2020-06-22 20:12:50 +09:00
dkanada
a82829dd60 Merge pull request #1472 from jellyfin/dependabot/npm_and_yarn/swiper-5.4.5
Bump swiper from 5.4.3 to 5.4.5
2020-06-22 20:12:28 +09:00
dkanada
a7e19075fc Merge pull request #1466 from jellyfin/dependabot/npm_and_yarn/autoprefixer-9.8.2
Bump autoprefixer from 9.8.0 to 9.8.2
2020-06-22 20:11:39 +09:00
ferferga
d13e1acf8d Fix 'undefined' on Chromecast and cleanup on nowPlayingBar.js 2020-06-22 12:43:45 +02:00
dependabot-preview[bot]
cfbc7ad462 Bump swiper from 5.4.3 to 5.4.5
Bumps [swiper](https://github.com/nolimits4web/Swiper) from 5.4.3 to 5.4.5.
- [Release notes](https://github.com/nolimits4web/Swiper/releases)
- [Changelog](https://github.com/nolimits4web/swiper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nolimits4web/Swiper/compare/v5.4.3...v5.4.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:02:30 +00:00
dependabot-preview[bot]
015371a4b6 Bump stylelint from 13.6.0 to 13.6.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.6.0 to 13.6.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.6.0...13.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:01:16 +00:00
dependabot-preview[bot]
5b9e2b5ec4 Bump jstree from 3.3.9 to 3.3.10
Bumps [jstree](https://github.com/vakata/jstree) from 3.3.9 to 3.3.10.
- [Release notes](https://github.com/vakata/jstree/releases)
- [Commits](https://github.com/vakata/jstree/compare/3.3.9...3.3.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:00:25 +00:00
Vasily
1a8da665bc Merge pull request #1463 from MrTimscampi/card-shapes
Fix latest section portrait cards not being portrait in all cases
2020-06-22 12:59:36 +03:00
dependabot-preview[bot]
f1d05ac69f Bump @babel/core from 7.10.2 to 7.10.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 09:59:19 +00:00
dependabot-preview[bot]
59bff713fa Bump fast-text-encoding from 1.0.2 to 1.0.3
Bumps [fast-text-encoding](https://github.com/samthor/fast-text-encoding) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/samthor/fast-text-encoding/releases)
- [Commits](https://github.com/samthor/fast-text-encoding/compare/v1.0.2...v1.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 09:57:46 +00:00
dependabot-preview[bot]
8a705dffbb Bump autoprefixer from 9.8.0 to 9.8.2
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.0 to 9.8.2.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.0...9.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 09:56:51 +00:00
Neil Burrows
89535e1c36 Update src/controllers/dashboard/plugins/installed.js
Co-authored-by: Julien Machiels <julien.machiels@protonmail.com>
2020-06-22 10:43:54 +01:00
KGT1
e2ed7d9ca1 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-22 05:31:50 -04:00
ferferga
6aae85e991 Rename 'Playlist' term to 'Queue' 2020-06-22 11:25:16 +02:00
Neil Burrows
f1970d88ae Prevent removal of system plugins 2020-06-22 10:14:13 +01:00
ferferga
2e8e240aa0 Add shuffle mode to Chromecast 2020-06-22 11:10:26 +02:00
ferferga
ad72f590f7 Use layout-mobile class 2020-06-22 10:51:42 +02:00
MrTimscampi
5733f30cea Fix latest section portrait cards not being portrait in all cases 2020-06-22 10:09:21 +02:00
KGT1
329af3f54d fixed linting errors 2020-06-22 10:08:54 +02:00
KGT1
1042121668 added ActionHandler seekto for Notification-Bar 2020-06-22 09:47:02 +02:00
Vasily
c7fcddb3a2 Merge pull request #1461 from MrTimscampi/root-margins
Fix issue with IntersectionObserver root margin
2020-06-22 10:28:21 +03:00
MrTimscampi
61fbf10085 Fix issue with IntersectionObserver root margin 2020-06-22 09:14:13 +02:00
nextlooper42
07f585aa62 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-21 21:03:18 -04:00
nextlooper42
39787755a8 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-21 18:48:33 -04:00
andyguerra
089e022280 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-06-21 14:41:03 -04:00
4d1m
703373b3eb Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-06-21 14:41:03 -04:00
Adam Bokor
a55b5c7ff3 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-06-21 14:41:03 -04:00
andyguerra
16e512c60e Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-06-21 14:41:02 -04:00
MrTimscampi
b2ffc1109a Remove leftover references to cardContent-button 2020-06-21 17:09:42 +02:00
MrTimscampi
8ecaf85dba Fix placeholders on purplehaze
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-06-21 17:04:13 +02:00
MrTimscampi
f3fbc545a1 Fix stylelint error 2020-06-21 16:55:00 +02:00
MrTimscampi
d91797b06e Reword the placeholder 2020-06-21 16:54:59 +02:00
MrTimscampi
d804b4097a Re-add accidentally removed code 2020-06-21 16:54:59 +02:00
MrTimscampi
c42f931953 Fix linting issue 2020-06-21 16:54:59 +02:00
MrTimscampi
90c971afa9 Add theme colors for card placeholders 2020-06-21 16:54:59 +02:00
MrTimscampi
b088ae8428 Correct card color 2020-06-21 16:54:59 +02:00
MrTimscampi
f80fb1bb27 Fix placeholder in TV layout 2020-06-21 16:54:58 +02:00
MrTimscampi
0e376bb78d Enable a simple placeholder for cards 2020-06-21 16:54:34 +02:00
MrTimscampi
5960f782df Rename itemDetails files to new convention 2020-06-21 13:47:33 +02:00
MrTimscampi
8f116890d7 Remove forced logo size 2020-06-21 13:45:13 +02:00
MrTimscampi
1629e79956 Adjust star color 2020-06-21 13:43:23 +02:00
MrTimscampi
b500579236 Add hover text on item details buttons 2020-06-21 13:21:31 +02:00
Per
653c711d5e Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-21 04:09:05 -04:00
MrTimscampi
55cc467a95 Simplify resume button 2020-06-21 09:31:56 +02:00
Per
9611fa1577 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-21 03:26:49 -04:00
millallo
63ff721587 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-06-21 03:12:06 -04:00
MrTimscampi
8777742123 Handle suggestions 2020-06-21 09:07:18 +02:00
MrTimscampi
7dd09909d2 Move more button at the end of actions in listview 2020-06-21 09:07:18 +02:00
MrTimscampi
6afbda6ff3 Improve season view 2020-06-21 09:07:18 +02:00
dkanada
dea49c0fba Merge pull request #1452 from MrTimscampi/tv-poster-parents
Use parent poster for items with children
2020-06-21 15:29:46 +09:00
Julien Machiels
3cd81e73da Update src/components/cardbuilder/cardBuilder.js
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-06-20 21:24:04 +02:00
Julien Machiels
b2dae289cc Update src/components/cardbuilder/cardBuilder.js
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-06-20 21:23:47 +02:00
Vitorvlv
09c62f110f Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-06-20 14:58:53 -04:00
grafixeyehero
48d7935e57 Remove unused serverRestartDialog 2020-06-20 21:34:20 +03:00
MrTimscampi
e14f4315a8 Further improvements to the details page 2020-06-20 20:22:15 +02:00
dkanada
e719eb8fc5 Merge pull request #1448 from joshuaboniface/fix-names-portable
Make the portable web archive and dir consistent
2020-06-21 03:11:52 +09:00
Franco Castillo
a0ef665666 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-06-20 13:18:44 -04:00
Franco Castillo
c64e820245 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-20 13:18:44 -04:00
Franco Castillo
4c0e317688 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-06-20 13:18:44 -04:00
stefanrunarsson
60af41b831 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/
2020-06-20 13:17:36 -04:00
Samuli Valavuo
ad59a009dc Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-06-20 13:17:36 -04:00
Franco Castillo
d2f30eb010 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-20 13:17:36 -04:00
Nainformatiq
ef8e233436 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-06-20 13:17:36 -04:00
WWWesten
fb591dcf0c Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/kk/
2020-06-20 13:17:13 -04:00
WWWesten
891dfefa23 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/kk/
2020-06-20 13:17:04 -04:00
Joe DF
ef00991682 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
2020-06-20 13:17:04 -04:00
4d1m
bdd7c8d17d Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-06-20 13:17:04 -04:00
Alitero K
c34e898b6a Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-06-20 13:16:53 -04:00
moritz bust
90fe471949 Translated using Weblate (Pirate)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pr/
2020-06-20 13:16:53 -04:00
ciera
579f710619 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-20 13:16:53 -04:00
ciera
975a3d15cb Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-20 13:16:53 -04:00
Decoy7
b0143e7592 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/el/
2020-06-20 13:16:53 -04:00
Vladimir Jendrol
451f955aab Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-20 13:16:53 -04:00
Николай Иванов
9c4903c330 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
df07492c4f Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
9f0dc43fea Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Franco Castillo
9992568cf2 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-06-20 13:16:53 -04:00
Николай Иванов
7a3d7f7e41 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
a455fabbf3 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
6ccdf309ee Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
67e0b67663 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
69d87d0506 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
6fe9797721 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
3b54d57a7e Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
7e17fe1438 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
483b69cc86 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
549efef2c7 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Hasan Cem Safa Ece
2fd3e1f7f9 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/
2020-06-20 13:16:53 -04:00
Николай Иванов
14c0f9e2f6 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Николай Иванов
c473413b43 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:53 -04:00
Adam Bokor
bc8f401f06 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-06-20 13:16:53 -04:00
Николай Иванов
a8e0f6b680 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:52 -04:00
Николай Иванов
ba71cc4827 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-06-20 13:16:52 -04:00
WWWesten
d797759c6d Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-06-20 13:16:52 -04:00
tinect
dbb43e6d98 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-20 13:16:43 -04:00
millallo
2d0d1f3e7b Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-06-20 13:16:43 -04:00
Adam Bokor
cd2cff288e Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-06-20 13:16:19 -04:00
Nowoboy
d9a114215c Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-20 13:16:03 -04:00
Tien Nguyen
92e2228e51 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-06-20 13:16:03 -04:00
Ying-Kai Dang
af0a343046 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-20 13:16:03 -04:00
Tien Nguyen
1fe7222236 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-06-20 13:15:16 -04:00
nextlooper42
4c78271bcc Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-06-20 13:15:16 -04:00
amirmasoud
7abfd2a6e9 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-20 13:12:17 -04:00
Lukáš Kucharczyk
bfc9f1871f Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-20 13:12:17 -04:00
SaddFox
e8622065ab Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
2020-06-20 13:11:28 -04:00
Fernando
8f0c0c1bf2 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-06-20 13:11:28 -04:00
SaddFox
81d011e9f4 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
2020-06-20 13:05:10 -04:00
Vitorvlv
405fcdde78 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-06-20 13:05:10 -04:00
Marius Lindvall
b6924f41e6 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nb_NO/
2020-06-20 13:04:43 -04:00
MrTimscampi
efabfc6f69 Use parent poster for items with children 2020-06-20 15:29:47 +02:00
dkanada
bef977062e Merge pull request #1401 from MrTimscampi/wizard
Remove standalone mode
2020-06-20 16:36:46 +09:00
dkanada
e92e4a37fd Merge pull request #1445 from ferferga/tooltips
Add tooltips for header icons
2020-06-20 16:14:15 +09:00
dkanada
f81116f769 remove useless whitespace
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-06-20 16:13:17 +09:00
Joshua M. Boniface
f3fcfa3270 Make the portable web archive and dir consistent
The server ones use jf-server_version, so this should too.
2020-06-20 02:31:25 -04:00
MrTimscampi
ff848727e3 Bring back standalone mode and always inject JS 2020-06-19 20:28:35 +02:00
ferferga
483f5076d7 Add tooltips for header icons 2020-06-19 19:08:09 +02:00
grafixeyehero
8d67a061e1 Remove unused loadingDialog 2020-06-19 19:40:48 +03:00
dkanada
f48d06291a Merge pull request #1442 from Delgan/patch-5
Fix media info dialog visually refreshing library page in background
2020-06-20 01:04:24 +09:00
Delgan
7d8efbe5a7 Fix media info dialog visually refreshing library page in background 2020-06-19 14:45:29 +02:00
ferferga
88d7f52ce7 Remove repeated rule 2020-06-19 00:07:58 +02:00
dkanada
9873232524 Merge pull request #1439 from Delgan/patch-2
Fix broken image uploader due to missing '#dropImageText' element
2020-06-19 06:29:49 +09:00
dkanada
951f500e3b Merge pull request #1441 from grafixeyehero/bug-fix
Fix context Event Listener for metadataEditor
2020-06-19 06:29:03 +09:00
grafixeyehero
4b651f4a9d Fix context Event Listener
(cherry picked from commit 27d1c21089a0996c9e53c49f2b10e98636467a5f)
(cherry picked from commit 4e6792309d)
2020-06-18 23:48:19 +03:00
Delgan
ffcb47cb7e Fix broken image uploader due to missing '#dropImageText' element 2020-06-18 21:14:22 +02:00
ferferga
49c719348c CSS fixes when resizing library browser 2020-06-18 20:11:14 +02:00
Dmitry Lyzo
8021b893c8 Don't start time sync if not in SyncPlay mode 2020-06-18 19:43:32 +03:00
ferferga
a62d69f813 CSS fixes when resizing the window 2020-06-18 18:35:50 +02:00
ferferga
3b938e9b00 Remove repeated string in es.json 2020-06-18 13:47:57 +02:00
ferferga
6c0f3a39c7 Remove blank space when item doesn't have an image 2020-06-18 12:27:15 +02:00
ferferga
5a87754c2a Switch wrong condition for the new previous track behaviour and fix lint 2020-06-18 11:19:20 +02:00
ferferga
f9119cc2f6 Replace context menu 'ViewArtist' with 'ViewAlbumArtist' option for players and fix texting bits 2020-06-18 10:55:58 +02:00
ferferga
0e2b960ae7 Repeat song on double click only if there is a previous item 2020-06-18 10:15:30 +02:00
ferferga
989c99521f Go to previous track on double click 2020-06-18 09:30:31 +02:00
ferferga
1a6e0973f3 Fix duplicated context menus 2020-06-18 09:22:17 +02:00
ferferga
dcb0eb8c01 Show .btnSavePlaylist always on desktop 2020-06-18 09:06:12 +02:00
ferferga
e2da870f32 Take out likes variable from condition 2020-06-18 08:56:09 +02:00
ferferga
2a74d53c35 Finish work on shuffle mode 2020-06-18 08:39:23 +02:00
ferferga
2ab476f073 Fix playlist for items without images 2020-06-18 08:04:33 +02:00
dkanada
1b6a600496 Merge pull request #1427 from jellyfin/leftover-removal
Remove leftover from #1046
2020-06-18 14:25:51 +09:00
ferferga
40c2ccaab3 Minor style improvements to nowPlaying 2020-06-18 01:24:04 +02:00
ferferga
ff6bfbf2b4 Add playlist shuffling toggle to remotecontrol.js 2020-06-18 01:19:59 +02:00
ferferga
74d32d3cbd Add repeat button in mobile layout 2020-06-17 22:30:59 +02:00
ferferga
8b4b67254a Show playlist on desktop layout and use native context menu 2020-06-17 22:09:30 +02:00
ferferga
4159268949 Repeat track if going back when less than 5 seconds of the item has been playing 2020-06-17 21:02:50 +02:00
ferferga
e2f61c67b9 Show all artists of an item and set bottom bar transparent on mobile devices 2020-06-17 20:29:08 +02:00
ferferga
dd4cc0328a Attempt to fix miniplayer context menu 2020-06-17 20:28:42 +02:00
ferferga
b791302fb1 Remove leftover from 02baff1fe0 2020-06-17 18:50:05 +02:00
dkanada
b2db27a424 Merge pull request #1204 from dmitrylyzo/fix-slideshow-safari-webos2
Fix slideshow (Safari, WebOS 2)
2020-06-17 14:07:46 +09:00
MrTimscampi
660e4a0a3c Add Writers to overview and handle cast and crew better 2020-06-16 21:49:28 +02:00
MrTimscampi
e83fcf89fb Fix link colors in details overview 2020-06-16 21:49:28 +02:00
MrTimscampi
d57eff1c9b Refactor details page 2020-06-16 21:49:27 +02:00
MrTimscampi
a8e45f30ab Fix buttons moving and title cropping on details page 2020-06-16 21:47:18 +02:00
MrTimscampi
f468e32ac4 Fix version indicator not respecting settings on card 2020-06-16 21:47:06 +02:00
MrTimscampi
71a6102086 Align the track selection baselines in item details 2020-06-16 21:47:06 +02:00
MrTimscampi
de0e45c0c0 Use Card component as poster on details page 2020-06-16 21:47:04 +02:00
MrTimscampi
d54e30cfda Header color transition 2020-06-16 21:45:09 +02:00
MrTimscampi
267d22f044 Move Delete button to context menu 2020-06-16 21:45:09 +02:00
MrTimscampi
617708009e Rework mobile details page 2020-06-16 21:45:09 +02:00
MrTimscampi
d3d4c116a4 Fix some issues with details page and small redesign 2020-06-16 21:45:07 +02:00
dkanada
ce67087811 fix quotes in repository controller 2020-06-17 02:15:05 +09:00
dkanada
bfc3e20df4 simplify repository save and add attribute 2020-06-16 21:14:04 +09:00
dkanada
b57c6cacb8 Merge pull request #1416 from joshuaboniface/package2
Ensure collection step depends on build steps
2020-06-16 21:00:06 +09:00
dkanada
03b4976237 fix error with margin property 2020-06-16 14:58:08 +09:00
Joshua M. Boniface
7e861a3400 Add condition on success of previous steps 2020-06-16 01:14:48 -04:00
Joshua M. Boniface
30e041a913 Ensure collection step depends on build steps 2020-06-16 01:12:46 -04:00
Anthony Lavado
f2969bcdc2 Merge pull request #1399 from jellyfin/package
Add packaging step on azure and refactor pipelines
2020-06-16 01:01:37 -04:00
Anthony Lavado
c263a90d5b Merge pull request #1046 from nyanmisaka/hwaccel
Add more separate hardware decoding toggles
2020-06-16 00:08:48 -04:00
dkanada
d822bc12b6 minor style improvements 2020-06-16 00:32:23 +09:00
dkanada
1763c306c9 Merge pull request #1414 from jellyfin/dependabot/npm_and_yarn/query-string-6.13.1
Bump query-string from 6.13.0 to 6.13.1
2020-06-15 20:16:16 +09:00
dkanada
d4ffa20bd3 Merge pull request #1413 from jellyfin/dependabot/npm_and_yarn/eslint-plugin-import-2.21.2
Bump eslint-plugin-import from 2.21.1 to 2.21.2
2020-06-15 20:16:09 +09:00
dkanada
f374459570 Merge pull request #1412 from jellyfin/dependabot/npm_and_yarn/shaka-player-2.5.13
Bump shaka-player from 2.5.12 to 2.5.13
2020-06-15 20:16:03 +09:00
dkanada
417b109ee2 Merge pull request #1411 from jellyfin/dependabot/npm_and_yarn/swiper-5.4.3
Bump swiper from 5.4.2 to 5.4.3
2020-06-15 20:15:55 +09:00
dkanada
caf5444000 standardize indentation 2020-06-15 19:54:00 +09:00
dkanada
688516ac33 update formatting for azure pipelines 2020-06-15 19:49:17 +09:00
dkanada
9c97893ff3 Merge pull request #1406 from Delgan/faster-tracks-rendering
Avoid async rendering of MediaSources tracks to prevent content jump
2020-06-15 19:41:14 +09:00
dkanada
ecb947e39c Merge pull request #1410 from jellyfin/dependabot/npm_and_yarn/css-loader-3.6.0
Bump css-loader from 3.5.3 to 3.6.0
2020-06-15 19:09:46 +09:00
dependabot-preview[bot]
f8838029f6 Bump query-string from 6.13.0 to 6.13.1
Bumps [query-string](https://github.com/sindresorhus/query-string) from 6.13.0 to 6.13.1.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v6.13.0...v6.13.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:04:36 +00:00
dependabot-preview[bot]
8214e8a7ac Bump eslint-plugin-import from 2.21.1 to 2.21.2
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.21.1 to 2.21.2.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.21.1...v2.21.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:04:04 +00:00
dependabot-preview[bot]
b4342da46f Bump shaka-player from 2.5.12 to 2.5.13
Bumps [shaka-player](https://github.com/google/shaka-player) from 2.5.12 to 2.5.13.
- [Release notes](https://github.com/google/shaka-player/releases)
- [Changelog](https://github.com/google/shaka-player/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/shaka-player/compare/v2.5.12...v2.5.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:03:16 +00:00
dependabot-preview[bot]
9739f42fa1 Bump swiper from 5.4.2 to 5.4.3
Bumps [swiper](https://github.com/nolimits4web/Swiper) from 5.4.2 to 5.4.3.
- [Release notes](https://github.com/nolimits4web/Swiper/releases)
- [Changelog](https://github.com/nolimits4web/swiper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nolimits4web/Swiper/compare/v5.4.2...v5.4.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:02:28 +00:00
dependabot-preview[bot]
9eec174abd Bump css-loader from 3.5.3 to 3.6.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.5.3...v3.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:01:16 +00:00
dkanada
8bb8f8262e Merge pull request #1409 from Influence365/fix-persistant-drop-image-text
Fix "Drop image here, or click to browse" persistent Visual
2020-06-15 17:47:40 +09:00
Influence365
84dcf42d43 Update imageUploader.template.html 2020-06-15 09:00:29 +01:00
Influence365
2d506e1dee Update imageUploader.js 2020-06-15 08:59:48 +01:00
dkanada
d9f8ae70b7 Merge pull request #1405 from Influence365/fix-movie-progressbar-width
Fix Movie Progress Bar Width
2020-06-15 15:01:25 +09:00
Joshua M. Boniface
cbae2f577e Attempt to use inbuilt Docker tasks 2020-06-14 23:37:06 -04:00
Joshua M. Boniface
c4cc669ebf Revamp naming of Docker images and manifests
This is a nicer standardized format using Docker image tags more
effectively.
2020-06-14 19:39:09 -04:00
Joshua M. Boniface
95be2ba211 Add builder Dockerfile and steps in CI 2020-06-14 19:23:27 -04:00
Influence365
8dfe335e42 formatting fix 2020-06-14 21:27:27 +01:00
Influence365
71eda3801f minor change to fix bug 2020-06-14 21:25:27 +01:00
Delgan
1691827cee Avoid async rendering of MediaSources tracks to prevent content jump 2020-06-14 21:36:18 +02:00
Joshua M. Boniface
4e4c5b1400 Only run remaining package steps conditionally
Prevents these steps from failing if the build is skipped.
2020-06-14 13:39:00 -04:00
Joshua M. Boniface
e43bb09d60 Update conditionals to final values (master+tag) 2020-06-12 18:18:11 -04:00
Joshua M. Boniface
7a5065ba27 Run the repo include as sudo 2020-06-12 18:16:02 -04:00
Joshua M. Boniface
ce09f0e4e4 Separate package collection into a separate job 2020-06-12 17:36:00 -04:00
Joshua M. Boniface
f67b9a01fe Use better flags and conditionals in CI itself 2020-06-12 17:24:20 -04:00
Joshua M. Boniface
847c9950d7 Add collection script call 2020-06-12 16:56:45 -04:00
Joshua M. Boniface
8822630f46 Fix bad sed commands 2020-06-12 16:19:20 -04:00
Joshua M. Boniface
b796e6b807 Correct changelog text for Debian unstable build 2020-06-12 16:12:30 -04:00
Joshua M. Boniface
1affef1208 Add build_id versioning to FC/COS builds 2020-06-12 16:12:00 -04:00
Joshua M. Boniface
9e3d792f62 Add build_id versioning to portable build 2020-06-12 16:05:05 -04:00
Joshua M. Boniface
ceacedd6fd Copy artifacts over to build server 2020-06-12 15:33:38 -04:00
Joshua M. Boniface
346e1b0dc7 Add special changelog/version for unstable builds 2020-06-12 14:43:37 -04:00
dkanada
f9797c0658 add packaging step on azure and refactor pipelines 2020-06-13 00:18:20 +09:00
Anthony Lavado
a27eae98e5 Merge pull request #1398 from thornbill/mobile-menu-options
Restore menu options in mobile view
2020-06-11 11:14:39 -04:00
Bill Thornton
e2d5162a3a Restore menu options in mobile view 2020-06-11 10:14:08 -04:00
dkanada
08fb42155d fix repository deletion and some css issues 2020-06-11 19:34:06 +09:00
dkanada
9e2e2a3438 add delete button and fix some variable issues 2020-06-11 03:02:38 +09:00
dkanada
75504ec8e4 initial work for repository configuration 2020-06-10 21:33:08 +09:00
dkanada
d38cbb8d6a Merge pull request #1239 from ferferga/fix-url-input
Revert 9a47428 changes, so IPs are allowed
2020-06-10 21:28:02 +09:00
dkanada
51e358cd86 Merge pull request #1347 from Brissot/master
Fixing Chrome's Unnecessary AV1 Transcode and Combined WebM Profiles
2020-06-10 20:37:26 +09:00
dkanada
5ea00655fb Merge pull request #1386 from ferferga/blurhash
Fix episodes listing after blurhash
2020-06-10 20:35:39 +09:00
dkanada
b84d943aec Merge pull request #1392 from grafixeyehero/Fix-typo
Fix typo and remove unused legacy dashboard
2020-06-10 20:22:06 +09:00
ferferga
d236eeeb5b Fix mouseover in episode list when using blurhash 2020-06-10 11:53:00 +02:00
ferferga
8c85ed4992 Use else instead 2020-06-10 10:52:33 +02:00
dkanada
8244bdbda1 Merge pull request #1391 from MrTimscampi/more-profile-improvements
Use explicit codec checks for DTS and VC-1
2020-06-10 14:02:11 +09:00
dkanada
29ef245c8f Merge pull request #1367 from jellyfin/controller
Add support for es6 controllers and migrate logs controller
2020-06-10 14:00:33 +09:00
dkanada
ab8be03209 merge branch master into controller 2020-06-10 13:57:50 +09:00
dkanada
daece8a4d9 add code suggestions 2020-06-10 13:56:55 +09:00
dkanada
331dfbff0f Merge pull request #1373 from crobibero/jquery-checked
Fix all jQuery checked.
2020-06-10 11:02:21 +09:00
Brissot
ae715bbe9a Made new device profile specifically for webm and fixed unnecessary transcoding with AV1 2020-06-09 21:33:12 -04:00
grafixeyehero
99e697a5ed Remove unused legacy dashboard 2020-06-10 00:45:47 +03:00
grafixeyehero
ee55d431a9 Fix typo 2020-06-10 00:44:59 +03:00
MrTimscampi
2a42100ecc Make DTS check use the replace 2020-06-09 22:39:32 +02:00
MrTimscampi
58338ebb49 Add proper checks for VC-1 2020-06-09 22:10:16 +02:00
MrTimscampi
6fab78d49f Add proper checks for DTS 2020-06-09 22:09:33 +02:00
dkanada
0d12a033a6 fix error message from book player 2020-06-10 03:04:58 +09:00
Influence365
f909bc73f1 Merge pull request #4 from jellyfin/master
update to latest
2020-06-09 14:10:34 +01:00
dkanada
814b96799c Merge pull request #1376 from jellyfin/dependabot/npm_and_yarn/stylelint-order-4.1.0
Bump stylelint-order from 4.0.0 to 4.1.0
2020-06-09 17:49:27 +09:00
dkanada
24ffb4b27e Merge pull request #1369 from MrTimscampi/small-browser-profile-fixes
Small browser profile fixes
2020-06-09 14:51:01 +09:00
ferferga
7a9e75fd71 Make linter happy 2020-06-09 00:58:55 +02:00
ferferga
13f472d7d5 Fix episodes listing after blurhash 2020-06-09 00:48:56 +02:00
dkanada
2c4f8d928a Merge pull request #1366 from jellyfin/refactor
Update casing for some files and add placeholder elements
2020-06-09 03:14:57 +09:00
dkanada
78e84c66f0 use sane defaults for the web config 2020-06-09 02:19:21 +09:00
dkanada
ba29abd8ce Merge pull request #1383 from jellyfin/dependabot/npm_and_yarn/query-string-6.13.0
Bump query-string from 6.12.1 to 6.13.0
2020-06-09 01:57:14 +09:00
dkanada
e160467f61 Merge pull request #1315 from dmitrylyzo/fix-another-usersettings
Fix ability to change settings of another user
2020-06-09 01:00:43 +09:00
artiume
f0af15707c Update encodingsettings.html 2020-06-08 16:38:03 +03:00
artiume
fc1f76c421 Update encodingsettings.html 2020-06-08 16:38:03 +03:00
artiume
03d46aaeb6 Update en-us.json 2020-06-08 16:38:03 +03:00
artiume
d424ed669b Update encodingsettings.html 2020-06-08 16:38:03 +03:00
artiume
dbe4020ba5 Update encodingsettings.js 2020-06-08 16:38:02 +03:00
artiume
212c093dab Update en-us.json 2020-06-08 16:36:18 +03:00
artiume
147ddc2084 Update encodingsettings.html 2020-06-08 16:34:34 +03:00
artiume
0b4e8e5297 Update encodingsettings.js 2020-06-08 16:34:34 +03:00
artiume
dbeb67a9cc Update encodingsettings.html 2020-06-08 16:32:45 +03:00
artiume
99c49a944d Split 10bit decoder 2020-06-08 16:32:45 +03:00
artiume
cc9883d973 Update encodingsettings.html 2020-06-08 15:48:49 +03:00
artiume
18df3cf6bd Add videotoolbox 2020-06-08 15:48:49 +03:00
Vasily
be6c4a2ba4 Merge remote-tracking branch 'upstream/master' into hwaccel 2020-06-08 15:48:25 +03:00
dependabot-preview[bot]
ab4260b7dd Bump stylelint-order from 4.0.0 to 4.1.0
Bumps [stylelint-order](https://github.com/hudochenkov/stylelint-order) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/hudochenkov/stylelint-order/releases)
- [Changelog](https://github.com/hudochenkov/stylelint-order/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hudochenkov/stylelint-order/compare/4.0.0...4.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 12:10:12 +00:00
dkanada
2da6a7c73a Merge pull request #1378 from jellyfin/dependabot/npm_and_yarn/stylelint-13.6.0
Bump stylelint from 13.5.0 to 13.6.0
2020-06-08 21:07:59 +09:00
dkanada
c0e43e3844 Merge pull request #1379 from jellyfin/dependabot/npm_and_yarn/eslint-plugin-import-2.21.1
Bump eslint-plugin-import from 2.20.2 to 2.21.1
2020-06-08 21:07:23 +09:00
dkanada
56a0d45b5c Merge pull request #1382 from jellyfin/dependabot/npm_and_yarn/swiper-5.4.2
Bump swiper from 5.4.1 to 5.4.2
2020-06-08 21:06:47 +09:00
dkanada
b7a137b45d Merge pull request #1375 from jellyfin/dependabot/npm_and_yarn/gulp-cli-2.3.0
Bump gulp-cli from 2.2.1 to 2.3.0
2020-06-08 21:04:18 +09:00
dkanada
46988eed7a Merge pull request #1377 from jellyfin/dependabot/npm_and_yarn/jellyfin-apiclient-1.2.2
Bump jellyfin-apiclient from 1.2.1 to 1.2.2
2020-06-08 21:03:56 +09:00
dependabot-preview[bot]
ec1cae11d4 Bump query-string from 6.12.1 to 6.13.0
Bumps [query-string](https://github.com/sindresorhus/query-string) from 6.12.1 to 6.13.0.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v6.12.1...v6.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 09:30:51 +00:00
dependabot-preview[bot]
49b8b452b3 Bump swiper from 5.4.1 to 5.4.2
Bumps [swiper](https://github.com/nolimits4web/Swiper) from 5.4.1 to 5.4.2.
- [Release notes](https://github.com/nolimits4web/Swiper/releases)
- [Changelog](https://github.com/nolimits4web/swiper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nolimits4web/Swiper/compare/v5.4.1...v5.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 09:29:47 +00:00
dependabot-preview[bot]
ff0429a351 Bump eslint-plugin-import from 2.20.2 to 2.21.1
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.20.2 to 2.21.1.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.20.2...v2.21.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 09:28:17 +00:00
dependabot-preview[bot]
c11d025c97 Bump stylelint from 13.5.0 to 13.6.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.5.0 to 13.6.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.5.0...13.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 09:27:00 +00:00
dependabot-preview[bot]
e14818214d Bump jellyfin-apiclient from 1.2.1 to 1.2.2
Bumps [jellyfin-apiclient](https://github.com/jellyfin/jellyfin-apiclient-javascript) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/jellyfin/jellyfin-apiclient-javascript/releases)
- [Commits](https://github.com/jellyfin/jellyfin-apiclient-javascript/compare/v1.2.1...v1.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 09:26:25 +00:00
dependabot-preview[bot]
a8eb4f1cd6 Bump gulp-cli from 2.2.1 to 2.3.0
Bumps [gulp-cli](https://github.com/gulpjs/gulp-cli) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/gulpjs/gulp-cli/releases)
- [Commits](https://github.com/gulpjs/gulp-cli/compare/v2.2.1...v2.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 09:25:03 +00:00
crobibero
e98898fca0 Fix all jQuery checked. 2020-06-07 17:14:01 -06:00
dkanada
1918262a8f Merge pull request #1368 from itegulov/books-resume
Make book player restore location on resume
2020-06-08 03:59:53 +09:00
dkanada
ef59ecc4b2 Merge pull request #1354 from MrTimscampi/fix-config-baseurl
Fix baseUrl for web config file
2020-06-08 03:59:26 +09:00
MrTimscampi
dcef70d3c9 Fix baseUrl for web config file 2020-06-07 20:14:41 +02:00
Anthony Lavado
317838cbf8 Merge pull request #1089 from cromefire/es6-1
Migrating backdropscreensaver, filterdialog and fetchhelper to ES6
2020-06-07 07:56:35 -04:00
Daniyar Itegulov
a405549440 Remove '0 mins' label from book item details page 2020-06-07 15:31:09 +10:00
dkanada
116c218b2a Merge pull request #1371 from crobibero/installed-plugins
Fix plugin display without config page
2020-06-07 14:25:27 +09:00
Cody Robibero
b3cc6ad1d1 Fix plugin display without config page 2020-06-06 16:09:25 -06:00
MrTimscampi
49491d013e Remove references to Orsay and Chromecast in browserDeviceProfile 2020-06-06 21:19:48 +02:00
MrTimscampi
7b0fbc7c7a Fix MP3 audio in video support 2020-06-06 18:53:05 +02:00
Cromefire_
e8062cccd3 Fixed backdropScreensaver path
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-06-06 11:52:58 +02:00
dkanada
523f060e99 fix issue with certain controllers during page load 2020-06-06 18:34:45 +09:00
Cromefire_
e4e42bfee0 Check for empty argument in querystring 2020-06-06 11:27:54 +02:00
Cromefire_
d36a8994fb Fixed review comments 2020-06-06 11:25:53 +02:00
Cromefire_
57a0cd7713 Fixed bad file path
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-06-06 11:25:52 +02:00
Cromefire_
6d14ad0a76 Fixed review comments 2020-06-06 11:25:52 +02:00
Cromefire_
587b537cd6 Modernized some loops and converted more string additions to template strings 2020-06-06 11:25:52 +02:00
Cromefire_
6be76e5c31 Fixed some errors 2020-06-06 11:25:52 +02:00
Cromefire_
8c433afd6b Migrated src/components/fetchhelper.js 2020-06-06 11:24:49 +02:00
Cromefire_
60e670fcf7 Fixed globalize 2020-06-06 11:24:49 +02:00
Cromefire_
bd003e6e8a Fixed lint 2020-06-06 11:24:49 +02:00
Cromefire_
3549bd5700 Migrated filterdialog.js 2020-06-06 11:24:48 +02:00
Cromefire_
1b4c178790 Migrated src/components/backdropscreensaver/plugin.js 2020-06-06 11:24:35 +02:00
Daniyar Itegulov
d5991348c2 Make book player restore location on resume 2020-06-06 19:02:08 +10:00
dkanada
680e562779 add support for es6 controllers and migrate logs controller 2020-06-06 17:04:16 +09:00
dkanada
c9ee1ccc66 use symlink for web config rather than a separate file 2020-06-06 15:57:15 +09:00
dkanada
af128f1c58 add elements to indicate no items exist for certain pages 2020-06-06 15:55:31 +09:00
dkanada
11528d1a93 migrate legacy dashboard functions to main object 2020-06-06 15:54:24 +09:00
dkanada
10aad88956 fix table of contents class name 2020-06-06 15:53:47 +09:00
dkanada
eba23f41c6 fix title casing for six component files 2020-06-06 15:52:54 +09:00
dkanada
514d4f6878 fix bottom padding on item details page for desktop view 2020-06-06 15:49:43 +09:00
dkanada
553bbee6fe Merge pull request #1353 from grafixeyehero/e6s-accessSchedule
Migration accessSchedule to ES6 modules
2020-06-06 12:41:36 +09:00
dkanada
022a23612d Merge pull request #1352 from grafixeyehero/es6-modules
Migrate chaptercardbuilder and peoplecardbuilder to es6 modules
2020-06-06 12:38:44 +09:00
dkanada
29e3ee6294 Merge pull request #1360 from MrTimscampi/photo-500-limit
Remove the 500 item limitation on photo playback
2020-06-05 23:16:11 +09:00
MrTimscampi
1c5d2a6959 Remove the 500 item limitation on photo playback 2020-06-05 16:04:18 +02:00
Dmitry Lyzo
c4614f085e Merge branch 'master' into fix-another-usersettings 2020-06-05 09:02:14 +03:00
Anthony Lavado
336c7bc5f9 Merge pull request #1357 from ferferga/blurhash
Change key name from EnableFastImageFadeIn to EnableFasterAnimations
2020-06-04 17:20:54 -04:00
Anthony Lavado
07789fc504 Merge pull request #1355 from MrTimscampi/gaudy-shit-be-gone
Make the default card colors look less like rainbow vomit
2020-06-04 17:02:42 -04:00
ferferga
966ea7bb80 Change key name from EnableFastImageFadeIn to EnableFasterAnimations 2020-06-04 22:44:58 +02:00
MrTimscampi
96f41cfe24 Make the default card colors look less like rainbow vomit 2020-06-04 21:38:10 +02:00
grafixeyehero
521b450fcd Add TODO: remove require 2020-06-04 22:13:51 +03:00
WWWesten
e651bf8424 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-06-04 14:57:53 -04:00
amirmasoud
c0054dc678 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-04 14:57:53 -04:00
Nelebh
6a5d0bdcf6 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-06-04 14:57:53 -04:00
Anthony Lavado
205d80e0ec Merge pull request #1286 from ferferga/blurhash
Implement blurhash (follow-up of #987 but from scratch)
2020-06-04 14:57:48 -04:00
ferferga
ef26e0d37e Address review comments (Part 2) 2020-06-04 19:44:00 +02:00
Anthony Lavado
b7d05b6097 Merge pull request #1284 from Delgan/es6-modules-components-playback
Migrate components/playback functions to ES6 modules
2020-06-04 13:37:02 -04:00
grafixeyehero
2cd9be9321 accessSchedule 2020-06-04 20:32:39 +03:00
Delgan
7d6dca7907 Merge branch 'master' into es6-modules-components-playback 2020-06-04 19:13:53 +02:00
ferferga
855b9169ce Address review comments 2020-06-04 19:09:02 +02:00
ferferga
d04505e955 Fix cases where itemId was also undefined during the previous logic 2020-06-04 18:15:05 +02:00
ferferga
1591aef481 Fallback to old behaviour when blurhash for specific item doesn't exist 2020-06-04 18:13:28 +02:00
grafixeyehero
fe4cef5964 chaptercardbuilder 2020-06-04 19:06:54 +03:00
grafixeyehero
f11d3c54a8 peoplecardbuilder 2020-06-04 19:05:31 +03:00
Moritz
b58af64350 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-06-04 10:32:38 -04:00
Lukáš Kucharczyk
0500eff3a5 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-06-04 05:52:58 -04:00
dkanada
5dcfd490c3 Merge pull request #908 from masterkoppa/fix-888
Make item detail overview expandable (Fix #888)
2020-06-04 15:59:42 +09:00
dkanada
560fc1c29a Merge pull request #1266 from MrTimscampi/plugins-location
Move plugins to a dedicated directory
2020-06-04 14:52:47 +09:00
Andres Ruiz
68762d8012 Use correct string for translation, add ShowLess
Use the right string form for the string translation for the dynamic strings, add the `ShowLess` version.

Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-06-03 23:28:26 -04:00
MrTimscampi
2b65ae6dab Fix plugin paths in package.json 2020-06-03 22:18:07 +02:00
MrTimscampi
8707de7124 Move bookPlayer to plugins folder 2020-06-03 22:17:01 +02:00
MrTimscampi
803346191f Move chromecastHelpers to plugins directory 2020-06-03 22:17:01 +02:00
MrTimscampi
128baad126 Move plugins to a dedicated directory 2020-06-03 22:17:01 +02:00
dkanada
e5a13a2020 Merge pull request #1294 from jellyfin/checkbox
Remove legacy jquery function from source
2020-06-04 04:55:52 +09:00
amirmasoud
23a0a291c9 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-03 14:36:22 -04:00
dkanada
5b79286ee9 Merge branch 'master' into checkbox 2020-06-04 03:13:51 +09:00
dkanada
c50b0274d1 Merge pull request #1345 from dmitrylyzo/babel-epubjs
Babel epubjs (WebOS 1.2)
2020-06-03 19:02:45 +09:00
Dmitry Lyzo
20eef65e5c Babel epubjs 2020-06-03 10:49:15 +03:00
dkanada
d728e8f47c Merge pull request #1309 from bendardenne/transfer-whole-playlist
Transfer whole playlist when transferring playback
2020-06-03 15:34:39 +09:00
dkanada
33dd31013a Merge pull request #1344 from Artiume/patch-4
Change Default for OptionAutomaticallyGroupSeries
2020-06-03 15:30:58 +09:00
dkanada
b207150211 Merge pull request #1342 from dmitrylyzo/fix-userSettings-chromecastVersion
Fix userSettings.chromecastVersion call
2020-06-03 15:30:17 +09:00
Andres J Ruiz Torres
0e74e89950 Translate dynamic toggle messages 2020-06-02 23:15:15 -04:00
MrTimscampi
000de9279b Fix translation and TV layout on Show More button 2020-06-02 23:13:48 -04:00
Andres J Ruiz Torres
ed0eefb5c7 Add a linkbutton control to show/hide more
User a linkbutton element adjecent to the overview to control
the expanded / shrunken state.

The button will show dynamically based on the
detected content size.
2020-06-02 23:13:48 -04:00
Andres J Ruiz Torres
8154abc525 Remove fallback values 2020-06-02 23:13:48 -04:00
Andres Ruiz
1ddfd2c7bb Add onClick for an expandable Overview of item details
Adds a onClick action that toggles expanding the item detail
Overview. By default it crops the text to 12 lines on mobile, 6
on larger viewports.

-webkit-line-clamp is supported on all Webkit browsers and Firefox
as of 3/2020. A fallback with max-height is provided as well.

Fixes #888
2020-06-02 23:13:48 -04:00
ferferga
169ecacc62 Address review comments 2020-06-02 22:02:13 +02:00
artiume
40481046f4 Change Default for OptionAutomaticallyGroupSeries 2020-06-02 15:41:58 -04:00
ferferga
d32dd7d7d8 Appply review suggestions 2020-06-02 17:59:08 +02:00
Mohammadreza Firoozeh
b8ee2f86b0 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-01 13:41:03 -04:00
Dmitry Lyzo
a955aeb1cb Delay access to userSettings 2020-06-01 19:38:59 +03:00
Dmitry Lyzo
021650e6ab Fix userSettings.chromecastVersion call 2020-06-01 19:17:23 +03:00
000
a0b99f0c02 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-06-01 11:38:22 -04:00
dkanada
093fbcd343 Merge pull request #1336 from jellyfin/dependabot/npm_and_yarn/babel/preset-env-7.10.2
Bump @babel/preset-env from 7.10.1 to 7.10.2
2020-06-02 00:19:36 +09:00
Mohammadreza Firoozeh
fbedfad6f5 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-06-01 11:12:01 -04:00
dependabot-preview[bot]
284bac2544 Bump @babel/preset-env from 7.10.1 to 7.10.2
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.1 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 14:59:11 +00:00
dkanada
51b2eba8f1 Merge pull request #1341 from MrTimscampi/syncplay-fix
Fix traceback in SyncPlay when casting to Google Cast
2020-06-01 23:58:52 +09:00
dkanada
7c9df5bfd3 Merge pull request #1338 from jellyfin/dependabot/npm_and_yarn/eslint-plugin-eslint-comments-3.2.0
Bump eslint-plugin-eslint-comments from 3.1.2 to 3.2.0
2020-06-01 23:58:46 +09:00
dkanada
1c98c51c9d Merge pull request #1339 from jellyfin/dependabot/npm_and_yarn/babel/core-7.10.2
Bump @babel/core from 7.10.1 to 7.10.2
2020-06-01 23:56:58 +09:00
dkanada
9761153b4f Merge pull request #1337 from jellyfin/dependabot/npm_and_yarn/shaka-player-2.5.12
Bump shaka-player from 2.5.11 to 2.5.12
2020-06-01 23:55:13 +09:00
MrTimscampi
e56d1833c7 Fix error in player capabilities checking with syncplay 2020-06-01 16:14:06 +02:00
dependabot-preview[bot]
a5ec1509a7 Bump @babel/core from 7.10.1 to 7.10.2
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.1 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:44:02 +00:00
dependabot-preview[bot]
feee9a174d Bump eslint-plugin-eslint-comments from 3.1.2 to 3.2.0
Bumps [eslint-plugin-eslint-comments](https://github.com/mysticatea/eslint-plugin-eslint-comments) from 3.1.2 to 3.2.0.
- [Release notes](https://github.com/mysticatea/eslint-plugin-eslint-comments/releases)
- [Commits](https://github.com/mysticatea/eslint-plugin-eslint-comments/compare/v3.1.2...v3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:43:15 +00:00
dependabot-preview[bot]
5fd58a2fb1 Bump shaka-player from 2.5.11 to 2.5.12
Bumps [shaka-player](https://github.com/google/shaka-player) from 2.5.11 to 2.5.12.
- [Release notes](https://github.com/google/shaka-player/releases)
- [Changelog](https://github.com/google/shaka-player/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/shaka-player/compare/v2.5.11...v2.5.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:42:11 +00:00
dkanada
9556949885 Merge pull request #1232 from MrTimscampi/sonarcloud-3
Fix more sonarqube bugs
2020-06-01 14:58:22 +09:00
Influence365
4de9be40e9 Merge pull request #3 from jellyfin/master
update fork
2020-05-31 07:22:48 +01:00
Joshua M. Boniface
16fad06d97 Merge pull request #1331 from MrTimscampi/fix-standalone
Remove non-standalone mode
2020-05-31 01:01:24 -04:00
dkanada
3abb89463f Merge pull request #1328 from MrTimscampi/epub-format-detection
Add format checking to EPUB player
2020-05-31 13:59:30 +09:00
dkanada
76834f5074 update display name for production build 2020-05-31 13:55:47 +09:00
MrTimscampi
1b69bad510 Fix CI 2020-05-30 23:18:10 +02:00
MrTimscampi
e2ae0d1e2b Fix linting errors 2020-05-30 23:15:06 +02:00
MrTimscampi
88a39a10e5 Fix bug reporter by sonarqube 2020-05-30 23:08:57 +02:00
MrTimscampi
55a049678e Remove non-standalone mode 2020-05-30 23:08:57 +02:00
Alexandre Badalo
c44c5556d5 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-05-30 17:01:19 -04:00
dkanada
1cf6d3b587 Merge pull request #1327 from Influence365/fix-css-jump
Fix Page jumps when entering custom css
2020-05-31 05:17:08 +09:00
millallo
d1f327966c Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-30 16:10:37 -04:00
WontTell
f32a1da9c8 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-05-30 16:10:35 -04:00
妙呀
7281b1dbbb Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-05-30 16:09:10 -04:00
Julien Machiels
c52a1c0ae4 Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/eo/
2020-05-30 16:09:09 -04:00
Dumitrache Alex
42b7fd9e4a Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-30 16:09:08 -04:00
Julien Machiels
429f0bfe95 Fix spacing 2020-05-30 18:45:40 +02:00
Influence365
06e08fd7ea Merge pull request #1 from jellyfin/master
update fork
2020-05-30 17:08:46 +01:00
ferferga
d5f75abe77 Tiny string corrections 2020-05-30 17:47:02 +02:00
ferferga
450ff30b9c Apply missing code review suggestion 2020-05-30 17:35:25 +02:00
Anthony Lavado
6a119f267b Merge pull request #1321 from MrTimscampi/lint-improvements
Lint and build improvements
2020-05-30 08:16:20 -07:00
ferferga
4368502943 Apply API changes to listview 2020-05-30 17:10:38 +02:00
ferferga
dbcc31e1a4 Remove testing bits 2020-05-30 16:51:40 +02:00
ferferga
7169d8494d Add a toggle for blurhash 2020-05-30 16:44:33 +02:00
Influence365
e6b7c8a691 Update emby-textarea.js 2020-05-30 13:27:06 +01:00
Influence365
8a1ca94760 Update src/dashboardgeneral.html
Co-authored-by: Julien Machiels <julien.machiels@protonmail.com>
2020-05-30 13:26:22 +01:00
ferferga
2a0f971e76 Merge remote-tracking branch 'upstream/master' into blurhash 2020-05-30 14:26:11 +02:00
dkanada
19849d8afb Merge pull request #1269 from jellyfin/photos
Convert photo player to class
2020-05-30 20:47:13 +09:00
MrTimscampi
4d9fdb1963 Merge remote-tracking branch 'upstream/master' into lint-improvements 2020-05-30 13:44:01 +02:00
MrTimscampi
d8375efc69 Add Path to home sections
Fixes play button on home sections for books
2020-05-30 13:33:38 +02:00
MrTimscampi
9535d94ab7 Add Path field to List query
Fixes the lack of play button on books
2020-05-30 13:15:49 +02:00
MrTimscampi
0c302adbb5 Add format checking to EPUB player 2020-05-30 13:00:51 +02:00
dkanada
f0d337ee37 fix default export for photo player 2020-05-30 19:51:57 +09:00
dkanada
9cae07205c Merge pull request #1263 from itegulov/books
Implement minimalistic EPUB reader
2020-05-30 19:02:52 +09:00
dkanada
3385bf1808 Merge pull request #1322 from MrTimscampi/update-apiclient
Update API client and dependencies
2020-05-30 18:49:35 +09:00
Influence365
6ce8c77d8e Update emby-textarea.js 2020-05-30 09:51:49 +01:00
Influence365
a032f6a35d Update emby-textarea.js 2020-05-30 09:44:23 +01:00
Influence365
4d8761593c Update dashboardgeneral.html 2020-05-30 09:43:30 +01:00
WontTell
a9efe02006 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-05-29 22:29:07 -04:00
artiume
719824a06c Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_419/
2020-05-29 22:29:06 -04:00
artiume
47bb80cd63 Added translation using Weblate (Spanish (Latin America)) 2020-05-29 21:36:55 -04:00
WontTell
0908cbb640 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-05-29 20:10:30 -04:00
Daniyar Itegulov
fe9a825aa1 Make book player report percentage progress based on CFI location 2020-05-29 19:13:02 +10:00
dkanada
c13fc65dd0 fix import statement in photo player
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-05-29 16:47:21 +09:00
WWWesten
c60011010e Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-05-28 21:05:10 -04:00
Viperinius
f230d3e177 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-28 21:05:10 -04:00
MrTimscampi
aa2315f355 Update dependencies 2020-05-29 00:25:30 +02:00
Fernando
aae276dad1 Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-05-28 17:36:39 -04:00
nextlooper42
d0fc6f4371 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-28 17:36:39 -04:00
WWWesten
54b022791a Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-05-28 17:36:39 -04:00
4d1m
0f9db16069 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-28 17:36:37 -04:00
Adam Bokor
da6a477224 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-28 17:36:35 -04:00
Fernando
41c4becbeb Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-28 17:36:34 -04:00
MrTimscampi
487bcfbd77 Remove unused dependencies and cleanup webpack output 2020-05-28 23:34:05 +02:00
MrTimscampi
3312aa09e8 Use babel-parser and add class property support 2020-05-28 23:27:37 +02:00
Dmitry Lyzo
1be2434ac3 Fix code documentation 2020-05-28 20:10:53 +03:00
Dmitry Lyzo
15f0b12747 Merge remote-tracking branch 'upstream/master' into fix-another-usersettings
Conflicts:
	src/scripts/settings/userSettings.js
2020-05-28 20:08:37 +03:00
Daniyar Itegulov
8d51ae6fb4 Remove unused imports from book player 2020-05-28 21:22:32 +10:00
Daniyar Itegulov
a711c8e9f7 Refactor table of contents into its own class 2020-05-28 21:22:32 +10:00
dkanada
70ab8af6e7 update imports for photo player 2020-05-28 18:33:28 +09:00
Daniyar Itegulov
063ef77ff1 Refactor book player to make use of lambdas and get rid of self 2020-05-28 18:45:28 +10:00
Daniyar Itegulov
c7a89ae74b Make book player display an error on non-epub books 2020-05-28 18:39:49 +10:00
Daniyar Itegulov
2201d693e2 Make book player plugin exit gracefully 2020-05-28 18:38:13 +10:00
Gabriel Gil Pinto
c8197f1dfe Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-27 23:52:39 -04:00
Vitorvlv
bb27d4e055 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-05-27 19:21:36 -04:00
Peter
53fecd15bf Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-05-27 19:21:36 -04:00
Elouan MAILLY
3b963493a0 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 19:21:33 -04:00
Lukáš Kucharczyk
c471a01e60 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-27 19:21:33 -04:00
Elouan MAILLY
dba358735a Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 16:20:38 -04:00
Lumenol
161a2c29e2 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 16:12:43 -04:00
Elouan MAILLY
e192da22b8 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 16:12:43 -04:00
Lumenol
9d6c319cf4 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 16:01:36 -04:00
Elouan MAILLY
06cc7077ac Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 16:01:36 -04:00
Lumenol
e1b441a7fe Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 15:56:50 -04:00
Elouan MAILLY
09e2518862 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 15:56:50 -04:00
Lumenol
f40a695f53 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 15:51:44 -04:00
Lumenol
e6e6a7deb8 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 15:51:29 -04:00
Elouan MAILLY
5b647fc126 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-27 15:51:28 -04:00
dkanada
1c241cae0e Merge pull request #1317 from MrTimscampi/apiclient-next
Update apiclient
2020-05-28 03:37:23 +09:00
dkanada
3667a9f06f revert self restart check 2020-05-28 03:35:45 +09:00
MrTimscampi
89a3e5de09 Update apiclient 2020-05-27 20:34:26 +02:00
dkanada
9ce36bc2e0 Merge pull request #1305 from Influence365/master
Edit Image Cropped Fix #1207
2020-05-28 03:09:43 +09:00
dkanada
e140381a02 Merge pull request #1288 from jellyfin/banner
Add display preference for details banner and update some defaults
2020-05-28 03:08:35 +09:00
dkanada
1f2a9d1865 fix details banner string 2020-05-28 03:08:04 +09:00
dkanada
210dbd6d06 Merge branch 'master' into photos 2020-05-28 02:43:03 +09:00
dkanada
87b9eefc91 Merge branch 'master' into books 2020-05-28 02:40:38 +09:00
nextlooper42
ab854f412a Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-27 13:36:29 -04:00
Vitorvlv
46d0f2d0df Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-05-27 13:36:27 -04:00
Muráncsik Sebestyén
3c5fe3cf6a Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-27 13:36:25 -04:00
KGT1
fb38fb6c4a Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-27 13:36:24 -04:00
Lukáš Kucharczyk
417230a86d Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-27 13:36:22 -04:00
dkanada
91de4da786 update image fade animation strings 2020-05-28 02:34:45 +09:00
dkanada
a66f40d805 invert backdrop default setting 2020-05-28 02:33:10 +09:00
ferferga
456223c2b9 Update with latest API changes 2020-05-27 19:24:51 +02:00
Vasily
5d617d8102 Adapt to server-side API change, fix People cards 2020-05-27 19:19:33 +03:00
Dmitry Lyzo
267c110b0c Merge branch 'master' into es6-modules-components-playback 2020-05-27 18:29:23 +03:00
Dmitry Lyzo
e6287429e0 Fix ability to change settings of another user 2020-05-27 16:30:21 +03:00
dkanada
696776f175 add code suggestions
Co-authored-by: Julien Machiels <julien.machiels@protonmail.com>
2020-05-27 21:12:33 +09:00
dkanada
2290266634 Merge pull request #1311 from dmitrylyzo/babel-date-fns
Enable babel for date-fns
2020-05-27 21:11:15 +09:00
dkanada
0641f60b78 Merge pull request #1310 from Artiume/patch-4
Add Genres to Home Screen
2020-05-27 21:10:18 +09:00
Vasily
3595ffcaf6 Merge pull request #1011 from OancaAndrei/syncplay
Add syncplay feature
2020-05-27 15:08:28 +03:00
ferferga
c0280bf28d Create strings & config placeholder 2020-05-27 12:12:46 +02:00
gion
f9a2e9ac38 Update CONTRIBUTORS.md 2020-05-27 11:12:15 +02:00
gion
385f0a0beb Merge remote-tracking branch 'upstream/master' into syncplay 2020-05-27 10:42:29 +02:00
Dmitry Lyzo
b27832f930 Enable babel for date-fns 2020-05-27 10:41:42 +03:00
Influence365
0d7d4c7d15 Reverted previous commit 2020-05-27 07:17:45 +01:00
Influence365
c9a6753aba Update imageeditor.js 2020-05-27 07:17:06 +01:00
Influence365
9cc10c32ab Update to imageeditor.js for bug fix #1207 2020-05-27 07:16:24 +01:00
Influence365
ef0b4b5f51 Update to imageDownloader.js for bug fix #1207 2020-05-27 07:15:26 +01:00
Kunio
1926e4b9b7 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-05-26 21:26:06 -04:00
Vasily
df27d28241 Merge pull request #1307 from anthonylavado/readmefix
Include explicit yarn version
2020-05-27 01:29:48 +03:00
artiume
5ef5f10795 Add Genres to Home Screen 2020-05-26 17:56:54 -04:00
Benoît Dardenne
ffa9f2093b Fixed code smell 2020-05-26 23:16:33 +02:00
Benoît Dardenne
10470e24a5 Add ES6 module to package.json 2020-05-26 23:09:08 +02:00
Benoît Dardenne
67da5e49ab Transfer whole playlist when transfer playback to another device 2020-05-26 23:07:19 +02:00
Anthony Lavado
6dc722cac4 Include explicit yarn version
To avoid confusion, specify an explicit version of Yarn and link to classic install docs.
2020-05-26 16:56:49 -04:00
ferferga
6428bb1ad5 Code cleanup 2020-05-26 21:53:49 +02:00
lldsolitude
59dd84b2ee Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-05-26 14:07:42 -04:00
MrTimscampi
bc4c591698 Merge remote-tracking branch 'upstream/master' into sonarcloud-3 2020-05-26 20:01:49 +02:00
dkanada
2497fa67e2 Merge pull request #1304 from jellyfin/apiclient
Update apiclient to fix some issues
2020-05-27 00:39:18 +09:00
lldsolitude
5f7729b239 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-05-26 10:56:09 -04:00
Influence365
04e27d98d5 Update to imageDownloader.js for bug fix jellyfin#1207 2020-05-26 14:32:47 +01:00
Influence365
722c8321b0 Update to imageeditor.js for bug fix jellyfin#1207 2020-05-26 14:31:52 +01:00
Influence365
71e1c890ae update card.css for bug fix jellyfin#1207 2020-05-26 14:30:53 +01:00
Andrey Sinitsyn
a4b5d44529 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-05-26 08:58:54 -04:00
rvilarl
cecce2e978 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-26 08:58:54 -04:00
ferferga
f3129f28ef Check for images for items without images 2020-05-26 14:48:34 +02:00
ferferga
47d017ada1 Merge remote-tracking branch 'upstream/master' into blurhash 2020-05-26 14:36:24 +02:00
ferferga
93148c87ad With async the DOM seems to be less blocked while generating (at least for me), so I guess we should keep it (?) :D 2020-05-26 14:05:34 +02:00
ferferga
3637a11a3b Fix changes in 2bf7a53 2020-05-26 14:03:59 +02:00
ferferga
c3ce87ecb2 Implement blurhash in listview 2020-05-26 13:00:26 +02:00
ferferga
b46c48d4dc Apply some suggestions 2020-05-26 10:47:20 +02:00
dkanada
3e227fb317 update apiclient to fix some issues 2020-05-26 14:03:56 +09:00
ferferga
b83dc6b197 Fix variable typo 2020-05-26 01:05:08 +02:00
Vasily
2bf7a53dc2 Adapt to changes in server-side blurhash, reduce copypasta a bit 2020-05-26 01:31:55 +03:00
WWWesten
7b83a9736d Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-05-25 17:50:26 -04:00
ferferga
7587469480 Improve decoding speed 2020-05-25 18:31:51 +02:00
Varga András
320d5e37e9 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-25 08:19:40 -04:00
dkanada
3e0b343451 Merge pull request #1296 from Influence365/Influence365-AppleTV-Update
Minor changes to Apple TV theme
2020-05-25 20:30:45 +09:00
Influence365
f3994d9e8f Update theme.css
Changed px to rem
Removed fallback for background
2020-05-25 12:11:28 +01:00
dkanada
328d28beb0 Merge pull request #1293 from mark-monteiro/cross-platform-server-restart
Support restarting the server on all platforms
2020-05-25 20:08:13 +09:00
dkanada
88b5232971 Merge pull request #1299 from jellyfin/dependabot/npm_and_yarn/date-fns-2.14.0
Bump date-fns from 2.13.0 to 2.14.0
2020-05-25 20:01:59 +09:00
dkanada
a4b640c665 Merge pull request #1298 from jellyfin/dependabot/npm_and_yarn/stylelint-13.5.0
Bump stylelint from 13.4.0 to 13.5.0
2020-05-25 20:01:30 +09:00
dkanada
8e16a54e3b Merge pull request #1302 from jellyfin/dependabot/npm_and_yarn/swiper-5.4.1
Bump swiper from 5.4.0 to 5.4.1
2020-05-25 20:01:05 +09:00
dkanada
fde5c36c16 Merge pull request #1301 from jellyfin/dependabot/npm_and_yarn/gulp-cli-2.2.1
Bump gulp-cli from 2.2.0 to 2.2.1
2020-05-25 20:00:40 +09:00
dependabot-preview[bot]
375c236e83 Bump swiper from 5.4.0 to 5.4.1
Bumps [swiper](https://github.com/nolimits4web/Swiper) from 5.4.0 to 5.4.1.
- [Release notes](https://github.com/nolimits4web/Swiper/releases)
- [Changelog](https://github.com/nolimits4web/swiper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nolimits4web/Swiper/compare/v5.4.0...v5.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-25 10:02:23 +00:00
dependabot-preview[bot]
7cb33c134f Bump gulp-cli from 2.2.0 to 2.2.1
Bumps [gulp-cli](https://github.com/gulpjs/gulp-cli) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/gulpjs/gulp-cli/releases)
- [Commits](https://github.com/gulpjs/gulp-cli/compare/v2.2.0...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-25 10:01:59 +00:00
dependabot-preview[bot]
b6025ea320 Bump date-fns from 2.13.0 to 2.14.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.13.0 to 2.14.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/master/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v2.13.0...v2.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-25 10:01:01 +00:00
dependabot-preview[bot]
e4c038b3ab Bump stylelint from 13.4.0 to 13.5.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.4.0 to 13.5.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.4.0...13.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-25 10:00:34 +00:00
Influence365
633392e527 Update theme.css
minor formatting changes
2020-05-25 10:25:01 +01:00
Influence365
d9cfc2e668 Minor changes to Apple TV theme
Modified progress bar.
Small modification to shape of cards
2020-05-25 10:06:57 +01:00
GeraltOfTrivia
de386390cc Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/el/
2020-05-25 05:04:51 -04:00
dkanada
8cef3817bd fix linting error from missing semicolon 2020-05-25 15:06:21 +09:00
dkanada
739473c0fb remove legacy jquery function from source 2020-05-25 14:59:57 +09:00
Mark Monteiro
eb6a76f578 Support restarting the server on all platforms 2020-05-24 23:30:47 -04:00
Anthony Lavado
69488bcbe3 Merge pull request #1291 from jellyfin/install-plugin
Fix an issue with plugin installation
2020-05-24 15:26:47 -04:00
millallo
aff96670fa Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-24 14:22:35 -04:00
dkanada
51abc05d53 add name back as a parameter 2020-05-25 01:38:47 +09:00
dkanada
a9f1157330 fix an issue with plugin installation 2020-05-25 01:33:24 +09:00
Libor Filípek
17cb3530ea Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-24 12:28:23 -04:00
dkanada
3b6fa7e972 add display preference for details banner and update some defaults 2020-05-24 18:30:35 +09:00
amirmasoud
c9555c94ce Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-05-24 02:50:08 -04:00
ferferga
d7fda69e9c Revert testing values 2020-05-23 19:58:03 +02:00
ferferga
6840beaca9 Remove useless comment 2020-05-23 19:43:22 +02:00
ferferga
8ef7a7a054 Blurhash implementation (from scratch) 2020-05-23 18:35:34 +02:00
Tien Nguyen
c3cbba0a42 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-23 12:08:07 -04:00
nextlooper42
1647cb5f11 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-23 12:08:05 -04:00
Adam Bokor
a036137561 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-23 12:08:04 -04:00
Viperinius
b7a6429b51 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-23 12:08:04 -04:00
DINESH REDDY
c14f72342d Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-05-23 08:14:52 -04:00
张实唯
5af71c79a9 Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-05-23 08:14:52 -04:00
张实唯
91ecfe9da5 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-05-23 08:14:52 -04:00
Tien Nguyen
899c352a34 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-23 08:14:51 -04:00
millallo
de753abe40 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-23 08:14:51 -04:00
DINESH REDDY
eb85fd1bf4 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hi/
2020-05-23 07:38:27 -04:00
ferferga
2efdc94146 Add blurhash package 2020-05-23 11:44:55 +02:00
张实唯
648da07aaa Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-05-23 05:34:18 -04:00
Tien Nguyen
0e24cbabd6 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-23 05:34:18 -04:00
Vitorvlv
1cb35c23be Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-05-23 05:34:16 -04:00
dkanada
7b5fc90c2d Merge pull request #1282 from Artiume/patch-2
Move Network paths to be next to Optional Path
2020-05-23 12:35:16 +09:00
Óskar Freyr
3d38553079 Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/is/
2020-05-22 20:38:54 -04:00
artiume
25ed919c33 Translated using Weblate (Pirate)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pr/
2020-05-22 13:08:24 -04:00
Antonio
40d3153d2c Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-05-22 13:08:23 -04:00
millallo
e6ba4a4dc8 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-22 13:08:22 -04:00
Antonio
18d8abc48a Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-22 13:08:21 -04:00
WontTell
ba7e99c9e2 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-05-22 13:08:20 -04:00
WontTell
9824477f31 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-05-22 01:35:06 -04:00
WontTell
8761ad6f96 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-05-22 00:00:22 -04:00
Óskar Freyr
1a65a3a054 Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/is/
2020-05-21 22:41:59 -04:00
WontTell
9981430f30 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-05-21 22:41:57 -04:00
dkanada
f7f778b353 fix toc button for new book player class 2020-05-22 10:55:34 +09:00
dkanada
512f33a7fb fix all indentation issues in book player 2020-05-22 10:42:58 +09:00
dkanada
5b2837f137 use a class and imports for the book player 2020-05-22 10:39:21 +09:00
Óskar Freyr
494c201aaa Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/is/
2020-05-21 20:21:17 -04:00
Óskar Freyr
eac572ef7a Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/is/
2020-05-21 20:19:16 -04:00
nextlooper42
903278b380 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-21 19:42:05 -04:00
Óskar Freyr
eeab297da8 Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/is/
2020-05-21 19:42:05 -04:00
Franco Castillo
1631ac7721 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-05-21 19:41:59 -04:00
Delgan
76ad33449f Fix export of "showPlayerSelection()" by renaming it to "show()" 2020-05-21 19:16:19 +02:00
Delgan
70d01c92d4 Remove unsed imports and merge classList calls
Co-authored-by: Sarab Singh <sarab.singh97@gmail.com>
2020-05-21 19:14:25 +02:00
Delgan
c843bc9fb6 Migrate components/playback functions to ES6 modules 2020-05-21 15:58:10 +02:00
fatbill27
af4e3c6c69 Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant_HK/
2020-05-21 07:57:24 -04:00
4d1m
de1a79d0fe Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-21 07:57:22 -04:00
millallo
2d03e8714c Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-21 07:57:22 -04:00
danieladov
1f8e753592 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-21 07:57:22 -04:00
abdulaziz
e32df64c9f Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-05-21 02:09:55 -04:00
dkanada
a219998d61 Translated using Weblate (Pirate)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pr/
2020-05-21 00:09:49 -04:00
Vitorvlv
8dfb113440 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-05-21 00:09:48 -04:00
Oneness
2363b01714 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/
2020-05-21 00:09:47 -04:00
abdulaziz
b5a6c276b6 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-05-21 00:09:47 -04:00
dkanada
09e051bfab merge branch master into books 2020-05-21 11:58:25 +09:00
dkanada
ca4001f5b7 Added translation using Weblate (Pirate) 2020-05-20 18:51:19 -04:00
WWWesten
d3a700b7c6 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-05-20 17:49:30 -04:00
Anthony Lavado
68748f126b Merge pull request #1283 from thornbill/make-sharing-suck-less
Make the share url link to the actual item instead of github
2020-05-20 17:09:28 -04:00
Bill Thornton
e0c9c0566c Make the share url link to the actual item instead of github 2020-05-20 17:03:01 -04:00
Muráncsik Sebestyén
c766810000 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-20 14:29:35 -04:00
Viperinius
fbaf28cc0d Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-20 14:29:35 -04:00
Adam Bokor
0b9bc7bd7d Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-20 12:29:09 -04:00
Anthony Lavado
1437ef3eb9 Merge pull request #1222 from MrTimscampi/metadata-editor
Make dialogs more bearable
2020-05-20 12:29:04 -04:00
artiume
28f5bdb854 Update directorybrowser.js 2020-05-20 10:44:27 -04:00
artiume
2497282134 Update en-us.json 2020-05-20 10:43:39 -04:00
artiume
4c467730d2 Move Network paths to be next to Optional Path
This was present from when network paths were valid for libraries. No longer valid but could still be useful for Optional Network Path,
2020-05-20 10:18:01 -04:00
ferferga
5cfa0360ed Use novalidate for addserver.html form 2020-05-20 15:37:58 +02:00
Vasily
8f85ca24fb Merge pull request #1229 from ferferga/scrollbar-placeholder
Keep scrollbar always present to avoid UI clipping
2020-05-20 15:20:19 +03:00
dkanada
0155059778 Merge pull request #1280 from dmitrylyzo/fix-dependency-loop
Fix dependency loop
2020-05-20 18:58:52 +09:00
dkanada
e9647094ed Merge pull request #1279 from dmitrylyzo/fix-actionsheet-1
Fix actionSheet
2020-05-20 09:29:51 +09:00
nextlooper42
0f73ea4c88 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-19 18:53:06 -04:00
Lukáš Kucharczyk
f5ab0c9325 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-19 18:53:06 -04:00
Dmitry Lyzo
5d87fb865f Remove unused dependency 2020-05-20 00:36:43 +03:00
Dmitry Lyzo
29b9dac5f4 Fix dependency loop 2020-05-20 00:36:30 +03:00
Dmitry Lyzo
f6c3b9bf94 Fix item loop in actionSheet 2020-05-19 20:37:18 +03:00
dkanada
58b776dc43 Merge pull request #1276 from KucharczykL/dvr-translatable
Add en-us strings for DVR.
2020-05-20 01:18:16 +09:00
OSCAR PEREZ
33bcda28b3 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-19 10:31:34 -04:00
OSCAR PEREZ
cf6f22f6c9 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-19 10:11:32 -04:00
Vasily
08553cc6e9 Merge pull request #1277 from jellyfin/fix-1141-lint
Fix #1141 linting
2020-05-19 15:13:36 +03:00
Fernando
f2d82a3ceb Fix #1141 linting 2020-05-19 13:51:34 +02:00
dkanada
e797735fc1 Merge pull request #1262 from jellyfin/dependabot/npm_and_yarn/howler-2.2.0
Bump howler from 2.1.3 to 2.2.0
2020-05-19 20:37:28 +09:00
Daniyar Itegulov
c94add0a62 Add table of contents to EPUB reader 2020-05-19 20:37:22 +10:00
Lukáš Kucharczyk
f1de98f4ad Add en-us strings for DVR. 2020-05-19 12:12:54 +02:00
Vasily
e3cef950f7 Merge pull request #1141 from cromefire/promise-plugins
Register plugins with promises
2020-05-19 13:04:17 +03:00
dkanada
4572f77d67 Merge pull request #1275 from KucharczykL/dvr-translatable
Make DVR heading translatable.
2020-05-19 18:00:31 +09:00
dkanada
cf22e8f561 Merge pull request #1273 from ferferga/fix-scrollhelper
Fix scrollHelper reference
2020-05-19 17:59:47 +09:00
Lukáš Kucharczyk
cd5c5872ba Make DVR translatable. 2020-05-19 10:55:41 +02:00
Lukáš Kucharczyk
8a6140eae1 Revert "Change FreeBSD-related wording."
This reverts commit 1b3a5ae910.
2020-05-19 10:47:59 +02:00
Lukáš Kucharczyk
1b3a5ae910 Change FreeBSD-related wording. 2020-05-19 10:36:18 +02:00
ferferga
df6d9daab6 Fix deletehelper reference 2020-05-19 10:29:49 +02:00
ferferga
0d8e893bf3 Fix scrollHelper reference 2020-05-19 10:26:10 +02:00
dkanada
5eabb74c80 Merge pull request #1272 from Artiume/patch-2
Toggle off uPnP Port Forwarding as Default for Startup Wizard
2020-05-19 17:22:18 +09:00
millallo
ee0f2d247f Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-19 03:15:03 -04:00
Franco Castillo
893a380235 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-05-19 00:09:53 -04:00
Lukáš Kucharczyk
cb3960fa8a Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-19 00:09:48 -04:00
artiume
2aee818b70 Update wizardremoteaccess.html 2020-05-18 20:36:24 -04:00
Lukáš Kucharczyk
e177198939 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-18 15:06:26 -04:00
dkanada
05b9f4df3e convert photo player to class 2020-05-19 03:59:37 +09:00
Lukáš Kucharczyk
538462ce8a Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-18 14:02:20 -04:00
ferferga
a5b8444e7e Move scrollbar switching to onDialogClosed 2020-05-18 19:54:58 +02:00
ferferga
ab5c193a62 Merge remote-tracking branch 'upstream/master' into scrollbar-placeholder 2020-05-18 19:53:28 +02:00
qwerty93
4bfeb3d74a Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-18 13:42:10 -04:00
MrTimscampi
9f14bde2cb Merge remote-tracking branch 'upstream/master' into metadata-editor 2020-05-18 19:15:20 +02:00
MrTimscampi
9ee05151f0 Fix ellipsis in dialog cards 2020-05-18 19:14:55 +02:00
Muráncsik Sebestyén
32c21cb808 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-18 11:30:11 -04:00
dkanada
a405d7f515 Merge pull request #1261 from jellyfin/dependabot/npm_and_yarn/stylelint-13.4.0
Bump stylelint from 13.3.3 to 13.4.0
2020-05-19 00:26:02 +09:00
dkanada
d0a4e14c0c Merge pull request #1246 from jellyfin/strings
Clean up the translation files
2020-05-18 23:19:12 +09:00
dkanada
16fb0decbc merge branch master into strings 2020-05-18 23:18:08 +09:00
Vasily
76b59ef88f Merge pull request #1140 from mark-monteiro/cleanup-network-settings
Clean up network settings page
2020-05-18 17:02:14 +03:00
erikasne6152
d6cf112a41 Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lt/
2020-05-18 09:44:34 -04:00
dkanada
3d9509c875 Merge pull request #1238 from ferferga/remove-imgfetcher
Remove imageFetcher
2020-05-18 22:42:34 +09:00
Daniyar Itegulov
40e24bcaf0 Implement minimalistic EPUB reader 2020-05-18 21:19:58 +10:00
dkanada
8478b0ed56 basic skeleton for epub reader 2020-05-18 21:19:57 +10:00
ralphscheuerer
1e269f2b27 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-18 06:52:51 -04:00
Lukáš Kucharczyk
6088fd76f6 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-18 06:52:50 -04:00
dkanada
409da485cc Merge pull request #1253 from MrTimscampi/lint-operators
Force spacing around operators
2020-05-18 19:27:31 +09:00
dkanada
e89461e18e Merge pull request #1251 from adavier/4-3-videoselectfix
Fix Quality Settings for Aspect Ratios less than 16:9 (1.77)
2020-05-18 19:25:50 +09:00
adavier
3ecd8e45c7 Update src/components/qualityOptions.js
Co-authored-by: Julien Machiels <julien.machiels@protonmail.com>
2020-05-18 11:20:34 +01:00
dkanada
742621674b Merge pull request #1259 from jellyfin/dependabot/npm_and_yarn/swiper-5.4.0
Bump swiper from 5.3.8 to 5.4.0
2020-05-18 18:52:05 +09:00
dkanada
e43690a47a Merge pull request #1257 from jellyfin/dependabot/npm_and_yarn/autoprefixer-9.8.0
Bump autoprefixer from 9.7.6 to 9.8.0
2020-05-18 18:51:04 +09:00
dependabot-preview[bot]
dd4add0c82 Bump howler from 2.1.3 to 2.2.0
Bumps [howler](https://github.com/goldfire/howler.js) from 2.1.3 to 2.2.0.
- [Release notes](https://github.com/goldfire/howler.js/releases)
- [Changelog](https://github.com/goldfire/howler.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/goldfire/howler.js/compare/v2.1.3...v2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 09:36:49 +00:00
dependabot-preview[bot]
2cc3fffe55 Bump stylelint from 13.3.3 to 13.4.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.3.3 to 13.4.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.3.3...13.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 09:36:30 +00:00
dependabot-preview[bot]
f7f09b14e2 Bump swiper from 5.3.8 to 5.4.0
Bumps [swiper](https://github.com/nolimits4web/Swiper) from 5.3.8 to 5.4.0.
- [Release notes](https://github.com/nolimits4web/Swiper/releases)
- [Changelog](https://github.com/nolimits4web/swiper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nolimits4web/Swiper/compare/v5.3.8...v5.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 09:34:49 +00:00
dependabot-preview[bot]
e1ff048fdc Bump autoprefixer from 9.7.6 to 9.8.0
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.6 to 9.8.0.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.7.6...9.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 09:33:00 +00:00
Lukáš Kucharczyk
65cdbdeac5 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-18 04:18:59 -04:00
millallo
e2df6831ef Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-18 02:35:22 -04:00
Muráncsik Sebestyén
f4cd04bc65 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-18 00:04:15 -04:00
backtr4ck
991e323849 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-18 00:04:15 -04:00
nextlooper42
318c27ad00 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-17 16:29:26 -04:00
Franco Castillo
76d7f138d4 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-05-17 16:29:25 -04:00
adavier
632cb5bd8d Update src/components/qualityOptions.js
Co-authored-by: Julien Machiels <julien.machiels@protonmail.com>
2020-05-17 17:19:40 +01:00
MrTimscampi
f897f7484c Force spacing around operators 2020-05-17 18:19:18 +02:00
dkanada
5785d2dd3f remove a few more unused strings 2020-05-18 00:03:59 +09:00
Adavier
146e592a6d qualityoptions.js now shows correct options for aspect ratios below 16:9 (1.77) (such as 4:3 (1.33))
qualityoptions.js assumes that all videos are wider than 16:9 (1.77).
So a video with resolution 1440x1080 (4:3 1080p) only exposes options of 720p as the width is not considered for
1080p.
This fixes that by checking if the aspect ratio is less than 1.77, and if so padding the width to 16:9.
2020-05-17 15:39:41 +01:00
dkanada
4beac3f7f4 update more controller locations 2020-05-17 23:19:21 +09:00
dkanada
6c8884583d remove some deprecated translations 2020-05-17 23:03:54 +09:00
dkanada
d7ba814d35 update translation utilities 2020-05-17 22:41:23 +09:00
dkanada
4662e19567 Merge pull request #1243 from jellyfin/refactor
Refactor a bunch of filenames and folders
2020-05-17 21:53:09 +09:00
dkanada
5409d14ceb merge branch master into refactor 2020-05-17 21:52:39 +09:00
Mednis
56a5216107 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-05-17 07:39:13 -04:00
Franco Castillo
b448142f64 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-05-17 07:39:13 -04:00
dkanada
2c7d808ceb Merge pull request #1242 from jellyfin/chromecast
Implement select menu for chromecast version
2020-05-17 20:39:03 +09:00
dkanada
1aaaffde4c rename more components and update references 2020-05-17 17:04:36 +09:00
ferferga
7aa34f1be2 Switch scrollbars on slideshow.js 2020-05-17 00:33:02 +02:00
ferferga
8cbec3fe22 Merge remote-tracking branch 'upstream/master' into scrollbar-placeholder 2020-05-17 00:18:14 +02:00
ferferga
029c7382db Use classes instead 2020-05-17 00:11:37 +02:00
ferferga
e6526de5dd Fix scrollbars on dialog windows 2020-05-16 23:49:12 +02:00
Samuel Gagnon
8047543d1a Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
2020-05-16 14:22:52 -04:00
dkanada
35094da328 merge branch master into refactor 2020-05-17 02:49:47 +09:00
dkanada
d2f11981c6 update casing for some components 2020-05-17 02:48:21 +09:00
MrTimscampi
8562054a23 Merge remote-tracking branch 'upstream/master' into metadata-editor 2020-05-16 18:59:09 +02:00
MrTimscampi
3577bcc52b Fix alignment of dialog button on Chrome 2020-05-16 18:58:27 +02:00
Anthony Lavado
ac1b008998 Merge pull request #1155 from ferferga/vertical-menu
Vertical menu
2020-05-16 12:39:36 -04:00
Anthony Lavado
2c706248dd Merge pull request #839 from mijofa/youtube-keybindings
Added extra playback keybindings
2020-05-16 12:27:58 -04:00
ferferga
6a596bd497 Fix merge conflicts 2020-05-16 18:07:32 +02:00
ferferga
dd80697e61 Merge remote-tracking branch 'upstream/master' into vertical-menu 2020-05-16 18:07:20 +02:00
dkanada
f06291e37b fix casing on a few more files and folders 2020-05-17 01:06:28 +09:00
dkanada
410a58ddae organize more routes by category 2020-05-17 01:00:25 +09:00
dkanada
200d8dd416 fix casing for a few files 2020-05-17 00:52:16 +09:00
dkanada
0f7a79caab implement select menu for chromecast version 2020-05-17 00:36:10 +09:00
Anthony Lavado
f45a4d1a8c Merge pull request #1173 from sarab97/es6-migration
Migrate deleteHelper, actionSheet, indicators and playMenu to ES6
2020-05-16 09:29:29 -04:00
ferferga
5dd6f10851 Revert 9a47428 changes 2020-05-16 15:21:07 +02:00
ferferga
cb6d8c7394 Remove imageFetcher 2020-05-16 15:12:44 +02:00
qwerty93
a48e78edac Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-16 05:58:37 -04:00
Tien Nguyen
35c4ebb278 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-16 05:12:19 -04:00
qwerty93
e39ea72c2a Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-16 05:12:17 -04:00
Lin Ye Ze
9bfaf68957 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-05-16 02:31:51 -04:00
Mednis
db73f56860 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-05-15 23:03:45 -04:00
nextlooper42
357c1c84db Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-15 18:29:38 -04:00
dkanada
00dab7490b Merge pull request #1231 from Artiume/patch-10
Fix Progressive Stream 'P' capitalization
2020-05-15 20:40:02 +09:00
Robert
7b8769b6a3 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-05-15 07:14:16 -04:00
dkanada
5c18bb40bc Merge pull request #1211 from fhriley/send_credentials
Fix #1210: Add credentials to XHR requests
2020-05-15 16:56:59 +09:00
MrTimscampi
ac060e1270 Fix some code smells 2020-05-15 08:39:54 +02:00
Vitorvlv
cb3f90cfce Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-05-14 23:26:48 -04:00
Franco Castillo
00e9a70a81 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-05-14 23:26:48 -04:00
MrTimscampi
d4fbbea991 Remove code smells 2020-05-14 23:34:23 +02:00
MrTimscampi
d2bd631cbe Fix more sonarqube bugs 2020-05-14 23:25:22 +02:00
artiume
74427a29dc Fix Progressive Stream 'P' capitalization 2020-05-14 12:12:34 -04:00
Marco Aceti
3fc8ecce07 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-14 10:26:14 -04:00
Moritz
8f450a8cd3 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-14 10:26:14 -04:00
Nazar Bulavko
11977de0c3 Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-05-14 09:01:26 -04:00
Nazar Bulavko
06aaa1d7c5 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/
2020-05-14 09:01:26 -04:00
ferferga
26267e3827 Add comments for future reference 2020-05-14 14:18:50 +02:00
ferferga
6250f5bca8 Hide scrollbar while the videoosd component is loading 2020-05-14 14:18:29 +02:00
ferferga
3250100fad Apply style once an skin is loaded 2020-05-14 14:11:11 +02:00
ferferga
dd96102ec3 Merge remote-tracking branch 'upstream/master' into scrollbar-placeholder 2020-05-14 14:03:38 +02:00
ferferga
8d7b8104ff Overflow with scrollbar size 2020-05-14 11:58:13 +02:00
dkanada
62f30f0066 Merge pull request #1198 from ferferga/mobile-backdrops
Switch player backdrops to poster attribute of the video element
2020-05-14 14:41:20 +09:00
Anthony Lavado
1a25015c8d Merge pull request #1208 from twinkybot/master
Per default a new user has no access to any library
2020-05-14 00:49:53 -04:00
Anthony Lavado
489aa04d94 Merge pull request #1213 from MrTimscampi/player-scrollbar
Hide the previous page when loading videoOsd
2020-05-14 00:48:37 -04:00
Anthony Lavado
f0d78f5d8e Merge pull request #1219 from jellyfin/dependabot/npm_and_yarn/webpack-dev-server-3.11.0
Bump webpack-dev-server from 3.10.3 to 3.11.0
2020-05-14 00:47:17 -04:00
dkanada
3f7cbd6674 update boolean after broken merge 2020-05-14 13:28:24 +09:00
dkanada
9a72c22680 Merge branch 'master' into master 2020-05-14 13:26:52 +09:00
dkanada
de8e54a3cf Merge pull request #1223 from jellyfin/routes
Fix wizard route and config load error
2020-05-14 12:22:40 +09:00
ferferga
b467fae109 Fix CSS linting 2020-05-13 23:01:46 +02:00
Adam Bokor
a571d2a102 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-13 15:29:12 -04:00
nextlooper42
6d5113b1cd Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-13 14:16:33 -04:00
millallo
7b4d7e9ba3 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-13 14:16:33 -04:00
gebohh
a249604633 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-13 14:16:33 -04:00
Moritz
48b58a8422 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-13 14:16:33 -04:00
dkanada
ee82cbba87 move console warning to catch block 2020-05-13 10:50:04 +09:00
Earnest
7e72514049 Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/eo/
2020-05-12 19:35:00 -04:00
Earnest
363550a76e Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-05-12 19:35:00 -04:00
Earnest
a4d3653a7a Added translation using Weblate (Esperanto) 2020-05-12 19:04:31 -04:00
D Z
aa101a95c3 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/
2020-05-12 17:30:01 -04:00
nextlooper42
c0f2a484fb Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-12 11:52:44 -04:00
rapmue
47445c6d05 Translated using Weblate (German (Swiss))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/gsw/
2020-05-12 11:52:44 -04:00
Moritz
e2f4ef7ad0 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-12 11:52:44 -04:00
Benjamin
100e3d8cc8 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-05-12 03:48:38 -04:00
millallo
fb688c35b7 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-12 03:48:38 -04:00
dkanada
f7c692d14e fix lint errors 2020-05-12 16:27:30 +09:00
dkanada
41c10974aa Merge pull request #1084 from MrTimscampi/sonarqube-fixes-2
Fix more Sonarqube issues
2020-05-12 15:17:09 +09:00
dkanada
8c3e72fe7b fix wizard route and config load error 2020-05-12 06:28:14 +09:00
MrTimscampi
88706e794a Add TV and Mobile compatibility to the new metadata dialog 2020-05-11 22:23:08 +02:00
MrTimscampi
467bda4ed7 Make dialogs more bearable 2020-05-11 21:43:41 +02:00
dkanada
f8d4623ccf Merge pull request #1221 from jellyfin/dependabot/npm_and_yarn/date-fns-2.13.0
Bump date-fns from 2.12.0 to 2.13.0
2020-05-11 22:14:48 +09:00
Federico Antoniazzi
e95f385eec Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-11 09:02:51 -04:00
dkanada
0778406c16 Merge pull request #1218 from jellyfin/dependabot/npm_and_yarn/jquery-3.5.1
Bump jquery from 3.5.0 to 3.5.1
2020-05-11 19:19:18 +09:00
dkanada
7202fbf860 Merge pull request #1217 from jellyfin/dependabot/npm_and_yarn/shaka-player-2.5.11
Bump shaka-player from 2.5.10 to 2.5.11
2020-05-11 19:18:54 +09:00
dependabot-preview[bot]
9f084b5fea Bump date-fns from 2.12.0 to 2.13.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/master/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v2.12.0...v2.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 10:00:57 +00:00
dependabot-preview[bot]
08682acfdb Bump webpack-dev-server from 3.10.3 to 3.11.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.10.3 to 3.11.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.3...v3.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 09:59:58 +00:00
dependabot-preview[bot]
2cdb7beb17 Bump jquery from 3.5.0 to 3.5.1
Bumps [jquery](https://github.com/jquery/jquery) from 3.5.0 to 3.5.1.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.5.0...3.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 09:59:18 +00:00
dependabot-preview[bot]
5aec0fcb7d Bump shaka-player from 2.5.10 to 2.5.11
Bumps [shaka-player](https://github.com/google/shaka-player) from 2.5.10 to 2.5.11.
- [Release notes](https://github.com/google/shaka-player/releases)
- [Changelog](https://github.com/google/shaka-player/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/shaka-player/compare/v2.5.10...v2.5.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 09:58:23 +00:00
dkanada
e6fd9867e0 Merge pull request #1203 from dmitrylyzo/fix-autoprefixer-browsers
Fix browserslist for autoprefixer
2020-05-11 18:57:59 +09:00
dkanada
8fcf00d666 Merge pull request #1205 from dmitrylyzo/fix-webos2-slider
Fix slider thumb on WebOS 2
2020-05-11 18:55:43 +09:00
Sarab Singh
b1cbd3c0e4 lint 2020-05-11 13:48:41 +05:30
Sarab Singh
d235f34175 indent 2020-05-11 13:45:29 +05:30
Sarab Singh
4b4879f8a2 dam indent 2020-05-11 13:43:41 +05:30
Mark Monteiro
27cbd0e1d8 Merge remote-tracking branch 'upstream/master' into cleanup-network-settings 2020-05-10 18:53:49 -04:00
Mark Monteiro
bdda2df665 Apply suggestions from code review 2020-05-10 18:49:01 -04:00
Thomas Wayne
50e2f9dd4a Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-05-10 15:59:29 -04:00
Adam
d807de43d6 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/
2020-05-10 15:59:28 -04:00
Sarab Singh
f229d0c5ee apparently i cannot resolve conflicts 2020-05-10 22:58:14 +05:30
Sarab Singh
714776dde0 missed , -_- 2020-05-10 22:16:52 +05:30
Sarab Singh
f75e37d358 Merge branch 'master' into es6-migration 2020-05-10 22:13:00 +05:30
Sarab Singh
4845b22871 Update src/components/indicators/indicators.js
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-05-10 22:05:09 +05:30
Sarab Singh
b6580053c0 fix new suggestions 2020-05-10 21:35:30 +05:30
YaPurO
2a6f6e9820 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-05-10 11:51:44 -04:00
Julien Machiels
c54b297562 Update src/components/libraryoptionseditor/libraryoptionseditor.js
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-05-10 15:38:15 +02:00
Sarab Singh
d77c569b69 typo 2020-05-10 14:57:47 +05:30
Sarab Singh
83f1c7498d fixed the suggested changes 2020-05-10 14:46:28 +05:30
Vitorvlv
5e7adf36f8 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-05-09 20:38:47 -04:00
MrTimscampi
d7c2fd7337 Hide the previous page when loading videoOsd 2020-05-10 01:08:08 +02:00
Frank Riley
421dfbf2c0 Fix #1210: Add credentials to XHR requests 2020-05-09 11:34:58 -07:00
Tien Nguyen
fb7a19d85d Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-09 09:22:39 -04:00
Erwin Yükselgil
91a26fa7b5 Per default a new user has no access to any library. The admin has to check needed libraries. 2020-05-09 14:07:25 +02:00
Tien Nguyen
a36fe308d8 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-09 08:03:33 -04:00
gion
36d097291e Rename Syncplay to SyncPlay 2020-05-09 12:38:23 +02:00
gion
11f6217bb2 Fix code issues 2020-05-09 12:38:23 +02:00
gion
a2ba96ab82 Handle error messages 2020-05-09 12:04:14 +02:00
gion
71f72f836c Remove syncplay worker
This was an attempt to fix issues on Safari
2020-05-09 12:04:14 +02:00
gion
4eedbe5742 Fix sign in date conversion 2020-05-09 12:04:14 +02:00
gion
9839dcd02a Update session ping 2020-05-09 12:03:23 +02:00
gion
5342b90a56 Implement NTP like time sync 2020-05-09 12:02:34 +02:00
gion
06e6c99c03 Disable syncing after several attempts
Refactor syncplay manager
Attempt fixing Safari issues (timeupdate event not firing)
2020-05-09 12:02:17 +02:00
gion
9fabbd5746 Capture playback permission 2020-05-09 12:02:17 +02:00
gion
a18bca9d8c Implement syncplay permissions for a user 2020-05-09 12:00:33 +02:00
gion
56ee678fc2 Port to ES6 2020-05-09 12:00:33 +02:00
gion
460c2a1f77 Fix lint errors 2020-05-09 11:59:37 +02:00
gion
6c18b655e0 Implement syncplay frontend 2020-05-09 11:59:37 +02:00
andra5
ed12e7c4f9 Translated using Weblate (German (Swiss))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/gsw/
2020-05-08 19:12:07 -04:00
Joe Kang
1ef40ac446 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-05-08 14:13:07 -04:00
Dmitry Lyzo
7952511691 Remove flex support checking - should be supported anyway 2020-05-08 15:45:55 +03:00
Dmitry Lyzo
1fe17007d6 Enable fake zoom image on Safari (WebKit) 2020-05-08 13:58:28 +03:00
Dmitry Lyzo
f516bee147 Fix iOS blurry zoomed image 2020-05-08 13:58:28 +03:00
Dmitry Lyzo
5b40232b7b Use built-in swiper classes 2020-05-08 13:58:28 +03:00
Dmitry Lyzo
345ccaf16e Fix browserslist for autoprefixer 2020-05-08 13:50:04 +03:00
Sarab Singh
ee2f86124b actionsheet 2020-05-08 15:34:45 +05:30
Sarab Singh
f98529e69c revert change of camelCase 2020-05-08 15:33:16 +05:30
MrTimscampi
14e24be980 Re-add user-drag properties 2020-05-08 11:19:01 +02:00
MrTimscampi
9a47428e61 Implement suggestions 2020-05-08 10:57:54 +02:00
MrTimscampi
2d972efa0a Remove useless expressions 2020-05-08 10:55:49 +02:00
MrTimscampi
ac69f29d5a Fix some Major issues 2020-05-08 10:55:17 +02:00
MrTimscampi
a6a39c0ce1 Fix critical issue in htmlvideoplayer 2020-05-08 10:44:44 +02:00
Julien Machiels
89d475434f Fix API keys table caption
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2020-05-08 10:44:44 +02:00
MrTimscampi
45da9c0a39 Fix more accessibility and blockers 2020-05-08 10:44:42 +02:00
MrTimscampi
b9681dbfe5 Add CSS class to add elements targeting screen readers 2020-05-08 10:40:49 +02:00
MrTimscampi
9cd6627eed Make API Keys table more accessible to screen readers 2020-05-08 10:40:47 +02:00
MrTimscampi
8da3735118 Fix security issues reported by Sonarqube 2020-05-08 10:39:58 +02:00
dkanada
41ba09a316 Merge pull request #1114 from redSpoutnik/fix-subtitlesync-textfield
Fix SubtitleSync-TextField behavior
2020-05-08 16:47:40 +09:00
dennisgerding
4ef66ad290 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-05-08 03:30:00 -04:00
redSpoutnik
b0a245867c Merge branch 'master' into fix-subtitlesync-textfield 2020-05-08 09:25:46 +02:00
dkanada
95bd5e4f78 Merge pull request #1144 from JustAMan/seek-ass-better
Fix .ASS offset when seeking a progressive stream
2020-05-08 16:09:51 +09:00
dkanada
89851490f5 Merge pull request #1196 from MrTimscampi/apiclient-leftovers
Remove leftover API client file
2020-05-08 15:57:12 +09:00
dkanada
63cdd95baa Merge pull request #1200 from dmitrylyzo/fix-apiclient-1
Babel apiclient and fix reference name
2020-05-08 15:56:27 +09:00
amirmasoud
5f8a3351ef Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-05-08 00:25:02 -04:00
Dmitry Lyzo
5d40eb0b23 Babel apiclient and fix reference name 2020-05-08 01:26:58 +03:00
ferferga
7a63c07250 Set backdrops using 'poster' attribute 2020-05-08 00:07:59 +02:00
ferferga
7bf117191b Use player backdrops everywhere 2020-05-07 23:24:03 +02:00
MrTimscampi
60812f3574 Remove leftover API client file 2020-05-07 21:57:50 +02:00
dkanada
a7241d39f6 Merge pull request #1007 from MrTimscampi/apiclient-be-gone
Remove API Client from the tree
2020-05-08 03:05:24 +09:00
MrTimscampi
ee46863a5f Fix suggestions 2020-05-07 17:21:26 +02:00
MrTimscampi
22e1a9b269 Re-enable cache on CI 2020-05-07 17:08:21 +02:00
MrTimscampi
ca4d60c648 Disable ESLint compat plugin while detection buggy 2020-05-07 16:50:43 +02:00
MrTimscampi
45d8c5bc3a Merge remote-tracking branch 'upstream/master' into apiclient-be-gone 2020-05-07 16:37:48 +02:00
MrTimscampi
bab96ae298 Use the NPMJS package for the API client 2020-05-07 16:35:54 +02:00
Vasily
d718f7cacb Merge pull request #1088 from MrTimscampi/media-session
Update and cleanup MediaSessions
2020-05-07 14:37:19 +03:00
Julien Machiels
14c74ee0b9 Merge branch 'master' into media-session 2020-05-07 13:31:48 +02:00
Vasily
f3ebaac7e6 Merge pull request #1065 from MrTimscampi/lazyloader
Add unloading capability to the image loader
2020-05-07 14:28:54 +03:00
MrTimscampi
f27f461d3d Merge remote-tracking branch 'upstream/master' into apiclient-be-gone 2020-05-07 11:37:42 +02:00
MrTimscampi
a31455f2af Merge remote-tracking branch 'upstream/master' into media-session 2020-05-07 11:33:40 +02:00
MrTimscampi
1e4dd8ec93 Remove lazyloader-scroll 2020-05-07 11:02:47 +02:00
MrTimscampi
7dc1cf771d Merge remote-tracking branch 'upstream/master' into lazyloader 2020-05-07 11:01:14 +02:00
newton181
81b6be82b2 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-05-06 22:27:14 -04:00
dkanada
b0b3f77525 Merge pull request #1192 from dmitrylyzo/use-root-config
Use root build config
2020-05-07 02:32:22 +09:00
Oliver Moolman
c403f65c01 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/af/
2020-05-06 13:09:22 -04:00
dottokuya
9498ab57d4 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-06 13:09:14 -04:00
newton181
78ec9968f7 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-05-06 13:09:14 -04:00
Dmitry Lyzo
f21f01bb05 Use root build config 2020-05-06 17:02:56 +03:00
Oliver Moolman
f8657bdf4b Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/af/
2020-05-06 08:10:03 -04:00
4d1m
5847a4aa25 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-05-06 08:10:02 -04:00
miguel marsa canals
dba54bdae8 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-05-06 08:10:01 -04:00
TheGoose
e24c7e6aaf Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/
2020-05-06 08:10:01 -04:00
rasser900
ee39bef1f0 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-05-06 08:10:00 -04:00
miguel marsa canals
8eaff74e3e Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ca/
2020-05-06 08:10:00 -04:00
dkanada
62a7cf4289 Merge pull request #1187 from jellyfin/dependabot/npm_and_yarn/stylelint-13.3.3
Bump stylelint from 13.2.1 to 13.3.3
2020-05-06 14:34:15 +09:00
dkanada
ef05fdb5aa Merge pull request #1183 from jellyfin/dependabot/npm_and_yarn/babel/plugin-transform-modules-amd-7.9.6
Bump @babel/plugin-transform-modules-amd from 7.9.0 to 7.9.6
2020-05-06 14:33:05 +09:00
dkanada
ea3b5246ff Merge pull request #1188 from jellyfin/dependabot/npm_and_yarn/core-js-3.6.5
Bump core-js from 3.6.4 to 3.6.5
2020-05-06 14:32:22 +09:00
Nazar Bulavko
5490462602 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/
2020-05-05 18:10:07 -04:00
Brandon L
b72edd66a6 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
2020-05-05 18:10:07 -04:00
Nazar Bulavko
a6182bd412 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/
2020-05-05 14:52:43 -04:00
Brandon L
f25480a82a Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
2020-05-05 14:52:43 -04:00
Moritz
e5ce0ae853 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-05-05 14:52:43 -04:00
dkanada
8e9b0b2062 Merge pull request #1177 from dmitrylyzo/fix-backdropscreensaver
Fix backdrop screensaver: autoplay and hide
2020-05-05 22:48:02 +09:00
dkanada
d04f7e97bd Merge pull request #1168 from sarab97/zoomfix
fixed aspect ratio display issue of photo
2020-05-05 22:46:45 +09:00
dkanada
532d496ea6 Merge pull request #1167 from Brissot/av1
Added AV1 Codec Profile to Avoid Transcode
2020-05-05 22:45:43 +09:00
dependabot-preview[bot]
fccf75997c Bump stylelint from 13.2.1 to 13.3.3
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.2.1 to 13.3.3.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.2.1...13.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:45:40 +00:00
dependabot-preview[bot]
57fe0cd60e Bump core-js from 3.6.4 to 3.6.5
Bumps [core-js](https://github.com/zloirock/core-js) from 3.6.4 to 3.6.5.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.6.4...v3.6.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:45:37 +00:00
dependabot-preview[bot]
9c74b52583 Bump @babel/plugin-transform-modules-amd from 7.9.0 to 7.9.6
Bumps [@babel/plugin-transform-modules-amd](https://github.com/babel/babel) from 7.9.0 to 7.9.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.0...v7.9.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:45:36 +00:00
dkanada
4f819cec4a Merge pull request #1184 from jellyfin/dependabot/npm_and_yarn/page-1.11.6
Bump page from 1.11.5 to 1.11.6
2020-05-05 22:43:28 +09:00
dkanada
e85c1cddac Merge pull request #1185 from jellyfin/dependabot/npm_and_yarn/babel/core-7.9.6
Bump @babel/core from 7.9.0 to 7.9.6
2020-05-05 22:43:15 +09:00
dkanada
a2c4052ad0 Merge pull request #1186 from jellyfin/dependabot/npm_and_yarn/date-fns-2.12.0
Bump date-fns from 2.11.1 to 2.12.0
2020-05-05 22:43:03 +09:00
dkanada
8ee843b3e5 Merge pull request #1182 from jellyfin/dependabot/npm_and_yarn/html-webpack-plugin-4.3.0
Bump html-webpack-plugin from 4.0.2 to 4.3.0
2020-05-05 22:40:26 +09:00
dkanada
2c29855c70 Merge pull request #1181 from jellyfin/dependabot/npm_and_yarn/intersection-observer-0.10.0
Bump intersection-observer from 0.7.0 to 0.10.0
2020-05-05 22:35:14 +09:00
dependabot-preview[bot]
0ed39c14a8 Bump date-fns from 2.11.1 to 2.12.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.11.1 to 2.12.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/master/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v2.11.1...v2.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:09:50 +00:00
dependabot-preview[bot]
dad493c675 Bump @babel/core from 7.9.0 to 7.9.6
Bumps [@babel/core](https://github.com/babel/babel) from 7.9.0 to 7.9.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.0...v7.9.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:08:25 +00:00
dependabot-preview[bot]
713ef99745 Bump page from 1.11.5 to 1.11.6
Bumps [page](https://github.com/visionmedia/page.js) from 1.11.5 to 1.11.6.
- [Release notes](https://github.com/visionmedia/page.js/releases)
- [Changelog](https://github.com/visionmedia/page.js/blob/master/History.md)
- [Commits](https://github.com/visionmedia/page.js/compare/v1.11.5...v1.11.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:08:09 +00:00
dependabot-preview[bot]
051a09a91c Bump html-webpack-plugin from 4.0.2 to 4.3.0
Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 4.0.2 to 4.3.0.
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jantimon/html-webpack-plugin/compare/v4.0.2...v4.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:07:14 +00:00
dependabot-preview[bot]
0ce44624ab Bump intersection-observer from 0.7.0 to 0.10.0
Bumps [intersection-observer](https://github.com/w3c/IntersectionObserver) from 0.7.0 to 0.10.0.
- [Release notes](https://github.com/w3c/IntersectionObserver/releases)
- [Commits](https://github.com/w3c/IntersectionObserver/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 13:06:49 +00:00
Anthony Lavado
cd10bc4e6a Merge pull request #1165 from MrTimscampi/dependabot
Add dependabot config
2020-05-05 09:04:01 -04:00
MrTimscampi
1bfe501ba7 Update lockfile 2020-05-05 11:59:10 +02:00
MrTimscampi
f16cec5d49 Merge remote-tracking branch 'upstream/master' into apiclient-be-gone 2020-05-05 11:28:41 +02:00
Dmitry Lyzo
e1e42b8557 Merge branch 'master' into youtube-keybindings 2020-05-05 11:50:31 +03:00
Anthony Lavado
b3d0394fd1 Merge pull request #1069 from MrTimscampi/lint
Force the use of single quotes
2020-05-04 23:48:03 -04:00
Tien Nguyen
9c7fdef46b Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-04 18:08:02 -04:00
Tien Nguyen
484194fccf Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-04 14:51:44 -04:00
Dmitry Lyzo
d53a190d7c Fix backdrop screensaver: autoplay and hide 2020-05-04 20:38:57 +03:00
MrTimscampi
adb8f4114b Add missing break in videoOsd 2020-05-04 18:13:34 +02:00
MrTimscampi
ea18f97e8b Fix change requests in videoOsd 2020-05-04 18:09:10 +02:00
Rafael Vieira Santos
692a649ecc Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-05-04 10:14:25 -04:00
amirmasoud
9e09f1bad1 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-05-04 10:14:24 -04:00
Sarab Singh
cef8fba4de indicator changes class and cleanup 2020-05-04 16:35:36 +05:30
MrTimscampi
9e3ca706c4 Force the use of single quotes 2020-05-04 12:44:12 +02:00
Sarab Singh
eb29d0b6a7 indicator migrated to es6 2020-05-04 16:08:52 +05:30
MrTimscampi
52e90f28e4 Update yarn.lock 2020-05-04 11:08:25 +02:00
MrTimscampi
0dd4798d71 Disable caching for linting job 2020-05-04 10:54:13 +02:00
MrTimscampi
fbe2352f16 Remove duplicate entry in ES6 to AMD array 2020-05-04 10:45:59 +02:00
MrTimscampi
83c2f44baa Disable cache step in CI 2020-05-04 10:43:41 +02:00
Tien Nguyen
8b6dc05d64 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-03 20:49:30 -04:00
Adam Bokor
db6f37d8b0 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-03 20:49:24 -04:00
Tin Pavelic
86dc0c9da0 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/
2020-05-03 20:49:24 -04:00
Aragon
c590461f28 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/
2020-05-03 20:49:23 -04:00
Brissot
4c9119d4b4 Made an webm AV1 profile to fix issue where AV1 would transcode instead of direct play even if the browser supports decoding AV1. 2020-05-03 17:26:39 -04:00
Vasily
d5c7078c3f Merge pull request #1131 from dmitrylyzo/fix-icons-webos2
Icons for WebOS 2
2020-05-03 23:24:26 +03:00
Sarab Singh
66a18f93d8 loop fix 2020-05-04 00:35:39 +05:30
Sarab Singh
8432ac0da7 fixes 2020-05-03 23:59:23 +05:30
Sarab Singh
6c4528f0dc fixed site.js 2020-05-03 20:40:38 +05:30
Sarab Singh
63816ef69b package 2020-05-03 20:39:02 +05:30
Sarab Singh
b8a219a2dd playmenu 2020-05-03 20:38:38 +05:30
Sarab Singh
05385ffdf4 dam lint 2020-05-03 20:00:32 +05:30
Sarab Singh
6d28c139cd actionsheet 2020-05-03 19:56:46 +05:30
Sarab Singh
d9381a6656 indent 2020-05-03 18:05:40 +05:30
Sarab Singh
8353cca8b8 final fixes deleteHelper 2020-05-03 18:05:40 +05:30
Sarab Singh
4bcb7985d8 deletehelper migrated 2020-05-03 18:05:40 +05:30
dkanada
e9151b6ee9 Merge pull request #1166 from sarab97/downloadbutton
Download button fix on photos slideshow
2020-05-03 15:07:30 +09:00
Sarab Singh
ffcb04e753 no more breaking of screensaver 2020-05-03 03:20:40 +05:30
MrTimscampi
8e337da01d Pass ApiClientFactory instead of API client module 2020-05-02 21:43:04 +02:00
MrTimscampi
28f575755b Add check for source when loading images 2020-05-02 19:44:27 +02:00
Pan Renzhou
6331709e3e Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-05-02 08:22:26 -04:00
nextlooper42
28ada7dc89 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-05-02 08:22:25 -04:00
Andrey Sinitsyn
d16e11ea77 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-05-02 08:22:25 -04:00
Dmitry Lyzo
a3bc8c183e Use remove+add pattern for icons 2020-05-02 14:02:44 +03:00
Sarab Singh
bbfe685477 removed important 2020-05-02 15:16:40 +05:30
Sarab Singh
e13a768811 margin 2020-05-02 05:35:20 +05:30
Sarab Singh
1fbe27f6a3 damn you lint 2020-05-02 04:04:11 +05:30
Sarab Singh
69f3906174 fixed aspect ratio display issue of photo 2020-05-02 03:57:13 +05:30
Sarab Singh
52ab4338e7 stupid lint 2020-05-02 02:54:14 +05:30
Sarab Singh
d920afe61b spaces 2020-05-02 02:40:48 +05:30
Sarab Singh
779bb20944 download button fix on top action bar 2020-05-02 02:31:13 +05:30
Sarab Singh
5a6b097ed9 image link from remote web client fix 2020-05-02 02:28:58 +05:30
Tien Nguyen
03c0ae526f Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-01 16:40:07 -04:00
xGigaa
bf91fc7a89 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nb_NO/
2020-05-01 16:39:59 -04:00
millallo
147309b684 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-05-01 16:39:59 -04:00
Heikki Jetsonen
3177c72f08 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-05-01 16:39:59 -04:00
Libor Filípek
9cff51e155 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-05-01 16:39:47 -04:00
Sarab Singh
31f53d0855 download button only if permission 2020-05-02 00:57:51 +05:30
MrTimscampi
a7fe198329 Attempt to fix image loading issues 2020-05-01 17:06:50 +02:00
MrTimscampi
81dffa3a93 Merge remote-tracking branch 'upstream/master' into media-session 2020-05-01 16:14:54 +02:00
MrTimscampi
370a01f4af Only load mediaSessions if available or if NativeShell 2020-05-01 16:13:46 +02:00
MrTimscampi
331341884b Remove console warning 2020-05-01 15:11:47 +02:00
MrTimscampi
ff7b69e5d6 Remove unused file visibleinviewport.js 2020-05-01 15:08:30 +02:00
MrTimscampi
b8422a2464 Fix userSettings import 2020-05-01 15:01:56 +02:00
MrTimscampi
c07dd26fdc Merge remote-tracking branch 'upstream/master' into lazyloader 2020-05-01 14:43:51 +02:00
MrTimscampi
4dc7be9422 Use the proper release for jellyfin-apiclient 2020-05-01 14:17:37 +02:00
Tien Nguyen
96cfabeffe Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-01 06:16:23 -04:00
Adam Bokor
cf759c0143 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-05-01 06:16:22 -04:00
Aragon
4defe293fd Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/
2020-05-01 06:16:22 -04:00
MrTimscampi
1766a8fcbb Refactor librarymenu.js 2020-05-01 12:08:43 +02:00
MrTimscampi
46e145baba Add inline sourcemaps to webpack 2020-05-01 12:08:43 +02:00
MrTimscampi
33f19c0bef Remove apiclient from tree 2020-05-01 12:08:41 +02:00
dkanada
52fe5213f3 Merge pull request #1150 from nielsvanvelzen/wherearemytags
Remove limit of 50 for tag filter
2020-05-01 18:45:12 +09:00
Tien Nguyen
2f3730582f Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-01 05:32:30 -04:00
Aragon
5b28776ded Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/
2020-05-01 05:32:29 -04:00
Julien Machiels
f2157ad344 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-05-01 05:32:29 -04:00
dkanada
86c97e0796 Merge pull request #1145 from MrTimscampi/codeowners
Add a CODEOWNERS file
2020-05-01 18:07:36 +09:00
dkanada
1ce5987adc Merge branch 'master' into codeowners 2020-05-01 18:04:07 +09:00
dkanada
bf3af085a6 remove web team from code owners file
Co-authored-by: Vasily <JustAMan@users.noreply.github.com>
2020-05-01 18:02:14 +09:00
Tien Nguyen
054d2b8078 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-01 04:58:08 -04:00
Tien Nguyen
7318236dd6 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-01 04:58:08 -04:00
Tien Nguyen
18dea4776a Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-05-01 04:58:08 -04:00
dkanada
645bd08161 Merge pull request #1162 from MrTimscampi/stupid-logo
Remove the small logo in OSD and details page
2020-05-01 17:58:04 +09:00
dkanada
6acf3f340c Merge pull request #1159 from jellyfin/dependabot/npm_and_yarn/jquery-3.5.0
Bump jquery from 3.4.1 to 3.5.0
2020-05-01 17:53:50 +09:00
dkanada
ecd9b8bf0e Merge pull request #1142 from sarab97/master
fix playlist translation for en language
2020-05-01 17:53:30 +09:00
MrTimscampi
4404f9e099 Add dependabot config 2020-05-01 08:35:17 +02:00
Tien Nguyen
1785ab5f1f Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/
2020-04-30 23:33:39 -04:00
fesken
0256303895 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-04-30 23:33:36 -04:00
Heikki Jetsonen
4d58f73936 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-04-30 23:33:36 -04:00
MrTimscampi
a697f22d13 Remove unused function in videoosd 2020-04-30 20:19:58 +02:00
MrTimscampi
be54505bf3 Remove the small logo in OSD and details page 2020-04-30 20:15:39 +02:00
Viktor Grudev
d63f8f13a6 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-30 10:35:27 -04:00
Vasily
c23e301e32 Merge pull request #1146 from JustAMan/webos2-play
Fix some issues blocking WebOS 1.2 / 2.0
2020-04-30 12:13:42 +03:00
Comahar
26e85d802c Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/
2020-04-30 00:07:03 -04:00
WWWesten
235d838b41 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-30 00:07:02 -04:00
WWWesten
a15f75f5e1 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/kk/
2020-04-30 00:07:02 -04:00
millallo
2b00ec9ac7 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-30 00:07:00 -04:00
dependabot[bot]
7e2dee6078 Bump jquery from 3.4.1 to 3.5.0
Bumps [jquery](https://github.com/jquery/jquery) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.4.1...3.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-04-30 03:55:31 +00:00
Vasily
eb00af5e84 Update src/components/maintabsmanager.js
Co-Authored-By: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-04-30 01:41:52 +03:00
Cromefire_
84a22e9c3f Added more debug logging 2020-04-30 00:31:34 +02:00
Vasily
7bbed76d86 Merge pull request #1156 from ferferga/crlf-lf
Change EOL of dfnshelper from CRLF to LF
2020-04-30 01:20:21 +03:00
ferferga
196461f8fe Change EOL of dfnshelper from CRLF to LF 2020-04-30 00:12:43 +02:00
ferferga
8b71ebc35f more_vert in itemdetailpage.js 2020-04-30 00:05:44 +02:00
ferferga
6b79bd4921 Merge remote-tracking branch 'upstream/master' into vertical-menu 2020-04-29 23:55:47 +02:00
Dmitry Lyzo
d98645135b Merge branch 'master' into fix-icons-webos2 2020-04-30 00:55:43 +03:00
ferferga
1b0a5e2543 Replace horizontal icon using unicode and remove unnecessary statement in apphost 2020-04-29 23:55:26 +02:00
Vasily
6dd1d906aa Merge pull request #1004 from ferferga/global-globalize
Don't use Globalize globally
2020-04-30 00:51:20 +03:00
ferferga
0117bf476a Merge remote-tracking branch 'upstream/master' into global-globalize 2020-04-29 23:47:52 +02:00
Vasily
9027886bb0 Merge pull request #978 from joshuaboniface/improve-builds
Improve and split builds
2020-04-30 00:29:39 +03:00
Joshua M. Boniface
7b47bb6235 Update deployment/Dockerfile.fedora.all
Co-Authored-By: Odd Stråbø <oddstr13@openshell.no>
2020-04-29 14:14:49 -04:00
Joshua M. Boniface
443273c030 Update deployment/Dockerfile.centos.all
Co-Authored-By: Odd Stråbø <oddstr13@openshell.no>
2020-04-29 14:14:38 -04:00
4d1m
60c040ec1d Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-04-29 12:12:59 -04:00
Adam Bokor
81ae0cb980 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-29 12:12:58 -04:00
bg56530
c384174b27 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-29 12:12:58 -04:00
amirmasoud
809639360e Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-29 12:12:58 -04:00
sebastianporta
2cb5e8c5d0 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-28 21:33:08 -04:00
Dmitry Lyzo
76dfab5cef Merge remote-tracking branch 'upstream/master' into fix-icons-webos2
Conflicts:
	src/components/remotecontrol/remotecontrol.js
2020-04-28 19:18:37 +03:00
Vasily
03d391f2c2 Merge pull request #1125 from dmitrylyzo/fix-remotecontrol-button
Fix event subscription on remotecontrol page
2020-04-28 19:13:16 +03:00
Sarab Singh
cc34d77549 reverted the change in list.js 2020-04-28 21:34:41 +05:30
Andrey Sinitsyn
dad221813b Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-28 12:02:27 -04:00
이재현
f3d752ebee Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-04-28 12:02:26 -04:00
Medzhnun Mehmed
dfa434bb44 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-28 12:02:25 -04:00
Niels van Velzen
8eba4fb866 Remove limit of 50 for tag filter 2020-04-28 17:43:06 +02:00
Dmitry Lyzo
6a258c055b Update quotes style 2020-04-28 18:04:39 +03:00
Dmitry Lyzo
33a6daf6b6 Update loop 2020-04-28 17:50:34 +03:00
Dmitry Lyzo
7905a868c8 Merge remote-tracking branch 'upstream/master' into fix-icons-webos2
Conflicts:
	src/controllers/dashboard/plugins/available.js
	src/controllers/dashboard/plugins/installed.js
2020-04-28 16:55:33 +03:00
Dmitry Lyzo
4e735ec130 Add strings to translate 2020-04-28 16:42:17 +03:00
Dmitry Lyzo
c7401e9a87 Merge remote-tracking branch 'upstream/master' into fix-remotecontrol-button 2020-04-28 16:30:20 +03:00
Dmitry Lyzo
4609e22520 Update style 2020-04-28 16:09:40 +03:00
Dmitry Lyzo
1f3620e219 Move HTML generation to more appropriate place 2020-04-28 15:57:34 +03:00
Vasily
0bd9e87b38 Use CustomElements.upgradeSubtree() as an easier way of making sure the element is ready 2020-04-28 15:40:27 +03:00
Vasily
e4bafe3c05 temp break stuff back 2020-04-28 14:14:37 +03:00
dkanada
26753209d7 Merge pull request #1126 from MrTimscampi/null-or-undefined
Check appSettings for undefined
2020-04-28 12:53:03 +09:00
dkanada
9e44239f4b Merge pull request #1129 from MrTimscampi/build-fixes
Convert ESLint config to JavaScript, lint all files and re-add autoprefixer
2020-04-28 12:51:42 +09:00
Łukasz Nowak
0320226c9f Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/
2020-04-27 23:23:42 -04:00
sebastianporta
66e763058a Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-04-27 23:23:42 -04:00
Vasily
f736296613 Use new version of octopus 2020-04-28 01:54:53 +03:00
Vasily
7ea82f6124 Fix .ASS offset when seeking a progressive stream
This is needed because progressive stream is actually restarted upon each seek
2020-04-28 01:53:36 +03:00
Vasily
4609a8f2d0 Fix moved filesystem.js 2020-04-28 00:22:32 +03:00
Vasily
0ec98cc146 Add option to device profileBuilder() to accept client render of ASS 2020-04-27 23:09:59 +03:00
Nicholas Kyriakides
93f4edd6bb Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/el/
2020-04-27 13:25:21 -04:00
Shillos
e47d6329f9 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/el/
2020-04-27 12:04:00 -04:00
JeanKadang
ebd700dbbc Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-04-27 12:04:00 -04:00
Medzhnun Mehmed
71463ae088 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-27 12:04:00 -04:00
Vasily
de27ce0432 restore gulpfile 2020-04-27 18:51:04 +03:00
Vasily
fbaed0310a Fix webos detection 2020-04-27 18:49:11 +03:00
Vasily
85002fa5c2 Create tabs custom element properly 2020-04-27 18:49:11 +03:00
Vasily
1f8d1184d8 Do not call Notification.requestPermission() if it is already granted or denied
This function crashes the app on WebOS 1.2, and notifs do not work on WebOS anyway
2020-04-27 18:49:11 +03:00
Vasily
ce2c3ad36e Debugging stuff 2020-04-27 18:49:11 +03:00
MrTimscampi
5714b5b7be Add a CODEOWNERS file 2020-04-27 17:46:44 +02:00
Sarab Singh
1be2cae92c translation for playlists and collections fix 2020-04-27 19:42:04 +05:30
Cromefire_
3b5e5cf7cf Fixed code smell and removed plugin helper 2020-04-27 14:20:32 +02:00
Sarab Singh
684661405b fix playlist translation for en language 2020-04-27 17:20:37 +05:30
Cromefire_
0ee1c1ec80 Added the possibility to register plugins with promises 2020-04-27 13:02:25 +02:00
Andrey Sinitsyn
7bb7560481 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-27 05:15:46 -04:00
Medzhnun
a0371b9355 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-27 05:15:46 -04:00
dkanada
36d4f600d9 Merge pull request #1063 from jellyfin/plugin
Update plugin pages for new manifest properties
2020-04-27 13:19:56 +09:00
dkanada
cc60acd86b Merge pull request #1135 from MrTimscampi/screenfull-ios-fix
Fix an issue with Screenfull on iOS
2020-04-27 13:19:43 +09:00
Shillos
395cdf1f2f Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/el/
2020-04-26 18:50:36 -04:00
4d1m
6b9e1fc1d1 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-04-26 17:24:34 -04:00
CutterXYZ
5d91f2e645 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-26 17:24:34 -04:00
Libor Filípek
fc53982c76 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-04-26 17:24:33 -04:00
Mark Monteiro
ac62b82828 Clean up network settings page
- remove HTTPS mode dropdown and split it into two checkboxes: EnableHttps and RequireHttps (IsBehindProxy is no longer a setting on the server)
- Reorganize settings on page
   - Create a fieldset for HTTPS settings
   - Create a fieldset for remote connection settings
   - Move baseUrl out of remote connection settings at closer to the top of the page
2020-04-26 17:23:24 -04:00
Vasily
b5896df4df Merge pull request #1137 from MrTimscampi/es6-fix
Update path to moved modules in ES6 modules
2020-04-26 23:17:12 +03:00
MrTimscampi
23b94d3e06 Fix path to screensavermanager 2020-04-26 19:54:55 +02:00
MrTimscampi
2f77309fdd Update path to moved modules in ES6 modules 2020-04-26 19:37:38 +02:00
MrTimscampi
e69359ecde Don't check if null 2020-04-26 16:49:21 +02:00
dkanada
47d8ef7fc2 Merge pull request #1134 from MrTimscampi/latest-tv-posters
Use posters for latest TV shows
2020-04-26 23:24:43 +09:00
dkanada
e45f76495e Merge pull request #1130 from dmitrylyzo/fix-remotecontrol-nav
Fix keyboard navigation on remotecontrol page
2020-04-26 23:23:29 +09:00
dkanada
748258966f Merge pull request #1127 from Delgan/improve-nthing-here
Fix pointer missing in "create new lib" link
2020-04-26 23:23:10 +09:00
dkanada
be44db0e3d Merge pull request #1121 from jellyfin/routes
Update more route locations
2020-04-26 23:22:05 +09:00
MrTimscampi
cf6cb0ac1d Fix another Screenfull issue 2020-04-26 16:16:48 +02:00
MrTimscampi
eb6f70240a Fix an issue with Screenfull on iOS 2020-04-26 16:07:07 +02:00
MrTimscampi
c5a8c6c67b Fix null checks 2020-04-26 15:05:41 +02:00
ferferga
97fafae1bc Replce missing globalizes 2020-04-26 15:04:00 +02:00
ferferga
7a0178cae6 Change menu icon to vertical one 2020-04-26 14:54:40 +02:00
ferferga
54eb916cfe Merge remote-tracking branch 'upstream/master' into global-globalize 2020-04-26 14:44:01 +02:00
MrTimscampi
9d0aa06264 Remove log lines 2020-04-26 14:18:43 +02:00
Dmitry Lyzo
6fe9a8c3e9 Change icon tag to span 2020-04-26 13:29:47 +03:00
Dmitry Lyzo
ad5c7ec3b4 CSS cleanup 2020-04-26 13:29:47 +03:00
Dmitry Lyzo
d088f5ef05 Move icons into class 2020-04-26 13:29:47 +03:00
Ricardo da Silva mendes
73d39fe055 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-04-26 04:39:39 -04:00
Ricardo da Silva mendes
37165ed7aa Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/af/
2020-04-26 04:39:38 -04:00
Ricardo da Silva mendes
6d2629353b Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-04-26 04:39:38 -04:00
amirmasoud
3b80807967 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-26 04:39:38 -04:00
MrTimscampi
fcb6808a9f Use square shape for homevideos items in home sections 2020-04-26 10:19:10 +02:00
MrTimscampi
4113f001cb Use posters for latest TV shows 2020-04-26 10:07:09 +02:00
LeeHaruki
9c3696e67a Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ja/
2020-04-25 23:17:29 -04:00
LeeHaruki
d63749f10a Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-25 23:17:28 -04:00
CutterXYZ
7773a3ae07 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-25 23:17:28 -04:00
Joshua M. Boniface
5330fd1228 Merge branch 'master' into improve-builds 2020-04-25 22:20:49 -04:00
Joshua M. Boniface
f6b2ea287c Update bump_version
Co-Authored-By: Vasily <JustAMan@users.noreply.github.com>
2020-04-25 22:15:38 -04:00
Joshua M. Boniface
847273a3c9 Update bump_version
Co-Authored-By: Vasily <JustAMan@users.noreply.github.com>
2020-04-25 22:15:15 -04:00
Joshua M. Boniface
fc8efaeab4 Update bump_version
Co-Authored-By: Vasily <JustAMan@users.noreply.github.com>
2020-04-25 22:14:55 -04:00
Joshua M. Boniface
5ef81ab41e Update bump_version
Co-Authored-By: Vasily <JustAMan@users.noreply.github.com>
2020-04-25 22:14:45 -04:00
MrTimscampi
7860deac23 Implement suggestions 2020-04-25 20:23:51 +02:00
Unlimitediq
2aaef23e59 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-04-25 13:21:02 -04:00
MrTimscampi
4c3092f857 Merge remote-tracking branch 'upstream/master' into lazyloader 2020-04-25 18:14:52 +02:00
Dmitry Lyzo
9bc718628e Fix keyboard navigation 2020-04-25 18:39:54 +03:00
Unlimitediq
520c039f3f Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-04-25 09:41:16 -04:00
MrTimscampi
96d49d3968 Add more filetypes to gitattributes 2020-04-25 15:02:42 +02:00
MrTimscampi
bbd1a4aa28 Add Autoprefixer
Apprently it got the axe when moving to Gulp. Oops.
2020-04-25 14:47:20 +02:00
Unlimitediq
9c12fb285d Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-04-25 08:16:04 -04:00
MrTimscampi
dc74e21363 Lint all JS files 2020-04-25 14:08:28 +02:00
MrTimscampi
519fde1aba Fix linting issues in PostCSS config 2020-04-25 14:07:55 +02:00
MrTimscampi
1c5419000c Fix linting issues in Gulgfile 2020-04-25 14:07:34 +02:00
MrTimscampi
380d66c3d7 Fix linting issues in webpack config 2020-04-25 14:07:20 +02:00
MrTimscampi
5f04c783e5 Convert ESLint config to JavaScript 2020-04-25 14:06:56 +02:00
MrTimscampi
441d0517b0 Add JSON to EditorConfig 2020-04-25 14:05:29 +02:00
MrTimscampi
9981e7da4f Update eslintignore 2020-04-25 14:05:01 +02:00
MrTimscampi
1548f21901 Check for null or undefined in userSettings 2020-04-25 12:17:27 +02:00
Delgan
9a08d8dbc4 Fix pointer missing in "create new lib" link 2020-04-25 10:11:38 +00:00
MrTimscampi
6ec256154e Check appSettings for undefined
Prevents infinite loading on the Playback settings page
2020-04-25 12:10:37 +02:00
amirmasoud
3b556cfaa2 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-25 05:41:36 -04:00
Dmitry Lyzo
e600943ab1 Fix event subscription 2020-04-25 11:42:45 +03:00
dkanada
227f203ac3 Merge pull request #1124 from MrTimscampi/ps4-layout
Use TV layout by default on PS4
2020-04-25 17:05:51 +09:00
dkanada
a98625cc5b merge branch master into routes 2020-04-25 10:54:34 +09:00
dkanada
9243301fdb remove object assign and headroom files 2020-04-25 10:43:27 +09:00
dkanada
4185ae6925 Merge pull request #1123 from MrTimscampi/headroom
Move headroom to bundle
2020-04-25 10:31:06 +09:00
Aragon
36bf98aa63 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/
2020-04-24 18:03:04 -04:00
MrTimscampi
1118f442f6 Use TV layout by default on PS4 2020-04-24 21:44:18 +02:00
gnehs
47552f3200 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-04-24 13:56:38 -04:00
Jennifer
966de1f56f Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-04-24 13:56:38 -04:00
millallo
07f624d7f0 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-24 13:56:37 -04:00
MrTimscampi
bd092a5400 Move headroom to bundle 2020-04-24 18:06:59 +02:00
redSpoutnik
3a815709cf subtitlesync toggle: make one-line conditions 2020-04-24 16:49:13 +02:00
dkanada
1843927576 move some files to more reasonable locations 2020-04-24 23:37:27 +09:00
dkanada
bd57d5dfb1 Merge pull request #1119 from JustAMan/workaround-buggy-promise
Add check for funky Promise faced on WebOS 2
2020-04-24 23:15:06 +09:00
dkanada
0cffdf43a5 Merge pull request #1122 from MrTimscampi/standalone-inject
Only inject appLoader if using standalone mode
2020-04-24 23:13:49 +09:00
MrTimscampi
d28b050f51 Only inject appLoader if using standalone mode 2020-04-24 16:02:33 +02:00
dkanada
3bcadd7605 merge branch master into routes 2020-04-24 22:59:41 +09:00
dkanada
34aad3e338 update more route locations 2020-04-24 22:58:43 +09:00
gebohh
ba57841ab0 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-24 06:30:31 -04:00
gersouza
ade4ad520b Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-04-23 20:49:40 -04:00
Adam Bokor
5dca6f19dc Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-23 20:49:39 -04:00
Soleil
a3040a6ac0 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-23 20:49:38 -04:00
Vasily
27e725f581 Add check for funky Promise faced on WebOS 2 2020-04-23 18:31:11 +03:00
tyaprak
24760a1158 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/
2020-04-23 01:10:41 -04:00
kwm1800
6f3fcd4478 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-04-23 01:10:41 -04:00
dkanada
5be5f25841 Merge pull request #1083 from mark-monteiro/handle-auth-response-codes-correctly
Handle 401 & 403 Server Responses Correctly
2020-04-23 14:10:35 +09:00
dkanada
928e2f797b Merge pull request #1116 from samuel9554/Zoom_In_on_Photos
[Feature Request] Zoom In on Photos
2020-04-23 13:56:51 +09:00
samuel9554
b5705c1c21 Zoom in on photo fix CSS 2020-04-22 16:18:09 -04:00
samuel9554
84bfaba9fe Added feature Zoom in on Photo 2020-04-22 15:50:33 -04:00
redSpoutnik
be8a1baa27 Fix SubtitleSync-TextField behavior 2020-04-22 16:21:46 +02:00
Chen-Tai,Peng
58f86994b9 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-04-22 08:36:01 -04:00
gersouza
9107085f25 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-04-22 04:54:42 -04:00
dkanada
27e757c530 Merge pull request #1099 from Delgan/patch-1
Fix dropdown not properly aligned for long subtitles
2020-04-22 13:15:32 +09:00
dkanada
ddc094dbfa Merge pull request #1113 from MrTimscampi/tv-genres-title
Add title and year to posters in TV genres view
2020-04-22 11:40:31 +09:00
gersouza
8d180ac5b2 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-04-21 22:33:10 -04:00
gersouza
4258c6a5f6 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-04-21 16:56:10 -04:00
4d1m
9bd770ffd4 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-04-21 13:36:28 -04:00
Mehdi Khosravi
b3624c0f91 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-21 13:36:27 -04:00
Gregor Hoffleit
d9a07675f1 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-04-21 13:36:27 -04:00
MrTimscampi
74448a4c83 Add title and year to posters in TV genres view 2020-04-21 19:17:57 +02:00
Vasily
bc24a9f296 Merge pull request #1056 from samuel9554/master
Revamp player (nowplaying.html, remotecontrol.js)
2020-04-21 14:03:15 +03:00
lldsolitude
8ffd07dac5 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-20 19:36:28 -04:00
MrTimscampi
097802cd51 Add maxHeight for media session image 2020-04-20 17:48:02 +02:00
dkanada
2eeabd38ff Merge pull request #1106 from dmitrylyzo/fix-inputmanager-trigger
Fix inputManager trigger
2020-04-20 23:27:45 +09:00
Juan Rodríguez
b7e8c7378a Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-20 09:02:05 -04:00
gnehs
45433754e1 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-04-19 11:54:40 -04:00
Libor Filípek
01cdc511b8 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-04-19 11:54:39 -04:00
dkanada
c867677d70 update links
Co-Authored-By: Vasily <JustAMan@users.noreply.github.com>
2020-04-19 20:29:30 +09:00
dkanada
d4427e8a37 Merge pull request #1022 from ferferga/fix-mobile-layout
Fix mobile layout for itemdetails
2020-04-19 20:21:27 +09:00
dkanada
f78bcd556d Merge pull request #1109 from jellyfin/change-to-google-cast
Change Chromecast player name to Google Cast
2020-04-19 11:40:27 +09:00
dkanada
14fcf7e3a5 Merge pull request #1108 from nielsvanvelzen/androidtv-exists
Add Android icon for Android TV in devices page
2020-04-19 11:39:08 +09:00
Klanc
53c2e7f48a Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ca/
2020-04-18 12:35:22 -04:00
Andreas B
36f2a76829 Change Chromecast player name to Google Cast 2020-04-18 17:26:10 +02:00
Niels van Velzen
f2ce2c359d Add Android icon for Android TV 2020-04-18 16:22:44 +02:00
Odd Stråbø
1a22e7fded Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nb_NO/
2020-04-18 05:53:03 -04:00
Dmitry Lyzo
91e8d2c44f Fix inputManager trigger 2020-04-18 11:32:36 +03:00
Julien Machiels
ff28682aaa Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-18 02:02:56 -04:00
Julien Machiels
af43213ffb Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-18 02:01:55 -04:00
Julien Machiels
b6fe5f3fef Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-18 01:53:57 -04:00
Julien Machiels
a25d037e95 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-18 01:52:55 -04:00
Vitorvlv
409409ba50 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-04-18 01:38:06 -04:00
Julien Machiels
d98cd1887c Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-18 01:38:06 -04:00
dkanada
45bf7db7ae Merge pull request #1100 from dmitrylyzo/playback_delayed_update-3
Add scheduled playback progress report
2020-04-18 11:03:06 +09:00
dkanada
69b9433917 Merge pull request #1103 from MrTimscampi/details-css-fix
Fix accidentally deleted CSS in details page
2020-04-18 10:56:31 +09:00
dkanada
7646c17688 Merge pull request #1104 from dmitrylyzo/fix-undefined-variable
Fix reference to undefined variable
2020-04-18 10:56:09 +09:00
dkanada
511fe3b61c Merge pull request #1105 from thornbill/restore-user-menu
Restore user menu on mobile
2020-04-18 10:55:54 +09:00
Dmitry Lyzo
71746a6ffc Extract const value 2020-04-18 00:06:51 +03:00
Bill Thornton
71b458829f Revert "Hide User menu icon on mobile"
This reverts commit 5b513146a7.
2020-04-17 16:16:04 -04:00
Dmitry Lyzo
0910e6cf4e Fix reference to undefined variable 2020-04-17 22:53:12 +03:00
Muráncsik Sebestyén
79c48f6476 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-17 15:47:29 -04:00
MrTimscampi
9d118baa25 Fix accidentally deleted CSS in details page 2020-04-17 20:56:38 +02:00
Dmitry Lyzo
bffafa6914 Make reportPlayback less spammy 2020-04-17 20:38:42 +03:00
Muráncsik Sebestyén
256970afcf Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-17 13:12:12 -04:00
Andrey Sinitsyn
4648b6012c Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-17 12:44:02 -04:00
Dmitry Lyzo
9c7e5a0382 Fix smelling code 2020-04-17 15:44:23 +03:00
Dmitry Lyzo
b87adc9d6c Add scheduled playback progress report 2020-04-17 14:52:22 +03:00
lldsolitude
b1c12a7eb1 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-17 07:40:23 -04:00
Andrey Sinitsyn
54e65ca0fe Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-17 07:40:23 -04:00
millallo
5267795f19 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-17 07:40:22 -04:00
taladro
fc33ecfe7e Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-04-17 07:40:21 -04:00
WWWesten
5330bdd93f Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-16 20:53:55 -04:00
dkanada
9f6ec50715 Merge pull request #872 from Artiume/patch-10
Update ISO playback warning
2020-04-17 09:53:52 +09:00
dkanada
686fea165c Merge branch 'master' into patch-10 2020-04-17 09:52:36 +09:00
artiume
a80d6b9f27 Update src/components/playback/experimentalwarnings.js
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2020-04-16 20:39:09 -04:00
artiume
a57894c8c3 Update src/components/playback/experimentalwarnings.js
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2020-04-16 20:39:00 -04:00
artiume
c6179ec3b4 Update src/components/playback/experimentalwarnings.js
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2020-04-16 20:38:48 -04:00
artiume
33c220a458 Update src/strings/en-us.json
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2020-04-16 20:38:32 -04:00
samuel9554
b139a23f04 As resquested by @MrTimscampi + theme adjustement 2020-04-16 19:14:40 -04:00
dkanada
542a738926 Merge pull request #1093 from MrTimscampi/mobile-fixes-2
Fix some mobile navigation issues
2020-04-17 06:42:17 +09:00
Delgan
65859a510b Fix dropdown not properly aligned for long subtitles 2020-04-16 22:36:14 +02:00
samuel9554
a1c40bd8a8 As requested by @MrTimscampi + theme adjustement 2020-04-16 15:45:32 -04:00
WWWesten
a12691798b Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-16 14:52:41 -04:00
WWWesten
e53f8006e8 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/kk/
2020-04-16 14:52:40 -04:00
MrTimscampi
a6732443f3 Only push image url to array if non-null 2020-04-16 17:00:26 +02:00
MrTimscampi
a224a87fc7 Adjust mediaSession feature test for consistency 2020-04-16 16:40:02 +02:00
MrTimscampi
fccd99d0ef Fix suggestions 2020-04-16 16:37:21 +02:00
MrTimscampi
96d5dd54cd Set options.type in mediaSessions if unset 2020-04-16 16:19:15 +02:00
Vasily
a4324665f0 Merge pull request #1095 from JustAMan/fix-subs-on-mobile
Fix .ass subtitles not starting on mobile
2020-04-16 14:12:03 +03:00
Vasily
9d0d44328c Merge pull request #1092 from MrTimscampi/screenfull
Use screenfull to handle fullscreen switching
2020-04-16 13:49:52 +03:00
WWWesten
54a80f8ab6 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/
2020-04-15 16:44:11 -04:00
gnehs
dffdc33629 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-04-15 15:33:50 -04:00
Vasily
4c74a49032 Fix .ass subtitles not starting on mobile 2020-04-15 19:29:21 +03:00
ferferga
df3a7a75d2 Merge remote-tracking branch 'upstream/master' 2020-04-15 17:18:44 +02:00
dkanada
5063c4f050 Merge pull request #1074 from dmitrylyzo/playback_delayed_update
Move delayed volume update to playbackManager
2020-04-15 23:49:56 +09:00
MrTimscampi
5b513146a7 Hide User menu icon on mobile 2020-04-15 16:26:19 +02:00
MrTimscampi
08318ca4d6 Adjust drawer swipe hotspot 2020-04-15 16:22:57 +02:00
Mathias
a42aae04f5 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-04-15 10:11:37 -04:00
Medzhnun
1898543a4e Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-15 10:11:37 -04:00
MrTimscampi
e25cb1e0f3 Fix Home button on mobile 2020-04-15 15:49:57 +02:00
MrTimscampi
e0a71938ea Adjust animation speed and remove useless arguments 2020-04-15 14:39:44 +02:00
Mathias
e0f3a7069e Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-04-15 07:55:33 -04:00
gnehs
286cfd85ed Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-04-15 07:55:28 -04:00
Mathias
18af3b5b58 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-04-15 07:55:27 -04:00
MrTimscampi
5459ef2a78 Use screenfull to handle fullscreen switching 2020-04-15 13:15:39 +02:00
MrTimscampi
9cba01963f Fix code smell in mediasession 2020-04-15 10:21:58 +02:00
MrTimscampi
af7c87b9f6 Migrate MediaSession to ES6 2020-04-15 10:14:57 +02:00
Dmitry Lyzo
1519ee48d7 Apply suggestions from code review
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2020-04-15 09:57:19 +03:00
MrTimscampi
9bcb270942 More MediaSession cleanup 2020-04-15 08:14:08 +02:00
MrTimscampi
3dd141915e Use full image for MediaSession 2020-04-15 07:54:33 +02:00
dkanada
564ab1f7b4 Merge pull request #1076 from MrTimscampi/elements
Finish moving elements
2020-04-15 09:31:30 +09:00
Adam Bokor
194739ca5c Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-14 15:52:23 -04:00
Boommoon
7c7e84554e Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-04-14 08:43:58 -04:00
tluciomiranda
71bb2b8002 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/
2020-04-14 08:43:58 -04:00
Vitorvlv
aa2653013a Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-04-14 08:43:57 -04:00
millallo
738f246a9b Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-14 08:43:56 -04:00
Jeisson rojas
40f82838ef Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-04-14 08:43:56 -04:00
Himbeer
075ebc7860 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-04-14 08:43:54 -04:00
Mark Monteiro
e7f595c460 Apply code review suggestions 2020-04-13 16:41:24 -04:00
Mark Monteiro
4666da1d0b Handle correct response code for parental control authentication failure 2020-04-13 15:45:13 -04:00
Mark Monteiro
753bf80642 Handle 403 response codes at login and display an appropriate message 2020-04-13 14:53:51 -04:00
samuel9554
46a055935b As suggested by @MrTimscampi defaultCardBackground 2020-04-13 08:18:09 -04:00
MrTimscampi
990b5c7237 Finish moving elements 2020-04-13 13:09:01 +02:00
Dmitry Lyzo
d5ae0275cf Move delayed volume update to playbackManager 2020-04-13 12:50:12 +03:00
samuel9554
c19385c936 Fix bug introduce in last commit 2020-04-12 20:22:34 -04:00
samuel9554
9439a306b6 Various visual fix 2020-04-12 20:15:58 -04:00
Joshua M. Boniface
6246dce320 Merge pull request #1072 from ferferga/fix-recent
Move "hide watched media" checkbox
2020-04-12 19:20:00 -04:00
Pedro
da7c95c1ef Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-04-12 18:57:58 -04:00
millallo
14892a8585 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-12 18:57:58 -04:00
Toaaster
e8b78eb8df Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-04-12 18:57:57 -04:00
Maerik
dcd228e876 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-04-12 18:57:57 -04:00
ferferga
30f6081338 Move "hide watched media" checkbox 2020-04-13 00:20:47 +02:00
dkanada
b311ad120e Merge pull request #1070 from redSpoutnik/subtitle-sync-subtitleOctopus
Set subtitle-sync for SubtitlesOctopus
2020-04-13 06:20:36 +09:00
Vasily
ed3b140379 Merge pull request #1068 from jellyfin/download
Pass title and filename to native shell
2020-04-12 23:54:37 +03:00
Anthony Lavado
64a61201d6 Merge pull request #963 from MrTimscampi/fix-logo-size
Don't scale logo on details page
2020-04-12 16:48:58 -04:00
Vasily
14df43c6cb Merge pull request #1047 from ZadenRB/date-added-dropdown-fix
Fix inconsistent value in drop down list on library page
2020-04-12 23:46:35 +03:00
MrTimscampi
aae5006637 Fix admin dashboard drawer margin 2020-04-12 22:26:55 +02:00
MrTimscampi
34ffb8df71 Resize logo on details page 2020-04-12 22:21:23 +02:00
MrTimscampi
d2cd47d3e3 Merge remote-tracking branch 'upstream/master' into fix-logo-size 2020-04-12 22:11:28 +02:00
MrTimscampi
d63b3a5b22 Resize logo on details page 2020-04-12 22:11:25 +02:00
ferferga
6eec2ac19f Fix lint issues and z-index of playback slider 2020-04-12 20:38:31 +02:00
ferferga
155e9eb7ad Fix merge conflicts 2020-04-12 20:26:59 +02:00
ferferga
dd3250a980 Change volume slider depending on layout and add artists back 2020-04-12 20:24:18 +02:00
dkanada
99b7781f9a Merge pull request #1071 from jellyfin/zip
Zip the built files before publish
2020-04-13 01:49:52 +09:00
Samuel
35a12f6022 Update src/components/remotecontrol/remotecontrol.css
Fix for smaller screen volume button under bottom bar

Co-Authored-By: Fernando <ferferga@users.noreply.github.com>
2020-04-12 12:49:50 -04:00
dkanada
09ffe358ea remove indentation from ci file 2020-04-13 01:02:19 +09:00
dkanada
aeaf93cc2f zip the built files before publish 2020-04-13 00:51:23 +09:00
Samuel
3ab01d471f Fix undefined item when casting to other device
Fix undefined item when changing cast to other device.
Removed NowPlayingAlbum because on smaller device we need more height
2020-04-12 10:55:52 -04:00
dkanada
501a8773b8 pass title and filename to native shell 2020-04-12 23:53:30 +09:00
Samuel
8651b8c177 Add support for landscape 2020-04-12 10:50:13 -04:00
Nyanmisaka
9dbf4b63d6 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-12 10:04:02 -04:00
nextlooper42
f38e5c7284 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-04-12 10:04:02 -04:00
Louis Hermier
328342dbe0 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-12 10:04:02 -04:00
redSpoutnik
c5669eca4d subtitle-sync: use currentSubtitlesOctopus instead of currentAssRenderer 2020-04-12 15:22:17 +02:00
MrTimscampi
e256e64e68 Handle source properly in fillImage 2020-04-12 14:34:51 +02:00
MrTimscampi
58d9037986 Remove useless parameter in lazyImage 2020-04-12 14:29:42 +02:00
MrTimscampi
6dde11349a Fix image loading on details pages 2020-04-12 14:25:12 +02:00
sabretou
0ba4c821f4 Translated using Weblate (Marathi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/mr/
2020-04-12 05:57:06 -04:00
TheGoose
2dd647589d Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-04-12 05:57:04 -04:00
Adam Bokor
37ebb37c4a Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-12 05:57:03 -04:00
TheGoose
c3eca06560 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/
2020-04-12 05:57:03 -04:00
amirmasoud
f18997b7e3 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-12 00:52:09 -04:00
MrTimscampi
ac9668f9bb Migrate imageLoader to ES6 2020-04-12 05:47:41 +02:00
MrTimscampi
a802079ba3 Add default export to userSettings 2020-04-12 05:47:19 +02:00
MrTimscampi
03b614266e Remove superfluous observer instance in lazyloader 2020-04-12 03:54:09 +02:00
MrTimscampi
fc6a11bb4b Refactor the lazy loader for images 2020-04-12 03:49:42 +02:00
darcostan
05cf2d77ec Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sr/
2020-04-11 20:44:20 -04:00
millallo
49e026e6d8 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-11 20:44:14 -04:00
Alexis BIZON
887b1d4d2f Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-11 20:44:12 -04:00
Spiderfly
69198dcb92 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-04-11 20:44:11 -04:00
amirmasoud
61899b3e08 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-11 20:44:11 -04:00
Pedro Durán
1ca550f5f7 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-11 20:44:00 -04:00
Libor Filípek
e238ffe31f Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-04-11 20:44:00 -04:00
MrTimscampi
1778404354 Fix bug and code smells 2020-04-12 00:29:33 +02:00
MrTimscampi
e97c659dc0 Migrate lazyloader-intesctionobserver to ES6 2020-04-12 00:23:16 +02:00
MrTimscampi
343989f610 Add unloading capability to the image loader 2020-04-11 22:56:47 +02:00
Abdul Khaliq
dd54466c36 Added translation using Weblate (Urdu (Pakistan)) 2020-04-11 09:11:12 -04:00
dkanada
a9c9957160 Merge pull request #1039 from MrTimscampi/sonarqube-fixes-1
Sonarqube bug fixin' - Part 1: Phantom Bugs
2020-04-11 21:34:49 +09:00
dkanada
47a439d7d2 update plugin pages for new manifest properties 2020-04-11 20:32:39 +09:00
Nyanmisaka
4fca211b2e Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-10 18:02:28 -04:00
nextlooper42
8cfe6facb8 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-04-10 18:02:28 -04:00
Cristian
4f77dc67f4 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-10 18:02:28 -04:00
Alex van Stekelenborg
ed4c532c59 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-10 18:02:28 -04:00
Julien Machiels
0a0c639bad Update src/scripts/inputManager.js
Use const instead of let

Co-Authored-By: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-04-10 23:35:09 +02:00
Vasily
4bef70edcc Merge pull request #1024 from MrTimscampi/polyfill-lint
Throw linting errors if using non-polyfilled APIs
2020-04-11 00:29:35 +03:00
MrTimscampi
41d8ce54ae Merge remote-tracking branch 'origin/sonarqube-fixes-1' into sonarqube-fixes-1 2020-04-10 22:58:32 +02:00
MrTimscampi
9d859d4fd3 Fetch action only once in inputManager 2020-04-10 22:58:18 +02:00
Samuel
e8b9a22d64 EventListener for savePlaylist was removed fix
Put back the EventListener for savePlaylist that I removed by accident.
2020-04-10 16:12:45 -04:00
Anthony Lavado
903a7f50f7 Merge pull request #1053 from MrTimscampi/sourcemaps
Use development mode for dev server
2020-04-10 15:51:17 -04:00
Samuel
c8edd20558 Randomize album card color when no image
Randomize album card color when no image present.
Added function cardBuilder
2020-04-10 15:51:12 -04:00
MrTimscampi
0b061fb1ff Remove self.document from page visibility event 2020-04-10 21:42:27 +02:00
MrTimscampi
84b69fa0e7 Remove IE/Edge-specific case in app visibility handler
As Edge 12+ supports the Visibility API, we don't need the MS-specific API handling
2020-04-10 21:20:21 +02:00
MrTimscampi
93b1dd53b5 Correct app visibility event in appHost 2020-04-10 21:16:36 +02:00
Samuel
dbdfd25eef Fix text alignement of the album and artirst
Fix suggested by @ferferga for the alignment of the album, artist button in the player.
Artist and album text are now align on the left.
2020-04-10 14:51:44 -04:00
Samuel
859ec893c2 Update src/components/remotecontrol/remotecontrol.css
As suggested by @ferferga

Co-Authored-By: Fernando <ferferga@users.noreply.github.com>
2020-04-10 14:44:31 -04:00
MrTimscampi
6599362a28 Simplify visibility change event in appHost 2020-04-10 20:17:08 +02:00
Samuel
5f9d33fe21 Fix lint after last commit 2020-04-10 13:09:25 -04:00
Samuel
811a809e1b Add support for Tv show 2020-04-10 13:06:26 -04:00
Samuel
c3354a36e3 Hide overflow on Image when landscape image 2020-04-10 13:02:39 -04:00
Samuel
5926b1cb9b Update nowplaying.html
Add Tv show Support
2020-04-10 12:59:01 -04:00
ferferga
34cea7120b Removed playlist button and added back "add to playlist" in context menu 2020-04-10 18:50:00 +02:00
ferferga
d82c379cbb Fix clickable area 2020-04-10 18:28:01 +02:00
ferferga
9993f336c2 Removed links in miniplayer and add context menu 2020-04-10 18:17:57 +02:00
sabretou
d616d39cc6 Translated using Weblate (Marathi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/mr/
2020-04-10 10:47:58 -04:00
ferferga
6724e2f2fd Rename class and use flex class instead of style 2020-04-10 15:51:05 +02:00
sabretou
5283765268 Added translation using Weblate (Marathi) 2020-04-10 09:19:14 -04:00
Julien Machiels
acbe7730b8 Merge branch 'master' into polyfill-lint 2020-04-10 06:28:59 +02:00
Julien Machiels
27ca18a62b Merge branch 'master' into sonarqube-fixes-1 2020-04-10 06:27:32 +02:00
Samuel
281b51b967 Update remotecontrol.css 2020-04-09 22:56:14 -04:00
Samuel
d3a27baf45 Update remotecontrol.css 2020-04-09 22:52:46 -04:00
Samuel
04d3dcdd55 Update remotecontrol.js 2020-04-09 22:33:58 -04:00
Samuel
c200abb058 Update remotecontrol.js 2020-04-09 22:27:55 -04:00
Samuel
6619da9ba5 Update remotecontrol.js 2020-04-09 22:07:52 -04:00
Lars Søndergaard Petersen
c3bc69ca57 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/
2020-04-09 20:30:09 -04:00
Samuel
567b805023 Update remotecontrol.js 2020-04-09 19:15:49 -04:00
Samuel
d3d34eec73 Update remotecontrol.css 2020-04-09 19:15:27 -04:00
Samuel
b1af60a0c3 Update nowplaying.html 2020-04-09 19:14:49 -04:00
Vasily
e58ce96df1 Merge pull request #983 from MrTimscampi/no-limits
Make the page limit configurable
2020-04-10 00:22:46 +03:00
MrTimscampi
6d75c48496 Merge remote-tracking branch 'origin/master' into no-limits 2020-04-09 21:34:31 +02:00
MrTimscampi
5d2e01deb3 Return proper value for page limit 2020-04-09 21:22:38 +02:00
MrTimscampi
ee09d9479b Use development mode for dev server 2020-04-09 20:09:51 +02:00
MrTimscampi
89979a00a3 Fix issues in dfnshelper and inputManager 2020-04-09 20:00:08 +02:00
MrTimscampi
56ff47658b Correct document.visibilityState 2020-04-09 19:20:18 +02:00
Joshua M. Boniface
446dadc0eb Merge branch 'master' into improve-builds 2020-04-09 12:17:51 -04:00
Joshua M. Boniface
3af18a1f83 Remove copy-pasta comments 2020-04-09 12:14:21 -04:00
Joshua M. Boniface
773a959f2b Remove build symlink 2020-04-09 12:13:49 -04:00
dkanada
ce84ead81f Merge pull request #1048 from JustAMan/bump-octopus
Use patched octopus that works on Cordova
2020-04-09 19:11:02 +09:00
Bart
5be6a8d9e8 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/
2020-04-09 05:07:40 -04:00
dkanada
b44c8c0c52 Merge pull request #1049 from JustAMan/fix-ff-newline-subs
Fix newline breaks in SRT subtitles shown in Firefox
2020-04-09 17:13:30 +09:00
Manuel Rivero
0ca38fb37c Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-04-08 21:07:51 -04:00
Vasily
3a50f39143 Fix newline breaks in SRT subtitles shown in Firefox 2020-04-09 02:28:07 +03:00
Fernando
76dd75ca94 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-08 19:23:40 -04:00
Manuel Rivero
16c6b6634b Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-04-08 19:23:40 -04:00
Vasily
ba8fb10dbf Use patched octopus that works on Cordova 2020-04-09 00:06:19 +03:00
ZadenRB
624c1dfb0c Fixes inconsistent value in drop down list for date added behavior of libraries 2020-04-08 11:54:42 -06:00
nyanmisaka
45ced60cc1 fix lint 2020-04-09 01:15:43 +08:00
nyanmisaka
02baff1fe0 add more separate hw decoding toggles 2020-04-09 00:35:54 +08:00
Nyanmisaka
e90d2fcbfd Merge pull request #3 from jellyfin/master 2020-04-08 23:57:08 +08:00
dkanada
eb1a9d2c95 Merge pull request #1015 from jellyfin/es6
Convert all config files to ES6 and remove unused controller
2020-04-09 00:43:30 +09:00
dkanada
fae913c221 fix new linting rules 2020-04-09 00:39:56 +09:00
dkanada
7f1a840937 Merge pull request #1042 from ZadenRB/scheduled-tasks-string-fix
Remove suffix for duration of tasks on scheduled tasks page
2020-04-09 00:27:54 +09:00
dkanada
e3007b8ec8 Merge pull request #1026 from dmitrylyzo/babel_query_string
Babel query-string to support older browsers
2020-04-09 00:25:55 +09:00
dkanada
235b96c328 add spaces between brackets 2020-04-09 00:25:10 +09:00
Vasily
2223a16813 Merge pull request #1040 from JustAMan/fix-native-hls-resume
Fix native hls resume
2020-04-08 00:46:56 +03:00
Vasily
a54e381c78 Address review comments 2020-04-07 23:32:08 +03:00
ZadenRB
0b1d61ce61 Update scheduled tasks page to not include suffix for duration of tasks 2020-04-07 12:40:06 -06:00
MrTimscampi
33855a655f Add error handling to command processor in inputManager 2020-04-07 19:52:19 +02:00
MrTimscampi
77d8226dd3 Add Japanese locale to dfnshelper 2020-04-07 19:46:47 +02:00
MrTimscampi
a5d8775611 Make inputManager look-up table work properly 2020-04-07 19:11:53 +02:00
Peter
2295dcb452 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-04-07 12:43:51 -04:00
nextlooper42
c01e3bd69b Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-04-07 12:43:50 -04:00
MrTimscampi
326f8e2b8d Merge remote-tracking branch 'upstream/master' into sonarqube-fixes-1 2020-04-07 17:33:07 +02:00
Vasily
300d7adbf5 Rework seeking to work properly
Also make Safari to resume previous position faster
2020-04-07 17:33:51 +03:00
Vasily
e13c411bb3 Fix resume broken for devices which do HLS natively
This includes mobile Chrome, Android WebView and probably some Apple devices
2020-04-07 15:39:07 +03:00
Fernando
e47dd35b05 Translated using Weblate (English)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en/
2020-04-07 06:57:43 -04:00
lldsolitude
8382b875c5 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-07 06:57:43 -04:00
4d1m
4adb54e727 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-04-07 06:57:42 -04:00
Adam Bokor
7d819d4d48 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-07 06:57:41 -04:00
Julien Machiels
163331a691 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-07 06:57:41 -04:00
Fernando
1f4f2fa327 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-07 06:57:41 -04:00
Ibrahim Alesayi
20aec18510 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-04-07 06:57:41 -04:00
MrTimscampi
e5c8d2b23b Convert inputManager to ES6 2020-04-07 00:18:36 +02:00
MrTimscampi
43f6f985aa Clean inputManager 2020-04-07 00:09:07 +02:00
MrTimscampi
b7661c2977 Clean playlistedit 2020-04-06 23:49:44 +02:00
MrTimscampi
fb6766c832 Clean autobackdrops 2020-04-06 23:45:50 +02:00
MrTimscampi
0fa74f34d5 Clean apploader 2020-04-06 23:45:39 +02:00
MrTimscampi
ef1cf2c404 Clean bundle.js 2020-04-06 23:45:09 +02:00
MrTimscampi
440ae17e7d Clean gulpfile 2020-04-06 23:44:51 +02:00
MrTimscampi
abb8d56db3 Cleanup all Legacy components 2020-04-06 23:44:38 +02:00
MrTimscampi
a1132e9a9d Correct comma operator use in appRouter 2020-04-06 23:43:03 +02:00
MrTimscampi
6a24de84a0 Convert dfnshelper switch to lookup table 2020-04-06 23:15:35 +02:00
MrTimscampi
36eb5564c1 Fix all Critical bugs from Sonarqube 2020-04-06 22:03:09 +02:00
dkanada
e0c798acf6 Merge pull request #1029 from ferferga/globalize-cm
Globalize shouldn't require ConnectionManager
2020-04-07 02:41:51 +09:00
장건
6d65c6da75 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-04-06 09:11:27 -04:00
Louis Hermier
ee55745386 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-06 09:11:25 -04:00
dkanada
4fe7f0db97 add code suggestions
Co-Authored-By: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-04-06 19:20:33 +09:00
dkanada
e940015fa7 Merge branch 'master' into es6 2020-04-06 19:16:50 +09:00
dkanada
dea0f592c3 Merge pull request #968 from alset333/master
Add controls for DeinterlaceMethod
2020-04-06 15:20:56 +09:00
dkanada
fa08de8f9d Merge pull request #1034 from rexbron/master
Set autocaptialize to 'off' on the login username form
2020-04-06 15:19:38 +09:00
Nyanmisaka
96e71bf74a Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-05 23:40:25 -04:00
Adam Bokor
19bc590222 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-05 18:35:51 -04:00
Andrew Hunter
04a238147f Lint fixes... get better at catching those before committing. 2020-04-05 17:32:49 -04:00
Peter Maar
c028c501d2 Move Yadif & Yadif Bob into language strings instead of hard-coded 2020-04-05 17:24:57 -04:00
Peter Maar
f078ce95e7 Add getter/setter for selectDeinterlaceMethod 2020-04-05 17:22:02 -04:00
Andrew Hunter
ee60d8c017 Change .mainDrawer-scrollContainer from padding to margin. Firefox requires the CSS element to be margin to get the desired behavior for overlap.
Fixes: 1035
2020-04-05 17:20:15 -04:00
Peter Maar
0595686b4d Clarify help text for "Deinterlacing method"
specify "transcoding interlaced content" instead of just "transcoding"

Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-04-05 16:28:33 -04:00
Andrew Hunter
f2d323a08d Set autocaptialize to 'off' on the login username form to improve mobile UX. 2020-04-05 14:45:14 -04:00
Joshua M. Boniface
7215e14c39 Merge pull request #1028 from ZadenRB/itemdetails-alignment
Fixed alignment of subsections on item details page
2020-04-05 12:49:38 -04:00
Medzhnun
27e966beae Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/
2020-04-05 11:11:09 -04:00
Emil Johansson
977ceb9159 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-04-05 11:11:08 -04:00
Medzhnun
01d2166825 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-05 11:11:08 -04:00
dkanada
ef7cf6c24b Merge pull request #1032 from MrTimscampi/fix-semi
Fix semicolons and throw error in ESLint if missing
2020-04-05 23:01:38 +09:00
Adam Bokor
3e04a38d42 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-04-05 08:58:33 -04:00
Ondřej
b1540cd86a Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-04-05 08:58:31 -04:00
Medzhnun
b0218bf2d1 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-05 08:58:30 -04:00
ferferga
dccd19d57f Move array contents to variables 2020-04-05 14:19:31 +02:00
ferferga
d779286dc9 Move inline CSS to classes 2020-04-05 14:02:20 +02:00
MrTimscampi
cb1b8aa3a9 Fix semicolons and throw error in ESLint if missing 2020-04-05 13:48:10 +02:00
darcostan
b6ff7f62dd Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sr/
2020-04-04 22:28:09 -04:00
nextlooper42
d0d68168c3 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-04-04 22:28:08 -04:00
MG
66777ce6a0 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-04 22:28:08 -04:00
pc-v2
7d74677d4f Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/id/
2020-04-04 22:28:08 -04:00
adrian gustavo martinez
f9f4e1ecc0 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-04-04 22:28:08 -04:00
adrian gustavo martinez
8c3f6c9f70 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-04-04 22:28:07 -04:00
adrian gustavo martinez
623c30f53a Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-04-04 22:28:04 -04:00
Paul
c1bc3787c2 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-04-04 22:28:04 -04:00
ferferga
cf542fa8bc Bolder font in all items 2020-04-05 01:01:10 +02:00
ferferga
a06a0e9515 Fix layout also for desktop 2020-04-05 00:59:37 +02:00
Vasily
04fa7703ca Merge pull request #967 from MrTimscampi/slideshow-zoom
Refactor slideshow.js
2020-04-05 00:18:31 +03:00
MrTimscampi
01776c4dcc Merge remote-tracking branch 'upstream/master' into slideshow-zoom 2020-04-04 23:11:49 +02:00
ferferga
dcde6bfb5e Export updateCurrentCulture function 2020-04-04 22:17:21 +02:00
Julien Machiels
e338c1e936 Correct typo in gamepadtokey
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2020-04-04 21:49:26 +02:00
MrTimscampi
0c2cdfe741 Add polyfills to fix errors and ignore conditional lines 2020-04-04 21:29:53 +02:00
dkanada
1ccae13c05 title casing for job names 2020-04-05 04:16:56 +09:00
dkanada
ee307d7830 minor changes to ci 2020-04-05 04:16:17 +09:00
ferferga
100f7cc8f5 Don't require connectionManager 2020-04-04 20:36:14 +02:00
ferferga
e9979954a8 Apply #1004#issuecomment-605708819 suggestions 2020-04-04 20:35:13 +02:00
ZadenRB
5f18b6ad94 Adds padded-left and padded-right in order to properly align subsections such as additional content & special features on the item details page 2020-04-04 11:54:55 -06:00
Paul
b8482730f8 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-04-04 13:07:19 -04:00
Abderrahmane TAHRI JOUTI
e031c0f23f Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-04-04 13:07:17 -04:00
Dmitry Lyzo
f1918083d1 Babel query-string 2020-04-04 19:40:40 +03:00
MrTimscampi
88bc6d4e91 Add Classlist.js polyfill 2020-04-04 17:23:27 +02:00
ferferga
4db414fb68 Hacky fix 2020-04-04 17:14:24 +02:00
MrTimscampi
3c2bba3418 Add current Polyfills to the ESLint config 2020-04-04 16:41:46 +02:00
MrTimscampi
7dc762053b Add polyfill linting 2020-04-04 16:28:50 +02:00
MrTimscampi
fbbb870d73 Remove unused variables 2020-04-04 16:19:06 +02:00
ferferga
f60eb57130 Fix mobile layout for itemdetails 2020-04-04 15:55:25 +02:00
MrTimscampi
9fad1217d5 Use Math.max in query limit for movies list 2020-04-04 15:45:57 +02:00
MrTimscampi
2c6029fc93 Re-add data assignment 2020-04-04 15:44:42 +02:00
Vasily
50122d0253 Merge pull request #1020 from JustAMan/fix-attachment-urls
Fix attachment delivery urls
2020-04-04 16:08:46 +03:00
Vasily
d3c0bdd242 Fix attachment delivery urls 2020-04-04 14:43:04 +03:00
ferferga
e5ce7af11d Translate experimentalwarnings.js 2020-04-04 13:25:35 +02:00
ferferga
a461f16332 Merge remote-tracking branch 'upstream/master' into patch-10 2020-04-04 12:56:08 +02:00
Louis Hermier
9a3dd412f4 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-04 05:31:50 -04:00
Peter Cai
b7d02e0380 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-04-04 02:59:52 -04:00
Gabriel Villar
81a5ac0476 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-04-04 02:59:52 -04:00
dkanada
521068558f Merge pull request #960 from ferferga/translate-everything
Translate missing items - Part 1
2020-04-04 15:59:45 +09:00
dkanada
e1b0d2f7bf Merge pull request #1016 from MrTimscampi/better-eslint
Touch up ESLint config
2020-04-04 15:48:11 +09:00
MrTimscampi
03f5be20ad Remove console logs in slideshow 2020-04-04 01:14:11 +02:00
MrTimscampi
6cf1408944 Fix lint issue in slideshow 2020-04-04 00:23:29 +02:00
MrTimscampi
71f12dc360 Correct TV mode slideshow 2020-04-04 00:22:31 +02:00
MrTimscampi
e32fe240b7 Merge remote-tracking branch 'upstream/master' into slideshow-zoom 2020-04-04 00:04:23 +02:00
ferferga
e086028deb Merge branch 'translate-everything' of https://github.com/ferferga/jellyfin-web into translate-everything 2020-04-03 23:41:23 +02:00
ferferga
ceab439361 Use unused variable as done in #971 2020-04-03 23:41:19 +02:00
MrTimscampi
28f574455c Add limit to playlists controller 2020-04-03 23:31:01 +02:00
MrTimscampi
f762c6c719 Add limit settings to live TV channels controller 2020-04-03 23:28:47 +02:00
MrTimscampi
3a3be4f71c Add limit setting to songs controller 2020-04-03 23:19:21 +02:00
MrTimscampi
835e9614b9 Add limit setting to movie trailers controller 2020-04-03 22:58:20 +02:00
MrTimscampi
169b6aadd5 Add limit setting to movie collections controller 2020-04-03 22:58:03 +02:00
MrTimscampi
6796ed4da8 Add limit to episodes controller 2020-04-03 22:55:12 +02:00
MrTimscampi
0da86aebcc Add limit settings to music albums controller 2020-04-03 22:48:34 +02:00
MrTimscampi
32a2df51a3 Fetch limit setting only once 2020-04-03 22:40:16 +02:00
MrTimscampi
d9c9a05b09 Merge remote-tracking branch 'upstream/master' into no-limits 2020-04-03 22:39:48 +02:00
MrTimscampi
60b4004f1e Correct limits on music artists controller 2020-04-03 22:39:36 +02:00
MrTimscampi
759090235c Add limit settings to TV shows controller 2020-04-03 22:39:05 +02:00
MrTimscampi
20481f72b3 Fix maxTouchPoints 2020-04-03 21:32:19 +02:00
Fernando
e734f7c793 Update src/scripts/dfnshelper.js
Co-Authored-By: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-04-03 20:55:43 +02:00
Fernando
82d019099f Prepare dfnshelper.js for AMD conversion
Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-04-03 20:24:04 +02:00
ferferga
fd93ce45f7 Don't concatenate on notifications.js 2020-04-03 20:21:00 +02:00
ferferga
05e26e6588 Apply suggestions 2020-04-03 20:11:09 +02:00
Louis Hermier
402c0ba7d1 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-03 11:14:31 -04:00
Libor Filípek
8702b04da1 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-04-03 11:14:31 -04:00
dkanada
a925152299 update valid branches on ci 2020-04-04 00:09:47 +09:00
dkanada
31b636b2a2 remove semicolons from closing brackets
Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-04-03 23:19:20 +09:00
ferferga
54e84a4a2f Merge remote-tracking branch 'upstream/master' into global-globalize 2020-04-03 15:14:06 +02:00
4d1m
40d03204d8 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/
2020-04-03 07:20:35 -04:00
ferferga
60329961b5 Merge remote-tracking branch and fix conflicts 2020-04-03 00:54:22 +02:00
Fernando
8fb041e9a9 Fix paths in package.json
Co-Authored-By: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-04-03 00:47:04 +02:00
ferferga
7fae0fa589 ES6 for dfnshelper 2020-04-03 00:24:50 +02:00
ferferga
eba46a9576 Fix wrongly removed replace 2020-04-03 00:10:18 +02:00
MrTimscampi
aeb654f0fb Add more rules to ESLint 2020-04-02 23:46:00 +02:00
MrTimscampi
f58f54815c Fix ESLint breakage 2020-04-02 23:45:45 +02:00
Fernando
eb8ae3ea70 Remove extra bracket not needed after ES6
Co-Authored-By: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2020-04-02 23:45:23 +02:00
Vasily
c850a386de Merge pull request #971 from lfoust/externalid-type
Display specific types for ExternalIds
2020-04-03 00:44:13 +03:00
ferferga
59d239f319 Change variables after ES6 2020-04-02 22:08:46 +02:00
ferferga
557ab23804 Merge branch 'translate-everything' of https://github.com/ferferga/jellyfin-web into translate-everything 2020-04-02 22:05:10 +02:00
Fernando
357b4c7a4c Moved to ES6
Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-04-02 22:04:36 +02:00
ferferga
bdae2eebc2 Fix typos 2020-04-02 21:40:09 +02:00
ferferga
5146cd8c39 Merge remote-tracking branch 'upstream/master' into translate-everything 2020-04-02 21:26:04 +02:00
ferferga
b23496939a First attempt at translating sheduledtask.js 2020-04-02 21:25:43 +02:00
ferferga
95e13ca488 datetime to date-fns on activitylog.js 2020-04-02 20:35:33 +02:00
MrTimscampi
cdb9b29203 Add some environments and cleanup globals 2020-04-02 20:35:08 +02:00
MrTimscampi
648f7379b3 Silence ESLint warnings in CI 2020-04-02 20:34:48 +02:00
MrTimscampi
511b151d71 Remove deprecated touch detection 2020-04-02 20:25:42 +02:00
dkanada
4199297c17 fix lint errors 2020-04-03 03:20:06 +09:00
dkanada
59539793dc remove unused file from source 2020-04-03 03:16:22 +09:00
dkanada
dbf63c723c convert four more files to es6 2020-04-03 03:16:06 +09:00
ferferga
d23ad21bea Remove unused lint rule 2020-04-02 20:15:07 +02:00
ferferga
f6340eb0b3 Fix copy-paste typo and add comments 2020-04-02 20:11:10 +02:00
ferferga
9d6255dfa1 Replace linter rules of humanedate to dfnshelper 2020-04-02 20:03:59 +02:00
ferferga
b0a6c4dabc Datefns on userprofilespage.js and complete removal of humanedate 2020-04-02 20:02:52 +02:00
ferferga
af9d2d0bf8 Comment for known issue 2020-04-02 19:59:44 +02:00
ferferga
41e2712315 Fix typo 2020-04-02 19:55:09 +02:00
ferferga
35c4d06bf6 Translate devices.js, dashboard.js and added new keys 2020-04-02 19:53:11 +02:00
ferferga
368f21010b First successful attempt at dynamic lang loading 2020-04-02 19:31:32 +02:00
dkanada
d41163d4b9 Merge pull request #1014 from MrTimscampi/duplicates
Remove duplicate implementations of parentWithClass()
2020-04-03 02:08:09 +09:00
MrTimscampi
db5dac8f22 Remove duplicate implementations of parentWithClass() 2020-04-02 18:50:47 +02:00
MG
44aa8e5ccb Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-02 12:07:43 -04:00
Louis Hermier
278ca4c6cd Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-02 12:07:43 -04:00
amirmasoud
751b300be1 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-02 12:07:42 -04:00
ferferga
4d21fbcc78 Merge remote-tracking branch 'upstream/master' into translate-everything 2020-04-02 17:24:12 +02:00
Vasily
ea956518a5 Merge pull request #817 from dkanada/config
Add basic web client configuration
2020-04-02 14:20:42 +03:00
dkanada
0a6fefd417 assign data before returning value 2020-04-02 19:50:09 +09:00
dkanada
20391c52e3 Merge branch 'master' into config 2020-04-02 19:46:31 +09:00
dkanada
31048d0ce5 only load the config once per session 2020-04-02 19:45:51 +09:00
dkanada
a01985c71b Merge pull request #999 from dmitrylyzo/es6_migration
ES6 migration: autoFocuser, dom, scrollManager
2020-04-02 17:03:27 +09:00
dkanada
4c72a8381c Merge pull request #1000 from Nazar78/tizen5.0-h264-level-52
Support H264 Level 52 (Tizen 5.0)
2020-04-02 16:51:55 +09:00
Vitorvlv
b3e1809abe Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-04-02 00:40:17 -04:00
dkanada
2f44701a03 use strict comparison
Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-04-02 05:10:46 +09:00
Vitorvlv
555e57105c Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-04-01 15:44:36 -04:00
dkanada
d524c25258 port web settings to es6 2020-04-02 03:51:22 +09:00
MG
f3ce3c6166 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-04-01 13:49:25 -04:00
Louis Hermier
da45e28b72 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-04-01 13:49:25 -04:00
amirmasoud
bb834a79e7 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-04-01 13:49:25 -04:00
KGT1
e69bb1534b Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-04-01 13:49:20 -04:00
Medzhnun
3d7e7105e1 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-04-01 13:49:19 -04:00
dkanada
850df11f27 merge branch master into config 2020-04-02 01:46:44 +09:00
nextlooper42
c202339b9a Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/
2020-03-31 19:33:13 -04:00
Dmitry Lyzo
8789b1b69b Update documentation 2020-03-31 19:07:03 +03:00
Dmitry Lyzo
a1cc977872 Update documentation 2020-03-31 18:59:12 +03:00
Dmitry Lyzo
1646687773 Merge remote-tracking branch 'upstream/master' into es6_migration
Conflicts:
	package.json
2020-03-31 17:36:11 +03:00
amirmasoud
f6543d0179 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-03-31 08:12:27 -04:00
pucherot
be60f23264 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-03-31 08:12:22 -04:00
dkanada
3776919674 Merge pull request #996 from MrTimscampi/node-update-ci
Update CI to use NodeJS 12.x
2020-03-31 15:38:46 +09:00
dkanada
93f2924b58 Merge branch 'master' into node-update-ci 2020-03-31 15:31:58 +09:00
Nyanmisaka
35acc83b23 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-03-31 01:47:59 -04:00
Juan Rodríguez
4f0dd18e59 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-03-30 19:33:00 -04:00
abdulaziz
86c2201718 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-03-30 19:32:59 -04:00
Joshua M. Boniface
5e00dd9205 Add bump_version script 2020-03-30 15:31:14 -04:00
AdmiralAnimE
d8fb547035 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-03-30 11:58:21 -04:00
NoFrosty
41896e126a Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-30 07:21:50 -04:00
Nazar78
0c0b91b7a5 Support H264 Level 52 (Tizen 5.0) - app only 2020-03-30 17:02:16 +08:00
Nazar78
1f71b6bd14 Support H264 Level 52 (Tizen 5.0) - app only 2020-03-30 17:00:16 +08:00
Nazar78
3f11095fec Support H264 Level 52 (Tizen 5.0) - app only 2020-03-30 16:56:13 +08:00
Nazar78
30ecc52ba4 Support H264 Level 52 (Tizen 5.0) - app only 2020-03-30 15:12:11 +08:00
Vasily
b782688505 Merge pull request #1005 from JustAMan/update-octopus
Switch to new version of JavascriptSubtitlesOctopus, enable new options
2020-03-30 02:52:40 +03:00
Vasily
ace822a8af Switch to new version of JavascriptSubtitlesOctopus, enable new options 2020-03-29 22:04:36 +03:00
ferferga
bdfc3d97b2 Merge remote-tracking branch 'upstream/master' into translate-everything 2020-03-29 20:52:22 +02:00
bg56530
0afe5f62ef Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-29 14:25:19 -04:00
ferferga
6a288d77cf Fix define array order 2020-03-29 20:22:38 +02:00
ferferga
92bb796967 Fix undefined in moviecollections.js 2020-03-29 19:55:43 +02:00
ferferga
1bed4de370 Fix inconsistencies after cherry-picking from #960 2020-03-29 19:45:19 +02:00
ferferga
2d64cd0052 Merge remote-tracking branch 'upstream/master' into global-globalize 2020-03-29 19:39:49 +02:00
ferferga
a0a3f88f39 Use Globalize locally everywhere 2020-03-29 19:39:14 +02:00
Vasily
9a65e0351a Merge pull request #1003 from MrTimscampi/admin-logo
Fix admin drawer logo showing up everywhere
2020-03-29 17:43:12 +03:00
MrTimscampi
5dfc5d6c2b Fix admin drawer logo showing up everywhere 2020-03-29 12:48:55 +02:00
dkanada
693daf6f05 Merge pull request #949 from MrTimscampi/details-labels
Improve details page informations and selects
2020-03-29 18:58:37 +09:00
dkanada
d0c2c1c8e0 Merge pull request #985 from dmitrylyzo/browser_lazy_sync
Add browser lazy-sync
2020-03-29 17:13:39 +09:00
Dmitry Lyzo
eb047175be Add default export for compatibility 2020-03-29 01:02:06 +03:00
Dmitry Lyzo
5efc95fd09 Migrate DOM-module to ES6 2020-03-29 01:02:06 +03:00
Dmitry Lyzo
460717c7ef Migrate AutoFocuser to ES6 2020-03-29 01:02:06 +03:00
Dmitry Lyzo
cc66fb672c Migrate ScrollManger to ES6 2020-03-29 01:02:03 +03:00
MrTimscampi
8743edf027 Update dependencies 2020-03-28 12:11:46 +01:00
MrTimscampi
8f1e1075c2 Update CI to use NodeJS 12 2020-03-28 11:36:58 +01:00
dkanada
13bf66de54 Merge pull request #989 from dmitrylyzo/tizen_subtitlesettings
Fix subtitle settings in Tizen
2020-03-28 02:13:56 +09:00
dkanada
3e47f38aa7 Merge pull request #992 from dmitrylyzo/fix_dom_listener
Fix dom addEventListener/removeEventListener
2020-03-28 02:12:19 +09:00
dkanada
7051eb12ac Merge pull request #991 from Stampede10343/feature/easy-module-conversion
Migrate some easy components to ES6
2020-03-28 02:11:14 +09:00
Dmitry Lyzo
000f6e776d Fix dom addEventListener/removeEventListener for case of undefined options 2020-03-27 16:00:06 +03:00
Danilo
63a05df3a8 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-03-27 00:37:53 -04:00
Danilo
a02fe56a87 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-03-26 20:34:29 -04:00
Danilo
b9dbad421a Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-03-26 20:34:28 -04:00
Cameron Cordes
9f18abb938 Fix package.json formatting 2020-03-26 18:53:10 -04:00
Cameron Cordes
f3b5c804a3 Migrate some easy components to ES6 2020-03-26 18:43:39 -04:00
MrTimscampi
af3176af7c Fix oversized track selector on details page 2020-03-26 21:13:26 +01:00
MrTimscampi
499f9835b4 Remove Last Played label on details page 2020-03-26 21:04:37 +01:00
Fernando
37ebb772e8 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-03-26 15:56:35 -04:00
MrTimscampi
4643c83ab1 Update some details page translations for the new layout 2020-03-26 20:49:32 +01:00
MrTimscampi
d60bec3834 Improve details page informatios and selects 2020-03-26 20:49:32 +01:00
Dmitry Lyzo
fe85c5f96c Enable subtitle sync slider focus and keyboard dragging 2020-03-26 21:18:29 +03:00
Dmitry Lyzo
9f13e2a36c Enable subtitle settings on Tizen 2020-03-26 17:22:57 +03:00
ferferga
3543a60b8b Merge remote-tracking branch 'upstream/master' into translate-everything 2020-03-26 13:55:00 +01:00
ferferga
1656e73adf Attempt to implement date-fns internalization 2020-03-26 13:53:30 +01:00
Dmitry Lyzo
cd1732677d Add browser lazy-sync 2020-03-26 13:55:59 +03:00
dkanada
43660fb211 Merge pull request #869 from MrTimscampi/where-no-module-has-gone-before
Start conversion of modules to ES6
2020-03-26 15:11:14 +09:00
dkanada
fedcc5fe56 Merge branch 'master' into where-no-module-has-gone-before 2020-03-26 15:03:30 +09:00
dkanada
8a1262eedd Merge pull request #937 from dmitrylyzo/fix_radio_style
Fix radio style
2020-03-26 08:14:28 +09:00
dkanada
601b75a1a8 Merge pull request #970 from MrTimscampi/mobile-menu
Clean up the menus on mobile
2020-03-26 08:01:12 +09:00
dkanada
1dcea02312 Merge pull request #984 from MrTimscampi/browsersync
Fix Browsersync JavaScript reload error
2020-03-26 07:54:17 +09:00
MrTimscampi
2a7f7ba7fe Use let instead of var in gulpfile 2020-03-25 22:26:28 +01:00
MrTimscampi
8f1434fa40 Fix Browsersync JavaScript reload error 2020-03-25 21:40:22 +01:00
Dmitry Lyzo
9bf5cda44a Fix lint error 2020-03-25 23:07:51 +03:00
Dmitry Lyzo
a2ccaa29c3 Turn off radiobutton focus on Mobile 2020-03-25 23:07:51 +03:00
Dmitry Lyzo
17d1dc3559 Fix tiny cropping in Firefox 2020-03-25 23:07:51 +03:00
Dmitry Lyzo
a41bd6de56 Fix checkbox border on TV 2020-03-25 23:07:51 +03:00
Dmitry Lyzo
d7c32dcde9 Fix radiobutton focus marker 2020-03-25 23:07:51 +03:00
Ken Ying-Kai Liao
1c54bdee51 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-03-25 10:28:16 -04:00
Ric Li
308000bc97 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-03-25 10:28:16 -04:00
The Iiseppi
ca0914819a Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-03-25 10:28:15 -04:00
Ken Ying-Kai Liao
3ed9be897e Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-03-25 02:53:17 -04:00
Ken Ying-Kai Liao
580bf9fd23 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/
2020-03-25 02:52:57 -04:00
Mathis
2fec0e4082 Translated using Weblate (German (Swiss))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/gsw/
2020-03-25 02:52:56 -04:00
Mathis
cccbf24f09 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-03-25 02:52:56 -04:00
ferferga
cbe3cbe221 Translate role sentences (and removed dead code) 2020-03-24 22:27:01 +01:00
ferferga
1ec4ce0dfa Add date-fns dependency 2020-03-24 21:15:34 +01:00
ferferga
4ba2e3a950 Use globalize.translate() overload everywhere 2020-03-24 20:49:18 +01:00
MrTimscampi
3b9ca3c1a3 Add Settings entry to the navigation drawer 2020-03-24 20:24:08 +01:00
MrTimscampi
9115a4e1fa Clean up the settings menu on mobile 2020-03-24 20:24:08 +01:00
ferferga
8201322715 Replace with method overload 2020-03-24 20:15:59 +01:00
Nyanmisaka
02ce5f6d6c Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-03-24 13:39:29 -04:00
Casper Talvio
dba5fd9ac9 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-03-24 13:39:29 -04:00
Joshua M. Boniface
2ec397756e Use more specific mv source glob 2020-03-24 11:16:02 -04:00
Joshua M. Boniface
9b9ec403cb Remove obsolete Architecture field in src package 2020-03-24 11:11:55 -04:00
Joshua M. Boniface
873cc0df95 Remove arch checking for native builds 2020-03-24 11:11:08 -04:00
lldsolitude
82aa8a3f28 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-03-24 05:42:51 -04:00
dkanada
2c67e7d1d9 Merge pull request #979 from dmitrylyzo/fix_page_back
Fix view restoring
2020-03-24 17:22:20 +09:00
MrTimscampi
032cc9aa85 Update yarn.lock 2020-03-24 08:31:02 +01:00
MrTimscampi
7bb7270b61 Fix rebase issues 2020-03-24 08:27:34 +01:00
MrTimscampi
feeacf12a2 Implement suggestions 2020-03-24 08:27:34 +01:00
dkanada
759b3fc106 minor string changes 2020-03-24 08:27:34 +01:00
MrTimscampi
1cfd2538be Remove dead code from CardBuilder 2020-03-24 08:27:34 +01:00
MrTimscampi
fb63fc4cce Update yarn.lock 2020-03-24 08:27:34 +01:00
MrTimscampi
55d1657b50 Migrate var in CardBuilder to let and const 2020-03-24 08:22:58 +01:00
MrTimscampi
bbbef042bf Add JSDoc comments 2020-03-24 08:22:58 +01:00
MrTimscampi
8891be539e Convert CardBuilder to ES6 2020-03-24 08:22:58 +01:00
MrTimscampi
0a0fe15b26 Enable ES6 support for all tools 2020-03-24 08:22:58 +01:00
MrTimscampi
34a5578679 Run postcss for webpack bundle 2020-03-24 08:22:58 +01:00
Dmitry Lyzo
c882c264a3 Fix view restoring 2020-03-24 10:03:51 +03:00
Joshua M. Boniface
39685be74c Add COPR makefile link 2020-03-24 01:45:32 -04:00
Joshua M. Boniface
e6a3cb20d2 Add CODEOWNERS for GitHub 2020-03-24 01:22:43 -04:00
Joshua M. Boniface
285920372b Add CentOS to build.yaml 2020-03-24 01:13:10 -04:00
dkanada
fdccea886a Merge pull request #962 from dkanada/clients
Add method to open client settings
2020-03-24 14:12:52 +09:00
Joshua M. Boniface
75924b8975 Fix name of CentOS platform 2020-03-24 01:12:45 -04:00
dkanada
3a531581df Merge pull request #715 from MrTimscampi/libjass-be-gone
Remove libjass
2020-03-24 14:12:33 +09:00
Joshua M. Boniface
60b0bbd082 Improve dependencies in CentOS 2020-03-24 00:19:04 -04:00
Joshua M. Boniface
bd3f711f51 Add deployment configurations 2020-03-24 00:10:42 -04:00
Joshua M. Boniface
a52d37bfa9 Add Fedora package specification 2020-03-24 00:02:41 -04:00
Joshua M. Boniface
441910514b Add build script and build.yaml configuration 2020-03-23 23:34:50 -04:00
Joshua M. Boniface
5f0b0a8b94 Update and simplify Debian directory 2020-03-23 23:34:29 -04:00
Joshua M. Boniface
59f58bb7ce Bump version to 10.6.0 2020-03-23 23:31:18 -04:00
Joshua M. Boniface
42721c34ea Use correct architecture 2020-03-23 22:13:09 -04:00
Joshua M. Boniface
f798e51860 Don't install yarn during build, assume its there 2020-03-23 22:02:51 -04:00
Joshua M. Boniface
7b6517182b Ignore transient build artifacts 2020-03-23 21:46:31 -04:00
Joshua M. Boniface
b5531a8187 Add Debian configuration 2020-03-23 21:46:17 -04:00
Riccardo Zanotto
2bda5f0277 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-03-23 15:42:40 -04:00
Adam Bokor
bb475fd24a Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-03-23 14:21:31 -04:00
Louis Hermier
7f10a81a16 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-23 13:02:25 -04:00
dkanada
d66701bd38 Merge pull request #975 from Nickbert7/patch-1
Fix cast sender api path
2020-03-24 01:34:11 +09:00
Nyanmisaka
c921f94d92 Merge pull request #2 from jellyfin/master 2020-03-24 00:16:34 +08:00
Niklas Fäth
f6cb372610 Fix cast sender api path 2020-03-23 16:49:00 +01:00
dkanada
ea79a3d4f5 Merge pull request #821 from viaregio/master
#2407: Prefer embedded MP4-metadata for episode and season numbers
2020-03-23 18:58:07 +09:00
MrTimscampi
c96db19576 Remove libjass from yarn dependencies 2020-03-23 10:56:23 +01:00
Luke Foust
f896ac93de support types in external ids 2020-03-22 13:08:10 -07:00
Louis Hermier
94a2a8749b Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-22 15:55:26 -04:00
adrian gustavo martinez
7aae3fd95c Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_MX/
2020-03-22 15:55:25 -04:00
adrian gustavo martinez
087d44567e Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
2020-03-22 15:55:25 -04:00
Luke Foust
89ecb6823b Merge pull request #2 from jellyfin/master
merge with upstream master
2020-03-22 12:27:14 -07:00
Joshua M. Boniface
31d9b35615 Merge pull request #969 from dmitrylyzo/tizen_xvid
Fix XviD playback on Tizen
2020-03-22 15:23:56 -04:00
MrTimscampi
0cb54feb53 Remove libjass 2020-03-22 18:35:46 +01:00
Dmitry Lyzo
d6ab058661 Add Tizen version check 2020-03-22 20:25:51 +03:00
dkanada
c49c45ee53 Merge pull request #932 from MrTimscampi/mobile-fixes
Show hamburger menu on mobile and fix title padding
2020-03-23 02:20:31 +09:00
MrTimscampi
1c0728ada6 Use small logo on mobile 2020-03-22 17:56:03 +01:00
MrTimscampi
c49e60e2d9 Hide some header buttons on mobile 2020-03-22 17:42:32 +01:00
dkanada
d5779e115d Merge pull request #904 from dmitrylyzo/fix_player_data
Clear player data after stop
2020-03-23 01:37:11 +09:00
Dmitry Lyzo
58dd6eb491 Add test for current item 2020-03-22 19:30:02 +03:00
MrTimscampi
18d1305ead Add JSDoc comments 2020-03-22 15:34:34 +01:00
Dmitry Lyzo
603472cfb6 Add comment 2020-03-22 15:04:51 +03:00
Dmitry Lyzo
99d7138a08 Fix XviD playback on Tizen 2020-03-22 14:00:04 +03:00
Vasily
298e36388f Merge pull request #955 from thornbill/fix-schedules-direct
Fix schedules direct buttons being hidden by default
2020-03-22 12:56:16 +03:00
Nyanmisaka
a704f41515 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-03-22 02:44:46 -04:00
dkanada
74458e5d61 Merge pull request #780 from MrTimscampi/browser-modules
Move confirm, prompt and chromecast modules definitions outside of site.js
2020-03-22 14:48:19 +09:00
Bill Thornton
b65bd915ee Simplify show/hide button logic for tv providers 2020-03-22 01:07:04 -04:00
Peter Maar
c2f248f838 Add controls for DeinterlaceMethod
Add controls and US-English text for DeinterlaceMethod in encodingsettings. Uses the values referenced here https://github.com/jellyfin/jellyfin/pull/2639
2020-03-22 00:18:14 -04:00
MrTimscampi
79e664ca13 Refactor slideshow.js 2020-03-21 23:45:23 +01:00
Vogete
856069f25d Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-03-21 16:00:14 -04:00
amirmasoud
705c3fbcf0 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fa/
2020-03-21 16:00:14 -04:00
MrTimscampi
de88967dbd Remove superfluous variable 2020-03-21 18:27:30 +01:00
MrTimscampi
cb97baa61a Move prompt, confirm and sendcastapi to one module each 2020-03-21 18:14:08 +01:00
dkanada
f50d709161 Merge pull request #837 from h1nk/right-click-dialog-container
Close dialogs when container background is right clicked
2020-03-21 15:42:13 +09:00
nfgb
58af4a6598 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-03-20 20:45:41 -04:00
MrTimscampi
f7af90fec4 Add library page size settings on music artists 2020-03-21 00:27:41 +01:00
MrTimscampi
b34a376691 Add library page size settings on movies 2020-03-21 00:26:55 +01:00
Luke Foust
ca0c03f4f1 Merge pull request #1 from jellyfin/master
merge with upstream master
2020-03-20 12:56:32 -07:00
Medzhnun
10a4901226 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/bg/
2020-03-20 08:18:34 -04:00
dkanada
e8bc839d0b update methods for native shell 2020-03-20 17:49:32 +09:00
MrTimscampi
9f300bfb11 Don't scale logo on details page 2020-03-19 23:06:19 +01:00
pakkosauna
c5bb25809b Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/
2020-03-19 16:03:28 -04:00
Bill Thornton
69a3c7cd53 Add FIXME to revisit show/hide button logic for tv providers 2020-03-19 14:37:48 -04:00
dkanada
2ef912d960 add method to open client settings 2020-03-20 02:54:12 +09:00
Mednis
e0a5c5c558 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-19 09:34:13 -04:00
dkanada
9b54dec5e8 Merge pull request #931 from dmitrylyzo/fix_radio
Fix radiobutton and checkbox
2020-03-19 20:01:26 +09:00
rtg
401c2fa076 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hi/
2020-03-19 03:45:30 -04:00
Vasily
aa5fb12192 Merge pull request #938 from dkanada/query
Remove query string from source
2020-03-19 09:50:45 +03:00
Mednis
3f47733c35 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-18 22:47:28 -04:00
dkanada
1688a3999c Merge pull request #958 from MrTimscampi/listview-missing
Show missing indicator in ListView
2020-03-19 10:28:31 +09:00
ferferga
e383c3dee1 Translate paging phrase 2020-03-19 00:40:17 +01:00
ferferga
d791da07e3 Translate alerts 2020-03-19 00:17:51 +01:00
Julien Machiels
a01c03c9ca Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-18 16:31:25 -04:00
Fernando
2c0ee85337 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-03-18 16:31:24 -04:00
dkanada
c5171a2fa0 Merge pull request #919 from dmitrylyzo/fix_icons-2
Fix icons doubling and WebOS support
2020-03-19 00:49:15 +09:00
dkanada
bdfa8b0121 Merge pull request #907 from MrTimscampi/artwork-optimal-size
Improve image loading speed and sizes
2020-03-18 13:16:50 +09:00
dkanada
1cfad11281 Merge pull request #953 from dkanada/ci
Remove tar from published artifacts
2020-03-18 08:01:58 +09:00
Deniz
19c20ab029 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/
2020-03-17 14:51:47 -04:00
Nutjob
37dd138eaf Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-03-17 14:51:46 -04:00
Lukáš Koliandr
bfe37507cd Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-03-17 14:51:46 -04:00
Libor Filípek
b8b13a95cf Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
2020-03-17 09:45:55 -04:00
MrTimscampi
9b96e7a658 Show missing indicator in ListView 2020-03-17 08:20:05 +01:00
Mednis
8f68ae48db Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-16 18:34:19 -04:00
Bill Thornton
c5cdea622a Fix schedules direct buttons being hidden by default 2020-03-16 16:02:47 -04:00
dkanada
519751649d apply suggestions from code review
Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-03-17 03:05:18 +09:00
dkanada
38b7da8f34 use cache for linting as well 2020-03-17 02:17:12 +09:00
dkanada
3958548b1f fix issues with standalone build 2020-03-17 02:12:05 +09:00
dkanada
fa5e1feaab skip dependency step when cache exists 2020-03-17 01:49:43 +09:00
dkanada
a0c5920e71 run ci without changing the lockfile 2020-03-17 01:47:57 +09:00
dkanada
be65bdad16 update build process in readme 2020-03-17 01:27:14 +09:00
dkanada
b5a9273a24 change build commands 2020-03-17 01:09:25 +09:00
dkanada
43d81f5cd9 update cache and add prepare 2020-03-17 01:02:11 +09:00
dkanada
88309a9cb4 output files for testing 2020-03-17 00:49:38 +09:00
dkanada
62e8d22f66 check cache before installing dependencies 2020-03-17 00:43:13 +09:00
dkanada
2ecba9cd14 more readme changes 2020-03-17 00:37:21 +09:00
dkanada
9767ecb474 cache the right folder 2020-03-17 00:32:46 +09:00
dkanada
89ba9cf5d7 cache build dependencies on ci 2020-03-17 00:17:46 +09:00
dkanada
2cb68b9a24 improve build times and modify yarn scripts 2020-03-17 00:04:52 +09:00
dkanada
e7f4412771 remove tar from published artifacts 2020-03-16 23:49:56 +09:00
Joshua M. Boniface
0335f61cc1 Merge pull request #952 from dkanada/ci
Publish web releases on azure
2020-03-16 10:39:55 -04:00
dkanada
e77b718dd2 initial changes for web packaging 2020-03-16 23:30:14 +09:00
ogry
f26e9dcf89 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
2020-03-16 08:41:27 -04:00
Mednis
6450406e40 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-16 08:41:26 -04:00
dkanada
857ed5401e Merge pull request #951 from dtparr/fixUrl
Correct the url in the wizardstart.html to remove the administrator folder
2020-03-16 17:08:55 +09:00
Mednis
bee7d1af3c Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-16 04:01:27 -04:00
dkanada
51ca49e479 Merge branch 'master' into query 2020-03-16 15:36:31 +09:00
dtparr
b5f3683e45 Correct the url in the wizardstart.html to remove the administrator folder. 2020-03-16 05:48:05 +00:00
dkanada
e521bf0575 Merge pull request #950 from MrTimscampi/fix-ci
Fix CI on PRs
2020-03-16 13:31:38 +09:00
MrTimscampi
704062f876 Fix CI on PRs 2020-03-15 21:55:43 +01:00
MrTimscampi
bdc3ec00c8 Re-add image maxWidth in listview 2020-03-15 21:29:26 +01:00
drikqlis
0a916a0ad6 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/
2020-03-15 08:53:14 -04:00
drikqlis
347e0f2ed4 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/
2020-03-15 07:48:31 -04:00
dkanada
0b107b3770 Merge pull request #936 from macr/master
Fix "Copy Stream URL" for iOS.
2020-03-15 18:47:19 +09:00
dkanada
95f379021e Merge pull request #920 from dmitrylyzo/fix_slideshow-2
Fix slideshow 2
2020-03-15 18:47:06 +09:00
dkanada
6b22a1113e Merge pull request #948 from MrTimscampi/fix-artist-backdrop
Fix artist details ribbon
2020-03-15 13:45:12 +09:00
SaddFox
2f9cfd8363 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
2020-03-14 19:46:57 -04:00
Dmitry Lyzo
53d2e8c0d2 Always try to blur foreign element 2020-03-15 02:18:54 +03:00
MrTimscampi
faa46f5bad Double size of remotecontrol and listview images 2020-03-14 22:48:39 +01:00
MrTimscampi
1eeda31a12 Fix artist details ribbon 2020-03-14 21:53:45 +01:00
Dmitry Lyzo
4d6f187aee Fix event source for inputManager 2020-03-14 22:29:58 +03:00
Dmitry Lyzo
305f050003 Move blur of foreign element to generic dialog module 2020-03-14 22:28:07 +03:00
dkanada
ab7a56d5c5 Merge pull request #862 from MrTimscampi/gulp-fiction
Use Gulp to build the client
2020-03-15 02:56:13 +09:00
dkanada
00c01d2a4b Merge pull request #929 from mark-monteiro/fix-networking-config
Fix Network Settings Page
2020-03-15 00:04:43 +09:00
Mark Monteiro
f354c827b2 Revert changes to yarn.lock 2020-03-14 15:04:14 +01:00
Andy CHABALIER
4d06e625a3 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-14 09:19:46 -04:00
MrTimscampi
f4bcbeedd7 Resolve yarn.lock conflicts 2020-03-14 14:18:14 +01:00
Vitorvlv
223aab3e49 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-03-14 02:24:49 -04:00
Joshua M. Boniface
08919544e4 Merge pull request #943 from jellyfin/dependabot/npm_and_yarn/acorn-6.4.1
Bump acorn from 6.2.1 to 6.4.1
2020-03-14 01:38:48 -04:00
Vitorvlv
35f255776f Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_BR/
2020-03-13 20:42:37 -04:00
Shadowghost
b3cd1b81b3 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-03-13 20:42:36 -04:00
dependabot[bot]
6f354fbda2 Bump acorn from 6.2.1 to 6.4.1
Bumps [acorn](https://github.com/acornjs/acorn) from 6.2.1 to 6.4.1.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/6.2.1...6.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-13 22:58:27 +00:00
WWWesten
a054cdc037 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/kk/
2020-03-13 09:06:49 -04:00
MrTimscampi
6824ed567e Fix style in postcss config 2020-03-13 09:46:11 +01:00
MrTimscampi
ca01ca50b1 Move polyfills to bundle 2020-03-13 09:43:30 +01:00
MrTimscampi
d69610dc70 Add polyfills 2020-03-13 09:26:00 +01:00
MrTimscampi
a0f3203a68 Adjust build dev command 2020-03-13 09:26:00 +01:00
MrTimscampi
591f2ff816 Disable HTMLmin in dev and fix bundle dependency 2020-03-13 09:26:00 +01:00
MrTimscampi
5cea4c9231 Adjust README 2020-03-13 09:26:00 +01:00
MrTimscampi
0a3fb64734 Add build step to CI 2020-03-13 09:26:00 +01:00
MrTimscampi
12f42c81dd Update readme for Gulp build process and fix build 2020-03-13 09:26:00 +01:00
MrTimscampi
c54eb7050f Adjust commands and add Chrome 27 to browserslist 2020-03-13 09:26:00 +01:00
MrTimscampi
6c2ed00a61 Run postcss for webpack bundle 2020-03-13 09:26:00 +01:00
MrTimscampi
fb83b6b244 Add sass compiler to css task (gulp) 2020-03-13 09:25:26 +01:00
MrTimscampi
4c6dfbf2c5 Enable live reloading for browsersync 2020-03-13 09:25:26 +01:00
MrTimscampi
ac903b87e0 Add dev server and finish build 2020-03-13 09:25:26 +01:00
MrTimscampi
db4787a259 Add image minifier and copy stray files (gulp) 2020-03-13 09:25:26 +01:00
MrTimscampi
3d44f8f2aa Add basic Gulp config 2020-03-13 09:25:26 +01:00
MrTimscampi
639db44ad1 Fix spelling issue in comment 2020-03-13 09:22:08 +01:00
dkanada
291f0b1cac Merge pull request #939 from Artiume/patch-11
Fix Dashboard OS for German
2020-03-13 16:02:35 +09:00
artiume
537151ee89 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
2020-03-12 16:53:14 -04:00
MrTimscampi
def9da2f0d Use 16:9 instead of 1.78:1 to derive width of screen 2020-03-12 21:17:13 +01:00
MrTimscampi
a2f337b8c3 Add comments for hardcoded scaling values 2020-03-12 21:11:06 +01:00
artiume
ba28b54220 Fix Dashboard OS for German
https://www.reddit.com/r/jellyfin/comments/fh0d8z/1005_admin_panel_bug_operating_system_definition/
2020-03-12 13:06:48 -04:00
dkanada
6260db82e2 remove query string from source 2020-03-12 23:55:59 +09:00
Ismael
e35bda7b74 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-12 07:32:40 -04:00
Ismael
c13cd2dca5 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-12 07:23:08 -04:00
Deniz
6edfdeb406 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/
2020-03-12 07:21:30 -04:00
Ismael
57c066e27e Translated using Weblate (French)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
2020-03-12 07:21:29 -04:00
Richmond Macaspac
560fe45087 camelCase var fix 2020-03-12 03:22:04 -05:00
Richmond Macaspac
6a308ffae7 Update src/components/itemcontextmenu.js
Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-03-12 03:12:01 -05:00
Richmond Macaspac
52e39e792f Clipboard API fallback for when browser doesn't support navigator.clipboard 2020-03-12 02:50:18 -05:00
Z Yang
290f6d32ba Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/
2020-03-11 19:53:52 -04:00
yatusabes
3ce787ad27 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ca/
2020-03-11 19:53:52 -04:00
MrTimscampi
3e80d5d47c Show hamburger menu on mobile and fix title padding 2020-03-11 21:48:30 +01:00
MrTimscampi
8646b66f6c Improve image size handling 2020-03-11 21:35:10 +01:00
Dmitry Lyzo
30414c98d7 Fix radio and checkbox on Tizen 2020-03-11 22:38:24 +03:00
Adam Bokor
9318a670ad Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/
2020-03-11 13:03:54 -04:00
dkanada
5de205e44d Merge pull request #926 from ThibaultNocchi/fix_925
Fixed broken links described by #925
2020-03-12 00:52:38 +09:00
Mark Monteiro
dc4fada827 Do not validate HTTPS certificate settings when remote connections are disabled 2020-03-11 15:10:31 +01:00
Dmitry Lyzo
a44473dca2 Fix radiobutton change notification 2020-03-11 15:04:29 +03:00
Thibault Nocchi
3384f850ef Fixed links described by #925 2020-03-11 09:39:08 +01:00
zixaar
202adf7aaf Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ar/
2020-03-10 12:34:00 -04:00
David
5bbedd2e39 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
2020-03-10 12:02:02 -04:00
tluciomiranda
f1065a3045 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/
2020-03-10 12:02:02 -04:00
이재현
e15823513c Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/
2020-03-10 12:02:00 -04:00
Dmitry Lyzo
ed25f0bac1 Update src/controllers/dashboard/scheduledtasks/scheduledtasks.js
Co-Authored-By: Julien Machiels <julien.machiels@protonmail.com>
2020-03-10 19:00:51 +03:00
Dmitry Lyzo
485ccfa116 Prevent nested slideshow 2020-03-10 18:50:31 +03:00
Dmitry Lyzo
f9ec9e3b52 Add opened dialog as inputManager event source 2020-03-10 18:19:18 +03:00
tluciomiranda
90e9dcbee5 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/
2020-03-10 08:28:30 -04:00
Marcus Schelin
ec5f5e117d Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/
2020-03-10 07:39:02 -04:00
Dmitry Lyzo
b348c69844 Fix emby-collapse icon in WebOS 4 2020-03-10 13:39:28 +03:00
Dmitry Lyzo
13a03b6e2c Fix slideshow button icons in WebOS 4 2020-03-10 13:39:19 +03:00
Dmitry Lyzo
e016836d3e Fix library icons in WebOS 4 2020-03-10 12:44:42 +03:00
Dmitry Lyzo
1d10a35427 Fix icon doubling 2020-03-10 12:38:41 +03:00
Mednis
fcc5bed863 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-09 22:39:24 -04:00
Mednis
f7b6430190 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-09 19:21:01 -04:00
Mednis
744ea709d3 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-09 19:15:47 -04:00
Mednis
085c47e4b0 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-09 19:15:46 -04:00
Mednis
e0fbf5570a Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/lv/
2020-03-09 17:12:18 -04:00
Mednis
eccc47c355 Added translation using Weblate (Latvian) 2020-03-09 17:07:31 -04:00
MrTimscampi
0397283599 Round every image size adjustment 2020-03-09 21:02:08 +01:00
MrTimscampi
f24c908412 Another pass of image sizes improvements 2020-03-09 20:46:56 +01:00
Nutjob
76b085982b Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/
2020-03-09 11:27:16 -04:00
João Fonseca
9674b4ef54 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/
2020-03-09 07:34:04 -04:00
dkanada
ee69bb6807 Merge pull request #871 from grafixeyehero/page.js
Move page.js to node
2020-03-09 12:55:04 +09:00
SaddFox
6ae0d2df9d Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin Web
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
2020-03-08 20:08:18 -04:00
MrTimscampi
457d37450e Further improvements to max size of image requests 2020-03-08 22:20:16 +01:00
MrTimscampi
f816f5267f Improve image loading speed and sizes 2020-03-08 19:08:07 +01:00
Dmitry Lyzo
8eb2968027 Clear player data after stop 2020-03-08 00:37:15 +03:00
grafixeyehero
08afa4c0ca apply suggustion 2020-03-03 01:42:22 +03:00
grafixeyehero
4fca1c1563 revert back data-history 2020-03-02 21:36:17 +03:00
artiume
8651d4bd00 Update playback warning 2020-03-01 20:59:42 -05:00
grafixeyehero
9d1f61f414 move page.js to node 2020-03-02 01:15:49 +03:00
h1nk
852175e139 Add missing final newlines
Used this one-liner: https://unix.stackexchange.com/a/161853
2020-02-21 17:11:08 -05:00
Mike Abrahall
14f72baf16 Added extra playback keybindings, following YouTube's spec at https://support.google.com/youtube/answer/7631406?hl=en 2020-02-21 16:08:23 +11:00
dkanada
53db7fe215 fix possible async issue 2020-02-20 02:07:41 +09:00
dkanada
79aa40465c rename method 2020-02-19 22:39:22 +09:00
dkanada
fcc2b4cfc8 remove unused define statement 2020-02-19 16:51:07 +09:00
Ulrich Wagner
9c60b8f2db Removed an unnecessary translation 2020-02-19 07:59:15 +01:00
Ulrich Wagner
e7b4a80941 Merge pull request #1 from jellyfin/master
Up-to-date
2020-02-19 07:48:36 +01:00
Ulrich Wagner
b2e7da744e #2407: Prefer MP4-Metadata for episodes 2020-02-17 14:57:26 +01:00
dkanada
ed1b35f50f update some strings and use fetch for the global config 2020-02-16 22:11:36 +09:00
dkanada
ea9e79f4d3 add basic web client configuration 2020-02-16 12:17:13 +09:00
553 changed files with 45088 additions and 30026 deletions

View File

@@ -0,0 +1,63 @@
jobs:
- job: Build
displayName: 'Build'
strategy:
matrix:
Development:
BuildConfiguration: development
Production:
BuildConfiguration: production
Standalone:
BuildConfiguration: standalone
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Install Node'
inputs:
versionSpec: '12.x'
- task: Cache@2
displayName: 'Check Cache'
inputs:
key: 'yarn | yarn.lock'
path: 'node_modules'
cacheHitVar: CACHE_RESTORED
- script: 'yarn install --frozen-lockfile'
displayName: 'Install Dependencies'
condition: ne(variables.CACHE_RESTORED, 'true')
- script: 'yarn build:development'
displayName: 'Build Development'
condition: eq(variables['BuildConfiguration'], 'development')
- script: 'yarn build:production'
displayName: 'Build Production'
condition: eq(variables['BuildConfiguration'], 'production')
- script: 'yarn build:standalone'
displayName: 'Build Standalone'
condition: eq(variables['BuildConfiguration'], 'standalone')
- script: 'test -d dist'
displayName: 'Check Build'
- script: 'mv dist jellyfin-web'
displayName: 'Rename Directory'
- task: ArchiveFiles@2
displayName: 'Archive Directory'
inputs:
rootFolderOrFile: 'jellyfin-web'
includeRootFolder: true
archiveFile: 'jellyfin-web-$(BuildConfiguration)'
- task: PublishPipelineArtifact@1
displayName: 'Publish Release'
inputs:
targetPath: '$(Build.SourcesDirectory)/jellyfin-web-$(BuildConfiguration).zip'
artifactName: 'jellyfin-web-$(BuildConfiguration)'

View File

@@ -0,0 +1,29 @@
jobs:
- job: Lint
displayName: 'Lint'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Install Node'
inputs:
versionSpec: '12.x'
- task: Cache@2
displayName: 'Check Cache'
inputs:
key: 'yarn | yarn.lock'
path: 'node_modules'
cacheHitVar: CACHE_RESTORED
- script: 'yarn install --frozen-lockfile'
displayName: 'Install Dependencies'
condition: ne(variables.CACHE_RESTORED, 'true')
- script: 'yarn run lint --quiet'
displayName: 'Run ESLint'
- script: 'yarn run stylelint'
displayName: 'Run Stylelint'

View File

@@ -0,0 +1,122 @@
jobs:
- job: BuildPackage
displayName: 'Build Packages'
strategy:
matrix:
CentOS:
BuildConfiguration: centos
Debian:
BuildConfiguration: debian
Fedora:
BuildConfiguration: fedora
Portable:
BuildConfiguration: portable
pool:
vmImage: 'ubuntu-latest'
steps:
- script: 'docker build -f deployment/Dockerfile.$(BuildConfiguration) -t jellyfin-web-$(BuildConfiguration) deployment'
displayName: 'Build Dockerfile'
condition: or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))
- script: 'docker image ls -a && docker run -v $(pwd)/deployment/dist:/dist -v $(pwd):/jellyfin -e IS_UNSTABLE="yes" -e BUILD_ID=$(Build.BuildNumber) jellyfin-web-$(BuildConfiguration)'
displayName: 'Run Dockerfile (unstable)'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
- script: 'docker image ls -a && docker run -v $(pwd)/deployment/dist:/dist -v $(pwd):/jellyfin -e IS_UNSTABLE="no" -e BUILD_ID=$(Build.BuildNumber) jellyfin-web-$(BuildConfiguration)'
displayName: 'Run Dockerfile (stable)'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
- task: PublishPipelineArtifact@1
displayName: 'Publish Release'
condition: or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
targetPath: '$(Build.SourcesDirectory)/deployment/dist'
artifactName: 'jellyfin-web-$(BuildConfiguration)'
- task: SSH@0
displayName: 'Create target directory on repository server'
condition: or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
sshEndpoint: repository
runOptions: 'inline'
inline: 'mkdir -p /srv/repository/incoming/azure/$(Build.BuildNumber)/$(BuildConfiguration)'
- task: CopyFilesOverSSH@0
displayName: 'Upload artifacts to repository server'
condition: or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
sshEndpoint: repository
sourceFolder: '$(Build.SourcesDirectory)/deployment/dist'
contents: '**'
targetFolder: '/srv/repository/incoming/azure/$(Build.BuildNumber)/$(BuildConfiguration)'
- job: BuildDocker
displayName: 'Build Docker'
pool:
vmImage: 'ubuntu-latest'
variables:
- name: JellyfinVersion
value: 0.0.0
steps:
- script: echo "##vso[task.setvariable variable=JellyfinVersion]$( awk -F '/' '{ print $NF }' <<<'$(Build.SourceBranch)' | sed 's/^v//' )"
displayName: Set release version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
- task: Docker@2
displayName: 'Push Unstable Image'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
repository: 'jellyfin/jellyfin-web'
command: buildAndPush
buildContext: '.'
Dockerfile: 'deployment/Dockerfile.docker'
containerRegistry: Docker Hub
tags: |
unstable-$(Build.BuildNumber)
unstable
- task: Docker@2
displayName: 'Push Stable Image'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
inputs:
repository: 'jellyfin/jellyfin-web'
command: buildAndPush
buildContext: '.'
Dockerfile: 'deployment/Dockerfile.docker'
containerRegistry: Docker Hub
tags: |
stable-$(Build.BuildNumber)
$(JellyfinVersion)
- job: CollectArtifacts
displayName: 'Collect Artifacts'
dependsOn:
- BuildPackage
- BuildDocker
condition: and(succeeded('BuildPackage'), succeeded('BuildDocker'))
pool:
vmImage: 'ubuntu-latest'
steps:
- task: SSH@0
displayName: 'Update Unstable Repository'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
sshEndpoint: repository
runOptions: 'inline'
inline: 'sudo /srv/repository/collect-server.azure.sh /srv/repository/incoming/azure $(Build.BuildNumber) unstable'
- task: SSH@0
displayName: 'Update Stable Repository'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
inputs:
sshEndpoint: repository
runOptions: 'inline'
inline: 'sudo /srv/repository/collect-server.azure.sh /srv/repository/incoming/azure $(Build.BuildNumber)'

View File

@@ -2,62 +2,16 @@ trigger:
batch: true
branches:
include:
- master
- release-*
- '*'
tags:
include:
- '*'
pr:
branches:
include:
- '*'
jobs:
- job: main_build
displayName: 'Main Build'
dependsOn: lint
condition: succeeded()
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Install Node'
inputs:
versionSpec: '10.x'
- script: 'yarn install'
displayName: 'Install Dependencies'
- script: 'test -d dist'
displayName: 'Check Build'
- script: 'yarn pack --filename jellyfin-web.tgz'
displayName: 'Bundle Release'
- task: PublishPipelineArtifact@1
displayName: 'Publish Release'
condition: succeeded()
inputs:
targetPath: '$(Build.SourcesDirectory)/jellyfin-web.tgz'
artifactName: 'jellyfin-web'
- job: lint
displayName: 'Lint'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Install Node'
inputs:
versionSpec: '10.x'
- script: 'yarn install'
displayName: 'Install Dependencies'
- script: 'yarn run lint'
displayName: 'Run ESLint'
- script: |
yarn run stylelint
displayName: 'Run stylelint'
- template: azure-pipelines-build.yml
- template: azure-pipelines-lint.yml
- template: azure-pipelines-package.yml

1
.copr/Makefile Symbolic link
View File

@@ -0,0 +1 @@
../fedora/Makefile

5
.dependabot/config.yml Normal file
View File

@@ -0,0 +1,5 @@
version: 1
update_configs:
- package_manager: "javascript"
directory: "/"
update_schedule: "weekly"

View File

@@ -7,3 +7,6 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
[json]
indent_size = 2

View File

@@ -1 +1,5 @@
libraries/
node_modules
dist
.idea
.vscode
src/libraries

196
.eslintrc.js Normal file
View File

@@ -0,0 +1,196 @@
module.exports = {
root: true,
plugins: [
'promise',
'import',
'eslint-comments'
],
env: {
node: true,
es6: true,
es2017: true,
es2020: true
},
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
ecmaFeatures: {
impliedStrict: true
}
},
extends: [
'eslint:recommended',
// 'plugin:promise/recommended',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:eslint-comments/recommended',
'plugin:compat/recommended'
],
rules: {
'block-spacing': ['error'],
'brace-style': ['error'],
'comma-dangle': ['error', 'never'],
'comma-spacing': ['error'],
'eol-last': ['error'],
'indent': ['error', 4, { 'SwitchCase': 1 }],
'keyword-spacing': ['error'],
'max-statements-per-line': ['error'],
'no-floating-decimal': ['error'],
'no-multi-spaces': ['error'],
'no-multiple-empty-lines': ['error', { 'max': 1 }],
'no-trailing-spaces': ['error'],
'one-var': ['error', 'never'],
'quotes': ['error', 'single', { 'avoidEscape': true, 'allowTemplateLiterals': false }],
'semi': ['error'],
'space-before-blocks': ['error'],
'space-infix-ops': 'error'
},
overrides: [
{
files: [
'./src/**/*.js'
],
parser: 'babel-eslint',
env: {
node: false,
amd: true,
browser: true,
es6: true,
es2017: true,
es2020: true
},
globals: {
// Browser globals
'MediaMetadata': 'readonly',
// Tizen globals
'tizen': 'readonly',
'webapis': 'readonly',
// WebOS globals
'webOS': 'readonly',
// Dependency globals
'$': 'readonly',
'jQuery': 'readonly',
'requirejs': 'readonly',
// Jellyfin globals
'ApiClient': 'writable',
'AppInfo': 'writable',
'chrome': 'writable',
'ConnectionManager': 'writable',
'DlnaProfilePage': 'writable',
'Dashboard': 'writable',
'DashboardPage': 'writable',
'Emby': 'readonly',
'Events': 'writable',
'getParameterByName': 'writable',
'getWindowLocationSearch': 'writable',
'Globalize': 'writable',
'Hls': 'writable',
'dfnshelper': 'writable',
'LibraryMenu': 'writable',
'LinkParser': 'writable',
'LiveTvHelpers': 'writable',
'MetadataEditor': 'writable',
'pageClassOn': 'writable',
'pageIdOn': 'writable',
'PlaylistViewer': 'writable',
'UserParentalControlPage': 'writable',
'Windows': 'readonly'
},
rules: {
// TODO: Fix warnings and remove these rules
'no-redeclare': ['warn'],
'no-unused-vars': ['warn'],
'no-useless-escape': ['warn'],
// TODO: Remove after ES6 migration is complete
'import/no-unresolved': ['off']
},
settings: {
polyfills: [
// Native Promises Only
'Promise',
// whatwg-fetch
'fetch',
// document-register-element
'document.registerElement',
// resize-observer-polyfill
'ResizeObserver',
// fast-text-encoding
'TextEncoder',
// intersection-observer
'IntersectionObserver',
// Core-js
'Object.assign',
'Object.is',
'Object.setPrototypeOf',
'Object.toString',
'Object.freeze',
'Object.seal',
'Object.preventExtensions',
'Object.isFrozen',
'Object.isSealed',
'Object.isExtensible',
'Object.getOwnPropertyDescriptor',
'Object.getPrototypeOf',
'Object.keys',
'Object.entries',
'Object.getOwnPropertyNames',
'Function.name',
'Function.hasInstance',
'Array.from',
'Array.arrayOf',
'Array.copyWithin',
'Array.fill',
'Array.find',
'Array.findIndex',
'Array.iterator',
'String.fromCodePoint',
'String.raw',
'String.iterator',
'String.codePointAt',
'String.endsWith',
'String.includes',
'String.repeat',
'String.startsWith',
'String.trim',
'String.anchor',
'String.big',
'String.blink',
'String.bold',
'String.fixed',
'String.fontcolor',
'String.fontsize',
'String.italics',
'String.link',
'String.small',
'String.strike',
'String.sub',
'String.sup',
'RegExp',
'Number',
'Math',
'Date',
'async',
'Symbol',
'Map',
'Set',
'WeakMap',
'WeakSet',
'ArrayBuffer',
'DataView',
'Int8Array',
'Uint8Array',
'Uint8ClampedArray',
'Int16Array',
'Uint16Array',
'Int32Array',
'Uint32Array',
'Float32Array',
'Float64Array',
'Reflect',
// Temporary while eslint-compat-plugin is buggy
'document.querySelector'
]
}
}
]
}

View File

@@ -1,71 +0,0 @@
env:
es6: false
browser: true
amd: true
globals:
# New browser globals
DataView: readonly
MediaMetadata: readonly
Promise: readonly
# Deprecated browser globals
DocumentTouch: readonly
# Tizen globals
tizen: readonly
webapis: readonly
# WebOS globals
webOS: readonly
# Dependency globals
$: readonly
jQuery: readonly
queryString: readonly
requirejs: readonly
# Jellyfin globals
ApiClient: writable
AppInfo: writable
chrome: writable
ConnectionManager: writable
DlnaProfilePage: writable
Dashboard: writable
DashboardPage: writable
Emby: readonly
Events: writable
getParameterByName: writable
getWindowLocationSearch: writable
Globalize: writable
Hls: writable
humaneDate: writable
humaneElapsed: writable
LibraryMenu: writable
LinkParser: writable
LiveTvHelpers: writable
MetadataEditor: writable
pageClassOn: writable
pageIdOn: writable
PlaylistViewer: writable
UserParentalControlPage: writable
Windows: readonly
extends:
- eslint:recommended
rules:
block-spacing: ["error"]
brace-style: ["error"]
comma-dangle: ["error", "never"]
comma-spacing: ["error"]
eol-last: ["error"]
indent: ["error", 4, { "SwitchCase": 1 }]
keyword-spacing: ["error"]
max-statements-per-line: ["error"]
no-floating-decimal: ["error"]
no-multi-spaces: ["error"]
no-multiple-empty-lines: ["error", { "max": 1 }]
no-trailing-spaces: ["error"]
one-var: ["error", "never"]
semi: ["warn"]
space-before-blocks: ["error"]
# TODO: Fix warnings and remove these rules
no-redeclare: ["warn"]
no-unused-vars: ["warn"]
no-useless-escape: ["warn"]

36
.gitattributes vendored
View File

@@ -1 +1,35 @@
/CONTRIBUTORS.md merge=union
* text=auto
CONTRIBUTORS.md merge=union
README.md text
LICENSE text
*.css text
*.eot binary
*.gif binary
*.html text diff=html
*.ico binary
*.*ignore text
*.jpg binary
*.js text
*.json text
*.lock text -diff
*.map text -diff
*.md text
*.otf binary
*.png binary
*.py text diff=python
*.svg binary
*.ts text
*.ttf binary
*.sass text
*.vue text
*.webp binary
*.woff binary
*.woff2 binary
.editorconfig text
.gitattributes export-ignore
.gitignore export-ignore
*.gitattributes linguist-language=gitattributes

4
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,4 @@
.ci @dkanada @EraYaN
.github @jellyfin/core
build.sh @joshuaboniface
deployment @joshuaboniface

587
.gitignore vendored
View File

@@ -1,578 +1,11 @@
# Created by https://www.gitignore.io/api/node,rider,macos,linux,windows,visualstudio,visualstudiocode
# Edit at https://www.gitignore.io/?templates=node,rider,macos,linux,windows,visualstudio,visualstudiocode
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Dependency lockfile
package-lock.json
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
### Rider ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
### Windows ###
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
### VisualStudio ###
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
**/wwwroot/lib/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- Backup*.rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# End of https://www.gitignore.io/api/node,rider,macos,linux,windows,visualstudio,visualstudiocode
# dist for webpack output
# npm
dist
web
node_modules
# ide
.idea
.vscode
# log
yarn-error.log

View File

@@ -34,6 +34,8 @@
- [Ryan Hartzell](https://github.com/ryan-hartzell)
- [Thibault Nocchi](https://github.com/ThibaultNocchi)
- [MrTimscampi](https://github.com/MrTimscampi)
- [Sarab Singh](https://github.com/sarab97)
- [Andrei Oanca](https://github.com/OancaAndrei)
# Emby Contributors

View File

@@ -44,21 +44,38 @@ Jellyfin Web is the frontend used for most of the clients available for end user
### Dependencies
- Yarn
- [Yarn 1.22.4](https://classic.yarnpkg.com/en/docs/install)
- Gulp-cli
### Getting Started
1. Clone or download this repository.
```sh
git clone https://github.com/jellyfin/jellyfin-web.git
cd jellyfin-web
```
2. Install build dependencies in the project directory.
```sh
yarn install
```
3. Run the web client with webpack for local development.
```sh
yarn serve
```
4. Build the client with sourcemaps.
```sh
yarn build:development
```
You can build a nginx compatible version as well.
```sh
yarn build:standalone
```

110
build.sh Executable file
View File

@@ -0,0 +1,110 @@
#!/usr/bin/env bash
# build.sh - Build Jellyfin binary packages
# Part of the Jellyfin Project
set -o errexit
set -o pipefail
usage() {
echo -e "build.sh - Build Jellyfin binary packages"
echo -e "Usage:"
echo -e " $0 -t/--type <BUILD_TYPE> -p/--platform <PLATFORM> [-k/--keep-artifacts] [-l/--list-platforms]"
echo -e "Notes:"
echo -e " * BUILD_TYPE can be one of: [native, docker] and must be specified"
echo -e " * native: Build using the build script in the host OS"
echo -e " * docker: Build using the build script in a standardized Docker container"
echo -e " * PLATFORM can be any platform shown by -l/--list-platforms and must be specified"
echo -e " * If -k/--keep-artifacts is specified, transient artifacts (e.g. Docker containers) will be"
echo -e " retained after the build is finished; the source directory will still be cleaned"
echo -e " * If -l/--list-platforms is specified, all other arguments are ignored; the script will print"
echo -e " the list of supported platforms and exit"
}
list_platforms() {
declare -a platforms
platforms=(
$( find deployment -maxdepth 1 -mindepth 1 -name "build.*" | awk -F'.' '{ $1=""; printf $2; if ($3 != ""){ printf "." $3; }; if ($4 != ""){ printf "." $4; }; print ""; }' | sort )
)
echo -e "Valid platforms:"
echo
for platform in ${platforms[@]}; do
echo -e "* ${platform} : $( grep '^#=' deployment/build.${platform} | sed 's/^#= //' )"
done
}
do_build_native() {
export IS_DOCKER=NO
deployment/build.${PLATFORM}
}
do_build_docker() {
if ! dpkg --print-architecture | grep -q 'amd64'; then
echo "Docker-based builds only support amd64-based cross-building; use a 'native' build instead."
exit 1
fi
if [[ ! -f deployment/Dockerfile.${PLATFORM} ]]; then
echo "Missing Dockerfile for platform ${PLATFORM}"
exit 1
fi
if [[ ${KEEP_ARTIFACTS} == YES ]]; then
docker_args=""
else
docker_args="--rm"
fi
docker build . -t "jellyfin-builder.${PLATFORM}" -f deployment/Dockerfile.${PLATFORM}
mkdir -p ${ARTIFACT_DIR}
docker run $docker_args -v "${SOURCE_DIR}:/jellyfin" -v "${ARTIFACT_DIR}:/dist" "jellyfin-builder.${PLATFORM}"
}
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-t|--type)
BUILD_TYPE="$2"
shift
shift
;;
-p|--platform)
PLATFORM="$2"
shift
shift
;;
-k|--keep-artifacts)
KEEP_ARTIFACTS=YES
shift
;;
-l|--list-platforms)
list_platforms
exit 0
;;
-h|--help)
usage
exit 0
;;
*)
echo "Unknown option $1"
usage
exit 1
;;
esac
done
if [[ -z ${BUILD_TYPE} || -z ${PLATFORM} ]]; then
usage
exit 1
fi
export SOURCE_DIR="$( pwd )"
export ARTIFACT_DIR="${SOURCE_DIR}/../bin/${PLATFORM}"
# Determine build type
case ${BUILD_TYPE} in
native)
do_build_native
;;
docker)
do_build_docker
;;
esac

9
build.yaml Normal file
View File

@@ -0,0 +1,9 @@
---
# We just wrap `build` so this is really it
name: "jellyfin-web"
version: "10.6.4"
packages:
- debian.all
- fedora.all
- centos.all
- portable

91
bump_version Executable file
View File

@@ -0,0 +1,91 @@
#!/usr/bin/env bash
# bump_version - increase the shared version and generate changelogs
set -o errexit
set -o pipefail
set -o xtrace
usage() {
echo -e "bump_version - increase the shared version and generate changelogs"
echo -e ""
echo -e "Usage:"
echo -e " $ bump_version <new_version>"
}
if [[ -z $1 ]]; then
usage
exit 1
fi
shared_version_file="src/components/apphost.js"
build_file="./build.yaml"
new_version="$1"
# Parse the version from shared version file
old_version="$( grep "appVersion" ${shared_version_file} | head -1 | sed -E "s/var appVersion = '([0-9\.]+)';/\1/" | tr -d '[:space:]' )"
echo "Old version in appHost is: $old_version"
# Set the shared version to the specified new_version
old_version_sed="$( sed 's/\./\\./g' <<<"${old_version}" )" # Escape the '.' chars
new_version_sed="$( cut -f1 -d'-' <<<"${new_version}" )"
sed -i "s/${old_version_sed}/${new_version_sed}/g" ${shared_version_file}
old_version="$( grep "version:" ${build_file} | sed -E 's/version: "([0-9\.]+[-a-z0-9]*)"/\1/' )"
echo "Old version in ${build_file}: ${old_version}"
# Set the build.yaml version to the specified new_version
old_version_sed="$( sed 's/\./\\./g' <<<"${old_version}" )" # Escape the '.' chars
sed -i "s/${old_version_sed}/${new_version}/g" ${build_file}
if [[ ${new_version} == *"-"* ]]; then
new_version_deb="$( sed 's/-/~/g' <<<"${new_version}" )"
else
new_version_deb="${new_version}-1"
fi
# Write out a temporary Debian changelog with our new stuff appended and some templated formatting
debian_changelog_file="debian/changelog"
debian_changelog_temp="$( mktemp )"
# Create new temp file with our changelog
echo -e "jellyfin-web (${new_version_deb}) unstable; urgency=medium
* New upstream version ${new_version}; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v${new_version}
-- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 )
" >> ${debian_changelog_temp}
cat ${debian_changelog_file} >> ${debian_changelog_temp}
# Move into place
mv ${debian_changelog_temp} ${debian_changelog_file}
# Write out a temporary Yum changelog with our new stuff prepended and some templated formatting
fedora_spec_file="fedora/jellyfin-web.spec"
fedora_changelog_temp="$( mktemp )"
fedora_spec_temp_dir="$( mktemp -d )"
fedora_spec_temp="${fedora_spec_temp_dir}/jellyfin-web.spec.tmp"
# Make a copy of our spec file for hacking
cp ${fedora_spec_file} ${fedora_spec_temp_dir}/
pushd ${fedora_spec_temp_dir}
# Split out the stuff before and after changelog
csplit jellyfin-web.spec "/^%changelog/" # produces xx00 xx01
# Update the version in xx00
sed -i "s/${old_version_sed}/${new_version_sed}/g" xx00
# Remove the header from xx01
sed -i '/^%changelog/d' xx01
# Create new temp file with our changelog
echo -e "%changelog
* $( LANG=C date '+%a %b %d %Y' ) Jellyfin Packaging Team <packaging@jellyfin.org>
- New upstream version ${new_version}; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v${new_version}" >> ${fedora_changelog_temp}
cat xx01 >> ${fedora_changelog_temp}
# Reassembble
cat xx00 ${fedora_changelog_temp} > ${fedora_spec_temp}
popd
# Move into place
mv ${fedora_spec_temp} ${fedora_spec_file}
# Clean up
rm -rf ${fedora_changelog_temp} ${fedora_spec_temp_dir}
# Stage the changed files for commit
git add ${shared_version_file} ${build_file} ${debian_changelog_file} ${fedora_spec_file}
git status

29
debian/changelog vendored Normal file
View File

@@ -0,0 +1,29 @@
jellyfin-web (10.6.4-1) unstable; urgency=medium
* New upstream version 10.6.4; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.4
-- Jellyfin Packaging Team <packaging@jellyfin.org> Sun, 30 Aug 2020 16:45:08 -0400
jellyfin-web (10.6.3-1) unstable; urgency=medium
* New upstream version 10.6.3; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.3
-- Jellyfin Packaging Team <packaging@jellyfin.org> Sun, 16 Aug 2020 19:48:03 -0400
jellyfin-web (10.6.2-1) unstable; urgency=medium
* New upstream version 10.6.2; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.2
-- Jellyfin Packaging Team <packaging@jellyfin.org> Sun, 02 Aug 2020 20:25:58 -0400
jellyfin-web (10.6.1-1) unstable; urgency=medium
* New upstream version 10.6.1; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.1
-- Jellyfin Packaging Team <packaging@jellyfin.org> Mon, 27 Jul 2020 18:29:54 -0400
jellyfin-web (10.6.0-1) unstable; urgency=medium
* New upstream version 10.6.0; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.0
-- Jellyfin Packaging Team <packaging@jellyfin.org> Mon, 16 Mar 2020 11:15:00 -0400

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
8

16
debian/control vendored Normal file
View File

@@ -0,0 +1,16 @@
Source: jellyfin-web
Section: misc
Priority: optional
Maintainer: Jellyfin Team <team@jellyfin.org>
Build-Depends: debhelper (>= 9),
npm | nodejs
Standards-Version: 3.9.4
Homepage: https://jellyfin.org/
Vcs-Git: https://github.org/jellyfin/jellyfin-web.git
Vcs-Browser: https://github.org/jellyfin/jellyfin-web
Package: jellyfin-web
Recommends: jellyfin-server
Architecture: all
Description: Jellyfin is the Free Software Media System.
This package provides the Jellyfin web client.

28
debian/copyright vendored Normal file
View File

@@ -0,0 +1,28 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: jellyfin-web
Source: https://github.com/jellyfin/jellyfin-web
Files: *
Copyright: 2018-2020 Jellyfin Team
License: GPL-3.0
Files: debian/*
Copyright: 2020 Joshua Boniface <joshua@boniface.me>
License: GPL-3.0
License: GPL-3.0
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".

6
debian/gbp.conf vendored Normal file
View File

@@ -0,0 +1,6 @@
[DEFAULT]
pristine-tar = False
cleaner = fakeroot debian/rules clean
[import-orig]
filter = [ ".git*", ".hg*", ".vs*", ".vscode*" ]

1
debian/install vendored Normal file
View File

@@ -0,0 +1 @@
web usr/share/jellyfin/

1
debian/po/POTFILES.in vendored Normal file
View File

@@ -0,0 +1 @@
[type: gettext/rfc822deb] templates

57
debian/po/templates.pot vendored Normal file
View File

@@ -0,0 +1,57 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: jellyfin-server\n"
"Report-Msgid-Bugs-To: jellyfin-server@packages.debian.org\n"
"POT-Creation-Date: 2015-06-12 20:51-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#. Type: note
#. Description
#: ../templates:1001
msgid "Jellyfin permission info:"
msgstr ""
#. Type: note
#. Description
#: ../templates:1001
msgid ""
"Jellyfin by default runs under a user named \"jellyfin\". Please ensure that the "
"user jellyfin has read and write access to any folders you wish to add to your "
"library. Otherwise please run jellyfin under a different user."
msgstr ""
#. Type: string
#. Description
#: ../templates:2001
msgid "Username to run Jellyfin as:"
msgstr ""
#. Type: string
#. Description
#: ../templates:2001
msgid "The user that jellyfin will run as."
msgstr ""
#. Type: note
#. Description
#: ../templates:3001
msgid "Jellyfin still running"
msgstr ""
#. Type: note
#. Description
#: ../templates:3001
msgid "Jellyfin is currently running. Please close it and try again."
msgstr ""

20
debian/rules vendored Executable file
View File

@@ -0,0 +1,20 @@
#! /usr/bin/make -f
export DH_VERBOSE=1
%:
dh $@
# disable "make check"
override_dh_auto_test:
# disable stripping debugging symbols
override_dh_clistrip:
override_dh_auto_build:
npx yarn install
mv $(CURDIR)/dist $(CURDIR)/web
override_dh_auto_clean:
test -d $(CURDIR)/dist && rm -rf '$(CURDIR)/dist' || true
test -d $(CURDIR)/web && rm -rf '$(CURDIR)/web' || true
test -d $(CURDIR)/node_modules && rm -rf '$(CURDIR)/node_modules' || true

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
1.0

7
debian/source/options vendored Normal file
View File

@@ -0,0 +1,7 @@
tar-ignore='.git*'
tar-ignore='**/.git'
tar-ignore='**/.hg'
tar-ignore='**/.vs'
tar-ignore='**/.vscode'
tar-ignore='deployment'
tar-ignore='*.deb'

View File

@@ -0,0 +1,29 @@
FROM centos:7
# Docker build arguments
ARG SOURCE_DIR=/jellyfin
ARG ARTIFACT_DIR=/dist
# Docker run environment
ENV SOURCE_DIR=/jellyfin
ENV ARTIFACT_DIR=/dist
ENV IS_DOCKER=YES
# Prepare CentOS environment
RUN yum update -y \
&& yum install -y epel-release \
&& yum install -y @buildsys-build rpmdevtools git yum-plugins-core nodejs-yarn autoconf automake glibc-devel
# Install recent NodeJS and Yarn
RUN curl -fSsLo /etc/yum.repos.d/yarn.repo https://dl.yarnpkg.com/rpm/yarn.repo \
&& rpm -i https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm \
&& yum install -y yarn
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.centos /build.sh
VOLUME ${SOURCE_DIR}
VOLUME ${ARTIFACT_DIR}
ENTRYPOINT ["/build.sh"]

View File

@@ -0,0 +1,27 @@
FROM debian:10
# Docker build arguments
ARG SOURCE_DIR=/jellyfin
ARG ARTIFACT_DIR=/dist
# Docker run environment
ENV SOURCE_DIR=/jellyfin
ENV ARTIFACT_DIR=/dist
ENV DEB_BUILD_OPTIONS=noddebs
ENV IS_DOCKER=YES
# Prepare Debian build environment
RUN apt-get update \
&& apt-get install -y debhelper mmv npm git
# Prepare Yarn
RUN npm install -g yarn
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.debian /build.sh
VOLUME ${SOURCE_DIR}
VOLUME ${ARTIFACT_DIR}
ENTRYPOINT ["/build.sh"]

View File

@@ -0,0 +1,11 @@
FROM node:alpine
ARG SOURCE_DIR=/src
ARG ARTIFACT_DIR=/jellyfin-web
RUN apk add autoconf g++ make libpng-dev gifsicle alpine-sdk automake libtool make gcc musl-dev nasm python
WORKDIR ${SOURCE_DIR}
COPY . .
RUN yarn install && mv dist ${ARTIFACT_DIR}

View File

@@ -0,0 +1,23 @@
FROM fedora:31
# Docker build arguments
ARG SOURCE_DIR=/jellyfin
ARG ARTIFACT_DIR=/dist
# Docker run environment
ENV SOURCE_DIR=/jellyfin
ENV ARTIFACT_DIR=/dist
ENV IS_DOCKER=YES
# Prepare Fedora environment
RUN dnf update -y \
&& dnf install -y @buildsys-build rpmdevtools git dnf-plugins-core nodejs-yarn autoconf automake glibc-devel
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.fedora /build.sh
VOLUME ${SOURCE_DIR}
VOLUME ${ARTIFACT_DIR}
ENTRYPOINT ["/build.sh"]

View File

@@ -0,0 +1,26 @@
FROM debian:10
# Docker build arguments
ARG SOURCE_DIR=/jellyfin
ARG ARTIFACT_DIR=/dist
# Docker run environment
ENV SOURCE_DIR=/jellyfin
ENV ARTIFACT_DIR=/dist
ENV IS_DOCKER=YES
# Prepare Debian build environment
RUN apt-get update \
&& apt-get install -y mmv npm git
# Prepare Yarn
RUN npm install -g yarn
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.portable /build.sh
VOLUME ${SOURCE_DIR}
VOLUME ${ARTIFACT_DIR}
ENTRYPOINT ["/build.sh"]

41
deployment/build.centos Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
set -o errexit
set -o xtrace
# move to source directory
pushd ${SOURCE_DIR}
cp -a yarn.lock /tmp/yarn.lock
# modify changelog to unstable configuration if IS_UNSTABLE
if [[ ${IS_UNSTABLE} == 'yes' ]]; then
pushd fedora
PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' )
sed -i "s/Version:.*/Version: ${BUILD_ID}/" jellyfin-web.spec
sed -i "/%changelog/q" jellyfin-web.spec
cat <<EOF >>jellyfin-web.spec
* $( LANG=C date '+%a %b %d %Y' ) Jellyfin Packaging Team <packaging@jellyfin.org>
- Jellyfin Web unstable build ${BUILD_ID} for merged PR #${PR_ID}
EOF
popd
fi
# build rpm
make -f fedora/Makefile srpm outdir=/root/rpmbuild/SRPMS
rpmbuild --rebuild -bb /root/rpmbuild/SRPMS/jellyfin-*.src.rpm
# move the artifacts
mv /root/rpmbuild/RPMS/noarch/jellyfin-*.rpm /root/rpmbuild/SRPMS/jellyfin-*.src.rpm ${ARTIFACT_DIR}/
if [[ ${IS_DOCKER} == YES ]]; then
chown -Rc $(stat -c %u:%g ${ARTIFACT_DIR}) ${ARTIFACT_DIR}
fi
rm -f fedora/jellyfin*.tar.gz
cp -a /tmp/yarn.lock yarn.lock
popd

39
deployment/build.debian Executable file
View File

@@ -0,0 +1,39 @@
#!/bin/bash
set -o errexit
set -o xtrace
# move to source directory
pushd ${SOURCE_DIR}
cp -a yarn.lock /tmp/yarn.lock
# modify changelog to unstable configuration if IS_UNSTABLE
if [[ ${IS_UNSTABLE} == 'yes' ]]; then
pushd debian
PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' )
cat <<EOF >changelog
jellyfin-web (${BUILD_ID}-unstable) unstable; urgency=medium
* Jellyfin Web unstable build ${BUILD_ID} for merged PR #${PR_ID}
-- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 )
EOF
popd
fi
# build deb
dpkg-buildpackage -us -uc --pre-clean --post-clean
mkdir -p ${ARTIFACT_DIR}
mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} ${ARTIFACT_DIR}
cp -a /tmp/yarn.lock yarn.lock
if [[ ${IS_DOCKER} == YES ]]; then
chown -Rc $(stat -c %u:%g ${ARTIFACT_DIR}) ${ARTIFACT_DIR}
fi
popd

41
deployment/build.fedora Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
set -o errexit
set -o xtrace
# move to source directory
pushd ${SOURCE_DIR}
cp -a yarn.lock /tmp/yarn.lock
# modify changelog to unstable configuration if IS_UNSTABLE
if [[ ${IS_UNSTABLE} == 'yes' ]]; then
pushd fedora
PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' )
sed -i "s/Version:.*/Version: ${BUILD_ID}/" jellyfin-web.spec
sed -i "/%changelog/q" jellyfin-web.spec
cat <<EOF >>jellyfin-web.spec
* $( LANG=C date '+%a %b %d %Y' ) Jellyfin Packaging Team <packaging@jellyfin.org>
- Jellyfin Web unstable build ${BUILD_ID} for merged PR #${PR_ID}
EOF
popd
fi
# build rpm
make -f fedora/Makefile srpm outdir=/root/rpmbuild/SRPMS
rpmbuild -rb /root/rpmbuild/SRPMS/jellyfin-*.src.rpm
# move the artifacts
mv /root/rpmbuild/RPMS/noarch/jellyfin-*.rpm /root/rpmbuild/SRPMS/jellyfin-*.src.rpm ${ARTIFACT_DIR}
if [[ ${IS_DOCKER} == YES ]]; then
chown -Rc $(stat -c %u:%g ${ARTIFACT_DIR}) ${ARTIFACT_DIR}
fi
rm -f fedora/jellyfin*.tar.gz
cp -a /tmp/yarn.lock yarn.lock
popd

30
deployment/build.portable Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
set -o errexit
set -o xtrace
# move to source directory
pushd ${SOURCE_DIR}
# get version
if [[ ${IS_UNSTABLE} == 'yes' ]]; then
version="${BUILD_ID}"
else
version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )"
fi
# build archives
npx yarn install
mv dist jellyfin-web_${version}
tar -czf jellyfin-web_${version}_portable.tar.gz jellyfin-web_${version}
rm -rf dist
# move the artifacts
mkdir -p ${ARTIFACT_DIR}
mv jellyfin[-_]*.tar.gz ${ARTIFACT_DIR}
if [[ ${IS_DOCKER} == YES ]]; then
chown -Rc $(stat -c %u:%g ${ARTIFACT_DIR}) ${ARTIFACT_DIR}
fi
popd

21
fedora/Makefile Normal file
View File

@@ -0,0 +1,21 @@
VERSION := $(shell sed -ne '/^Version:/s/.* *//p' fedora/jellyfin-web.spec)
srpm:
cd fedora/; \
SOURCE_DIR=.. \
WORKDIR="$${PWD}"; \
tar \
--transform "s,^\.,jellyfin-web-$(VERSION)," \
--exclude='.git*' \
--exclude='**/.git' \
--exclude='**/.hg' \
--exclude='deployment' \
--exclude='*.deb' \
--exclude='*.rpm' \
--exclude='jellyfin-web-$(VERSION).tar.gz' \
-czf "jellyfin-web-$(VERSION).tar.gz" \
-C $${SOURCE_DIR} ./
cd fedora/; \
rpmbuild -bs jellyfin-web.spec \
--define "_sourcedir $$PWD/" \
--define "_srcrpmdir $(outdir)"

53
fedora/jellyfin-web.spec Normal file
View File

@@ -0,0 +1,53 @@
%global debug_package %{nil}
Name: jellyfin-web
Version: 10.6.4
Release: 1%{?dist}
Summary: The Free Software Media System web client
License: GPLv3
URL: https://jellyfin.org
# Jellyfin Server tarball created by `make -f .copr/Makefile srpm`, real URL ends with `v%{version}.tar.gz`
Source0: jellyfin-web-%{version}.tar.gz
%if 0%{?centos}
BuildRequires: yarn
# sadly the yarn RPM at https://dl.yarnpkg.com/rpm/ uses git but doesn't Requires: it
BuildRequires: git
%else
BuildRequires: nodejs-yarn
%endif
BuildArch: noarch
# Disable Automatic Dependency Processing
AutoReqProv: no
%description
Jellyfin is a free software media system that puts you in control of managing and streaming your media.
%prep
%autosetup -n jellyfin-web-%{version} -b 0
%build
%install
yarn install
%{__mkdir} -p %{buildroot}%{_datadir}
mv dist %{buildroot}%{_datadir}/jellyfin-web
%{__install} -D -m 0644 LICENSE %{buildroot}%{_datadir}/licenses/jellyfin/LICENSE
%files
%attr(755,root,root) %{_datadir}/jellyfin-web
%{_datadir}/licenses/jellyfin/LICENSE
%changelog
* Sun Aug 30 2020 Jellyfin Packaging Team <packaging@jellyfin.org>
- New upstream version 10.6.4; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.4
* Sun Aug 16 2020 Jellyfin Packaging Team <packaging@jellyfin.org>
- New upstream version 10.6.3; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.3
* Sun Aug 02 2020 Jellyfin Packaging Team <packaging@jellyfin.org>
- New upstream version 10.6.2; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.2
* Mon Jul 27 2020 Jellyfin Packaging Team <packaging@jellyfin.org>
- New upstream version 10.6.1; release changelog at https://github.com/jellyfin/jellyfin-web/releases/tag/v10.6.1
* Mon Mar 23 2020 Jellyfin Packaging Team <packaging@jellyfin.org>
- Forthcoming stable release

204
gulpfile.js Normal file
View File

@@ -0,0 +1,204 @@
const { src, dest, series, parallel, watch } = require('gulp');
const browserSync = require('browser-sync').create();
const del = require('del');
const babel = require('gulp-babel');
const concat = require('gulp-concat');
const terser = require('gulp-terser');
const htmlmin = require('gulp-htmlmin');
const imagemin = require('gulp-imagemin');
const sourcemaps = require('gulp-sourcemaps');
const mode = require('gulp-mode')({
modes: ['development', 'production'],
default: 'development',
verbose: false
});
const stream = require('webpack-stream');
const inject = require('gulp-inject');
const postcss = require('gulp-postcss');
const sass = require('gulp-sass');
const gulpif = require('gulp-if');
const lazypipe = require('lazypipe');
sass.compiler = require('node-sass');
let config;
if (mode.production()) {
config = require('./webpack.prod.js');
} else {
config = require('./webpack.dev.js');
}
const options = {
javascript: {
query: ['src/**/*.js', '!src/bundle.js', '!src/standalone.js', '!src/scripts/apploader.js']
},
apploader: {
query: ['src/standalone.js', 'src/scripts/apploader.js']
},
css: {
query: ['src/**/*.css', 'src/**/*.scss']
},
html: {
query: ['src/**/*.html', '!src/index.html']
},
images: {
query: ['src/**/*.png', 'src/**/*.jpg', 'src/**/*.gif', 'src/**/*.svg']
},
copy: {
query: ['src/**/*.json', 'src/**/*.ico', 'src/**/*.mp3']
},
injectBundle: {
query: 'src/index.html'
}
};
function serve() {
browserSync.init({
server: {
baseDir: './dist'
},
port: 8080
});
const events = ['add', 'change'];
watch(options.javascript.query).on('all', function (event, path) {
if (events.includes(event)) {
javascript(path);
}
});
watch(options.apploader.query, apploader(true));
watch('src/bundle.js', webpack);
watch(options.css.query).on('all', function (event, path) {
if (events.includes(event)) {
css(path);
}
});
watch(options.html.query).on('all', function (event, path) {
if (events.includes(event)) {
html(path);
}
});
watch(options.images.query).on('all', function (event, path) {
if (events.includes(event)) {
images(path);
}
});
watch(options.copy.query).on('all', function (event, path) {
if (events.includes(event)) {
copy(path);
}
});
watch(options.injectBundle.query, injectBundle);
}
function clean() {
return del(['dist/']);
}
const pipelineJavascript = lazypipe()
.pipe(function () {
return mode.development(sourcemaps.init({ loadMaps: true }));
})
.pipe(function () {
return babel({
presets: [
['@babel/preset-env']
]
});
})
.pipe(function () {
return terser({
keep_fnames: true,
mangle: false
});
})
.pipe(function () {
return mode.development(sourcemaps.write('.'));
});
function javascript(query) {
return src(typeof query !== 'function' ? query : options.javascript.query, { base: './src/' })
.pipe(pipelineJavascript())
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function apploader(standalone) {
function task() {
return src(options.apploader.query, { base: './src/' })
.pipe(gulpif(standalone, concat('scripts/apploader.js')))
.pipe(pipelineJavascript())
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
task.displayName = 'apploader';
return task;
}
function webpack() {
return stream(config)
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function css(query) {
return src(typeof query !== 'function' ? query : options.css.query, { base: './src/' })
.pipe(mode.development(sourcemaps.init({ loadMaps: true })))
.pipe(sass().on('error', sass.logError))
.pipe(postcss())
.pipe(mode.development(sourcemaps.write('.')))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function html(query) {
return src(typeof query !== 'function' ? query : options.html.query, { base: './src/' })
.pipe(mode.production(htmlmin({ collapseWhitespace: true })))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function images(query) {
return src(typeof query !== 'function' ? query : options.images.query, { base: './src/' })
.pipe(mode.production(imagemin()))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function copy(query) {
return src(typeof query !== 'function' ? query : options.copy.query, { base: './src/' })
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function injectBundle() {
return src(options.injectBundle.query, { base: './src/' })
.pipe(inject(
src(['src/scripts/apploader.js'], { read: false }, { base: './src/' }), {
relative: true,
transform: function (filepath) {
return `<script src="${filepath}" defer></script>`;
}
}
))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function build(standalone) {
return series(clean, parallel(javascript, apploader(standalone), webpack, css, html, images, copy));
}
exports.default = series(build(false), injectBundle);
exports.standalone = series(build(true), injectBundle);
exports.serve = series(exports.standalone, serve);

View File

@@ -5,62 +5,170 @@
"repository": "https://github.com/jellyfin/jellyfin-web",
"license": "GPL-2.0-or-later",
"devDependencies": {
"clean-webpack-plugin": "^3.0.0",
"@babel/core": "^7.10.3",
"@babel/plugin-proposal-class-properties": "^7.10.1",
"@babel/plugin-proposal-private-methods": "^7.10.1",
"@babel/plugin-transform-modules-amd": "^7.9.6",
"@babel/polyfill": "^7.8.7",
"@babel/preset-env": "^7.10.3",
"autoprefixer": "^9.8.5",
"babel-eslint": "^11.0.0-beta.2",
"babel-loader": "^8.0.6",
"browser-sync": "^2.26.7",
"copy-webpack-plugin": "^5.1.1",
"css-loader": "^3.4.2",
"css-loader": "^3.6.0",
"cssnano": "^4.1.10",
"del": "^5.1.0",
"eslint": "^6.8.0",
"file-loader": "^5.0.2",
"html-webpack-plugin": "^3.2.0",
"eslint-plugin-compat": "^3.5.1",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.21.2",
"eslint-plugin-promise": "^4.2.1",
"file-loader": "^6.0.0",
"gulp": "^4.0.2",
"gulp-babel": "^8.0.0",
"gulp-cli": "^2.3.0",
"gulp-concat": "^2.6.1",
"gulp-htmlmin": "^5.0.1",
"gulp-if": "^3.0.0",
"gulp-imagemin": "^7.1.0",
"gulp-inject": "^5.0.5",
"gulp-mode": "^1.0.2",
"gulp-postcss": "^8.0.0",
"gulp-sass": "^4.0.2",
"gulp-sourcemaps": "^2.6.5",
"gulp-terser": "^1.2.0",
"html-webpack-plugin": "^4.3.0",
"lazypipe": "^1.0.2",
"node-sass": "^4.13.1",
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0",
"style-loader": "^1.1.3",
"stylelint": "^13.1.0",
"stylelint": "^13.6.1",
"stylelint-config-rational-order": "^0.1.2",
"stylelint-no-browser-hacks": "^1.2.1",
"stylelint-order": "^4.0.0",
"stylelint-order": "^4.1.0",
"webpack": "^4.41.5",
"webpack-cli": "^3.3.10",
"webpack-concat-plugin": "^3.0.0",
"webpack-dev-server": "^3.10.3",
"webpack-merge": "^4.2.2"
"webpack-merge": "^4.2.2",
"webpack-stream": "^5.2.1"
},
"dependencies": {
"alameda": "^1.4.0",
"document-register-element": "^1.14.3",
"blurhash": "^1.1.3",
"classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz",
"core-js": "^3.6.5",
"date-fns": "^2.14.0",
"epubjs": "^0.3.85",
"fast-text-encoding": "^1.0.3",
"flv.js": "^1.5.0",
"hls.js": "^0.13.1",
"howler": "^2.1.3",
"headroom.js": "^0.11.0",
"hls.js": "^0.14.0",
"howler": "^2.2.0",
"intersection-observer": "^0.11.0",
"jellyfin-apiclient": "^1.4.1",
"jellyfin-noto": "https://github.com/jellyfin/jellyfin-noto",
"jquery": "^3.4.1",
"jstree": "^3.3.7",
"libass-wasm": "https://github.com/jellyfin/JavascriptSubtitlesOctopus#4.0.0-jf-cordova",
"libjass": "^0.11.0",
"jquery": "^3.5.1",
"jstree": "^3.3.10",
"libass-wasm": "https://github.com/jellyfin/JavascriptSubtitlesOctopus#4.0.0-jf-smarttv",
"material-design-icons-iconfont": "^5.0.1",
"native-promise-only": "^0.8.0-a",
"page": "^1.11.6",
"query-string": "^6.13.1",
"resize-observer-polyfill": "^1.5.1",
"shaka-player": "^2.5.9",
"screenfull": "^5.0.2",
"shaka-player": "^2.5.13",
"sortablejs": "^1.10.2",
"swiper": "^5.3.1",
"swiper": "^5.4.5",
"webcomponents.js": "^0.7.24",
"whatwg-fetch": "^3.0.0"
"whatwg-fetch": "^3.2.0"
},
"babel": {
"presets": [
"@babel/preset-env"
],
"overrides": [
{
"test": [
"src/components/accessSchedule/accessSchedule.js",
"src/components/actionSheet/actionSheet.js",
"src/components/autoFocuser.js",
"src/components/cardbuilder/cardBuilder.js",
"src/components/cardbuilder/chaptercardbuilder.js",
"src/components/cardbuilder/peoplecardbuilder.js",
"src/components/images/imageLoader.js",
"src/components/indicators/indicators.js",
"src/components/lazyLoader/lazyLoaderIntersectionObserver.js",
"src/components/playback/brightnessosd.js",
"src/components/playback/mediasession.js",
"src/components/playback/nowplayinghelper.js",
"src/components/playback/playbackorientation.js",
"src/components/playback/playerSelectionMenu.js",
"src/components/playback/playersettingsmenu.js",
"src/components/playback/playmethodhelper.js",
"src/components/playback/remotecontrolautoplay.js",
"src/components/playback/volumeosd.js",
"src/components/playmenu.js",
"src/components/sanatizefilename.js",
"src/components/scrollManager.js",
"src/components/syncPlay/groupSelectionMenu.js",
"src/components/syncPlay/playbackPermissionManager.js",
"src/components/syncPlay/syncPlayManager.js",
"src/components/syncPlay/timeSyncManager.js",
"src/controllers/dashboard/logs.js",
"src/controllers/dashboard/plugins/repositories.js",
"src/controllers/user/display.js",
"src/controllers/user/home.js",
"src/controllers/user/playback.js",
"src/controllers/user/subtitles.js",
"src/plugins/bookPlayer/plugin.js",
"src/plugins/bookPlayer/tableOfContents.js",
"src/plugins/photoPlayer/plugin.js",
"src/scripts/deleteHelper.js",
"src/scripts/dfnshelper.js",
"src/scripts/dom.js",
"src/scripts/fileDownloader.js",
"src/scripts/filesystem.js",
"src/scripts/imagehelper.js",
"src/scripts/inputManager.js",
"src/plugins/backdropScreensaver/plugin.js",
"src/components/filterdialog/filterdialog.js",
"src/components/fetchhelper.js",
"src/scripts/keyboardNavigation.js",
"src/scripts/settings/appSettings.js",
"src/scripts/settings/userSettings.js",
"src/scripts/settings/webSettings.js"
],
"plugins": [
"@babel/plugin-transform-modules-amd",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-private-methods"
]
}
]
},
"browserslist": [
"last 2 Firefox versions",
"last 2 Chrome versions",
"last 2 ChromeAndroid versions",
"last 2 Safari versions",
"last 2 iOS versions",
"iOS > 10",
"last 2 Edge versions",
"Chrome 27",
"Chrome 38",
"Chrome 47",
"Chrome 53",
"Chrome 56",
"Chrome 63",
"Edge 18",
"Firefox ESR"
],
"scripts": {
"serve": "webpack-dev-server --config webpack.dev.js --open",
"build": "webpack --config webpack.prod.js",
"lint": "eslint \"src\"",
"stylelint": "stylelint \"src/**/*.css\"",
"prepare": "webpack --config webpack.prod.js"
"serve": "gulp serve --development",
"prepare": "gulp --production",
"build:development": "gulp --development",
"build:production": "gulp --production",
"build:standalone": "gulp standalone --development",
"lint": "eslint \".\"",
"stylelint": "stylelint \"src/**/*.css\""
}
}

16
postcss.config.js Normal file
View File

@@ -0,0 +1,16 @@
const packageConfig = require('./package.json');
const postcssPresetEnv = require('postcss-preset-env');
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
const config = () => ({
plugins: [
// Explicitly specify browserslist to override ones from node_modules
// For example, Swiper has it in its package.json
postcssPresetEnv({browsers: packageConfig.browserslist}),
autoprefixer({overrideBrowserslist: packageConfig.browserslist}),
cssnano()
]
});
module.exports = config;

View File

@@ -15,6 +15,8 @@ print(langlst)
input('press enter to continue')
keysus = []
missing = []
with open(langdir + '/' + 'en-us.json') as en:
langus = json.load(en)
for key in langus:
@@ -32,10 +34,19 @@ for lang in langlst:
for key in langjson:
if key in keysus:
langjnew[key] = langjson[key]
elif key not in missing:
missing.append(key)
f.seek(0)
f.write(json.dumps(langjnew, indent=inde, sort_keys=False, ensure_ascii=False))
f.write('\n')
f.truncate()
f.close()
print(missing)
print('LENGTH: ' + str(len(missing)))
with open('missing.txt', 'w') as out:
for item in missing:
out.write(item + '\n')
out.close()
print('DONE')

View File

@@ -34,7 +34,7 @@ for lang in langlst:
print(dep)
print('LENGTH: ' + str(len(dep)))
with open('scout.txt', 'w') as out:
with open('unused.txt', 'w') as out:
for item in dep:
out.write(item + '\n')
out.close()

View File

@@ -5,12 +5,11 @@
<div class="verticalSection">
<div class="sectionTitleContainer flex align-items-center">
<h1 class="sectionTitle pluginName"></h1>
<a is="emby-linkbutton" class="raised button-alt headerHelpButton" target="_blank" href="https://docs.jellyfin.org/general/server/plugins/index.html">${Help}</a>
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://docs.jellyfin.org/general/server/plugins/index.html">${Help}</a>
</div>
<p id="tagline" style="font-style: italic;"></p>
<p id="pPreviewImage"></p>
<p id="overview"></p>
<p id="overview" style="font-style: italic;"></p>
<p id="description"></p>
</div>
<div class="verticalSection">
@@ -28,7 +27,6 @@
</button>
<div class="fieldDescription">${ServerRestartNeededAfterPluginInstall}</div>
</div>
<p id="nonServerMsg"></p>
</form>
</div>
</div>
@@ -37,9 +35,6 @@
<div is="emby-collapse" title="${HeaderDeveloperInfo}">
<div class="collapseContent">
<p id="developer"></p>
<p id="pViewWebsite" style="display: none;">
<a is="emby-linkbutton" class="button-link" href="#" target="_blank">${ButtonViewWebsite}</a>
</p>
</div>
</div>

View File

@@ -1,9 +1,9 @@
<div data-role="page" class="page standalonePage">
<div class="padded-left padded-right padded-bottom-page">
<form class="addServerForm" style="margin: 0 auto;">
<form class="addServerForm" style="margin: 0 auto;" novalidate>
<h1>${HeaderConnectToServer}</h1>
<div class="inputContainer">
<input is="emby-input" type="text" id="txtServerHost" required="required" label="${LabelServerHost}" autocomplete="off" spellcheck="false" autocapitalize="none" autocorrect="off" />
<input is="emby-input" type="url" id="txtServerHost" required="required" label="${LabelServerHost}"/>
<div class="fieldDescription">${LabelServerHostHelp}</div>
</div>
<br />

View File

@@ -4,18 +4,19 @@
<div class="detailSectionHeader">
<h2 style="margin:.6em 0;vertical-align:middle;display:inline-block;">${HeaderApiKeys}</h2>
<button is="emby-button" type="button" class="fab btnNewKey submit" style="margin-left:1em;" title="${ButtonAdd}">
<i class="material-icons">add</i>
<span class="material-icons add" aria-hidden="true"></span>
</button>
</div>
<p>${HeaderApiKeysHelp}</p>
<br />
<table class="tblApiKeys detailTable">
<caption class="clipForScreenReader">${ApiKeysCaption}</caption>
<thead>
<tr>
<th class="detailTableHeaderCell"></th>
<th class="detailTableHeaderCell">${HeaderApiKey}</th>
<th class="detailTableHeaderCell">${HeaderApp}</th>
<th class="detailTableHeaderCell">${HeaderDateIssued}</th>
<th scope="col" class="detailTableHeaderCell"></th>
<th scope="col" class="detailTableHeaderCell">${HeaderApiKey}</th>
<th scope="col" class="detailTableHeaderCell">${HeaderApp}</th>
<th scope="col" class="detailTableHeaderCell">${HeaderDateIssued}</th>
</tr>
</thead>
<tbody class="resultBody"></tbody>

Binary file not shown.

View File

@@ -235,6 +235,15 @@ div[data-role=controlgroup] a.ui-btn-active {
width: 50%;
}
.localUsers .cardText-secondary {
white-space: pre-wrap;
height: 3em;
}
.customCssContainer textarea {
resize: none;
}
@media all and (min-width: 70em) {
.dashboardSections {
-webkit-flex-wrap: wrap;

View File

@@ -30,6 +30,10 @@
align-items: flex-start;
}
.align-items-flex-end {
align-items: flex-end;
}
.justify-content-center {
justify-content: center;
}
@@ -38,6 +42,10 @@
justify-content: flex-end;
}
.justify-content-space-between {
justify-content: space-between;
}
.flex-wrap-wrap {
flex-wrap: wrap;
}

View File

@@ -1,8 +1,3 @@
html {
font-size: 82% !important;
}
.formDialogFooter {
position: static !important;
margin: 0 -1em !important;
}

View File

@@ -24,10 +24,6 @@
padding-top: 7em !important;
}
.layout-mobile .libraryPage {
padding-top: 4em !important;
}
.itemDetailPage {
padding-top: 0 !important;
}
@@ -164,6 +160,7 @@
display: flex;
flex-direction: column;
contain: layout style paint;
transition: background ease-in-out 0.5s;
}
.hiddenViewMenuBar .skinHeader {
@@ -178,6 +175,10 @@
width: 100%;
}
.layout-tv .sectionTabs {
width: 55%;
}
.selectedMediaFolder {
background-color: #f2f2f2 !important;
}
@@ -272,7 +273,7 @@
}
}
@media all and (max-width: 84em) {
@media all and (max-width: 100em) {
.withSectionTabs .headerTop {
padding-bottom: 0.55em;
}
@@ -280,9 +281,13 @@
.sectionTabs {
font-size: 83.5%;
}
.layout-tv .sectionTabs {
width: 100%;
}
}
@media all and (min-width: 84em) {
@media all and (min-width: 100em) {
.headerTop {
padding: 0.8em 0.8em;
}
@@ -438,12 +443,14 @@
background-repeat: no-repeat;
background-position: center;
background-attachment: fixed;
height: 50vh;
height: 40vh;
position: relative;
animation: backdrop-fadein 800ms ease-in normal both;
}
.layout-mobile .itemBackdrop {
background-attachment: scroll;
height: 26.5vh;
}
.layout-desktop .itemBackdrop::after,
@@ -463,10 +470,20 @@
.detailPageContent {
display: flex;
flex-direction: column;
padding-left: 2%;
padding-left: 32.45vw;
padding-right: 2%;
}
.layout-mobile .detailPageContent {
padding-left: 5%;
padding-right: 5%;
}
.layout-desktop .detailPageContent .emby-scroller,
.layout-tv .detailPageContent .emby-scroller {
margin-left: 0;
}
.layout-desktop .noBackdrop .detailPageContent,
.layout-tv .noBackdrop .detailPageContent {
margin-top: 2.5em;
@@ -477,6 +494,10 @@
margin-top: 0;
}
.detailSectionContent a {
color: inherit;
}
.personBackdrop {
background-size: contain;
}
@@ -495,7 +516,23 @@
.parentName {
display: block;
margin-bottom: 0.5em;
margin: 0 0 0;
}
.layout-mobile .parentName {
margin: 0.6em 0 0;
}
.musicParentName {
margin: 0.15em 0 0.2em;
}
.layout-mobile .musicParentName {
margin: -0.25em 0 0.25em;
}
.layout-mobile .itemExternalLinks {
display: none;
}
.mainDetailButtons {
@@ -503,8 +540,6 @@
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin: 1em 0;
}
@@ -520,6 +555,35 @@
font-weight: 600;
}
.itemName.originalTitle {
margin: 0.2em 0 0.2em;
}
.itemName.parentNameLast {
margin: 0 0 0;
}
.layout-mobile .itemName.parentNameLast {
margin: 0.4em 0 0.4em;
}
.layout-mobile h1.itemName,
.layout-mobile h1.parentName {
font-size: 1.6em;
}
.itemName.parentNameLast.withOriginalTitle {
margin: 0 0 0;
}
.layout-mobile .itemName.parentNameLast.withOriginalTitle {
margin: 0.6em 0 0;
}
.layout-mobile .itemName.originalTitle {
margin: 0.5em 0 0.5em;
}
.nameContainer {
display: flex;
flex-direction: column;
@@ -546,6 +610,19 @@
text-align: center;
}
.layout-mobile .mainDetailButtons {
margin-top: 1em;
margin-bottom: 0.5em;
}
.subtitle {
margin: 0.15em 0 0.2em;
}
.layout-mobile .subtitle {
margin: 0.2em 0 0.2em;
}
.detailPagePrimaryContainer {
display: flex;
align-items: center;
@@ -556,7 +633,7 @@
.layout-mobile .detailPagePrimaryContainer {
display: block;
position: relative;
top: 0;
padding: 0.5em 3.3% 0.5em;
}
.layout-tv #itemDetailPage:not(.noBackdrop) .detailPagePrimaryContainer,
@@ -566,13 +643,14 @@
padding-left: 32.45vw;
}
.layout-desktop .detailSticky,
.layout-tv .detailSticky {
.layout-desktop .detailRibbon,
.layout-tv .detailRibbon {
margin-top: -7.2em;
height: 7.2em;
}
.layout-desktop .noBackdrop .detailSticky,
.layout-tv .noBackdrop .detailSticky {
.layout-desktop .noBackdrop .detailRibbon,
.layout-tv .noBackdrop .detailRibbon {
margin-top: 0;
}
@@ -584,6 +662,9 @@
white-space: nowrap;
text-overflow: ellipsis;
text-align: left;
min-width: 0;
max-width: 100%;
overflow: hidden;
}
.layout-mobile .infoText {
@@ -594,12 +675,29 @@
margin: 1.25em 0;
}
.detailImageContainer {
position: relative;
margin-top: -25vh;
.layout-mobile .detailPageSecondaryContainer {
margin: 1em 0;
}
.layout-mobile .detailImageContainer {
display: none;
}
.detailImageContainer .card {
position: absolute;
top: 50%;
float: left;
width: 25vw;
z-index: 3;
transform: translateY(-50%);
}
.detailImageContainer .card.backdropCard {
top: 35%;
}
.detailImageContainer .card.squareCard {
top: 40%;
}
.layout-desktop .noBackdrop .detailImageContainer,
@@ -612,11 +710,11 @@
}
.detailLogo {
width: 30vw;
height: 25vh;
width: 25vw;
height: 16vh;
position: absolute;
top: 10vh;
right: 20vw;
right: 25vw;
background-size: contain;
}
@@ -641,15 +739,11 @@ div.itemDetailGalleryLink.defaultCardBackground {
}
.itemDetailGalleryLink.defaultCardBackground {
height: 23vw; /* Dirty hack to get it to look somewhat square. Less than ideal. */
/* Dirty hack to get it to look somewhat square. Less than ideal. */
height: 23vw;
}
.btnSyncComplete i {
-webkit-border-radius: 100em;
border-radius: 100em;
}
.itemDetailGalleryLink.defaultCardBackground > i {
.itemDetailGalleryLink.defaultCardBackground > .material-icons {
font-size: 15vw;
margin-top: 50%;
transform: translateY(-50%);
@@ -660,14 +754,19 @@ div.itemDetailGalleryLink.defaultCardBackground {
position: relative;
}
.layout-desktop .detailPageWrapperContainer,
.layout-tv .detailPageWrapperContainer {
margin-top: 7.2em;
.layout-desktop .itemBackdrop,
.layout-tv .itemBackdrop {
height: 40vh;
}
.layout-tv #itemDetailPage:not(.noBackdrop) .detailPagePrimaryContainer,
.layout-desktop #itemDetailPage:not(.noBackdrop) .detailPagePrimaryContainer {
padding-left: 3.3%;
.layout-desktop .detailPageWrapperContainer,
.layout-tv .detailPageWrapperContainer {
margin-top: 0.1em;
}
.layout-desktop .detailImageContainer .card,
.layout-tv .detailImageContainer .card {
top: 10%;
}
.btnPlaySimple {
@@ -681,37 +780,29 @@ div.itemDetailGalleryLink.defaultCardBackground {
}
}
.btnSyncComplete {
background: #673ab7 !important;
}
.emby-button.detailFloatingButton {
position: absolute;
background-color: rgba(0, 0, 0, 0.5) !important;
z-index: 1;
top: 50%;
left: 50%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 3;
top: 100%;
left: 90%;
margin: -2.2em 0 0 -2.2em;
padding: 0.4em !important;
padding: 0.4em;
color: rgba(255, 255, 255, 0.76);
}
.emby-button.detailFloatingButton i {
.emby-button.detailFloatingButton .material-icons {
font-size: 3.5em;
}
@media all and (max-width: 62.5em) {
.parentName {
margin-bottom: 1em;
margin-bottom: 0;
}
.itemDetailPage {
padding-top: 0 !important;
}
.detailimg-hidemobile {
display: none;
}
}
@media all and (min-width: 31.25em) {
@@ -806,9 +897,9 @@ div.itemDetailGalleryLink.defaultCardBackground {
}
.detailImageProgressContainer {
position: absolute;
bottom: 0;
width: 22.786458333333332vw;
margin-top: -0.4vw;
width: 100%;
}
.detailButton-text {
@@ -827,21 +918,7 @@ div.itemDetailGalleryLink.defaultCardBackground {
}
}
@media all and (min-width: 62.5em) {
.headerTop {
padding-left: 0.8em;
padding-right: 0.8em;
}
.headerTabs {
align-self: center;
width: auto;
align-items: center;
justify-content: center;
margin-top: -4.2em;
position: relative;
}
@media all and (min-width: 100em) {
.detailFloatingButton {
display: none !important;
}
@@ -875,6 +952,10 @@ div.itemDetailGalleryLink.defaultCardBackground {
}
}
.detailVerticalSection .emby-scrollbuttons {
padding-top: 0.4em;
}
.layout-tv .detailVerticalSection {
margin-bottom: 3.4em !important;
}
@@ -963,6 +1044,10 @@ div.itemDetailGalleryLink.defaultCardBackground {
margin-bottom: 2.7em;
}
.layout-mobile .verticalSection-extrabottompadding {
margin-bottom: 1em;
}
.sectionTitleButton,
.sectionTitleIconButton {
margin-right: 0 !important;
@@ -988,7 +1073,13 @@ div.itemDetailGalleryLink.defaultCardBackground {
div:not(.sectionTitleContainer-cards) > .sectionTitle-cards {
margin: 0;
padding-top: 1.25em;
padding-top: 0.5em;
padding-bottom: 0.2em;
}
.layout-mobile :not(.sectionTitleContainer-cards) > .sectionTitle-cards {
margin: 0;
padding-top: 0.5em;
}
.sectionTitleButton {
@@ -1106,3 +1197,74 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards {
.itemsViewSettingsContainer > .button-flat {
margin: 0;
}
.layout-mobile #myPreferencesMenuPage {
padding-top: 3.75em;
}
.itemDetailsGroup {
margin-bottom: 1.5em;
}
.trackSelections {
max-width: 44em;
}
.detailsGroupItem,
.trackSelections .selectContainer {
display: flex;
max-width: 44em;
margin: 0 0 0.5em !important;
}
.trackSelections .selectContainer {
margin: 0 0 0.3em !important;
}
.detailsGroupItem .label,
.trackSelections .selectContainer .selectLabel {
cursor: default;
flex-grow: 0;
flex-shrink: 0;
flex-basis: 6.25em;
margin: 0 0.6em 0 0;
}
.trackSelections .selectContainer .selectLabel {
margin: 0 0.2em 0 0;
line-height: 1.75;
}
.layout-mobile .detailsGroupItem .label,
.layout-mobile .trackSelections .selectContainer .selectLabel {
flex-basis: 4.5em;
}
.trackSelections .selectContainer .detailTrackSelect {
font-size: inherit;
padding: 0;
overflow: hidden;
}
.trackSelections .selectContainer .selectArrowContainer .selectArrow {
margin-top: 0;
font-size: 1.4em;
}
.overview-controls {
display: flex;
justify-content: flex-end;
}
.detail-clamp-text {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 12;
-webkit-box-orient: vertical;
}
@media all and (min-width: 40em) {
.detail-clamp-text {
-webkit-line-clamp: 6;
}
}

View File

@@ -12,6 +12,7 @@
.hiddenScrollX,
.layout-tv .scrollX {
-ms-overflow-style: none;
scrollbar-width: none;
}
.hiddenScrollX-forced {
@@ -40,6 +41,7 @@
.hiddenScrollY,
.layout-tv .smoothScrollY {
-ms-overflow-style: none;
scrollbar-width: none;
/* Can't do this because it not only hides the scrollbar, but also prevents scrolling */

View File

@@ -5,9 +5,26 @@ html {
height: 100%;
}
.layout-mobile,
.layout-tv {
-webkit-touch-callout: none;
user-select: none;
}
.clipForScreenReader {
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
width: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
}
.material-icons {
/* Fix font ligatures on older WebOS versions */
-webkit-font-feature-settings: "liga";
font-feature-settings: "liga";
}
.backgroundContainer {
@@ -23,16 +40,6 @@ html {
line-height: 1.35;
}
.layout-mobile,
.layout-tv {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
body {
overflow-x: hidden;
background-color: transparent !important;
@@ -96,3 +103,29 @@ div[data-role=page] {
margin-right: auto;
width: 85%;
}
.headroom {
will-change: transform;
transition: transform 200ms linear;
}
.headroom--pinned {
transform: translateY(0%);
}
.headroom--unpinned {
transform: translateY(-100%);
}
.drawerContent {
/* make sure the bottom of the drawer is visible when music is playing */
padding-bottom: 4em;
}
.force-scroll {
overflow-y: scroll;
}
.hide-scroll {
overflow-y: hidden;
}

View File

@@ -7,7 +7,6 @@
}
.osdPoster img,
.pageContainer,
.videoOsdBottom {
bottom: 0;
left: 0;
@@ -30,7 +29,7 @@
opacity: 0;
}
.osdHeader .headerButton:not(.headerBackButton):not(.headerCastButton) {
.osdHeader .headerButton:not(.headerBackButton):not(.headerCastButton):not(.headerSyncButton) {
display: none;
}
@@ -248,11 +247,6 @@
animation: spin 4s linear infinite;
}
.pageContainer {
top: 0;
position: fixed;
}
@media all and (max-width: 30em) {
.btnFastForward,
.btnRewind,

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 24 24"><title>Microsoft Edge icon</title><path d="M21.86 17.86q.14 0 .25.12.1.13.1.25t-.11.33l-.32.46-.43.53-.44.5q-.21.25-.38.42l-.22.23q-.58.53-1.34 1.04-.76.51-1.6.91-.86.4-1.74.64t-1.67.24q-.9 0-1.69-.28-.8-.28-1.48-.78-.68-.5-1.22-1.17-.53-.66-.92-1.44-.38-.77-.58-1.6-.2-.83-.2-1.67 0-1 .32-1.96.33-.97.87-1.8.14.95.55 1.77.41.82 1.02 1.5.6.68 1.38 1.21.78.54 1.64.9.86.36 1.77.56.92.2 1.8.2 1.12 0 2.18-.24 1.06-.23 2.06-.72l.2-.1.2-.05zm-15.5-1.27q0 1.1.27 2.15.27 1.06.78 2.03.51.96 1.24 1.77.74.82 1.66 1.4-1.47-.2-2.8-.74-1.33-.55-2.48-1.37-1.15-.83-2.08-1.9-.92-1.07-1.58-2.33T.36 14.94Q0 13.54 0 12.06q0-.81.32-1.49.31-.68.83-1.23.53-.55 1.2-.96.66-.4 1.35-.66.74-.27 1.5-.39.78-.12 1.55-.12.7 0 1.42.1.72.12 1.4.35.68.23 1.32.57.63.35 1.16.83-.35 0-.7.07-.33.07-.65.23v-.02q-.63.28-1.2.74-.57.46-1.05 1.04-.48.58-.87 1.26-.38.67-.65 1.39-.27.71-.42 1.44-.15.72-.15 1.38zM11.96.06q1.7 0 3.33.39 1.63.38 3.07 1.15 1.43.77 2.62 1.93 1.18 1.16 1.98 2.7.49.94.76 1.96.28 1 .28 2.08 0 .89-.23 1.7-.24.8-.69 1.48-.45.68-1.1 1.22-.64.53-1.45.88-.54.24-1.11.36-.58.13-1.16.13-.42 0-.97-.03-.54-.03-1.1-.12-.55-.1-1.05-.28-.5-.19-.84-.5-.12-.09-.23-.24-.1-.16-.1-.33 0-.15.16-.35.16-.2.35-.5.2-.28.36-.68.16-.4.16-.95 0-1.06-.4-1.96-.4-.91-1.06-1.64-.66-.74-1.52-1.28-.86-.55-1.79-.89-.84-.3-1.72-.44-.87-.14-1.76-.14-1.55 0-3.06.45T.94 7.55q.71-1.74 1.81-3.13 1.1-1.38 2.52-2.35Q6.68 1.1 8.37.58q1.7-.52 3.58-.52Z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -4,100 +4,180 @@
// Use define from require.js not webpack's define
var _define = window.define;
// document-register-element
var docRegister = require("document-register-element");
_define("document-register-element", function() {
return docRegister;
// fetch
var fetch = require('whatwg-fetch');
_define('fetch', function() {
return fetch;
});
// fetch
var fetch = require("whatwg-fetch");
_define("fetch", function() {
return fetch
// Blurhash
var blurhash = require('blurhash');
_define('blurhash', function() {
return blurhash;
});
// query-string
var query = require('query-string');
_define('queryString', function() {
return query;
});
// flvjs
var flvjs = require("flv.js/dist/flv").default;
_define("flvjs", function() {
var flvjs = require('flv.js/dist/flv').default;
_define('flvjs', function() {
return flvjs;
});
// jstree
var jstree = require("jstree");
require("jstree/dist/themes/default/style.css");
_define("jstree", function() {
var jstree = require('jstree');
require('jstree/dist/themes/default/style.css');
_define('jstree', function() {
return jstree;
});
// jquery
var jquery = require("jquery");
_define("jQuery", function() {
var jquery = require('jquery');
_define('jQuery', function() {
return jquery;
});
// hlsjs
var hlsjs = require("hls.js");
_define("hlsjs", function() {
var hlsjs = require('hls.js');
_define('hlsjs', function() {
return hlsjs;
});
// howler
var howler = require("howler");
_define("howler", function() {
var howler = require('howler');
_define('howler', function() {
return howler;
});
// resize-observer-polyfill
var resize = require("resize-observer-polyfill").default;
_define("resize-observer-polyfill", function() {
var resize = require('resize-observer-polyfill').default;
_define('resize-observer-polyfill', function() {
return resize;
});
// shaka
var shaka = require("shaka-player");
_define("shaka", function() {
return shaka;
});
// swiper
var swiper = require("swiper/js/swiper");
require("swiper/css/swiper.min.css");
_define("swiper", function() {
var swiper = require('swiper/js/swiper');
require('swiper/css/swiper.min.css');
_define('swiper', function() {
return swiper;
});
// sortable
var sortable = require("sortablejs").default;
_define("sortable", function() {
var sortable = require('sortablejs').default;
_define('sortable', function() {
return sortable;
});
// webcomponents
var webcomponents = require("webcomponents.js/webcomponents-lite");
_define("webcomponents", function() {
return webcomponents
var webcomponents = require('webcomponents.js/webcomponents-lite');
_define('webcomponents', function() {
return webcomponents;
});
// libjass
var libjass = require("libjass");
require("libjass/libjass.css");
_define("libjass", function() {
return libjass;
// shaka
var shaka = require('shaka-player');
_define('shaka', function() {
return shaka;
});
// libass-wasm
var libass_wasm = require("libass-wasm");
_define("JavascriptSubtitlesOctopus", function() {
return libass_wasm;
var libassWasm = require('libass-wasm');
_define('JavascriptSubtitlesOctopus', function() {
return libassWasm;
});
// material-icons
var material_icons = require("material-design-icons-iconfont/dist/material-design-icons.css");
_define("material-icons", function() {
return material_icons;
var materialIcons = require('material-design-icons-iconfont/dist/material-design-icons.css');
_define('material-icons', function() {
return materialIcons;
});
var jellyfin_noto = require("jellyfin-noto");
_define("jellyfin-noto", function () {
return jellyfin_noto;
// noto font
var noto = require('jellyfin-noto');
_define('jellyfin-noto', function () {
return noto;
});
var epubjs = require('epubjs');
_define('epubjs', function () {
return epubjs;
});
// page.js
var page = require('page');
_define('page', function() {
return page;
});
// core-js
var polyfill = require('@babel/polyfill/dist/polyfill');
_define('polyfill', function () {
return polyfill;
});
// domtokenlist-shim
var classlist = require('classlist.js');
_define('classlist-polyfill', function () {
return classlist;
});
// Date-FNS
var dateFns = require('date-fns');
_define('date-fns', function () {
return dateFns;
});
var dateFnsLocale = require('date-fns/locale');
_define('date-fns/locale', function () {
return dateFnsLocale;
});
var fast_text_encoding = require('fast-text-encoding');
_define('fast-text-encoding', function () {
return fast_text_encoding;
});
// intersection-observer
var intersection_observer = require('intersection-observer');
_define('intersection-observer', function () {
return intersection_observer;
});
// screenfull
var screenfull = require('screenfull');
_define('screenfull', function () {
return screenfull;
});
// headroom.js
var headroom = require('headroom.js/dist/headroom');
_define('headroom', function () {
return headroom;
});
// apiclient
var apiclient = require('jellyfin-apiclient');
_define('apiclient', function () {
return apiclient.ApiClient;
});
_define('events', function () {
return apiclient.Events;
});
_define('credentialprovider', function () {
return apiclient.Credentials;
});
_define('connectionManagerFactory', function () {
return apiclient.ConnectionManager;
});
_define('appStorage', function () {
return apiclient.AppStorage;
});

View File

@@ -0,0 +1,98 @@
/* eslint-disable indent */
/**
* Module for controlling user parental control from.
* @module components/accessSchedule/accessSchedule
*/
import dialogHelper from 'dialogHelper';
import datetime from 'datetime';
import globalize from 'globalize';
import 'emby-select';
import 'paper-icon-button-light';
import 'formDialogStyle';
function getDisplayTime(hours) {
let minutes = 0;
const pct = hours % 1;
if (pct) {
minutes = parseInt(60 * pct);
}
return datetime.getDisplayTime(new Date(2000, 1, 1, hours, minutes, 0, 0));
}
function populateHours(context) {
let html = '';
for (let i = 0; i < 24; i++) {
html += `<option value="${i}">${getDisplayTime(i)}</option>`;
}
html += `<option value="24">${getDisplayTime(0)}</option>`;
context.querySelector('#selectStart').innerHTML = html;
context.querySelector('#selectEnd').innerHTML = html;
}
function loadSchedule(context, {DayOfWeek, StartHour, EndHour}) {
context.querySelector('#selectDay').value = DayOfWeek || 'Sunday';
context.querySelector('#selectStart').value = StartHour || 0;
context.querySelector('#selectEnd').value = EndHour || 0;
}
function submitSchedule(context, options) {
const updatedSchedule = {
DayOfWeek: context.querySelector('#selectDay').value,
StartHour: context.querySelector('#selectStart').value,
EndHour: context.querySelector('#selectEnd').value
};
if (parseFloat(updatedSchedule.StartHour) >= parseFloat(updatedSchedule.EndHour)) {
return void alert(globalize.translate('ErrorMessageStartHourGreaterThanEnd'));
}
context.submitted = true;
options.schedule = Object.assign(options.schedule, updatedSchedule);
dialogHelper.close(context);
}
export function show(options) {
return new Promise((resolve, reject) => {
// TODO: remove require
require(['text!./components/accessSchedule/accessSchedule.template.html'], template => {
const dlg = dialogHelper.createDialog({
removeOnClose: true,
size: 'small'
});
dlg.classList.add('formDialog');
let html = '';
html += globalize.translateDocument(template);
dlg.innerHTML = html;
populateHours(dlg);
loadSchedule(dlg, options.schedule);
dialogHelper.open(dlg);
dlg.addEventListener('close', () => {
if (dlg.submitted) {
resolve(options.schedule);
} else {
reject();
}
});
dlg.querySelector('.btnCancel').addEventListener('click', () => {
dialogHelper.close(dlg);
});
dlg.querySelector('form').addEventListener('submit', event => {
submitSchedule(dlg, options);
event.preventDefault();
return false;
});
});
});
}
/* eslint-enable indent */
export default {
show: show
};

View File

@@ -1,6 +1,6 @@
<div class="formDialogHeader">
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1">
<i class="material-icons arrow_back"></i>
<button is="paper-icon-button-light" class="btnCancel autoSize" title="${LabelPrevious}" tabindex="-1">
<span class="material-icons arrow_back" aria-hidden="true"></span>
</button>
<h3 class="formDialogHeaderTitle">
${HeaderAccessSchedule}

View File

@@ -1,89 +0,0 @@
define(["dialogHelper", "datetime", "emby-select", "paper-icon-button-light", "formDialogStyle"], function (dialogHelper, datetime) {
"use strict";
function getDisplayTime(hours) {
var minutes = 0;
var pct = hours % 1;
if (pct) {
minutes = parseInt(60 * pct);
}
return datetime.getDisplayTime(new Date(2000, 1, 1, hours, minutes, 0, 0));
}
function populateHours(context) {
var html = "";
for (var i = 0; i < 24; i++) {
html += '<option value="' + i + '">' + getDisplayTime(i) + "</option>";
}
html += '<option value="24">' + getDisplayTime(0) + "</option>";
context.querySelector("#selectStart").innerHTML = html;
context.querySelector("#selectEnd").innerHTML = html;
}
function loadSchedule(context, schedule) {
context.querySelector("#selectDay").value = schedule.DayOfWeek || "Sunday";
context.querySelector("#selectStart").value = schedule.StartHour || 0;
context.querySelector("#selectEnd").value = schedule.EndHour || 0;
}
function submitSchedule(context, options) {
var updatedSchedule = {
DayOfWeek: context.querySelector("#selectDay").value,
StartHour: context.querySelector("#selectStart").value,
EndHour: context.querySelector("#selectEnd").value
};
if (parseFloat(updatedSchedule.StartHour) >= parseFloat(updatedSchedule.EndHour)) {
return void alert(Globalize.translate("ErrorMessageStartHourGreaterThanEnd"));
}
context.submitted = true;
options.schedule = Object.assign(options.schedule, updatedSchedule);
dialogHelper.close(context);
}
return {
show: function (options) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open("GET", "components/accessschedule/accessschedule.template.html", true);
xhr.onload = function (e) {
var template = this.response;
var dlg = dialogHelper.createDialog({
removeOnClose: true,
size: "small"
});
dlg.classList.add("formDialog");
var html = "";
html += Globalize.translateDocument(template);
dlg.innerHTML = html;
populateHours(dlg);
loadSchedule(dlg, options.schedule);
dialogHelper.open(dlg);
dlg.addEventListener("close", function () {
if (dlg.submitted) {
resolve(options.schedule);
} else {
reject();
}
});
dlg.querySelector(".btnCancel").addEventListener("click", function (e) {
dialogHelper.close(dlg);
});
dlg.querySelector("form").addEventListener("submit", function (e) {
submitSchedule(dlg, options);
e.preventDefault();
return false;
});
};
xhr.send();
});
}
};
});

View File

@@ -0,0 +1,340 @@
import dialogHelper from 'dialogHelper';
import layoutManager from 'layoutManager';
import globalize from 'globalize';
import dom from 'dom';
import 'emby-button';
import 'css!./actionSheet';
import 'material-icons';
import 'scrollStyles';
import 'listViewStyle';
function getOffsets(elems) {
let results = [];
if (!document) {
return results;
}
for (const elem of elems) {
let box = elem.getBoundingClientRect();
results.push({
top: box.top,
left: box.left,
width: box.width,
height: box.height
});
}
return results;
}
function getPosition(options, dlg) {
const windowSize = dom.getWindowSize();
const windowHeight = windowSize.innerHeight;
const windowWidth = windowSize.innerWidth;
let pos = getOffsets([options.positionTo])[0];
if (options.positionY !== 'top') {
pos.top += (pos.height || 0) / 2;
}
pos.left += (pos.width || 0) / 2;
const height = dlg.offsetHeight || 300;
const width = dlg.offsetWidth || 160;
// Account for popup size
pos.top -= height / 2;
pos.left -= width / 2;
// Avoid showing too close to the bottom
const overflowX = pos.left + width - windowWidth;
const overflowY = pos.top + height - windowHeight;
if (overflowX > 0) {
pos.left -= (overflowX + 20);
}
if (overflowY > 0) {
pos.top -= (overflowY + 20);
}
pos.top += (options.offsetTop || 0);
pos.left += (options.offsetLeft || 0);
// Do some boundary checking
pos.top = Math.max(pos.top, 10);
pos.left = Math.max(pos.left, 10);
return pos;
}
function centerFocus(elem, horiz, on) {
require(['scrollHelper'], function (scrollHelper) {
const fn = on ? 'on' : 'off';
scrollHelper.centerFocus[fn](elem, horiz);
});
}
export function show(options) {
// items
// positionTo
// showCancel
// title
let dialogOptions = {
removeOnClose: true,
enableHistory: options.enableHistory,
scrollY: false
};
let isFullscreen;
if (layoutManager.tv) {
dialogOptions.size = 'fullscreen';
isFullscreen = true;
dialogOptions.autoFocus = true;
} else {
dialogOptions.modal = false;
dialogOptions.entryAnimation = options.entryAnimation;
dialogOptions.exitAnimation = options.exitAnimation;
dialogOptions.entryAnimationDuration = options.entryAnimationDuration || 140;
dialogOptions.exitAnimationDuration = options.exitAnimationDuration || 100;
dialogOptions.autoFocus = false;
}
let dlg = dialogHelper.createDialog(dialogOptions);
if (isFullscreen) {
dlg.classList.add('actionsheet-fullscreen');
} else {
dlg.classList.add('actionsheet-not-fullscreen');
}
dlg.classList.add('actionSheet');
if (options.dialogClass) {
dlg.classList.add(options.dialogClass);
}
let html = '';
const scrollClassName = layoutManager.tv ? 'scrollY smoothScrollY hiddenScrollY' : 'scrollY';
let style = '';
// Admittedly a hack but right now the scrollbar is being factored into the width which is causing truncation
if (options.items.length > 20) {
const minWidth = dom.getWindowSize().innerWidth >= 300 ? 240 : 200;
style += 'min-width:' + minWidth + 'px;';
}
let renderIcon = false;
let icons = [];
let itemIcon;
for (const item of options.items) {
itemIcon = item.icon || (item.selected ? 'check' : null);
if (itemIcon) {
renderIcon = true;
}
icons.push(itemIcon || '');
}
if (layoutManager.tv) {
html += `<button is="paper-icon-button-light" class="btnCloseActionSheet hide-mouse-idle-tv" tabindex="-1">
<span class="material-icons arrow_back"></span>
</button>`;
}
// If any items have an icon, give them all an icon just to make sure they're all lined up evenly
const center = options.title && (!renderIcon /*|| itemsWithIcons.length != options.items.length*/);
if (center || layoutManager.tv) {
html += '<div class="actionSheetContent actionSheetContent-centered">';
} else {
html += '<div class="actionSheetContent">';
}
if (options.title) {
html += '<h1 class="actionSheetTitle">' + options.title + '</h1>';
}
if (options.text) {
html += '<p class="actionSheetText">' + options.text + '</p>';
}
let scrollerClassName = 'actionSheetScroller';
if (layoutManager.tv) {
scrollerClassName += ' actionSheetScroller-tv focuscontainer-x focuscontainer-y';
}
html += '<div class="' + scrollerClassName + ' ' + scrollClassName + '" style="' + style + '">';
let menuItemClass = 'listItem listItem-button actionSheetMenuItem';
if (options.border || options.shaded) {
menuItemClass += ' listItem-border';
}
if (options.menuItemClass) {
menuItemClass += ' ' + options.menuItemClass;
}
if (layoutManager.tv) {
menuItemClass += ' listItem-focusscale';
}
if (layoutManager.mobile) {
menuItemClass += ' actionsheet-xlargeFont';
}
// 'options.items' is HTMLOptionsCollection, so no fancy loops
for (let i = 0; i < options.items.length; i++) {
const item = options.items[i];
if (item.divider) {
html += '<div class="actionsheetDivider"></div>';
continue;
}
const autoFocus = item.selected && layoutManager.tv ? ' autoFocus' : '';
// Check for null in case int 0 was passed in
const optionId = item.id == null || item.id === '' ? item.value : item.id;
html += '<button' + autoFocus + ' is="emby-button" type="button" class="' + menuItemClass + '" data-id="' + optionId + '">';
itemIcon = icons[i];
if (itemIcon) {
html += `<span class="actionsheetMenuItemIcon listItemIcon listItemIcon-transparent material-icons ${itemIcon}"></span>`;
} else if (renderIcon && !center) {
html += '<span class="actionsheetMenuItemIcon listItemIcon listItemIcon-transparent material-icons check" style="visibility:hidden;"></span>';
}
html += '<div class="listItemBody actionsheetListItemBody">';
html += '<div class="listItemBodyText actionSheetItemText">';
html += (item.name || item.textContent || item.innerText);
html += '</div>';
if (item.secondaryText) {
html += `<div class="listItemBodyText secondary">${item.secondaryText}</div>`;
}
html += '</div>';
if (item.asideText) {
html += `<div class="listItemAside actionSheetItemAsideText">${item.asideText}</div>`;
}
html += '</button>';
}
if (options.showCancel) {
html += '<div class="buttons">';
html += `<button is="emby-button" type="button" class="btnCloseActionSheet">${globalize.translate('ButtonCancel')}</button>`;
html += '</div>';
}
html += '</div>';
dlg.innerHTML = html;
if (layoutManager.tv) {
centerFocus(dlg.querySelector('.actionSheetScroller'), false, true);
}
let btnCloseActionSheet = dlg.querySelector('.btnCloseActionSheet');
if (btnCloseActionSheet) {
btnCloseActionSheet.addEventListener('click', function () {
dialogHelper.close(dlg);
});
}
// Seeing an issue in some non-chrome browsers where this is requiring a double click
//var eventName = browser.firefox ? 'mousedown' : 'click';
let selectedId;
let timeout;
if (options.timeout) {
timeout = setTimeout(function () {
dialogHelper.close(dlg);
}, options.timeout);
}
return new Promise(function (resolve, reject) {
let isResolved;
dlg.addEventListener('click', function (e) {
const actionSheetMenuItem = dom.parentWithClass(e.target, 'actionSheetMenuItem');
if (actionSheetMenuItem) {
selectedId = actionSheetMenuItem.getAttribute('data-id');
if (options.resolveOnClick) {
if (options.resolveOnClick.indexOf) {
if (options.resolveOnClick.indexOf(selectedId) !== -1) {
resolve(selectedId);
isResolved = true;
}
} else {
resolve(selectedId);
isResolved = true;
}
}
dialogHelper.close(dlg);
}
});
dlg.addEventListener('close', function () {
if (layoutManager.tv) {
centerFocus(dlg.querySelector('.actionSheetScroller'), false, false);
}
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
if (!isResolved) {
if (selectedId != null) {
if (options.callback) {
options.callback(selectedId);
}
resolve(selectedId);
} else {
reject();
}
}
});
dialogHelper.open(dlg);
const pos = options.positionTo && dialogOptions.size !== 'fullscreen' ? getPosition(options, dlg) : null;
if (pos) {
dlg.style.position = 'fixed';
dlg.style.margin = 0;
dlg.style.left = pos.left + 'px';
dlg.style.top = pos.top + 'px';
}
});
}
export default {
show: show
};

View File

@@ -1,360 +0,0 @@
define(['dialogHelper', 'layoutManager', 'globalize', 'browser', 'dom', 'emby-button', 'css!./actionsheet', 'material-icons', 'scrollStyles', 'listViewStyle'], function (dialogHelper, layoutManager, globalize, browser, dom) {
'use strict';
function getOffsets(elems) {
var doc = document;
var results = [];
if (!doc) {
return results;
}
var box;
var elem;
for (var i = 0, length = elems.length; i < length; i++) {
elem = elems[i];
// Support: BlackBerry 5, iOS 3 (original iPhone)
// If we don't have gBCR, just use 0,0 rather than error
if (elem.getBoundingClientRect) {
box = elem.getBoundingClientRect();
} else {
box = { top: 0, left: 0 };
}
results[i] = {
top: box.top,
left: box.left,
width: box.width,
height: box.height
};
}
return results;
}
function getPosition(options, dlg) {
var windowSize = dom.getWindowSize();
var windowHeight = windowSize.innerHeight;
var windowWidth = windowSize.innerWidth;
var pos = getOffsets([options.positionTo])[0];
if (options.positionY !== 'top') {
pos.top += (pos.height || 0) / 2;
}
pos.left += (pos.width || 0) / 2;
var height = dlg.offsetHeight || 300;
var width = dlg.offsetWidth || 160;
// Account for popup size
pos.top -= height / 2;
pos.left -= width / 2;
// Avoid showing too close to the bottom
var overflowX = pos.left + width - windowWidth;
var overflowY = pos.top + height - windowHeight;
if (overflowX > 0) {
pos.left -= (overflowX + 20);
}
if (overflowY > 0) {
pos.top -= (overflowY + 20);
}
pos.top += (options.offsetTop || 0);
pos.left += (options.offsetLeft || 0);
// Do some boundary checking
pos.top = Math.max(pos.top, 10);
pos.left = Math.max(pos.left, 10);
return pos;
}
function centerFocus(elem, horiz, on) {
require(['scrollHelper'], function (scrollHelper) {
var fn = on ? 'on' : 'off';
scrollHelper.centerFocus[fn](elem, horiz);
});
}
function show(options) {
// items
// positionTo
// showCancel
// title
var dialogOptions = {
removeOnClose: true,
enableHistory: options.enableHistory,
scrollY: false
};
var backButton = false;
var isFullscreen;
if (layoutManager.tv) {
dialogOptions.size = 'fullscreen';
isFullscreen = true;
backButton = true;
dialogOptions.autoFocus = true;
} else {
dialogOptions.modal = false;
dialogOptions.entryAnimation = options.entryAnimation;
dialogOptions.exitAnimation = options.exitAnimation;
dialogOptions.entryAnimationDuration = options.entryAnimationDuration || 140;
dialogOptions.exitAnimationDuration = options.exitAnimationDuration || 100;
dialogOptions.autoFocus = false;
}
var dlg = dialogHelper.createDialog(dialogOptions);
if (isFullscreen) {
dlg.classList.add('actionsheet-fullscreen');
} else {
dlg.classList.add('actionsheet-not-fullscreen');
}
dlg.classList.add('actionSheet');
if (options.dialogClass) {
dlg.classList.add(options.dialogClass);
}
var html = '';
var scrollClassName = layoutManager.tv ? 'scrollY smoothScrollY hiddenScrollY' : 'scrollY';
var style = '';
// Admittedly a hack but right now the scrollbar is being factored into the width which is causing truncation
if (options.items.length > 20) {
var minWidth = dom.getWindowSize().innerWidth >= 300 ? 240 : 200;
style += "min-width:" + minWidth + "px;";
}
var i;
var length;
var option;
var renderIcon = false;
var icons = [];
var itemIcon;
for (i = 0, length = options.items.length; i < length; i++) {
option = options.items[i];
itemIcon = option.icon || (option.selected ? 'check' : null);
if (itemIcon) {
renderIcon = true;
}
icons.push(itemIcon || '');
}
if (layoutManager.tv) {
html += '<button is="paper-icon-button-light" class="btnCloseActionSheet hide-mouse-idle-tv" tabindex="-1"><i class="material-icons arrow_back"></i></button>';
}
// If any items have an icon, give them all an icon just to make sure they're all lined up evenly
var center = options.title && (!renderIcon /*|| itemsWithIcons.length != options.items.length*/);
if (center || layoutManager.tv) {
html += '<div class="actionSheetContent actionSheetContent-centered">';
} else {
html += '<div class="actionSheetContent">';
}
if (options.title) {
html += '<h1 class="actionSheetTitle">';
html += options.title;
html += '</h1>';
}
if (options.text) {
html += '<p class="actionSheetText">';
html += options.text;
html += '</p>';
}
var scrollerClassName = 'actionSheetScroller';
if (layoutManager.tv) {
scrollerClassName += ' actionSheetScroller-tv focuscontainer-x focuscontainer-y';
}
html += '<div class="' + scrollerClassName + ' ' + scrollClassName + '" style="' + style + '">';
var menuItemClass = 'listItem listItem-button actionSheetMenuItem';
if (options.border || options.shaded) {
menuItemClass += ' listItem-border';
}
if (options.menuItemClass) {
menuItemClass += ' ' + options.menuItemClass;
}
if (layoutManager.tv) {
menuItemClass += ' listItem-focusscale';
}
if (layoutManager.mobile) {
menuItemClass += ' actionsheet-xlargeFont';
}
for (i = 0, length = options.items.length; i < length; i++) {
option = options.items[i];
if (option.divider) {
html += '<div class="actionsheetDivider"></div>';
continue;
}
var autoFocus = option.selected && layoutManager.tv ? ' autoFocus' : '';
// Check for null in case int 0 was passed in
var optionId = option.id == null || option.id === '' ? option.value : option.id;
html += '<button' + autoFocus + ' is="emby-button" type="button" class="' + menuItemClass + '" data-id="' + optionId + '">';
itemIcon = icons[i];
if (itemIcon) {
html += '<i class="actionsheetMenuItemIcon listItemIcon listItemIcon-transparent material-icons">' + itemIcon + '</i>';
} else if (renderIcon && !center) {
html += '<i class="actionsheetMenuItemIcon listItemIcon listItemIcon-transparent material-icons" style="visibility:hidden;">check</i>';
}
html += '<div class="listItemBody actionsheetListItemBody">';
html += '<div class="listItemBodyText actionSheetItemText">';
html += (option.name || option.textContent || option.innerText);
html += '</div>';
if (option.secondaryText) {
html += '<div class="listItemBodyText secondary">';
html += option.secondaryText;
html += '</div>';
}
html += '</div>';
if (option.asideText) {
html += '<div class="listItemAside actionSheetItemAsideText">';
html += option.asideText;
html += '</div>';
}
html += '</button>';
}
if (options.showCancel) {
html += '<div class="buttons">';
html += '<button is="emby-button" type="button" class="btnCloseActionSheet">' + globalize.translate('ButtonCancel') + '</button>';
html += '</div>';
}
html += '</div>';
dlg.innerHTML = html;
if (layoutManager.tv) {
centerFocus(dlg.querySelector('.actionSheetScroller'), false, true);
}
var btnCloseActionSheet = dlg.querySelector('.btnCloseActionSheet');
if (btnCloseActionSheet) {
dlg.querySelector('.btnCloseActionSheet').addEventListener('click', function () {
dialogHelper.close(dlg);
});
}
// Seeing an issue in some non-chrome browsers where this is requiring a double click
//var eventName = browser.firefox ? 'mousedown' : 'click';
var selectedId;
var timeout;
if (options.timeout) {
timeout = setTimeout(function () {
dialogHelper.close(dlg);
}, options.timeout);
}
return new Promise(function (resolve, reject) {
var isResolved;
dlg.addEventListener('click', function (e) {
var actionSheetMenuItem = dom.parentWithClass(e.target, 'actionSheetMenuItem');
if (actionSheetMenuItem) {
selectedId = actionSheetMenuItem.getAttribute('data-id');
if (options.resolveOnClick) {
if (options.resolveOnClick.indexOf) {
if (options.resolveOnClick.indexOf(selectedId) !== -1) {
resolve(selectedId);
isResolved = true;
}
} else {
resolve(selectedId);
isResolved = true;
}
}
dialogHelper.close(dlg);
}
});
dlg.addEventListener('close', function () {
if (layoutManager.tv) {
centerFocus(dlg.querySelector('.actionSheetScroller'), false, false);
}
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
if (!isResolved) {
if (selectedId != null) {
if (options.callback) {
options.callback(selectedId);
}
resolve(selectedId);
} else {
reject();
}
}
});
dialogHelper.open(dlg);
var pos = options.positionTo && dialogOptions.size !== 'fullscreen' ? getPosition(options, dlg) : null;
if (pos) {
dlg.style.position = 'fixed';
dlg.style.margin = 0;
dlg.style.left = pos.left + 'px';
dlg.style.top = pos.top + 'px';
}
});
}
return {
show: show
};
});

View File

@@ -1,60 +1,63 @@
define(["events", "globalize", "dom", "datetime", "userSettings", "serverNotifications", "connectionManager", "emby-button", "listViewStyle"], function (events, globalize, dom, datetime, userSettings, serverNotifications, connectionManager) {
"use strict";
define(['events', 'globalize', 'dom', 'date-fns', 'dfnshelper', 'userSettings', 'serverNotifications', 'connectionManager', 'emby-button', 'listViewStyle'], function (events, globalize, dom, datefns, dfnshelper, userSettings, serverNotifications, connectionManager) {
'use strict';
function getEntryHtml(entry, apiClient) {
var html = "";
var html = '';
html += '<div class="listItem listItem-border">';
var color = "#00a4dc";
var icon = "notifications";
var color = '#00a4dc';
var icon = 'notifications';
if ("Error" == entry.Severity || "Fatal" == entry.Severity || "Warn" == entry.Severity) {
color = "#cc0000";
icon = "notification_important";
if ('Error' == entry.Severity || 'Fatal' == entry.Severity || 'Warn' == entry.Severity) {
color = '#cc0000';
icon = 'notification_important';
}
if (entry.UserId && entry.UserPrimaryImageTag) {
html += '<i class="listItemIcon material-icons" style="width:2em!important;height:2em!important;padding:0;color:transparent;background-color:' + color + ";background-image:url('" + apiClient.getUserImageUrl(entry.UserId, {
type: "Primary",
html += '<span class="listItemIcon material-icons dvr" style="width:2em!important;height:2em!important;padding:0;color:transparent;background-color:' + color + ";background-image:url('" + apiClient.getUserImageUrl(entry.UserId, {
type: 'Primary',
tag: entry.UserPrimaryImageTag
}) + "');background-repeat:no-repeat;background-position:center center;background-size: cover;\">dvr</i>"
}) + "');background-repeat:no-repeat;background-position:center center;background-size: cover;\"></span>";
} else {
html += '<i class="listItemIcon material-icons" style="background-color:' + color + '">' + icon + '</i>';
html += '<span class="listItemIcon material-icons ' + icon + '" style="background-color:' + color + '"></span>';
}
html += '<div class="listItemBody three-line">';
html += '<div class="listItemBodyText">';
html += entry.Name;
html += "</div>";
html += '</div>';
html += '<div class="listItemBodyText secondary">';
var date = datetime.parseISO8601Date(entry.Date, true);
html += datetime.toLocaleString(date).toLowerCase();
html += "</div>";
html += datefns.formatRelative(Date.parse(entry.Date), Date.parse(new Date()), { locale: dfnshelper.getLocale() });
html += '</div>';
html += '<div class="listItemBodyText secondary listItemBodyText-nowrap">';
html += entry.ShortOverview || "";
html += "</div>";
html += "</div>";
html += entry.ShortOverview || '';
html += '</div>';
html += '</div>';
if (entry.Overview) {
html += '<button type="button" is="paper-icon-button-light" class="btnEntryInfo" data-id="' + entry.Id + '" title="' + globalize.translate("Info") + '"><i class="material-icons">info</i></button>';
html += `<button type="button" is="paper-icon-button-light" class="btnEntryInfo" data-id="${entry.Id}" title="${globalize.translate('Info')}">
<span class="material-icons info"></span>
</button>`;
}
return html += "</div>";
html += '</div>';
return html;
}
function renderList(elem, apiClient, result, startIndex, limit) {
elem.innerHTML = result.Items.map(function (i) {
return getEntryHtml(i, apiClient);
}).join("");
}).join('');
}
function reloadData(instance, elem, apiClient, startIndex, limit) {
if (null == startIndex) {
startIndex = parseInt(elem.getAttribute("data-activitystartindex") || "0");
startIndex = parseInt(elem.getAttribute('data-activitystartindex') || '0');
}
limit = limit || parseInt(elem.getAttribute("data-activitylimit") || "7");
limit = limit || parseInt(elem.getAttribute('data-activitylimit') || '7');
var minDate = new Date();
var hasUserId = "false" !== elem.getAttribute("data-useractivity");
var hasUserId = 'false' !== elem.getAttribute('data-useractivity');
if (hasUserId) {
minDate.setTime(minDate.getTime() - 24 * 60 * 60 * 1000); // one day back
@@ -62,22 +65,22 @@ define(["events", "globalize", "dom", "datetime", "userSettings", "serverNotific
minDate.setTime(minDate.getTime() - 7 * 24 * 60 * 60 * 1000); // one week back
}
ApiClient.getJSON(ApiClient.getUrl("System/ActivityLog/Entries", {
ApiClient.getJSON(ApiClient.getUrl('System/ActivityLog/Entries', {
startIndex: startIndex,
limit: limit,
minDate: minDate.toISOString(),
hasUserId: hasUserId
})).then(function (result) {
elem.setAttribute("data-activitystartindex", startIndex);
elem.setAttribute("data-activitylimit", limit);
elem.setAttribute('data-activitystartindex', startIndex);
elem.setAttribute('data-activitylimit', limit);
if (!startIndex) {
var activityContainer = dom.parentWithClass(elem, "activityContainer");
var activityContainer = dom.parentWithClass(elem, 'activityContainer');
if (activityContainer) {
if (result.Items.length) {
activityContainer.classList.remove("hide");
activityContainer.classList.remove('hide');
} else {
activityContainer.classList.add("hide");
activityContainer.classList.add('hide');
}
}
}
@@ -96,10 +99,10 @@ define(["events", "globalize", "dom", "datetime", "userSettings", "serverNotific
}
function onListClick(e) {
var btnEntryInfo = dom.parentWithClass(e.target, "btnEntryInfo");
var btnEntryInfo = dom.parentWithClass(e.target, 'btnEntryInfo');
if (btnEntryInfo) {
var id = btnEntryInfo.getAttribute("data-id");
var id = btnEntryInfo.getAttribute('data-id');
var items = this.items;
if (items) {
@@ -115,7 +118,7 @@ define(["events", "globalize", "dom", "datetime", "userSettings", "serverNotific
}
function showItemOverview(item) {
require(["alert"], function (alert) {
require(['alert'], function (alert) {
alert({
text: item.Overview
});
@@ -125,28 +128,28 @@ define(["events", "globalize", "dom", "datetime", "userSettings", "serverNotific
function ActivityLog(options) {
this.options = options;
var element = options.element;
element.classList.add("activityLogListWidget");
element.addEventListener("click", onListClick.bind(this));
element.classList.add('activityLogListWidget');
element.addEventListener('click', onListClick.bind(this));
var apiClient = connectionManager.getApiClient(options.serverId);
reloadData(this, element, apiClient);
var onUpdate = onActivityLogUpdate.bind(this);
this.updateFn = onUpdate;
events.on(serverNotifications, "ActivityLogEntry", onUpdate);
apiClient.sendMessage("ActivityLogEntryStart", "0,1500");
events.on(serverNotifications, 'ActivityLogEntry', onUpdate);
apiClient.sendMessage('ActivityLogEntryStart', '0,1500');
}
ActivityLog.prototype.destroy = function () {
var options = this.options;
if (options) {
options.element.classList.remove("activityLogListWidget");
connectionManager.getApiClient(options.serverId).sendMessage("ActivityLogEntryStop", "0,1500");
options.element.classList.remove('activityLogListWidget');
connectionManager.getApiClient(options.serverId).sendMessage('ActivityLogEntryStop', '0,1500');
}
var onUpdate = this.updateFn;
if (onUpdate) {
events.off(serverNotifications, "ActivityLogEntry", onUpdate);
events.off(serverNotifications, 'ActivityLogEntry', onUpdate);
}
this.items = null;

View File

@@ -67,7 +67,7 @@ define(['focusManager', 'layoutManager', 'dom', 'css!./style.css', 'paper-icon-b
html += '<div class="' + rowClassName + '">';
if (options.mode === 'keyboard') {
html += '<button data-value=" " is="paper-icon-button-light" class="' + alphaPickerButtonClassName + '"><i class="material-icons alphaPickerButtonIcon space_bar"></i></button>';
html += '<button data-value=" " is="paper-icon-button-light" class="' + alphaPickerButtonClassName + '"><span class="material-icons alphaPickerButtonIcon space_bar"></span></button>';
} else {
letters = ['#'];
html += mapLetters(letters, vertical).join('');
@@ -77,7 +77,7 @@ define(['focusManager', 'layoutManager', 'dom', 'css!./style.css', 'paper-icon-b
html += mapLetters(letters, vertical).join('');
if (options.mode === 'keyboard') {
html += '<button data-value="backspace" is="paper-icon-button-light" class="' + alphaPickerButtonClassName + '"><i class="material-icons alphaPickerButtonIcon">backspace</i></button>';
html += '<button data-value="backspace" is="paper-icon-button-light" class="' + alphaPickerButtonClassName + '"><span class="material-icons alphaPickerButtonIcon backspace"></span></button>';
html += '</div>';
letters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
@@ -132,7 +132,7 @@ define(['focusManager', 'layoutManager', 'dom', 'css!./style.css', 'paper-icon-b
if (alphaPickerButton) {
var value = alphaPickerButton.getAttribute('data-value');
element.dispatchEvent(new CustomEvent("alphavalueclicked", {
element.dispatchEvent(new CustomEvent('alphavalueclicked', {
cancelable: false,
detail: {
value: value
@@ -262,7 +262,7 @@ define(['focusManager', 'layoutManager', 'dom', 'css!./style.css', 'paper-icon-b
}
if (applyValue) {
element.dispatchEvent(new CustomEvent("alphavaluechanged", {
element.dispatchEvent(new CustomEvent('alphavaluechanged', {
cancelable: false,
detail: {
value: value

View File

@@ -1,4 +1,4 @@
define(['browser', 'css!./appfooter'], function (browser) {
define(['browser', 'css!./appFooter'], function (browser) {
'use strict';
function render(options) {

View File

@@ -1,4 +1,4 @@
define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinManager', 'pluginManager', 'backdrop', 'browser', 'page', 'appSettings', 'apphost', 'connectionManager'], function (loading, globalize, events, viewManager, layoutManager, skinManager, pluginManager, backdrop, browser, page, appSettings, appHost, connectionManager) {
define(['loading', 'globalize', 'events', 'viewManager', 'skinManager', 'backdrop', 'browser', 'page', 'appSettings', 'apphost', 'connectionManager'], function (loading, globalize, events, viewManager, skinManager, backdrop, browser, page, appSettings, appHost, connectionManager) {
'use strict';
var appRouter = {
@@ -16,7 +16,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
show('/settings/settings.html');
},
showNowPlaying: function () {
show("/nowplaying.html");
show('/nowplaying.html');
}
};
@@ -26,11 +26,11 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
connectionManager.connect({
enableAutoLogin: appSettings.enableAutoLogin()
}).then(function (result) {
handleConnectionResult(result, loading);
handleConnectionResult(result);
});
}
function handleConnectionResult(result, loading) {
function handleConnectionResult(result) {
switch (result.State) {
case 'SignedIn':
loading.hide();
@@ -200,8 +200,8 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
var apiClient = this;
if (data.status === 401) {
if (data.errorCode === "ParentalControl") {
if (data.status === 403) {
if (data.errorCode === 'ParentalControl') {
var isCurrentAllowed = currentRouteInfo ? (currentRouteInfo.route.anonymous || currentRouteInfo.route.startup) : true;
@@ -222,52 +222,18 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
}
function normalizeImageOptions(options) {
var scaleFactor = browser.tv ? 0.8 : 1;
var setQuality;
if (options.maxWidth) {
options.maxWidth = Math.round(options.maxWidth * scaleFactor);
if (options.maxWidth || options.width || options.maxHeight || options.height) {
setQuality = true;
}
if (options.width) {
options.width = Math.round(options.width * scaleFactor);
setQuality = true;
}
if (options.maxHeight) {
options.maxHeight = Math.round(options.maxHeight * scaleFactor);
setQuality = true;
}
if (options.height) {
options.height = Math.round(options.height * scaleFactor);
setQuality = true;
}
if (setQuality) {
var quality = 100;
var type = options.type || 'Primary';
if (browser.tv || browser.slow) {
if (browser.chrome) {
// webp support
quality = type === 'Primary' ? 40 : 50;
} else {
quality = type === 'Backdrop' ? 60 : 50;
}
} else {
quality = type === 'Backdrop' ? 70 : 90;
}
options.quality = quality;
if (setQuality && !options.quality) {
options.quality = 90;
}
}
function getMaxBandwidth() {
/* eslint-disable compat/compat */
if (navigator.connection) {
var max = navigator.connection.downlinkMax;
if (max && max > 0 && max < Number.POSITIVE_INFINITY) {
@@ -279,6 +245,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
return max;
}
}
/* eslint-enable compat/compat */
return null;
}
@@ -370,7 +337,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
}
function enableNativeHistory() {
return page.enableNativeHistory();
return false;
}
function authenticate(ctx, route, callback) {
@@ -382,7 +349,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
if (firstResult.State !== 'SignedIn' && !route.anonymous) {
handleConnectionResult(firstResult, loading);
handleConnectionResult(firstResult);
return;
}
}
@@ -461,7 +428,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
return Promise.resolve();
}
var isHandlingBackToDefault;
var isDummyBackToHome;
function loadContent(ctx, route, html, request) {
@@ -511,9 +477,16 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
return baseRoute;
}
var popstateOccurred = false;
window.addEventListener('popstate', function () {
popstateOccurred = true;
});
function getHandler(route) {
return function (ctx, next) {
ctx.isBack = popstateOccurred;
handleRoute(ctx, next, route);
popstateOccurred = false;
};
}
@@ -532,15 +505,15 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
}
function param(name, url) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS, "i");
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS, 'i');
var results = regex.exec(url || getWindowLocationSearch());
if (results == null) {
return "";
return '';
} else {
return decodeURIComponent(results[1].replace(/\+/g, " "));
return decodeURIComponent(results[1].replace(/\+/g, ' '));
}
}
@@ -562,13 +535,17 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
if (!document.querySelector('.dialogContainer') && startPages.indexOf(curr.type) !== -1) {
return false;
}
return page.canGoBack();
if (enableHistory()) {
return history.length > 1;
}
return (page.len || 0) > 0;
}
function showDirect(path) {
return new Promise(function(resolve, reject) {
resolveOnNextShow = resolve, page.show(baseUrl()+path)
})
resolveOnNextShow = resolve;
page.show(baseUrl() + path);
});
}
function show(path, options) {
@@ -576,8 +553,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
path = '/' + path;
}
var baseRoute = baseUrl();
path = path.replace(baseRoute, '');
path = path.replace(baseUrl(), '');
if (currentRouteInfo && currentRouteInfo.path === path) {
// can't use this with home right now due to the back menu
@@ -608,10 +584,11 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
}
function showItem(item, serverId, options) {
// TODO: Refactor this so it only gets items, not strings.
if (typeof (item) === 'string') {
var apiClient = serverId ? connectionManager.getApiClient(serverId) : connectionManager.currentApiClient();
apiClient.getItem(apiClient.getCurrentUserId(), item).then(function (item) {
appRouter.showItem(item, options);
apiClient.getItem(apiClient.getCurrentUserId(), item).then(function (itemObject) {
appRouter.showItem(itemObject, options);
});
} else {
if (arguments.length === 2) {
@@ -666,7 +643,8 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
function pushState(state, title, url) {
state.navigate = false;
page.pushState(state, title, url);
history.pushState(state, title, url);
}
function setBaseRoute() {
@@ -716,7 +694,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
appRouter.getRoutes = getRoutes;
appRouter.pushState = pushState;
appRouter.enableNativeHistory = enableNativeHistory;
appRouter.handleAnchorClick = page.handleAnchorClick;
appRouter.handleAnchorClick = page.clickHandler;
appRouter.TransparencyLevel = {
None: 0,
Backdrop: 1,

View File

@@ -1,17 +1,17 @@
define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSettings, browser, events, htmlMediaHelper) {
"use strict";
define(['appSettings', 'browser', 'events', 'htmlMediaHelper', 'webSettings', 'globalize'], function (appSettings, browser, events, htmlMediaHelper, webSettings, globalize) {
'use strict';
function getBaseProfileOptions(item) {
var disableHlsVideoAudioCodecs = [];
if (item && htmlMediaHelper.enableHlsJsPlayer(item.RunTimeTicks, item.MediaType)) {
if (browser.edge || browser.msie) {
disableHlsVideoAudioCodecs.push("mp3");
if (browser.edge) {
disableHlsVideoAudioCodecs.push('mp3');
}
disableHlsVideoAudioCodecs.push("ac3");
disableHlsVideoAudioCodecs.push("eac3");
disableHlsVideoAudioCodecs.push("opus");
disableHlsVideoAudioCodecs.push('ac3');
disableHlsVideoAudioCodecs.push('eac3');
disableHlsVideoAudioCodecs.push('opus');
}
return {
@@ -22,7 +22,7 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
function getDeviceProfileForWindowsUwp(item) {
return new Promise(function (resolve, reject) {
require(["browserdeviceprofile", "environments/windows-uwp/mediacaps"], function (profileBuilder, uwpMediaCaps) {
require(['browserdeviceprofile', 'environments/windows-uwp/mediacaps'], function (profileBuilder, uwpMediaCaps) {
var profileOptions = getBaseProfileOptions(item);
profileOptions.supportsDts = uwpMediaCaps.supportsDTS();
profileOptions.supportsTrueHd = uwpMediaCaps.supportsDolby();
@@ -40,26 +40,15 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
}
return new Promise(function (resolve) {
require(["browserdeviceprofile"], function (profileBuilder) {
require(['browserdeviceprofile'], function (profileBuilder) {
var profile;
if (window.NativeShell) {
profile = window.NativeShell.AppHost.getDeviceProfile(profileBuilder);
} else {
profile = profileBuilder(getBaseProfileOptions(item));
if (item && !options.isRetry && "allcomplexformats" !== appSettings.get("subtitleburnin")) {
if (!browser.orsay && !browser.tizen) {
profile.SubtitleProfiles.push({
Format: "ass",
Method: "External"
});
profile.SubtitleProfiles.push({
Format: "ssa",
Method: "External"
});
}
}
var builderOpts = getBaseProfileOptions(item);
builderOpts.enableSsaRender = (item && !options.isRetry && 'allcomplexformats' !== appSettings.get('subtitleburnin'));
profile = profileBuilder(builderOpts);
}
resolve(profile);
@@ -68,12 +57,12 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
}
function escapeRegExp(str) {
return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1');
}
function replaceAll(originalString, strReplace, strWith) {
var strReplace2 = escapeRegExp(strReplace);
var reg = new RegExp(strReplace2, "ig");
var reg = new RegExp(strReplace2, 'ig');
return originalString.replace(reg, strWith);
}
@@ -81,7 +70,7 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
var keys = [];
if (keys.push(navigator.userAgent), keys.push(new Date().getTime()), self.btoa) {
var result = replaceAll(btoa(keys.join("|")), "=", "1");
var result = replaceAll(btoa(keys.join('|')), '=', '1');
return Promise.resolve(result);
}
@@ -89,7 +78,7 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
}
function getDeviceId() {
var key = "_deviceId2";
var key = '_deviceId2';
var deviceId = appSettings.get(key);
if (deviceId) {
@@ -104,18 +93,38 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
function getDeviceName() {
var deviceName;
deviceName = browser.tizen ? "Samsung Smart TV" : browser.web0s ? "LG Smart TV" : browser.operaTv ? "Opera TV" : browser.xboxOne ? "Xbox One" : browser.ps4 ? "Sony PS4" : browser.chrome ? "Chrome" : browser.edge ? "Edge" : browser.firefox ? "Firefox" : browser.msie ? "Internet Explorer" : browser.opera ? "Opera" : browser.safari ? "Safari" : "Web Browser";
if (browser.tizen) {
deviceName = 'Samsung Smart TV';
} else if (browser.web0s) {
deviceName = 'LG Smart TV';
} else if (browser.operaTv) {
deviceName = 'Opera TV';
} else if (browser.xboxOne) {
deviceName = 'Xbox One';
} else if (browser.ps4) {
deviceName = 'Sony PS4';
} else if (browser.chrome) {
deviceName = 'Chrome';
} else if (browser.edgeChromium) {
deviceName = 'Edge Chromium';
} else if (browser.edge) {
deviceName = 'Edge';
} else if (browser.firefox) {
deviceName = 'Firefox';
} else if (browser.opera) {
deviceName = 'Opera';
} else if (browser.safari) {
deviceName = 'Safari';
} else {
deviceName = 'Web Browser';
}
if (browser.ipad) {
deviceName += " iPad";
} else {
if (browser.iphone) {
deviceName += " iPhone";
} else {
if (browser.android) {
deviceName += " Android";
}
}
deviceName += ' iPad';
} else if (browser.iphone) {
deviceName += ' iPhone';
} else if (browser.android) {
deviceName += ' Android';
}
return deviceName;
@@ -135,12 +144,12 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
}
var element = document.documentElement;
return (element.requestFullscreen || element.mozRequestFullScreen || element.webkitRequestFullscreen || element.msRequestFullscreen) || document.createElement("video").webkitEnterFullscreen;
return (element.requestFullscreen || element.mozRequestFullScreen || element.webkitRequestFullscreen || element.msRequestFullscreen) || document.createElement('video').webkitEnterFullscreen;
}
function getSyncProfile() {
return new Promise(function (resolve) {
require(["browserdeviceprofile", "appSettings"], function (profileBuilder, appSettings) {
require(['browserdeviceprofile', 'appSettings'], function (profileBuilder, appSettings) {
var profile;
if (window.NativeShell) {
@@ -156,7 +165,7 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
}
function getDefaultLayout() {
return "desktop";
return 'desktop';
}
function supportsHtmlMediaAutoplay() {
@@ -173,20 +182,20 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
function supportsCue() {
try {
var video = document.createElement("video");
var style = document.createElement("style");
var video = document.createElement('video');
var style = document.createElement('style');
style.textContent = "video::cue {background: inherit}";
style.textContent = 'video::cue {background: inherit}';
document.body.appendChild(style);
document.body.appendChild(video);
var cue = window.getComputedStyle(video, "::cue").background;
var cue = window.getComputedStyle(video, '::cue').background;
document.body.removeChild(style);
document.body.removeChild(video);
return !!cue.length;
} catch (err) {
console.error("error detecting cue support: " + err);
console.error('error detecting cue support: ' + err);
return false;
}
}
@@ -194,15 +203,15 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
function onAppVisible() {
if (isHidden) {
isHidden = false;
console.debug("triggering app resume event");
events.trigger(appHost, "resume");
console.debug('triggering app resume event');
events.trigger(appHost, 'resume');
}
}
function onAppHidden() {
if (!isHidden) {
isHidden = true;
console.debug("app is hidden");
console.debug('app is hidden');
}
}
@@ -210,90 +219,88 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
var features = [];
if (navigator.share) {
features.push("sharing");
features.push('sharing');
}
if (!browser.edgeUwp && !browser.tv && !browser.xboxOne && !browser.ps4) {
features.push("filedownload");
features.push('filedownload');
}
if (browser.operaTv || browser.tizen || browser.orsay || browser.web0s) {
features.push("exit");
features.push('exit');
} else {
features.push("exitmenu");
features.push("plugins");
features.push('exitmenu');
features.push('plugins');
}
if (!browser.operaTv && !browser.tizen && !browser.orsay && !browser.web0s && !browser.ps4) {
features.push("externallinks");
features.push("externalpremium");
features.push('externallinks');
features.push('externalpremium');
}
if (!browser.operaTv) {
features.push("externallinkdisplay");
features.push('externallinkdisplay');
}
if (supportsVoiceInput()) {
features.push("voiceinput");
}
if (!browser.tv && !browser.xboxOne) {
browser.ps4;
features.push('voiceinput');
}
if (supportsHtmlMediaAutoplay()) {
features.push("htmlaudioautoplay");
features.push("htmlvideoautoplay");
features.push('htmlaudioautoplay');
features.push('htmlvideoautoplay');
}
if (browser.edgeUwp) {
features.push("sync");
features.push('sync');
}
if (supportsFullscreen()) {
features.push("fullscreenchange");
features.push('fullscreenchange');
}
if (browser.chrome || browser.edge && !browser.slow) {
if (!browser.noAnimation && !browser.edgeUwp && !browser.xboxOne) {
features.push("imageanalysis");
features.push('imageanalysis');
}
}
if (browser.tv || browser.xboxOne || browser.ps4 || browser.mobile) {
features.push("physicalvolumecontrol");
features.push('physicalvolumecontrol');
}
if (!browser.tv && !browser.xboxOne && !browser.ps4) {
features.push("remotecontrol");
features.push('remotecontrol');
}
if (!browser.operaTv && !browser.tizen && !browser.orsay && !browser.web0s && !browser.edgeUwp) {
features.push("remotevideo");
features.push('remotevideo');
}
features.push("displaylanguage");
features.push("otherapppromotions");
features.push("displaymode");
features.push("targetblank");
// allows users to connect to more than one server
//features.push("multiserver");
features.push("screensaver");
features.push('displaylanguage');
features.push('otherapppromotions');
features.push('displaymode');
features.push('targetblank');
features.push('screensaver');
if (!browser.orsay && !browser.tizen && !browser.msie && (browser.firefox || browser.ps4 || browser.edge || supportsCue())) {
features.push("subtitleappearancesettings");
webSettings.enableMultiServer().then(enabled => {
if (enabled) features.push('multiserver');
});
if (!browser.orsay && (browser.firefox || browser.ps4 || browser.edge || supportsCue())) {
features.push('subtitleappearancesettings');
}
if (!browser.orsay && !browser.tizen) {
features.push("subtitleburnsettings");
if (!browser.orsay) {
features.push('subtitleburnsettings');
}
if (!browser.tv && !browser.ps4 && !browser.xboxOne) {
features.push("fileinput");
features.push('fileinput');
}
if (browser.chrome) {
features.push("chromecast");
if (browser.chrome || browser.edgeChromium) {
features.push('chromecast');
}
return features;
@@ -314,7 +321,7 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
window.close();
}
} catch (err) {
console.error("error closing application: " + err);
console.error('error closing application: ' + err);
}
}
@@ -328,15 +335,15 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
return;
}
require(["actionsheet"], function (actionsheet) {
require(['actionsheet'], function (actionsheet) {
exitPromise = actionsheet.show({
title: Globalize.translate("MessageConfirmAppExit"),
title: globalize.translate('MessageConfirmAppExit'),
items: [
{id: "yes", name: Globalize.translate("Yes")},
{id: "no", name: Globalize.translate("No")}
{id: 'yes', name: globalize.translate('Yes')},
{id: 'no', name: globalize.translate('No')}
]
}).then(function (value) {
if (value === "yes") {
if (value === 'yes') {
doExit();
}
}).finally(function () {
@@ -347,17 +354,15 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
var deviceId;
var deviceName;
var appName = "Jellyfin Web";
var appVersion = "10.5.5";
var visibilityChange;
var visibilityState;
var appName = 'Jellyfin Web';
var appVersion = '10.6.4';
var appHost = {
getWindowState: function () {
return document.windowState || "Normal";
return document.windowState || 'Normal';
},
setWindowState: function (state) {
alert("setWindowState is not supported and should not be called");
alert('setWindowState is not supported and should not be called');
},
exit: function () {
if (!!window.appMode && browser.tizen) {
@@ -374,14 +379,13 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
return -1 !== supportedFeatures.indexOf(command.toLowerCase());
},
preferVisualCards: browser.android || browser.chrome,
moreIcon: browser.android ? "more_vert" : "more_horiz",
getSyncProfile: getSyncProfile,
getDefaultLayout: function () {
if (window.NativeShell) {
return window.NativeShell.AppHost.getDefaultLayout();
}
return getDefaultLayout()
return getDefaultLayout();
},
getDeviceProfile: getDeviceProfile,
init: function () {
@@ -410,58 +414,44 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet
return {};
},
setThemeColor: function (color) {
var metaThemeColor = document.querySelector("meta[name=theme-color]");
var metaThemeColor = document.querySelector('meta[name=theme-color]');
if (metaThemeColor) {
metaThemeColor.setAttribute("content", color);
metaThemeColor.setAttribute('content', color);
}
},
setUserScalable: function (scalable) {
if (!browser.tv) {
var att = scalable ? "width=device-width, initial-scale=1, minimum-scale=1, user-scalable=yes" : "width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no";
document.querySelector("meta[name=viewport]").setAttribute("content", att);
var att = scalable ? 'width=device-width, initial-scale=1, minimum-scale=1, user-scalable=yes' : 'width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no';
document.querySelector('meta[name=viewport]').setAttribute('content', att);
}
}
};
var doc = self.document;
var isHidden = false;
var hidden;
var visibilityChange;
if (doc) {
if (void 0 !== doc.visibilityState) {
visibilityChange = "visibilitychange";
visibilityState = "hidden";
if (typeof document.hidden !== 'undefined') { /* eslint-disable-line compat/compat */
hidden = 'hidden';
visibilityChange = 'visibilitychange';
} else if (typeof document.webkitHidden !== 'undefined') {
hidden = 'webkitHidden';
visibilityChange = 'webkitvisibilitychange';
}
document.addEventListener(visibilityChange, function () {
/* eslint-disable-next-line compat/compat */
if (document[hidden]) {
onAppHidden();
} else {
if (void 0 !== doc.mozHidden) {
visibilityChange = "mozvisibilitychange";
visibilityState = "mozVisibilityState";
} else {
if (void 0 !== doc.msHidden) {
visibilityChange = "msvisibilitychange";
visibilityState = "msVisibilityState";
} else {
if (void 0 !== doc.webkitHidden) {
visibilityChange = "webkitvisibilitychange";
visibilityState = "webkitVisibilityState";
}
}
}
onAppVisible();
}
}
if (doc) {
doc.addEventListener(visibilityChange, function () {
if (document[visibilityState]) {
onAppHidden();
} else {
onAppVisible();
}
});
}
}, false);
if (self.addEventListener) {
self.addEventListener("focus", onAppVisible);
self.addEventListener("blur", onAppHidden);
self.addEventListener('focus', onAppVisible);
self.addEventListener('blur', onAppHidden);
}
return appHost;

View File

@@ -1,71 +1,73 @@
define(["focusManager", "layoutManager"], function (focusManager, layoutManager) {
"use strict";
/* eslint-disable indent */
/**
* Module for performing auto-focus.
* @module components/autoFocuser
*/
import focusManager from 'focusManager';
import layoutManager from 'layoutManager';
/**
* Previously selected element.
*/
var activeElement;
let activeElement;
/**
* Returns true if AutoFocuser is enabled.
* Returns _true_ if AutoFocuser is enabled.
*/
function isEnabled() {
export function isEnabled() {
return layoutManager.tv;
}
/**
* Start AutoFocuser
* Start AutoFocuser.
*/
function enable() {
export function enable() {
if (!isEnabled()) {
return;
}
window.addEventListener("focusin", function (e) {
window.addEventListener('focusin', function (e) {
activeElement = e.target;
});
console.debug("AutoFocuser enabled");
}
/**
* Create an array from some source.
*/
var arrayFrom = Array.prototype.from || function (src) {
return Array.prototype.slice.call(src);
console.debug('AutoFocuser enabled');
}
/**
* Set focus on a suitable element, taking into account the previously selected.
* @param {HTMLElement} [container] - Element to limit scope.
* @returns {HTMLElement} Focused element.
*/
function autoFocus(container) {
export function autoFocus(container) {
if (!isEnabled()) {
return;
return null;
}
container = container || document.body;
var candidates = [];
let candidates = [];
if (activeElement) {
// These elements are recreated
if (activeElement.classList.contains("btnPreviousPage")) {
candidates.push(container.querySelector(".btnPreviousPage"));
candidates.push(container.querySelector(".btnNextPage"));
} else if (activeElement.classList.contains("btnNextPage")) {
candidates.push(container.querySelector(".btnNextPage"));
candidates.push(container.querySelector(".btnPreviousPage"));
} else if (activeElement.classList.contains("btnSelectView")) {
candidates.push(container.querySelector(".btnSelectView"));
if (activeElement.classList.contains('btnPreviousPage')) {
candidates.push(container.querySelector('.btnPreviousPage'));
candidates.push(container.querySelector('.btnNextPage'));
} else if (activeElement.classList.contains('btnNextPage')) {
candidates.push(container.querySelector('.btnNextPage'));
candidates.push(container.querySelector('.btnPreviousPage'));
} else if (activeElement.classList.contains('btnSelectView')) {
candidates.push(container.querySelector('.btnSelectView'));
}
candidates.push(activeElement);
}
candidates = candidates.concat(arrayFrom(container.querySelectorAll(".btnResume")));
candidates = candidates.concat(arrayFrom(container.querySelectorAll(".btnPlay")));
candidates = candidates.concat(Array.from(container.querySelectorAll('.btnResume')));
candidates = candidates.concat(Array.from(container.querySelectorAll('.btnPlay')));
var focusedElement;
let focusedElement;
candidates.every(function (element) {
if (focusManager.isCurrentlyFocusable(element)) {
@@ -79,7 +81,7 @@ define(["focusManager", "layoutManager"], function (focusManager, layoutManager)
if (!focusedElement) {
// FIXME: Multiple itemsContainers
var itemsContainer = container.querySelector(".itemsContainer");
const itemsContainer = container.querySelector('.itemsContainer');
if (itemsContainer) {
focusedElement = focusManager.autoFocus(itemsContainer);
@@ -93,9 +95,10 @@ define(["focusManager", "layoutManager"], function (focusManager, layoutManager)
return focusedElement;
}
return {
isEnabled: isEnabled,
enable: enable,
autoFocus: autoFocus
};
});
/* eslint-enable indent */
export default {
isEnabled: isEnabled,
enable: enable,
autoFocus: autoFocus
};

View File

@@ -1,4 +1,4 @@
define(['browser', 'connectionManager', 'playbackManager', 'dom', "userSettings", 'css!./backdrop'], function (browser, connectionManager, playbackManager, dom, userSettings) {
define(['browser', 'connectionManager', 'playbackManager', 'dom', 'userSettings', 'css!./backdrop'], function (browser, connectionManager, playbackManager, dom, userSettings) {
'use strict';
function enableAnimation(elem) {
@@ -180,7 +180,7 @@ define(['browser', 'connectionManager', 'playbackManager', 'dom', "userSettings"
if (item.BackdropImageTags && item.BackdropImageTags.length > 0) {
return item.BackdropImageTags.map(function (imgTag, index) {
return apiClient.getScaledImageUrl(item.BackdropItemId || item.Id, Object.assign(imageOptions, {
type: "Backdrop",
type: 'Backdrop',
tag: imgTag,
maxWidth: dom.getScreenWidth(),
index: index
@@ -191,7 +191,7 @@ define(['browser', 'connectionManager', 'playbackManager', 'dom', "userSettings"
if (item.ParentBackdropItemId && item.ParentBackdropImageTags && item.ParentBackdropImageTags.length) {
return item.ParentBackdropImageTags.map(function (imgTag, index) {
return apiClient.getScaledImageUrl(item.ParentBackdropItemId, Object.assign(imageOptions, {
type: "Backdrop",
type: 'Backdrop',
tag: imgTag,
maxWidth: dom.getScreenWidth(),
index: index

View File

@@ -1,56 +0,0 @@
define(["connectionManager"], function (connectionManager) {
return function () {
var self = this;
self.name = "Backdrop ScreenSaver";
self.type = "screensaver";
self.id = "backdropscreensaver";
self.supportsAnonymous = false;
var currentSlideshow;
self.show = function () {
var query = {
ImageTypes: "Backdrop",
EnableImageTypes: "Backdrop",
IncludeItemTypes: "Movie,Series,MusicArtist",
SortBy: "Random",
Recursive: true,
Fields: "Taglines",
ImageTypeLimit: 1,
StartIndex: 0,
Limit: 200
};
var apiClient = connectionManager.currentApiClient();
apiClient.getItems(apiClient.getCurrentUserId(), query).then(function (result) {
if (result.Items.length) {
require(["slideshow"], function (slideshow) {
var newSlideShow = new slideshow({
showTitle: true,
cover: true,
items: result.Items
});
newSlideShow.show();
currentSlideshow = newSlideShow;
});
}
});
};
self.hide = function () {
if (currentSlideshow) {
currentSlideshow.hide();
currentSlideshow = null;
}
};
}
});

View File

@@ -167,8 +167,9 @@ button::-moz-focus-inner {
position: relative;
background-clip: content-box !important;
color: inherit;
}
/* This is only needed for scalable cards */
.cardScalable .cardImageContainer {
height: 100%;
contain: strict;
}
@@ -192,9 +193,14 @@ button::-moz-focus-inner {
/* Needed in case this is a button */
display: block;
/* Needed in case this is a button */
margin: 0 !important;
border: 0 !important;
padding: 0 !important;
cursor: pointer;
color: inherit;
width: 100%;
font-family: inherit;
font-size: inherit;
/* Needed in safari */
height: 100%;
@@ -203,19 +209,12 @@ button::-moz-focus-inner {
contain: strict;
}
.cardContent-button {
border: 0 !important;
padding: 0 !important;
cursor: pointer;
color: inherit;
width: 100%;
vertical-align: middle;
font-family: inherit;
font-size: inherit;
.cardContent:not(.defaultCardBackground) {
background-color: transparent;
}
.cardContent-button:not(.defaultCardBackground) {
background-color: transparent;
.cardBox:not(.visualCardBox) .cardPadder {
background-color: #242424;
}
.visualCardBox .cardContent {
@@ -223,7 +222,8 @@ button::-moz-focus-inner {
border-bottom-right-radius: 0;
}
.cardContent-shadow {
.cardContent-shadow,
.cardBox:not(.visualCardBox) .cardPadder {
box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37);
}
@@ -306,6 +306,10 @@ button::-moz-focus-inner {
text-align: left;
}
.dialog .cardText {
text-overflow: initial;
}
.cardText-secondary {
font-size: 86%;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,23 @@
define(['datetime', 'imageLoader', 'connectionManager', 'layoutManager', 'browser'], function (datetime, imageLoader, connectionManager, layoutManager, browser) {
'use strict';
/* eslint-disable indent */
var enableFocusTransform = !browser.slow && !browser.edge;
/**
* Module for building cards from item data.
* @module components/cardBuilder/chaptercardbuilder
*/
function buildChapterCardsHtml(item, chapters, options) {
import datetime from 'datetime';
import imageLoader from 'imageLoader';
import connectionManager from 'connectionManager';
import layoutManager from 'layoutManager';
import browser from 'browser';
const enableFocusTransform = !browser.slow && !browser.edge;
function buildChapterCardsHtml(item, chapters, options) {
// TODO move card creation code to Card component
var className = 'card itemAction chapterCard';
let className = 'card itemAction chapterCard';
if (layoutManager.tv) {
className += ' show-focus';
@@ -17,12 +27,12 @@ define(['datetime', 'imageLoader', 'connectionManager', 'layoutManager', 'browse
}
}
var mediaStreams = ((item.MediaSources || [])[0] || {}).MediaStreams || [];
var videoStream = mediaStreams.filter(function (i) {
return i.Type === 'Video';
const mediaStreams = ((item.MediaSources || [])[0] || {}).MediaStreams || [];
const videoStream = mediaStreams.filter(({Type}) => {
return Type === 'Video';
})[0] || {};
var shape = (options.backdropShape || 'backdrop');
let shape = (options.backdropShape || 'backdrop');
if (videoStream.Width && videoStream.Height) {
@@ -31,24 +41,24 @@ define(['datetime', 'imageLoader', 'connectionManager', 'layoutManager', 'browse
}
}
className += ' ' + shape + 'Card';
className += ` ${shape}Card`;
if (options.block || options.rows) {
className += ' block';
}
var html = '';
var itemsInRow = 0;
let html = '';
let itemsInRow = 0;
var apiClient = connectionManager.getApiClient(item.ServerId);
const apiClient = connectionManager.getApiClient(item.ServerId);
for (var i = 0, length = chapters.length; i < length; i++) {
for (let i = 0, length = chapters.length; i < length; i++) {
if (options.rows && itemsInRow === 0) {
html += '<div class="cardColumn">';
}
var chapter = chapters[i];
const chapter = chapters[i];
html += buildChapterCard(item, apiClient, chapter, i, options, className, shape);
itemsInRow++;
@@ -62,50 +72,50 @@ define(['datetime', 'imageLoader', 'connectionManager', 'layoutManager', 'browse
return html;
}
function getImgUrl(item, chapter, index, maxWidth, apiClient) {
function getImgUrl({Id}, {ImageTag}, index, maxWidth, apiClient) {
if (chapter.ImageTag) {
if (ImageTag) {
return apiClient.getScaledImageUrl(item.Id, {
return apiClient.getScaledImageUrl(Id, {
maxWidth: maxWidth * 2,
tag: chapter.ImageTag,
type: "Chapter",
index: index
tag: ImageTag,
type: 'Chapter',
index
});
}
return null;
}
function buildChapterCard(item, apiClient, chapter, index, options, className, shape) {
function buildChapterCard(item, apiClient, chapter, index, {width, coverImage}, className, shape) {
var imgUrl = getImgUrl(item, chapter, index, options.width || 400, apiClient);
const imgUrl = getImgUrl(item, chapter, index, width || 400, apiClient);
var cardImageContainerClass = 'cardContent cardContent-shadow cardImageContainer chapterCardImageContainer';
if (options.coverImage) {
let cardImageContainerClass = 'cardContent cardContent-shadow cardImageContainer chapterCardImageContainer';
if (coverImage) {
cardImageContainerClass += ' coveredImage';
}
var dataAttributes = ' data-action="play" data-isfolder="' + item.IsFolder + '" data-id="' + item.Id + '" data-serverid="' + item.ServerId + '" data-type="' + item.Type + '" data-mediatype="' + item.MediaType + '" data-positionticks="' + chapter.StartPositionTicks + '"';
var cardImageContainer = imgUrl ? ('<div class="' + cardImageContainerClass + ' lazy" data-src="' + imgUrl + '">') : ('<div class="' + cardImageContainerClass + '">');
const dataAttributes = ` data-action="play" data-isfolder="${item.IsFolder}" data-id="${item.Id}" data-serverid="${item.ServerId}" data-type="${item.Type}" data-mediatype="${item.MediaType}" data-positionticks="${chapter.StartPositionTicks}"`;
let cardImageContainer = imgUrl ? (`<div class="${cardImageContainerClass} lazy" data-src="${imgUrl}">`) : (`<div class="${cardImageContainerClass}">`);
if (!imgUrl) {
cardImageContainer += '<i class="material-icons cardImageIcon local_movies"></i>';
cardImageContainer += '<span class="material-icons cardImageIcon local_movies"></span>';
}
var nameHtml = '';
nameHtml += '<div class="cardText">' + chapter.Name + '</div>';
nameHtml += '<div class="cardText">' + datetime.getDisplayRunningTime(chapter.StartPositionTicks) + '</div>';
let nameHtml = '';
nameHtml += `<div class="cardText">${chapter.Name}</div>`;
nameHtml += `<div class="cardText">${datetime.getDisplayRunningTime(chapter.StartPositionTicks)}</div>`;
var cardBoxCssClass = 'cardBox';
var cardScalableClass = 'cardScalable';
const cardBoxCssClass = 'cardBox';
const cardScalableClass = 'cardScalable';
var html = '<button type="button" class="' + className + '"' + dataAttributes + '><div class="' + cardBoxCssClass + '"><div class="' + cardScalableClass + '"><div class="cardPadder-' + shape + '"></div>' + cardImageContainer + '</div><div class="innerCardFooter">' + nameHtml + '</div></div></div></button>';
const html = `<button type="button" class="${className}"${dataAttributes}><div class="${cardBoxCssClass}"><div class="${cardScalableClass}"><div class="cardPadder-${shape}"></div>${cardImageContainer}</div><div class="innerCardFooter">${nameHtml}</div></div></div></button>`;
return html;
}
function buildChapterCards(item, chapters, options) {
export function buildChapterCards(item, chapters, options) {
if (options.parentContainer) {
// Abort if the container has been disposed
@@ -121,15 +131,16 @@ define(['datetime', 'imageLoader', 'connectionManager', 'layoutManager', 'browse
}
}
var html = buildChapterCardsHtml(item, chapters, options);
const html = buildChapterCardsHtml(item, chapters, options);
options.itemsContainer.innerHTML = html;
imageLoader.lazyChildren(options.itemsContainer);
}
return {
buildChapterCards: buildChapterCards
};
/* eslint-enable indent */
export default {
buildChapterCards: buildChapterCards
};
});

View File

@@ -1,7 +1,13 @@
define(['cardBuilder'], function (cardBuilder) {
'use strict';
/* eslint-disable indent */
function buildPeopleCards(items, options) {
/**
* Module for building cards from item data.
* @module components/cardBuilder/peoplecardbuilder
*/
import cardBuilder from 'cardBuilder';
export function buildPeopleCards(items, options) {
options = Object.assign(options || {}, {
cardLayout: false,
@@ -15,8 +21,8 @@ define(['cardBuilder'], function (cardBuilder) {
cardBuilder.buildCards(items, options);
}
return {
buildPeopleCards: buildPeopleCards
};
/* eslint-enable indent */
});
export default {
buildPeopleCards: buildPeopleCards
};

View File

@@ -0,0 +1,34 @@
define([], function() {
'use strict';
if (window.appMode === 'cordova' || window.appMode === 'android') {
return {
load: function () {
window.chrome = window.chrome || {};
return Promise.resolve();
}
};
} else {
var ccLoaded = false;
return {
load: function () {
if (ccLoaded) {
return Promise.resolve();
}
return new Promise(function (resolve, reject) {
var fileref = document.createElement('script');
fileref.setAttribute('type', 'text/javascript');
fileref.onload = function () {
ccLoaded = true;
resolve();
};
fileref.setAttribute('src', 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js');
document.querySelector('head').appendChild(fileref);
});
}
};
}
});

View File

@@ -1,44 +1,33 @@
define(["dialogHelper", "loading", "connectionManager", "globalize", "actionsheet", "emby-input", "paper-icon-button-light", "emby-button", "listViewStyle", "material-icons", "formDialogStyle"], function (dialogHelper, loading, connectionManager, globalize, actionsheet) {
"use strict";
define(['dom', 'dialogHelper', 'loading', 'connectionManager', 'globalize', 'actionsheet', 'emby-input', 'paper-icon-button-light', 'emby-button', 'listViewStyle', 'material-icons', 'formDialogStyle'], function (dom, dialogHelper, loading, connectionManager, globalize, actionsheet) {
'use strict';
return function (options) {
function parentWithClass(elem, className) {
while (!elem.classList || !elem.classList.contains(className)) {
elem = elem.parentNode;
if (!elem) {
return null;
}
}
return elem;
}
function mapChannel(button, channelId, providerChannelId) {
loading.show();
var providerId = options.providerId;
connectionManager.getApiClient(options.serverId).ajax({
type: "POST",
url: ApiClient.getUrl("LiveTv/ChannelMappings"),
type: 'POST',
url: ApiClient.getUrl('LiveTv/ChannelMappings'),
data: {
providerId: providerId,
tunerChannelId: channelId,
providerChannelId: providerChannelId
},
dataType: "json"
dataType: 'json'
}).then(function (mapping) {
var listItem = parentWithClass(button, "listItem");
button.setAttribute("data-providerid", mapping.ProviderChannelId);
listItem.querySelector(".secondary").innerHTML = getMappingSecondaryName(mapping, currentMappingOptions.ProviderName);
var listItem = dom.parentWithClass(button, 'listItem');
button.setAttribute('data-providerid', mapping.ProviderChannelId);
listItem.querySelector('.secondary').innerHTML = getMappingSecondaryName(mapping, currentMappingOptions.ProviderName);
loading.hide();
});
}
function onChannelsElementClick(e) {
var btnMap = parentWithClass(e.target, "btnMap");
var btnMap = dom.parentWithClass(e.target, 'btnMap');
if (btnMap) {
var channelId = btnMap.getAttribute("data-id");
var providerChannelId = btnMap.getAttribute("data-providerid");
var channelId = btnMap.getAttribute('data-id');
var providerChannelId = btnMap.getAttribute('data-providerid');
var menuItems = currentMappingOptions.ProviderChannels.map(function (m) {
return {
name: m.Name,
@@ -59,56 +48,56 @@ define(["dialogHelper", "loading", "connectionManager", "globalize", "actionshee
function getChannelMappingOptions(serverId, providerId) {
var apiClient = connectionManager.getApiClient(serverId);
return apiClient.getJSON(apiClient.getUrl("LiveTv/ChannelMappingOptions", {
return apiClient.getJSON(apiClient.getUrl('LiveTv/ChannelMappingOptions', {
providerId: providerId
}));
}
function getMappingSecondaryName(mapping, providerName) {
return (mapping.ProviderChannelName || "") + " - " + providerName;
return (mapping.ProviderChannelName || '') + ' - ' + providerName;
}
function getTunerChannelHtml(channel, providerName) {
var html = "";
var html = '';
html += '<div class="listItem">';
html += '<i class="material-icons listItemIcon">dvr</i>';
html += '<span class="material-icons listItemIcon dvr"></span>';
html += '<div class="listItemBody two-line">';
html += '<h3 class="listItemBodyText">';
html += channel.Name;
html += "</h3>";
html += '</h3>';
html += '<div class="secondary listItemBodyText">';
if (channel.ProviderChannelName) {
html += getMappingSecondaryName(channel, providerName);
}
html += "</div>";
html += "</div>";
html += '<button class="btnMap autoSize" is="paper-icon-button-light" type="button" data-id="' + channel.Id + '" data-providerid="' + channel.ProviderChannelId + '"><i class="material-icons mode_edit"></i></button>';
return html += "</div>";
html += '</div>';
html += '</div>';
html += '<button class="btnMap autoSize" is="paper-icon-button-light" type="button" data-id="' + channel.Id + '" data-providerid="' + channel.ProviderChannelId + '"><span class="material-icons mode_edit"></span></button>';
return html += '</div>';
}
function getEditorHtml() {
var html = "";
html += '<div class="formDialogContent">';
var html = '';
html += '<div class="formDialogContent smoothScrollY">';
html += '<div class="dialogContentInner dialog-content-centered">';
html += '<form style="margin:auto;">';
html += "<h1>" + globalize.translate("HeaderChannels") + "</h1>";
html += '<h1>' + globalize.translate('HeaderChannels') + '</h1>';
html += '<div class="channels paperList">';
html += "</div>";
html += "</form>";
html += "</div>";
return html += "</div>";
html += '</div>';
html += '</form>';
html += '</div>';
return html += '</div>';
}
function initEditor(dlg, options) {
getChannelMappingOptions(options.serverId, options.providerId).then(function (result) {
currentMappingOptions = result;
var channelsElement = dlg.querySelector(".channels");
var channelsElement = dlg.querySelector('.channels');
channelsElement.innerHTML = result.TunerChannels.map(function (channel) {
return getTunerChannelHtml(channel, result.ProviderName);
}).join("");
channelsElement.addEventListener("click", onChannelsElementClick);
}).join('');
channelsElement.addEventListener('click', onChannelsElementClick);
});
}
@@ -119,27 +108,27 @@ define(["dialogHelper", "loading", "connectionManager", "globalize", "actionshee
var dialogOptions = {
removeOnClose: true
};
dialogOptions.size = "small";
dialogOptions.size = 'small';
var dlg = dialogHelper.createDialog(dialogOptions);
dlg.classList.add("formDialog");
dlg.classList.add("ui-body-a");
dlg.classList.add("background-theme-a");
var html = "";
var title = globalize.translate("MapChannels");
dlg.classList.add('formDialog');
dlg.classList.add('ui-body-a');
dlg.classList.add('background-theme-a');
var html = '';
var title = globalize.translate('MapChannels');
html += '<div class="formDialogHeader">';
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="material-icons arrow_back"></i></button>';
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><span class="material-icons arrow_back"></span></button>';
html += '<h3 class="formDialogHeaderTitle">';
html += title;
html += "</h3>";
html += "</div>";
html += '</h3>';
html += '</div>';
html += getEditorHtml();
dlg.innerHTML = html;
initEditor(dlg, options);
dlg.querySelector(".btnCancel").addEventListener("click", function () {
dlg.querySelector('.btnCancel').addEventListener('click', function () {
dialogHelper.close(dlg);
});
return new Promise(function (resolve, reject) {
dlg.addEventListener("close", resolve);
dlg.addEventListener('close', resolve);
dialogHelper.open(dlg);
});
};

View File

@@ -1,25 +1,12 @@
define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (dialogHelper, loading, appHost, layoutManager, connectionManager, appRouter, globalize) {
define(['dom', 'dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (dom, dialogHelper, loading, appHost, layoutManager, connectionManager, appRouter, globalize) {
'use strict';
var currentServerId;
function parentWithClass(elem, className) {
while (!elem.classList || !elem.classList.contains(className)) {
elem = elem.parentNode;
if (!elem) {
return null;
}
}
return elem;
}
function onSubmit(e) {
loading.show();
var panel = parentWithClass(this, 'dialog');
var panel = dom.parentWithClass(this, 'dialog');
var collectionId = panel.querySelector('#selectCollectionToAddTo').value;
@@ -37,7 +24,7 @@ define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManage
function createCollection(apiClient, dlg) {
var url = apiClient.getUrl("Collections", {
var url = apiClient.getUrl('Collections', {
Name: dlg.querySelector('#txtNewCollectionName').value,
IsLocked: !dlg.querySelector('#chkEnableInternetMetadata').checked,
@@ -45,9 +32,9 @@ define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManage
});
apiClient.ajax({
type: "POST",
type: 'POST',
url: url,
dataType: "json"
dataType: 'json'
}).then(function (result) {
@@ -69,13 +56,13 @@ define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManage
function addToCollection(apiClient, dlg, id) {
var url = apiClient.getUrl("Collections/" + id + "/Items", {
var url = apiClient.getUrl('Collections/' + id + '/Items', {
Ids: dlg.querySelector('.fldSelectedItemIds').value || ''
});
apiClient.ajax({
type: "POST",
type: 'POST',
url: url
}).then(function () {
@@ -106,8 +93,8 @@ define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManage
var options = {
Recursive: true,
IncludeItemTypes: "BoxSet",
SortBy: "SortName",
IncludeItemTypes: 'BoxSet',
SortBy: 'SortName',
EnableTotalRecordCount: false
};
@@ -243,13 +230,13 @@ define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManage
var title = items.length ? globalize.translate('HeaderAddToCollection') : globalize.translate('NewCollection');
html += '<div class="formDialogHeader">';
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="material-icons arrow_back"></i></button>';
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><span class="material-icons arrow_back"></span></button>';
html += '<h3 class="formDialogHeaderTitle">';
html += title;
html += '</h3>';
if (appHost.supports('externallinks')) {
html += '<a is="emby-linkbutton" class="button-link btnHelp flex align-items-center" href="https://web.archive.org/web/20181216120305/https://github.com/MediaBrowser/Wiki/wiki/Collections" target="_blank" style="margin-left:auto;margin-right:.5em;padding:.25em;" title="' + globalize.translate('Help') + '"><i class="material-icons">info</i><span style="margin-left:.25em;">' + globalize.translate('Help') + '</span></a>';
html += '<a is="emby-linkbutton" class="button-link btnHelp flex align-items-center" href="https://web.archive.org/web/20181216120305/https://github.com/MediaBrowser/Wiki/wiki/Collections" target="_blank" style="margin-left:auto;margin-right:.5em;padding:.25em;" title="' + globalize.translate('Help') + '"><span class="material-icons info"></span><span style="margin-left:.25em;">' + globalize.translate('Help') + '</span></a>';
}
html += '</div>';

View File

@@ -1,40 +1,65 @@
define(['dialog', 'globalize'], function (dialog, globalize) {
define(['browser', 'dialog', 'globalize'], function(browser, dialog, globalize) {
'use strict';
return function (text, title) {
function replaceAll(str, find, replace) {
return str.split(find).join(replace);
}
var options;
if (typeof text === 'string') {
options = {
title: title,
text: text
};
} else {
options = text;
}
var items = [];
items.push({
name: options.cancelText || globalize.translate('ButtonCancel'),
id: 'cancel',
type: 'cancel'
});
items.push({
name: options.confirmText || globalize.translate('ButtonOk'),
id: 'ok',
type: options.primary === 'delete' ? 'delete' : 'submit'
});
options.buttons = items;
return dialog(options).then(function (result) {
if (result === 'ok') {
return Promise.resolve();
if (browser.tv && window.confirm) {
// Use the native confirm dialog
return function (options) {
if (typeof options === 'string') {
options = {
title: '',
text: options
};
}
return Promise.reject();
});
};
var text = replaceAll(options.text || '', '<br/>', '\n');
var result = confirm(text);
if (result) {
return Promise.resolve();
} else {
return Promise.reject();
}
};
} else {
// Use our own dialog
return function (text, title) {
var options;
if (typeof text === 'string') {
options = {
title: title,
text: text
};
} else {
options = text;
}
var items = [];
items.push({
name: options.cancelText || globalize.translate('ButtonCancel'),
id: 'cancel',
type: 'cancel'
});
items.push({
name: options.confirmText || globalize.translate('ButtonOk'),
id: 'ok',
type: options.primary === 'delete' ? 'delete' : 'submit'
});
options.buttons = items;
return dialog(options).then(function (result) {
if (result === 'ok') {
return Promise.resolve();
}
return Promise.reject();
});
};
}
});

View File

@@ -1,27 +0,0 @@
define([], function () {
'use strict';
function replaceAll(str, find, replace) {
return str.split(find).join(replace);
}
return function (options) {
if (typeof options === 'string') {
options = {
title: '',
text: options
};
}
var text = replaceAll(options.text || '', '<br/>', '\n');
var result = confirm(text);
if (result) {
return Promise.resolve();
} else {
return Promise.reject();
}
};
});

View File

@@ -1,57 +0,0 @@
define(['connectionManager', 'confirm', 'appRouter', 'globalize'], function (connectionManager, confirm, appRouter, globalize) {
'use strict';
function alertText(options) {
return new Promise(function (resolve, reject) {
require(['alert'], function (alert) {
alert(options).then(resolve, resolve);
});
});
}
function deleteItem(options) {
var item = options.item;
var itemId = item.Id;
var parentId = item.SeasonId || item.SeriesId || item.ParentId;
var serverId = item.ServerId;
var msg = globalize.translate('ConfirmDeleteItem');
var title = globalize.translate('HeaderDeleteItem');
var apiClient = connectionManager.getApiClient(item.ServerId);
return confirm({
title: title,
text: msg,
confirmText: globalize.translate('Delete'),
primary: 'delete'
}).then(function () {
return apiClient.deleteItem(itemId).then(function () {
if (options.navigate) {
if (parentId) {
appRouter.showItem(parentId, serverId);
} else {
appRouter.goHome();
}
}
}, function (err) {
var result = function () {
return Promise.reject(err);
};
return alertText(globalize.translate('ErrorDeletingItem')).then(result, result);
});
});
}
return {
deleteItem: deleteItem
};
});

View File

@@ -4,12 +4,8 @@
<div class="formDialogContent smoothScrollY">
<div class="dialogContentInner dialog-content-centered" style="padding-top:1em;padding-bottom: 1em; text-align: center;">
<div class="text">
</div>
<div class="text"></div>
</div>
</div>
<div class="formDialogFooter formDialogFooter-clear formDialogFooter-flex" style="padding-bottom: 1.5em;">
</div>
<div class="formDialogFooter formDialogFooter-clear formDialogFooter-flex" style="margin:1em"></div>

View File

@@ -141,7 +141,7 @@ define(['appRouter', 'focusManager', 'browser', 'layoutManager', 'inputManager',
animateDialogOpen(dlg);
if (isHistoryEnabled(dlg)) {
appRouter.pushState({ dialogId: hash }, "Dialog", '#' + hash);
appRouter.pushState({ dialogId: hash }, 'Dialog', '#' + hash);
window.addEventListener('popstate', onHashChange);
} else {
@@ -169,6 +169,15 @@ define(['appRouter', 'focusManager', 'browser', 'layoutManager', 'inputManager',
}, {
passive: true
});
dom.addEventListener((dlg.dialogContainer || backdrop), 'contextmenu', function (e) {
if (e.target === dlg.dialogContainer) {
// Close the application dialog menu
close(dlg);
// Prevent the default browser context menu from appearing
e.preventDefault();
}
});
}
function isHistoryEnabled(dlg) {

View File

@@ -126,25 +126,10 @@
}
@media all and (min-width: 80em) and (min-height: 45em) {
.dialog-medium {
width: 80%;
height: 80%;
}
.dialog-medium-tall {
width: 80%;
height: 90%;
}
.dialog-small {
width: 60%;
height: 80%;
}
.dialog-fullscreen-border {
width: 90%;
height: 90%;
}
}
.noScroll {

View File

@@ -1,4 +1,4 @@
define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-icon-button-light', 'css!./directorybrowser', 'formDialogStyle', 'emby-button'], function(loading, dialogHelper, dom) {
define(['loading', 'dialogHelper', 'dom', 'globalize', 'listViewStyle', 'emby-input', 'paper-icon-button-light', 'css!./directorybrowser', 'formDialogStyle', 'emby-button'], function(loading, dialogHelper, dom, globalize) {
'use strict';
function getSystemInfo() {
@@ -7,24 +7,24 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
systemInfo = info;
return info;
}
)
);
}
function onDialogClosed() {
loading.hide()
loading.hide();
}
function refreshDirectoryBrowser(page, path, fileOptions, updatePathOnError) {
if (path && typeof path !== 'string') {
throw new Error("invalid path");
throw new Error('invalid path');
}
loading.show();
var promises = [];
if ("Network" === path) {
promises.push(ApiClient.getNetworkDevices())
if ('Network' === path) {
promises.push(ApiClient.getNetworkDevices());
} else {
if (path) {
promises.push(ApiClient.getDirectoryContents(path, fileOptions));
@@ -37,31 +37,31 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
Promise.all(promises).then(
function(responses) {
var folders = responses[0];
var parentPath = responses[1] || "";
var html = "";
var parentPath = responses[1] || '';
var html = '';
page.querySelector(".results").scrollTop = 0;
page.querySelector("#txtDirectoryPickerPath").value = path || "";
page.querySelector('.results').scrollTop = 0;
page.querySelector('#txtDirectoryPickerPath').value = path || '';
if (path) {
html += getItem("lnkPath lnkDirectory", "", parentPath, "...");
html += getItem('lnkPath lnkDirectory', '', parentPath, '...');
}
for (var i = 0, length = folders.length; i < length; i++) {
var folder = folders[i];
var cssClass = "File" === folder.Type ? "lnkPath lnkFile" : "lnkPath lnkDirectory";
var cssClass = 'File' === folder.Type ? 'lnkPath lnkFile' : 'lnkPath lnkDirectory';
html += getItem(cssClass, folder.Type, folder.Path, folder.Name);
}
if (!path) {
html += getItem("lnkPath lnkDirectory", "", "Network", Globalize.translate("ButtonNetwork"));
html += getItem('lnkPath lnkDirectory', '', 'Network', globalize.translate('ButtonNetwork'));
}
page.querySelector(".results").innerHTML = html;
page.querySelector('.results').innerHTML = html;
loading.hide();
}, function() {
if (updatePathOnError) {
page.querySelector("#txtDirectoryPickerPath").value = "";
page.querySelector(".results").innerHTML = "";
page.querySelector('#txtDirectoryPickerPath').value = '';
page.querySelector('.results').innerHTML = '';
loading.hide();
}
}
@@ -69,74 +69,73 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
}
function getItem(cssClass, type, path, name) {
var html = "";
var html = '';
html += '<div class="listItem listItem-border ' + cssClass + '" data-type="' + type + '" data-path="' + path + '">';
html += '<div class="listItemBody" style="padding-left:0;padding-top:.5em;padding-bottom:.5em;">';
html += '<div class="listItemBodyText">';
html += name;
html += "</div>";
html += "</div>";
html += '<i class="material-icons arrow_forward" style="font-size:inherit;"></i>';
html += "</div>";
html += '</div>';
html += '</div>';
html += '<span class="material-icons arrow_forward" style="font-size:inherit;"></span>';
html += '</div>';
return html;
}
function getEditorHtml(options, systemInfo) {
var html = "";
var html = '';
html += '<div class="formDialogContent scrollY">';
html += '<div class="dialogContentInner dialog-content-centered" style="padding-top:2em;">';
if (!options.pathReadOnly) {
var instruction = options.instruction ? options.instruction + "<br/><br/>" : "";
var instruction = options.instruction ? options.instruction + '<br/><br/>' : '';
html += '<div class="infoBanner" style="margin-bottom:1.5em;">';
html += instruction;
html += Globalize.translate("MessageDirectoryPickerInstruction").replace("{0}", "<b>\\\\server</b>").replace("{1}", "<b>\\\\192.168.1.101</b>");
if ("bsd" === systemInfo.OperatingSystem.toLowerCase()) {
html += "<br/>";
html += "<br/>";
html += Globalize.translate("MessageDirectoryPickerBSDInstruction");
html += "<br/>";
} else if ("linux" === systemInfo.OperatingSystem.toLowerCase()) {
html += "<br/>";
html += "<br/>";
html += Globalize.translate("MessageDirectoryPickerLinuxInstruction");
html += "<br/>";
if ('bsd' === systemInfo.OperatingSystem.toLowerCase()) {
html += '<br/>';
html += '<br/>';
html += globalize.translate('MessageDirectoryPickerBSDInstruction');
html += '<br/>';
} else if ('linux' === systemInfo.OperatingSystem.toLowerCase()) {
html += '<br/>';
html += '<br/>';
html += globalize.translate('MessageDirectoryPickerLinuxInstruction');
html += '<br/>';
}
html += "</div>"
html += '</div>';
}
html += '<form style="margin:auto;">';
html += '<div class="inputContainer" style="display: flex; align-items: center;">';
html += '<div style="flex-grow:1;">';
var labelKey;
if (options.includeFiles !== true) {
labelKey = "LabelFolder";
labelKey = 'LabelFolder';
} else {
labelKey = "LabelPath";
labelKey = 'LabelPath';
}
var readOnlyAttribute = options.pathReadOnly ? " readonly" : "";
html += '<input is="emby-input" id="txtDirectoryPickerPath" type="text" required="required" ' + readOnlyAttribute + ' label="' + Globalize.translate(labelKey) + '"/>';
html += "</div>";
var readOnlyAttribute = options.pathReadOnly ? ' readonly' : '';
html += '<input is="emby-input" id="txtDirectoryPickerPath" type="text" required="required" ' + readOnlyAttribute + ' label="' + globalize.translate(labelKey) + '"/>';
html += '</div>';
if (!readOnlyAttribute) {
html += '<button type="button" is="paper-icon-button-light" class="btnRefreshDirectories emby-input-iconbutton" title="' + Globalize.translate("ButtonRefresh") + '"><i class="material-icons">search</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="btnRefreshDirectories emby-input-iconbutton" title="' + globalize.translate('ButtonRefresh') + '"><span class="material-icons search"></span></button>';
}
html += "</div>";
html += '</div>';
if (!readOnlyAttribute) {
html += '<div class="results paperList" style="max-height: 200px; overflow-y: auto;"></div>';
}
if (options.enableNetworkSharePath) {
html += '<div class="inputContainer" style="margin-top:2em;">';
html += '<input is="emby-input" id="txtNetworkPath" type="text" label="' + Globalize.translate("LabelOptionalNetworkPath") + '"/>';
html += '<input is="emby-input" id="txtNetworkPath" type="text" label="' + globalize.translate('LabelOptionalNetworkPath') + '"/>';
html += '<div class="fieldDescription">';
html += Globalize.translate("LabelOptionalNetworkPathHelp");
html += "</div>";
html += "</div>";
html += globalize.translate('LabelOptionalNetworkPathHelp', '<b>\\\\server</b>', '<b>\\\\192.168.1.101</b>');
html += '</div>';
html += '</div>';
}
html += '<div class="formDialogFooter">';
html += '<button is="emby-button" type="submit" class="raised button-submit block formDialogFooterItem">' + Globalize.translate("ButtonOk") + "</button>";
html += "</div>";
html += "</form>";
html += "</div>";
html += "</div>";
html += "</div>";
html += '<button is="emby-button" type="submit" class="raised button-submit block formDialogFooterItem">' + globalize.translate('ButtonOk') + '</button>';
html += '</div>';
html += '</form>';
html += '</div>';
html += '</div>';
html += '</div>';
return html;
}
@@ -144,75 +143,74 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
function alertText(text) {
alertTextWithOptions({
text: text
})
});
}
function alertTextWithOptions(options) {
require(["alert"], function(alert) {
alert(options)
})
require(['alert'], function(alert) {
alert(options);
});
}
function validatePath(path, validateWriteable, apiClient) {
return apiClient.ajax({
type: "POST",
url: apiClient.getUrl("Environment/ValidatePath"),
type: 'POST',
url: apiClient.getUrl('Environment/ValidatePath'),
data: {
ValidateWriteable: validateWriteable,
Path: path
}
}).catch(function(response) {
if (response) {
// TODO All alerts (across the project), should use Globalize.translate()
if (response.status === 404) {
alertText("The path could not be found. Please ensure the path is valid and try again.");
alertText(globalize.translate('PathNotFound'));
return Promise.reject();
}
if (response.status === 500) {
if (validateWriteable) {
alertText("Jellyfin Server requires write access to this folder. Please ensure write access and try again.");
alertText(globalize.translate('WriteAccessRequired'));
} else {
alertText("The path could not be found. Please ensure the path is valid and try again.")
alertText(globalize.translate('PathNotFound'));
}
return Promise.reject()
return Promise.reject();
}
}
return Promise.resolve()
return Promise.resolve();
});
}
function initEditor(content, options, fileOptions) {
content.addEventListener("click", function(e) {
var lnkPath = dom.parentWithClass(e.target, "lnkPath");
content.addEventListener('click', function(e) {
var lnkPath = dom.parentWithClass(e.target, 'lnkPath');
if (lnkPath) {
var path = lnkPath.getAttribute("data-path");
if (lnkPath.classList.contains("lnkFile")) {
content.querySelector("#txtDirectoryPickerPath").value = path;
var path = lnkPath.getAttribute('data-path');
if (lnkPath.classList.contains('lnkFile')) {
content.querySelector('#txtDirectoryPickerPath').value = path;
} else {
refreshDirectoryBrowser(content, path, fileOptions, true)
refreshDirectoryBrowser(content, path, fileOptions, true);
}
}
});
content.addEventListener("click", function(e) {
if (dom.parentWithClass(e.target, "btnRefreshDirectories")) {
var path = content.querySelector("#txtDirectoryPickerPath").value;
content.addEventListener('click', function(e) {
if (dom.parentWithClass(e.target, 'btnRefreshDirectories')) {
var path = content.querySelector('#txtDirectoryPickerPath').value;
refreshDirectoryBrowser(content, path, fileOptions);
}
});
content.addEventListener("change", function(e) {
var txtDirectoryPickerPath = dom.parentWithTag(e.target, "INPUT");
if (txtDirectoryPickerPath && "txtDirectoryPickerPath" === txtDirectoryPickerPath.id) {
content.addEventListener('change', function(e) {
var txtDirectoryPickerPath = dom.parentWithTag(e.target, 'INPUT');
if (txtDirectoryPickerPath && 'txtDirectoryPickerPath' === txtDirectoryPickerPath.id) {
refreshDirectoryBrowser(content, txtDirectoryPickerPath.value, fileOptions);
}
});
content.querySelector("form").addEventListener("submit", function(e) {
content.querySelector('form').addEventListener('submit', function(e) {
if (options.callback) {
var networkSharePath = this.querySelector("#txtNetworkPath");
var networkSharePath = this.querySelector('#txtNetworkPath');
networkSharePath = networkSharePath ? networkSharePath.value : null;
var path = this.querySelector("#txtDirectoryPickerPath").value;
var path = this.querySelector('#txtDirectoryPickerPath').value;
validatePath(path, options.validateWriteable, ApiClient).then(options.callback(path, networkSharePath));
}
e.preventDefault();
@@ -225,11 +223,11 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
if (options.path) {
return Promise.resolve(options.path);
} else {
return ApiClient.getJSON(ApiClient.getUrl("Environment/DefaultDirectoryBrowser")).then(
return ApiClient.getJSON(ApiClient.getUrl('Environment/DefaultDirectoryBrowser')).then(
function(result) {
return result.Path || "";
return result.Path || '';
}, function() {
return "";
return '';
}
);
}
@@ -254,35 +252,35 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
var systemInfo = responses[0];
var initialPath = responses[1];
var dlg = dialogHelper.createDialog({
size: "medium-tall",
size: 'small',
removeOnClose: true,
scrollY: false
});
dlg.classList.add("ui-body-a");
dlg.classList.add("background-theme-a");
dlg.classList.add("directoryPicker");
dlg.classList.add("formDialog");
dlg.classList.add('ui-body-a');
dlg.classList.add('background-theme-a');
dlg.classList.add('directoryPicker');
dlg.classList.add('formDialog');
var html = "";
var html = '';
html += '<div class="formDialogHeader">';
html += '<button is="paper-icon-button-light" class="btnCloseDialog autoSize" tabindex="-1"><i class="material-icons arrow_back"></i></button>';
html += '<button is="paper-icon-button-light" class="btnCloseDialog autoSize" tabindex="-1"><span class="material-icons arrow_back"></span></button>';
html += '<h3 class="formDialogHeaderTitle">';
html += options.header || Globalize.translate("HeaderSelectPath");
html += "</h3>";
html += "</div>";
html += options.header || globalize.translate('HeaderSelectPath');
html += '</h3>';
html += '</div>';
html += getEditorHtml(options, systemInfo);
dlg.innerHTML = html;
initEditor(dlg, options, fileOptions);
dlg.addEventListener("close", onDialogClosed);
dlg.addEventListener('close', onDialogClosed);
dialogHelper.open(dlg);
dlg.querySelector(".btnCloseDialog").addEventListener("click", function() {
dialogHelper.close(dlg)
dlg.querySelector('.btnCloseDialog').addEventListener('click', function() {
dialogHelper.close(dlg);
});
currentDialog = dlg;
dlg.querySelector("#txtDirectoryPickerPath").value = initialPath;
var txtNetworkPath = dlg.querySelector("#txtNetworkPath");
dlg.querySelector('#txtDirectoryPickerPath').value = initialPath;
var txtNetworkPath = dlg.querySelector('#txtNetworkPath');
if (txtNetworkPath) {
txtNetworkPath.value = options.networkSharePath || "";
txtNetworkPath.value = options.networkSharePath || '';
}
if (!options.pathReadOnly) {
refreshDirectoryBrowser(dlg, initialPath, fileOptions, true);
@@ -294,9 +292,9 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
if (currentDialog) {
dialogHelper.close(currentDialog);
}
}
};
}
var systemInfo;
return directoryBrowser
return directoryBrowser;
});

View File

@@ -1,5 +1,5 @@
define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', 'apphost', 'focusManager', 'datetime', 'globalize', 'loading', 'connectionManager', 'skinManager', 'dom', 'events', 'emby-select', 'emby-checkbox', 'emby-button'], function (require, browser, layoutManager, appSettings, pluginManager, appHost, focusManager, datetime, globalize, loading, connectionManager, skinManager, dom, events) {
"use strict";
'use strict';
function fillThemes(select, isDashboard) {
select.innerHTML = skinManager.getThemes().map(function (t) {
@@ -181,11 +181,15 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', '
context.querySelector('#chkThemeSong').checked = userSettings.enableThemeSongs();
context.querySelector('#chkThemeVideo').checked = userSettings.enableThemeVideos();
context.querySelector('#chkFadein').checked = userSettings.enableFastFadein();
context.querySelector('#chkBlurhash').checked = userSettings.enableBlurhash();
context.querySelector('#chkBackdrops').checked = userSettings.enableBackdrops();
context.querySelector('#chkDetailsBanner').checked = userSettings.detailsBanner();
context.querySelector('#selectLanguage').value = userSettings.language() || '';
context.querySelector('.selectDateTimeLocale').value = userSettings.dateTimeLocale() || '';
context.querySelector('#txtLibraryPageSize').value = userSettings.libraryPageSize();
selectDashboardTheme.value = userSettings.dashboardTheme() || '';
selectTheme.value = userSettings.theme() || '';
@@ -215,10 +219,14 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', '
userSettingsInstance.soundEffects(context.querySelector('.selectSoundEffects').value);
userSettingsInstance.screensaver(context.querySelector('.selectScreensaver').value);
userSettingsInstance.libraryPageSize(context.querySelector('#txtLibraryPageSize').value);
userSettingsInstance.skin(context.querySelector('.selectSkin').value);
userSettingsInstance.enableFastFadein(context.querySelector('#chkFadein').checked);
userSettingsInstance.enableBlurhash(context.querySelector('#chkBlurhash').checked);
userSettingsInstance.enableBackdrops(context.querySelector('#chkBackdrops').checked);
userSettingsInstance.detailsBanner(context.querySelector('#chkDetailsBanner').checked);
if (user.Id === apiClient.getCurrentUserId()) {
skinManager.setTheme(userSettingsInstance.theme());
@@ -265,7 +273,7 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', '
}
function embed(options, self) {
require(['text!./displaysettings.template.html'], function (template) {
require(['text!./displaySettings.template.html'], function (template) {
options.element.innerHTML = globalize.translateDocument(template, 'core');
options.element.querySelector('form').addEventListener('submit', onSubmit.bind(self));
if (options.enableSaveButton) {

View File

@@ -56,14 +56,14 @@
<div class="fieldDescription">
<div>${LabelDisplayLanguageHelp}</div>
<div class="learnHowToContributeContainer hide" style="margin-top: .25em;">
<a is="emby-linkbutton" class="button-link" href="https://github.com/jellyfin/jellyfin" target="_blank">${LearnHowYouCanContribute}</a>
<a is="emby-linkbutton" rel="noopener noreferrer" class="button-link" href="https://github.com/jellyfin/jellyfin" target="_blank">${LearnHowYouCanContribute}</a>
</div>
</div>
</div>
<div class="selectContainer fldDateTimeLocale hide">
<select is="emby-select" class="selectDateTimeLocale" label="${LabelDateTimeLocale}">
<option value="">${AutoBasedOnLanguageSetting}</option>
<option value="">${Auto}</option>
<option value="ar">Arabic</option>
<option value="be-BY">Belarusian (Belarus)</option>
<option value="bg-BG">Bulgarian (Bulgaria)</option>
@@ -143,12 +143,33 @@
<select is="emby-select" class="selectSoundEffects" label="${LabelSoundEffects}"></select>
</div>
<div class="checkboxContainer checkboxContainer-withDescription fldFadein">
<div class="inputContainer inputContainer-withDescription">
<input is="emby-input" type="number" id="txtLibraryPageSize" pattern="[0-9]*" required="required" min="0" max="1000" step="1" label="${LabelLibraryPageSize}" />
<div class="fieldDescription">${LabelLibraryPageSizeHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription">
<label>
<input type="checkbox" is="emby-checkbox" id="chkFadein" />
<span>${EnableFastImageFadeIn}</span>
<span>${EnableFasterAnimations}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${EnableFastImageFadeInHelp}</div>
<div class="fieldDescription checkboxFieldDescription">${EnableFasterAnimationsHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription">
<label>
<input type="checkbox" is="emby-checkbox" id="chkBlurhash" />
<span>${EnableBlurhash}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${EnableBlurhashHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription">
<label>
<input type="checkbox" is="emby-checkbox" id="chkDetailsBanner" />
<span>${EnableDetailsBanner}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${EnableDetailsBannerHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription fldBackdrops hide">

View File

@@ -1,199 +0,0 @@
define([], function () {
'use strict';
function parentWithAttribute(elem, name, value) {
while ((value ? elem.getAttribute(name) !== value : !elem.getAttribute(name))) {
elem = elem.parentNode;
if (!elem || !elem.getAttribute) {
return null;
}
}
return elem;
}
function parentWithTag(elem, tagNames) {
// accept both string and array passed in
if (!Array.isArray(tagNames)) {
tagNames = [tagNames];
}
while (tagNames.indexOf(elem.tagName || '') === -1) {
elem = elem.parentNode;
if (!elem) {
return null;
}
}
return elem;
}
function containsAnyClass(classList, classNames) {
for (var i = 0, length = classNames.length; i < length; i++) {
if (classList.contains(classNames[i])) {
return true;
}
}
return false;
}
function parentWithClass(elem, classNames) {
// accept both string and array passed in
if (!Array.isArray(classNames)) {
classNames = [classNames];
}
while (!elem.classList || !containsAnyClass(elem.classList, classNames)) {
elem = elem.parentNode;
if (!elem) {
return null;
}
}
return elem;
}
var supportsCaptureOption = false;
try {
var opts = Object.defineProperty({}, 'capture', {
// eslint-disable-next-line getter-return
get: function () {
supportsCaptureOption = true;
}
});
window.addEventListener("test", null, opts);
} catch (e) {
console.debug('error checking capture support');
}
function addEventListenerWithOptions(target, type, handler, options) {
var optionsOrCapture = options;
if (!supportsCaptureOption) {
optionsOrCapture = options.capture;
}
target.addEventListener(type, handler, optionsOrCapture);
}
function removeEventListenerWithOptions(target, type, handler, options) {
var optionsOrCapture = options;
if (!supportsCaptureOption) {
optionsOrCapture = options.capture;
}
target.removeEventListener(type, handler, optionsOrCapture);
}
var windowSize;
var windowSizeEventsBound;
function clearWindowSize() {
windowSize = null;
}
function getWindowSize() {
if (!windowSize) {
windowSize = {
innerHeight: window.innerHeight,
innerWidth: window.innerWidth
};
if (!windowSizeEventsBound) {
windowSizeEventsBound = true;
addEventListenerWithOptions(window, "orientationchange", clearWindowSize, { passive: true });
addEventListenerWithOptions(window, 'resize', clearWindowSize, { passive: true });
}
}
return windowSize;
}
var standardWidths = [480, 720, 1280, 1440, 1920, 2560, 3840, 5120, 7680];
function getScreenWidth() {
var width = window.innerWidth;
var height = window.innerHeight;
if (height > width) {
width = height * (16.0 / 9.0);
}
var closest = standardWidths.sort(function (a, b) {
return Math.abs(width - a) - Math.abs(width - b);
})[0];
return closest;
}
var _animationEvent;
function whichAnimationEvent() {
if (_animationEvent) {
return _animationEvent;
}
var t;
var el = document.createElement("div");
var animations = {
"animation": "animationend",
"OAnimation": "oAnimationEnd",
"MozAnimation": "animationend",
"WebkitAnimation": "webkitAnimationEnd"
};
for (t in animations) {
if (el.style[t] !== undefined) {
_animationEvent = animations[t];
return animations[t];
}
}
_animationEvent = 'animationend';
return _animationEvent;
}
function whichAnimationCancelEvent() {
return whichAnimationEvent().replace('animationend', 'animationcancel').replace('AnimationEnd', 'AnimationCancel');
}
var _transitionEvent;
function whichTransitionEvent() {
if (_transitionEvent) {
return _transitionEvent;
}
var t;
var el = document.createElement("div");
var transitions = {
"transition": "transitionend",
"OTransition": "oTransitionEnd",
"MozTransition": "transitionend",
"WebkitTransition": "webkitTransitionEnd"
};
for (t in transitions) {
if (el.style[t] !== undefined) {
_transitionEvent = transitions[t];
return transitions[t];
}
}
_transitionEvent = 'transitionend';
return _transitionEvent;
}
return {
parentWithAttribute: parentWithAttribute,
parentWithClass: parentWithClass,
parentWithTag: parentWithTag,
addEventListener: addEventListenerWithOptions,
removeEventListener: removeEventListenerWithOptions,
getWindowSize: getWindowSize,
getScreenWidth: getScreenWidth,
whichTransitionEvent: whichTransitionEvent,
whichAnimationEvent: whichAnimationEvent,
whichAnimationCancelEvent: whichAnimationCancelEvent
};
});

View File

@@ -1,41 +1,41 @@
define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoader", "globalize", "layoutManager", "scrollStyles", "emby-itemscontainer"], function (loading, libraryBrowser, cardBuilder, dom, appHost, imageLoader, globalize, layoutManager) {
"use strict";
define(['loading', 'libraryBrowser', 'cardBuilder', 'dom', 'apphost', 'imageLoader', 'globalize', 'layoutManager', 'scrollStyles', 'emby-itemscontainer'], function (loading, libraryBrowser, cardBuilder, dom, appHost, imageLoader, globalize, layoutManager) {
'use strict';
function enableScrollX() {
return !layoutManager.desktop;
}
function getThumbShape() {
return enableScrollX() ? "overflowBackdrop" : "backdrop";
return enableScrollX() ? 'overflowBackdrop' : 'backdrop';
}
function getPosterShape() {
return enableScrollX() ? "overflowPortrait" : "portrait";
return enableScrollX() ? 'overflowPortrait' : 'portrait';
}
function getSquareShape() {
return enableScrollX() ? "overflowSquare" : "square";
return enableScrollX() ? 'overflowSquare' : 'square';
}
function getSections() {
return [{
name: "HeaderFavoriteMovies",
types: "Movie",
id: "favoriteMovies",
name: 'HeaderFavoriteMovies',
types: 'Movie',
id: 'favoriteMovies',
shape: getPosterShape(),
showTitle: false,
overlayPlayButton: true
}, {
name: "HeaderFavoriteShows",
types: "Series",
id: "favoriteShows",
name: 'HeaderFavoriteShows',
types: 'Series',
id: 'favoriteShows',
shape: getPosterShape(),
showTitle: false,
overlayPlayButton: true
}, {
name: "HeaderFavoriteEpisodes",
types: "Episode",
id: "favoriteEpisode",
name: 'HeaderFavoriteEpisodes',
types: 'Episode',
id: 'favoriteEpisode',
shape: getThumbShape(),
preferThumb: false,
showTitle: true,
@@ -44,9 +44,9 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
overlayText: false,
centerText: true
}, {
name: "HeaderFavoriteVideos",
types: "Video,MusicVideo",
id: "favoriteVideos",
name: 'HeaderFavoriteVideos',
types: 'Video,MusicVideo',
id: 'favoriteVideos',
shape: getThumbShape(),
preferThumb: true,
showTitle: true,
@@ -54,9 +54,9 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
overlayText: false,
centerText: true
}, {
name: "HeaderFavoriteArtists",
types: "MusicArtist",
id: "favoriteArtists",
name: 'HeaderFavoriteArtists',
types: 'MusicArtist',
id: 'favoriteArtists',
shape: getSquareShape(),
preferThumb: false,
showTitle: true,
@@ -66,9 +66,9 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
overlayPlayButton: true,
coverImage: true
}, {
name: "HeaderFavoriteAlbums",
types: "MusicAlbum",
id: "favoriteAlbums",
name: 'HeaderFavoriteAlbums',
types: 'MusicAlbum',
id: 'favoriteAlbums',
shape: getSquareShape(),
preferThumb: false,
showTitle: true,
@@ -78,9 +78,9 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
overlayPlayButton: true,
coverImage: true
}, {
name: "HeaderFavoriteSongs",
types: "Audio",
id: "favoriteSongs",
name: 'HeaderFavoriteSongs',
types: 'Audio',
id: 'favoriteSongs',
shape: getSquareShape(),
preferThumb: false,
showTitle: true,
@@ -88,7 +88,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
showParentTitle: true,
centerText: true,
overlayMoreButton: true,
action: "instantmix",
action: 'instantmix',
coverImage: true
}];
}
@@ -96,13 +96,13 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
function loadSection(elem, userId, topParentId, section, isSingleSection) {
var screenWidth = dom.getWindowSize().innerWidth;
var options = {
SortBy: "SortName",
SortOrder: "Ascending",
Filters: "IsFavorite",
SortBy: 'SortName',
SortOrder: 'Ascending',
Filters: 'IsFavorite',
Recursive: true,
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
Fields: 'PrimaryImageAspectRatio,BasicSyncInfo',
CollapseBoxSetItems: false,
ExcludeLocationTypes: "Virtual",
ExcludeLocationTypes: 'Virtual',
EnableTotalRecordCount: false
};
@@ -120,7 +120,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
var promise;
if ("MusicArtist" === section.types) {
if ('MusicArtist' === section.types) {
promise = ApiClient.getArtists(userId, options);
} else {
options.IncludeItemTypes = section.types;
@@ -128,25 +128,25 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
}
return promise.then(function (result) {
var html = "";
var html = '';
if (result.Items.length) {
if (html += '<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">', !layoutManager.tv && options.Limit && result.Items.length >= options.Limit) {
html += '<a is="emby-linkbutton" href="' + ("list.html?serverId=" + ApiClient.serverId() + "&type=" + section.types + "&IsFavorite=true") + '" class="more button-flat button-flat-mini sectionTitleTextButton">';
html += '<a is="emby-linkbutton" href="' + ('list.html?serverId=' + ApiClient.serverId() + '&type=' + section.types + '&IsFavorite=true') + '" class="more button-flat button-flat-mini sectionTitleTextButton">';
html += '<h2 class="sectionTitle sectionTitle-cards">';
html += globalize.translate(section.name);
html += "</h2>";
html += '<i class="material-icons chevron_right"></i>';
html += "</a>";
html += '</h2>';
html += '<span class="material-icons chevron_right"></span>';
html += '</a>';
} else {
html += '<h2 class="sectionTitle sectionTitle-cards">' + globalize.translate(section.name) + "</h2>";
html += '<h2 class="sectionTitle sectionTitle-cards">' + globalize.translate(section.name) + '</h2>';
}
html += "</div>";
html += '</div>';
if (enableScrollX()) {
var scrollXClass = "scrollX hiddenScrollX";
var scrollXClass = 'scrollX hiddenScrollX';
if (layoutManager.tv) {
scrollXClass += " smoothScrollX";
scrollXClass += ' smoothScrollX';
}
html += '<div is="emby-itemscontainer" class="itemsContainer ' + scrollXClass + ' padded-left padded-right">';
@@ -154,7 +154,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
html += '<div is="emby-itemscontainer" class="itemsContainer vertical-wrap padded-left padded-right">';
}
var supportsImageAnalysis = appHost.supports("imageanalysis");
var supportsImageAnalysis = appHost.supports('imageanalysis');
var cardLayout = (appHost.preferVisualCards || supportsImageAnalysis) && section.autoCardLayout && section.showTitle;
cardLayout = false;
html += cardBuilder.getCardsHtml(result.Items, {
@@ -172,7 +172,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
allowBottomPadding: !enableScrollX(),
cardLayout: cardLayout
});
html += "</div>";
html += '</div>';
}
elem.innerHTML = html;
@@ -183,7 +183,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
function loadSections(page, userId, topParentId, types) {
loading.show();
var sections = getSections();
var sectionid = getParameterByName("sectionid");
var sectionid = getParameterByName('sectionid');
if (sectionid) {
sections = sections.filter(function (s) {
@@ -199,10 +199,10 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
var i;
var length;
var elem = page.querySelector(".favoriteSections");
var elem = page.querySelector('.favoriteSections');
if (!elem.innerHTML) {
var html = "";
var html = '';
for (i = 0, length = sections.length; i < length; i++) {
html += '<div class="verticalSection section' + sections[i].id + '"></div>';
@@ -215,7 +215,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
for (i = 0, length = sections.length; i < length; i++) {
var section = sections[i];
elem = page.querySelector(".section" + section.id);
elem = page.querySelector('.section' + section.id);
promises.push(loadSection(elem, userId, topParentId, section, 1 === sections.length));
}

View File

@@ -1,21 +1,19 @@
define([], function () {
'use strict';
/* eslint-disable indent */
export function getFetchPromise(request) {
function getFetchPromise(request) {
var headers = request.headers || {};
const headers = request.headers || {};
if (request.dataType === 'json') {
headers.accept = 'application/json';
}
var fetchRequest = {
const fetchRequest = {
headers: headers,
method: request.type,
credentials: 'same-origin'
};
var contentType = request.contentType;
let contentType = request.contentType;
if (request.data) {
@@ -33,12 +31,12 @@ define([], function () {
headers['Content-Type'] = contentType;
}
var url = request.url;
let url = request.url;
if (request.query) {
var paramString = paramsToString(request.query);
const paramString = paramsToString(request.query);
if (paramString) {
url += '?' + paramString;
url += `?${paramString}`;
}
}
@@ -51,11 +49,11 @@ define([], function () {
function fetchWithTimeout(url, options, timeoutMs) {
console.debug('fetchWithTimeout: timeoutMs: ' + timeoutMs + ', url: ' + url);
console.debug(`fetchWithTimeout: timeoutMs: ${timeoutMs}, url: ${url}`);
return new Promise(function (resolve, reject) {
var timeout = setTimeout(reject, timeoutMs);
const timeout = setTimeout(reject, timeoutMs);
options = options || {};
options.credentials = 'same-origin';
@@ -63,50 +61,47 @@ define([], function () {
fetch(url, options).then(function (response) {
clearTimeout(timeout);
console.debug('fetchWithTimeout: succeeded connecting to url: ' + url);
console.debug(`fetchWithTimeout: succeeded connecting to url: ${url}`);
resolve(response);
}, function (error) {
clearTimeout(timeout);
console.debug('fetchWithTimeout: timed out connecting to url: ' + url);
console.debug(`fetchWithTimeout: timed out connecting to url: ${url}`);
reject();
reject(error);
});
});
}
/**
* @param params {Record<string, string | number | boolean>}
* @returns {string} Query string
*/
function paramsToString(params) {
var values = [];
for (var key in params) {
var value = params[key];
if (value !== null && value !== undefined && value !== '') {
values.push(encodeURIComponent(key) + "=" + encodeURIComponent(value));
}
}
return values.join('&');
return Object.entries(params)
// eslint-disable-next-line no-unused-vars
.filter(([_, v]) => v !== null && v !== undefined && v !== '')
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
.join('&');
}
function ajax(request) {
export function ajax(request) {
if (!request) {
throw new Error("Request cannot be null");
throw new Error('Request cannot be null');
}
request.headers = request.headers || {};
console.debug('requesting url: ' + request.url);
console.debug(`requesting url: ${request.url}`);
return getFetchPromise(request).then(function (response) {
console.debug('response status: ' + response.status + ', url: ' + request.url);
console.debug(`response status: ${response.status}, url: ${request.url}`);
if (response.status < 400) {
if (request.dataType === 'json' || request.headers.accept === 'application/json') {
return response.json();
} else if (request.dataType === 'text' || (response.headers.get('Content-Type') || '').toLowerCase().indexOf('text/') === 0) {
} else if (request.dataType === 'text' || (response.headers.get('Content-Type') || '').toLowerCase().startsWith('text/')) {
return response.text();
} else {
return response;
@@ -115,12 +110,8 @@ define([], function () {
return Promise.reject(response);
}
}, function (err) {
console.error('request failed to url: ' + request.url);
console.error(`request failed to url: ${request.url}`);
throw err;
});
}
return {
getFetchPromise: getFetchPromise,
ajax: ajax
};
});
/* eslint-enable indent */

View File

@@ -1,18 +0,0 @@
define(['multi-download'], function (multiDownload) {
'use strict';
return {
download: function (items) {
if (window.NativeShell) {
items.map(function (item) {
window.NativeShell.downloadFile(item);
});
} else {
multiDownload(items.map(function (item) {
return item.url;
}));
}
}
};
});

View File

@@ -1,18 +0,0 @@
define([], function () {
'use strict';
return {
fileExists: function (path) {
if (window.NativeShell && window.NativeShell.FileSystem) {
return window.NativeShell.FileSystem.fileExists(path);
}
return Promise.reject();
},
directoryExists: function (path) {
if (window.NativeShell && window.NativeShell.FileSystem) {
return window.NativeShell.FileSystem.directoryExists(path);
}
return Promise.reject();
}
};
});

View File

@@ -1,52 +1,59 @@
define(["dialogHelper", "globalize", "connectionManager", "events", "browser", "require", "emby-checkbox", "emby-collapse", "css!./style"], function (dialogHelper, globalize, connectionManager, events, browser, require) {
"use strict";
import dom from 'dom';
import dialogHelper from 'dialogHelper';
import globalize from 'globalize';
import connectionManager from 'connectionManager';
import events from 'events';
import 'emby-checkbox';
import 'emby-collapse';
import 'css!./style.css';
/* eslint-disable indent */
function renderOptions(context, selector, cssClass, items, isCheckedFn) {
var elem = context.querySelector(selector);
const elem = context.querySelector(selector);
if (items.length) {
elem.classList.remove("hide");
elem.classList.remove('hide');
} else {
elem.classList.add("hide");
elem.classList.add('hide');
}
var html = "";
let html = '';
html += '<div class="checkboxList">';
html += items.map(function (filter) {
var itemHtml = "";
var checkedHtml = isCheckedFn(filter) ? " checked" : "";
itemHtml += "<label>";
itemHtml += '<input is="emby-checkbox" type="checkbox"' + checkedHtml + ' data-filter="' + filter + '" class="' + cssClass + '"/>';
itemHtml += "<span>" + filter + "</span>";
itemHtml += "</label>";
let itemHtml = '';
const checkedHtml = isCheckedFn(filter) ? 'checked' : '';
itemHtml += '<label>';
itemHtml += `<input is="emby-checkbox" type="checkbox" ${checkedHtml} data-filter="${filter}" class="${cssClass}"/>`;
itemHtml += `<span>${filter}</span>`;
itemHtml += '</label>';
return itemHtml;
}).join("");
html += "</div>";
elem.querySelector(".filterOptions").innerHTML = html;
}).join('');
html += '</div>';
elem.querySelector('.filterOptions').innerHTML = html;
}
function renderFilters(context, result, query) {
if (result.Tags) {
result.Tags.length = Math.min(result.Tags.length, 50);
}
renderOptions(context, ".genreFilters", "chkGenreFilter", result.Genres, function (i) {
var delimeter = "|";
return (delimeter + (query.Genres || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
renderOptions(context, '.genreFilters', 'chkGenreFilter', result.Genres, function (i) {
const delimeter = '|';
return (delimeter + (query.Genres || '') + delimeter).includes(delimeter + i + delimeter);
});
renderOptions(context, ".officialRatingFilters", "chkOfficialRatingFilter", result.OfficialRatings, function (i) {
var delimeter = "|";
return (delimeter + (query.OfficialRatings || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
renderOptions(context, '.officialRatingFilters', 'chkOfficialRatingFilter', result.OfficialRatings, function (i) {
const delimeter = '|';
return (delimeter + (query.OfficialRatings || '') + delimeter).includes(delimeter + i + delimeter);
});
renderOptions(context, ".tagFilters", "chkTagFilter", result.Tags, function (i) {
var delimeter = "|";
return (delimeter + (query.Tags || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
renderOptions(context, '.tagFilters', 'chkTagFilter', result.Tags, function (i) {
const delimeter = '|';
return (delimeter + (query.Tags || '') + delimeter).includes(delimeter + i + delimeter);
});
renderOptions(context, ".yearFilters", "chkYearFilter", result.Years, function (i) {
var delimeter = ",";
return (delimeter + (query.Years || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
renderOptions(context, '.yearFilters', 'chkYearFilter', result.Years, function (i) {
const delimeter = ',';
return (delimeter + (query.Years || '') + delimeter).includes(delimeter + i + delimeter);
});
}
function loadDynamicFilters(context, apiClient, userId, itemQuery) {
return apiClient.getJSON(apiClient.getUrl("Items/Filters", {
return apiClient.getJSON(apiClient.getUrl('Items/Filters', {
UserId: userId,
ParentId: itemQuery.ParentId,
IncludeItemTypes: itemQuery.IncludeItemTypes
@@ -55,356 +62,372 @@ define(["dialogHelper", "globalize", "connectionManager", "events", "browser", "
});
}
/**
* @param context {HTMLDivElement} Dialog
* @param options {any} Options
*/
function updateFilterControls(context, options) {
var elems;
var i;
var length;
var query = options.query;
const query = options.query;
if (options.mode == "livetvchannels") {
context.querySelector(".chkFavorite").checked = query.IsFavorite == true;
context.querySelector(".chkLikes").checked = query.IsLiked == true;
context.querySelector(".chkDislikes").checked = query.IsDisliked == true;
if (options.mode === 'livetvchannels') {
context.querySelector('.chkFavorite').checked = query.IsFavorite === true;
context.querySelector('.chkLikes').checked = query.IsLiked === true;
context.querySelector('.chkDislikes').checked = query.IsDisliked === true;
} else {
elems = context.querySelectorAll(".chkStandardFilter");
for (i = 0, length = elems.length; i < length; i++) {
var chkStandardFilter = elems[i];
var filters = "," + (query.Filters || "");
var filterName = chkStandardFilter.getAttribute("data-filter");
chkStandardFilter.checked = filters.indexOf("," + filterName) != -1;
for (const elem of context.querySelectorAll('.chkStandardFilter')) {
const filters = `,${query.Filters || ''}`;
const filterName = elem.getAttribute('data-filter');
elem.checked = filters.includes(`,${filterName}`);
}
}
elems = context.querySelectorAll(".chkVideoTypeFilter");
for (i = 0, length = elems.length; i < length; i++) {
var chkVideoTypeFilter = elems[i];
var filters = "," + (query.VideoTypes || "");
var filterName = chkVideoTypeFilter.getAttribute("data-filter");
chkVideoTypeFilter.checked = filters.indexOf("," + filterName) != -1;
for (const elem of context.querySelectorAll('.chkVideoTypeFilter')) {
const filters = `,${query.VideoTypes || ''}`;
const filterName = elem.getAttribute('data-filter');
elem.checked = filters.includes(`,${filterName}`);
}
context.querySelector(".chk3DFilter").checked = query.Is3D == true;
context.querySelector(".chkHDFilter").checked = query.IsHD == true;
context.querySelector(".chk4KFilter").checked = query.Is4K == true;
context.querySelector(".chkSDFilter").checked = query.IsHD == true;
context.querySelector("#chkSubtitle").checked = query.HasSubtitles == true;
context.querySelector("#chkTrailer").checked = query.HasTrailer == true;
context.querySelector("#chkThemeSong").checked = query.HasThemeSong == true;
context.querySelector("#chkThemeVideo").checked = query.HasThemeVideo == true;
context.querySelector("#chkSpecialFeature").checked = query.HasSpecialFeature == true;
context.querySelector("#chkSpecialEpisode").checked = query.ParentIndexNumber == 0;
context.querySelector("#chkMissingEpisode").checked = query.IsMissing == true;
context.querySelector("#chkFutureEpisode").checked = query.IsUnaired == true;
for (i = 0, length = elems.length; i < length; i++) {
var chkStatus = elems[i];
var filters = "," + (query.SeriesStatus || "");
var filterName = chkStatus.getAttribute("data-filter");
chkStatus.checked = filters.indexOf("," + filterName) != -1;
context.querySelector('.chk3DFilter').checked = query.Is3D === true;
context.querySelector('.chkHDFilter').checked = query.IsHD === true;
context.querySelector('.chk4KFilter').checked = query.Is4K === true;
context.querySelector('.chkSDFilter').checked = query.IsHD === true;
context.querySelector('#chkSubtitle').checked = query.HasSubtitles === true;
context.querySelector('#chkTrailer').checked = query.HasTrailer === true;
context.querySelector('#chkThemeSong').checked = query.HasThemeSong === true;
context.querySelector('#chkThemeVideo').checked = query.HasThemeVideo === true;
context.querySelector('#chkSpecialFeature').checked = query.HasSpecialFeature === true;
context.querySelector('#chkSpecialEpisode').checked = query.ParentIndexNumber === 0;
context.querySelector('#chkMissingEpisode').checked = query.IsMissing === true;
context.querySelector('#chkFutureEpisode').checked = query.IsUnaired === true;
for (const elem of context.querySelectorAll('.chkStatus')) {
const filters = `,${query.SeriesStatus || ''}`;
const filterName = elem.getAttribute('data-filter');
elem.checked = filters.includes(`,${filterName}`);
}
}
/**
* @param instance {FilterDialog} An instance of FilterDialog
*/
function triggerChange(instance) {
events.trigger(instance, "filterchange");
}
function parentWithClass(elem, className) {
while (!elem.classList || !elem.classList.contains(className)) {
elem = elem.parentNode;
if (!elem) {
return null;
}
}
return elem;
events.trigger(instance, 'filterchange');
}
function setVisibility(context, options) {
if (options.mode == "livetvchannels" || options.mode == "albums" || options.mode == "artists" || options.mode == "albumartists" || options.mode == "songs") {
hideByClass(context, "videoStandard");
if (options.mode === 'livetvchannels' || options.mode === 'albums' || options.mode === 'artists' || options.mode === 'albumartists' || options.mode === 'songs') {
hideByClass(context, 'videoStandard');
}
if (enableDynamicFilters(options.mode)) {
context.querySelector(".genreFilters").classList.remove("hide");
context.querySelector(".officialRatingFilters").classList.remove("hide");
context.querySelector(".tagFilters").classList.remove("hide");
context.querySelector(".yearFilters").classList.remove("hide");
context.querySelector('.genreFilters').classList.remove('hide');
context.querySelector('.officialRatingFilters').classList.remove('hide');
context.querySelector('.tagFilters').classList.remove('hide');
context.querySelector('.yearFilters').classList.remove('hide');
}
if (options.mode == "movies" || options.mode == "episodes") {
context.querySelector(".videoTypeFilters").classList.remove("hide");
if (options.mode === 'movies' || options.mode === 'episodes') {
context.querySelector('.videoTypeFilters').classList.remove('hide');
}
if (options.mode == "movies" || options.mode == "series" || options.mode == "episodes") {
context.querySelector(".features").classList.remove("hide");
if (options.mode === 'movies' || options.mode === 'series' || options.mode === 'episodes') {
context.querySelector('.features').classList.remove('hide');
}
if (options.mode == "series") {
context.querySelector(".seriesStatus").classList.remove("hide");
if (options.mode === 'series') {
context.querySelector('.seriesStatus').classList.remove('hide');
}
if (options.mode == "episodes") {
showByClass(context, "episodeFilter");
if (options.mode === 'episodes') {
showByClass(context, 'episodeFilter');
}
}
function showByClass(context, className) {
var elems = context.querySelectorAll("." + className);
for (var i = 0, length = elems.length; i < length; i++) {
elems[i].classList.remove("hide");
for (const elem of context.querySelectorAll(`.${className}`)) {
elem.classList.remove('hide');
}
}
function hideByClass(context, className) {
var elems = context.querySelectorAll("." + className);
for (var i = 0, length = elems.length; i < length; i++) {
elems[i].classList.add("hide");
for (const elem of context.querySelectorAll(`.${className}`)) {
elem.classList.add('hide');
}
}
function enableDynamicFilters(mode) {
return mode == "movies" || mode == "series" || mode == "albums" || mode == "albumartists" || mode == "artists" || mode == "songs" || mode == "episodes";
return mode === 'movies' || mode === 'series' || mode === 'albums' || mode === 'albumartists' || mode === 'artists' || mode === 'songs' || mode === 'episodes';
}
return function (options) {
function onFavoriteChange() {
var query = options.query;
query.StartIndex = 0;
query.IsFavorite = !!this.checked || null;
triggerChange(self);
class FilterDialog {
constructor(options) {
/**
* @private
*/
this.options = options;
}
function onStandardFilterChange() {
var query = options.query;
var filterName = this.getAttribute("data-filter");
var filters = query.Filters || "";
filters = ("," + filters).replace("," + filterName, "").substring(1);
/**
* @private
*/
onFavoriteChange(elem) {
const query = this.options.query;
query.StartIndex = 0;
query.IsFavorite = !!elem.checked || null;
triggerChange(this);
}
if (this.checked) {
filters = filters ? filters + "," + filterName : filterName;
/**
* @private
*/
onStandardFilterChange(elem) {
const query = this.options.query;
const filterName = elem.getAttribute('data-filter');
let filters = query.Filters || '';
filters = (`,${filters}`).replace(`,${filterName}`, '').substring(1);
if (elem.checked) {
filters = filters ? `${filters},${filterName}` : filterName;
}
query.StartIndex = 0;
query.Filters = filters;
triggerChange(self);
triggerChange(this);
}
function onVideoTypeFilterChange() {
var query = options.query;
var filterName = this.getAttribute("data-filter");
var filters = query.VideoTypes || "";
filters = ("," + filters).replace("," + filterName, "").substring(1);
/**
* @private
*/
onVideoTypeFilterChange(elem) {
const query = this.options.query;
const filterName = elem.getAttribute('data-filter');
let filters = query.VideoTypes || '';
filters = (`,${filters}`).replace(`,${filterName}`, '').substring(1);
if (this.checked) {
filters = filters ? filters + "," + filterName : filterName;
if (elem.checked) {
filters = filters ? `${filters},${filterName}` : filterName;
}
query.StartIndex = 0;
query.VideoTypes = filters;
triggerChange(self);
triggerChange(this);
}
function onStatusChange() {
var query = options.query;
var filterName = this.getAttribute("data-filter");
var filters = query.SeriesStatus || "";
filters = ("," + filters).replace("," + filterName, "").substring(1);
/**
* @private
*/
onStatusChange(elem) {
const query = this.options.query;
const filterName = elem.getAttribute('data-filter');
let filters = query.SeriesStatus || '';
filters = (`,${filters}`).replace(`,${filterName}`, '').substring(1);
if (this.checked) {
filters = filters ? filters + "," + filterName : filterName;
if (elem.checked) {
filters = filters ? `${filters},${filterName}` : filterName;
}
query.SeriesStatus = filters;
query.StartIndex = 0;
triggerChange(self);
triggerChange(this);
}
function bindEvents(context) {
var elems;
var i;
var length;
var query = options.query;
/**
* @param context {HTMLDivElement} The dialog
*/
bindEvents(context) {
const query = this.options.query;
if (options.mode == "livetvchannels") {
elems = context.querySelectorAll(".chkFavorite");
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener("change", onFavoriteChange);
if (this.options.mode === 'livetvchannels') {
for (const elem of context.querySelectorAll('.chkFavorite')) {
elem.addEventListener('change', () => this.onFavoriteChange(elem));
}
context.querySelector(".chkLikes").addEventListener("change", function () {
const chkLikes = context.querySelector('.chkLikes');
chkLikes.addEventListener('change', () => {
query.StartIndex = 0;
query.IsLiked = this.checked ? true : null;
triggerChange(self);
query.IsLiked = chkLikes.checked ? true : null;
triggerChange(this);
});
context.querySelector(".chkDislikes").addEventListener("change", function () {
const chkDislikes = context.querySelector('.chkDislikes');
chkDislikes.addEventListener('change', () => {
query.StartIndex = 0;
query.IsDisliked = this.checked ? true : null;
triggerChange(self);
query.IsDisliked = chkDislikes.checked ? true : null;
triggerChange(this);
});
} else {
elems = context.querySelectorAll(".chkStandardFilter");
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener("change", onStandardFilterChange);
for (const elem of context.querySelectorAll('.chkStandardFilter')) {
elem.addEventListener('change', () => this.onStandardFilterChange(elem));
}
}
elems = context.querySelectorAll(".chkVideoTypeFilter");
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener("change", onVideoTypeFilterChange);
for (const elem of context.querySelectorAll('.chkVideoTypeFilter')) {
elem.addEventListener('change', () => this.onVideoTypeFilterChange(elem));
}
context.querySelector(".chk3DFilter").addEventListener("change", function () {
const chk3DFilter = context.querySelector('.chk3DFilter');
chk3DFilter.addEventListener('change', () => {
query.StartIndex = 0;
query.Is3D = this.checked ? true : null;
triggerChange(self);
query.Is3D = chk3DFilter.checked ? true : null;
triggerChange(this);
});
context.querySelector(".chk4KFilter").addEventListener("change", function () {
const chk4KFilter = context.querySelector('.chk4KFilter');
chk4KFilter.addEventListener('change', () => {
query.StartIndex = 0;
query.Is4K = this.checked ? true : null;
triggerChange(self);
query.Is4K = chk4KFilter.checked ? true : null;
triggerChange(this);
});
context.querySelector(".chkHDFilter").addEventListener("change", function () {
const chkHDFilter = context.querySelector('.chkHDFilter');
chkHDFilter.addEventListener('change', () => {
query.StartIndex = 0;
query.IsHD = this.checked ? true : null;
triggerChange(self);
query.IsHD = chkHDFilter.checked ? true : null;
triggerChange(this);
});
context.querySelector(".chkSDFilter").addEventListener("change", function () {
const chkSDFilter = context.querySelector('.chkSDFilter');
chkSDFilter.addEventListener('change', () => {
query.StartIndex = 0;
query.IsHD = this.checked ? false : null;
triggerChange(self);
query.IsHD = chkSDFilter.checked ? false : null;
triggerChange(this);
});
elems = context.querySelectorAll(".chkStatus");
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener("change", onStatusChange);
for (const elem of context.querySelectorAll('.chkStatus')) {
elem.addEventListener('change', () => this.onStatusChange(elem));
}
context.querySelector("#chkTrailer").addEventListener("change", function () {
const chkTrailer = context.querySelector('#chkTrailer');
chkTrailer.addEventListener('change', () => {
query.StartIndex = 0;
query.HasTrailer = this.checked ? true : null;
triggerChange(self);
query.HasTrailer = chkTrailer.checked ? true : null;
triggerChange(this);
});
context.querySelector("#chkThemeSong").addEventListener("change", function () {
const chkThemeSong = context.querySelector('#chkThemeSong');
chkThemeSong.addEventListener('change', () => {
query.StartIndex = 0;
query.HasThemeSong = this.checked ? true : null;
triggerChange(self);
query.HasThemeSong = chkThemeSong.checked ? true : null;
triggerChange(this);
});
context.querySelector("#chkSpecialFeature").addEventListener("change", function () {
const chkSpecialFeature = context.querySelector('#chkSpecialFeature');
chkSpecialFeature.addEventListener('change', () => {
query.StartIndex = 0;
query.HasSpecialFeature = this.checked ? true : null;
triggerChange(self);
query.HasSpecialFeature = chkSpecialFeature.checked ? true : null;
triggerChange(this);
});
context.querySelector("#chkThemeVideo").addEventListener("change", function () {
const chkThemeVideo = context.querySelector('#chkThemeVideo');
chkThemeVideo.addEventListener('change', () => {
query.StartIndex = 0;
query.HasThemeVideo = this.checked ? true : null;
triggerChange(self);
query.HasThemeVideo = chkThemeVideo.checked ? true : null;
triggerChange(this);
});
context.querySelector("#chkMissingEpisode").addEventListener("change", function () {
const chkMissingEpisode = context.querySelector('#chkMissingEpisode');
chkMissingEpisode.addEventListener('change', () => {
query.StartIndex = 0;
query.IsMissing = this.checked ? true : false;
triggerChange(self);
query.IsMissing = !!chkMissingEpisode.checked;
triggerChange(this);
});
context.querySelector("#chkSpecialEpisode").addEventListener("change", function () {
const chkSpecialEpisode = context.querySelector('#chkSpecialEpisode');
chkSpecialEpisode.addEventListener('change', () => {
query.StartIndex = 0;
query.ParentIndexNumber = this.checked ? 0 : null;
triggerChange(self);
query.ParentIndexNumber = chkSpecialEpisode.checked ? 0 : null;
triggerChange(this);
});
context.querySelector("#chkFutureEpisode").addEventListener("change", function () {
const chkFutureEpisode = context.querySelector('#chkFutureEpisode');
chkFutureEpisode.addEventListener('change', () => {
query.StartIndex = 0;
if (this.checked) {
if (chkFutureEpisode.checked) {
query.IsUnaired = true;
query.IsVirtualUnaired = null;
} else {
query.IsUnaired = null;
query.IsVirtualUnaired = false;
}
triggerChange(self);
triggerChange(this);
});
context.querySelector("#chkSubtitle").addEventListener("change", function () {
const chkSubtitle = context.querySelector('#chkSubtitle');
chkSubtitle.addEventListener('change', () => {
query.StartIndex = 0;
query.HasSubtitles = this.checked ? true : null;
triggerChange(self);
query.HasSubtitles = chkSubtitle.checked ? true : null;
triggerChange(this);
});
context.addEventListener("change", function (e) {
var chkGenreFilter = parentWithClass(e.target, "chkGenreFilter");
context.addEventListener('change', (e) => {
const chkGenreFilter = dom.parentWithClass(e.target, 'chkGenreFilter');
if (chkGenreFilter) {
var filterName = chkGenreFilter.getAttribute("data-filter");
var filters = query.Genres || "";
var delimiter = "|";
filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
const filterName = chkGenreFilter.getAttribute('data-filter');
let filters = query.Genres || '';
const delimiter = '|';
filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkGenreFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
query.StartIndex = 0;
query.Genres = filters;
triggerChange(self);
triggerChange(this);
return;
}
var chkTagFilter = parentWithClass(e.target, "chkTagFilter");
const chkTagFilter = dom.parentWithClass(e.target, 'chkTagFilter');
if (chkTagFilter) {
var filterName = chkTagFilter.getAttribute("data-filter");
var filters = query.Tags || "";
var delimiter = "|";
filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
const filterName = chkTagFilter.getAttribute('data-filter');
let filters = query.Tags || '';
const delimiter = '|';
filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkTagFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
query.StartIndex = 0;
query.Tags = filters;
triggerChange(self);
triggerChange(this);
return;
}
var chkYearFilter = parentWithClass(e.target, "chkYearFilter");
const chkYearFilter = dom.parentWithClass(e.target, 'chkYearFilter');
if (chkYearFilter) {
var filterName = chkYearFilter.getAttribute("data-filter");
var filters = query.Years || "";
var delimiter = ",";
filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
const filterName = chkYearFilter.getAttribute('data-filter');
let filters = query.Years || '';
const delimiter = ',';
filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkYearFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
query.StartIndex = 0;
query.Years = filters;
triggerChange(self);
triggerChange(this);
return;
}
var chkOfficialRatingFilter = parentWithClass(e.target, "chkOfficialRatingFilter");
const chkOfficialRatingFilter = dom.parentWithClass(e.target, 'chkOfficialRatingFilter');
if (chkOfficialRatingFilter) {
var filterName = chkOfficialRatingFilter.getAttribute("data-filter");
var filters = query.OfficialRatings || "";
var delimiter = "|";
filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
const filterName = chkOfficialRatingFilter.getAttribute('data-filter');
let filters = query.OfficialRatings || '';
const delimiter = '|';
filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkOfficialRatingFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
query.StartIndex = 0;
query.OfficialRatings = filters;
triggerChange(self);
return;
triggerChange(this);
}
});
}
var self = this;
self.show = function () {
return new Promise(function (resolve, reject) {
require(["text!./filterdialog.template.html"], function (template) {
var dlg = dialogHelper.createDialog({
show() {
return import('text!./filterdialog.template.html').then(({default: template}) => {
return new Promise((resolve) => {
const dlg = dialogHelper.createDialog({
removeOnClose: true,
modal: false
});
dlg.classList.add("ui-body-a");
dlg.classList.add("background-theme-a");
dlg.classList.add("formDialog");
dlg.classList.add("filterDialog");
dlg.classList.add('ui-body-a');
dlg.classList.add('background-theme-a');
dlg.classList.add('formDialog');
dlg.classList.add('filterDialog');
dlg.innerHTML = globalize.translateDocument(template);
setVisibility(dlg, options);
setVisibility(dlg, this.options);
dialogHelper.open(dlg);
dlg.addEventListener("close", resolve);
updateFilterControls(dlg, options);
bindEvents(dlg);
if (enableDynamicFilters(options.mode)) {
dlg.classList.add("dynamicFilterDialog");
var apiClient = connectionManager.getApiClient(options.serverId);
loadDynamicFilters(dlg, apiClient, apiClient.getCurrentUserId(), options.query);
dlg.addEventListener('close', resolve);
updateFilterControls(dlg, this.options);
this.bindEvents(dlg);
if (enableDynamicFilters(this.options.mode)) {
dlg.classList.add('dynamicFilterDialog');
const apiClient = connectionManager.getApiClient(this.options.serverId);
loadDynamicFilters(dlg, apiClient, apiClient.getCurrentUserId(), this.options.query);
}
});
});
};
};
});
}
}
/* eslint-enable indent */
export default FilterDialog;

View File

@@ -279,7 +279,7 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost',
var html = '';
html += '<div class="formDialogHeader">';
html += '<button is="paper-icon-button-light" class="btnCancel hide-mouse-idle-tv" tabindex="-1"><i class="material-icons arrow_back"></i></button>';
html += '<button is="paper-icon-button-light" class="btnCancel hide-mouse-idle-tv" tabindex="-1"><span class="material-icons arrow_back"></span></button>';
html += '<h3 class="formDialogHeaderTitle">${Filters}</h3>';
html += '</div>';

View File

@@ -117,7 +117,7 @@ define(['dom', 'scrollManager'], function (dom, scrollManager) {
return false;
}
if (elem.getAttribute('tabindex') === "-1") {
if (elem.getAttribute('tabindex') === '-1') {
return false;
}

View File

@@ -19,6 +19,10 @@
margin-bottom: 0;
}
.formDialogHeaderTitle:first-child {
margin-left: 1em;
}
.formDialogContent:not(.no-grow) {
flex-grow: 1;
}
@@ -46,10 +50,16 @@
right: 0;
display: flex;
position: absolute;
padding: 1.25em 1em;
padding: 1em 1em;
/* Without this emby-checkbox is able to appear on top */
z-index: 1;
align-items: flex-end;
justify-content: center;
flex-wrap: wrap;
}
.layout-tv .formDialogFooter {
align-items: center;
justify-content: center;
flex-wrap: wrap;
@@ -69,8 +79,12 @@
.formDialogFooterItem {
margin: 0.5em !important;
flex-grow: 1;
text-align: center;
flex-basis: 12em;
}
.layout-tv .formDialogFooterItem {
flex-grow: 1;
flex-basis: 0;
}

View File

@@ -1,103 +0,0 @@
define(['events', 'dom', 'apphost', 'browser'], function (events, dom, appHost, browser) {
'use strict';
function fullscreenManager() {
}
fullscreenManager.prototype.requestFullscreen = function (element) {
element = element || document.documentElement;
if (element.requestFullscreen) {
element.requestFullscreen();
return;
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
return;
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
return;
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
return;
}
// Hack - This is only available for video elements in ios safari
if (element.tagName !== 'VIDEO') {
element = document.querySelector('video') || element;
}
if (element.webkitEnterFullscreen) {
element.webkitEnterFullscreen();
}
};
fullscreenManager.prototype.exitFullscreen = function () {
if (!this.isFullScreen()) {
return;
}
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.webkitCancelFullscreen) {
document.webkitCancelFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
};
// TODO: use screenfull.js
fullscreenManager.prototype.isFullScreen = function () {
return document.fullscreen ||
document.mozFullScreen ||
document.webkitIsFullScreen ||
document.msFullscreenElement || /* IE/Edge syntax */
document.fullscreenElement || /* Standard syntax */
document.webkitFullscreenElement || /* Chrome, Safari and Opera syntax */
document.mozFullScreenElement; /* Firefox syntax */
};
var manager = new fullscreenManager();
function onFullScreenChange() {
events.trigger(manager, 'fullscreenchange');
}
dom.addEventListener(document, 'fullscreenchange', onFullScreenChange, {
passive: true
});
dom.addEventListener(document, 'webkitfullscreenchange', onFullScreenChange, {
passive: true
});
dom.addEventListener(document, 'mozfullscreenchange', onFullScreenChange, {
passive: true
});
function isTargetValid(target) {
return !dom.parentWithTag(target, ['BUTTON', 'INPUT', 'TEXTAREA']);
}
if (appHost.supports("fullscreenchange") && (browser.edgeUwp || -1 !== navigator.userAgent.toLowerCase().indexOf("electron"))) {
dom.addEventListener(window, 'dblclick', function (e) {
if (isTargetValid(e.target)) {
if (manager.isFullScreen()) {
manager.exitFullscreen();
} else {
manager.requestFullscreen();
}
}
}, {
passive: true
});
}
return manager;
});

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