Commit Graph

1369 Commits

Author SHA1 Message Date
Fernando Fernández
924701e84a
fix(JVirtual): loss of scroll link
A race condition between the worker and the scroll events might happen where the computed property doesn't have
access to the cached data before the last scroll event

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-12 00:36:50 +02:00
Fernando Fernández
02e55af04a
perf(validation): exchange nullish checks
Across our codebase it's more probable to deal with undefined than with null so it makes sense to check it first
and return the result as soon as possible

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-12 00:32:16 +02:00
Fernando Fernández
4b9f0ad406 perf(JVirtual): use WebWorker and memoization
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 23:57:04 +02:00
Fernando Fernández
38d4305950 refactor(JVirtual): extract to composable, add scrollTo function, prepare for virtual list
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 23:57:04 +02:00
Fernando Fernández
b81150dd2b refactor(JImg): remove unnecessary keyed children
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 23:57:04 +02:00
Fernando Fernández
85a2d3df18 perf(JTransition): use slow only for low refresh rate screens
I added the browser FPS calculation into what the
browser could be considered slow, but it's actually worse
to patch JTransition in low performance scenarios (like virtual scrolling) than leaving it as is.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 23:12:14 +02:00
Fernando Fernández
353a6784ad perf: add generic worker, divide blurhash worker
Canvas drawing and blurhash decoding are no longer blocking.

Blurhash decoding decoupling is needed for caching it later alongside the api store.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 23:12:14 +02:00
Fernando Fernández
eb94694469 refactor: remove unnecessary eslint-disable
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 23:12:14 +02:00
Fernando Fernández
d4eb678d85 refactor: remove width calculations in BlurhashImage
Get always the maximum quality available and don't mess with width calculations.
This reduces server load for image resize, but also it's a needed step for future PRs where images will need to be cached so the application can work offline

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 23:12:14 +02:00
Fernando Fernández
67e1ae1f8b refactor(backdrop): use primary image tag by default instead of backdrop
We don't display backdrops in any of the item pages, where the backdrop was used to calculate blurhash,
so it doesn't make any sense to use them. We use the image that is displayed most prominently, which is the primary one

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 22:51:43 +02:00
Fernando Fernández
fefb3ad04e refactor(title): use composable instead of route meta
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 22:51:43 +02:00
Fernando Fernández
81c5695a8e refactor(backdrop): use composable instead of route meta
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 22:51:43 +02:00
Fernando Fernández
fe09556739 chore(eslint): ignore arrow shorthand
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-11 22:51:43 +02:00
renovate[bot]
ab09e455ad
chore(deps): update npm development dependencies (#2393) 2024-07-11 20:30:16 +02:00
renovate[bot]
b13a326c1e
chore(deps): update dependency eslint-plugin-import-x to v3 (#2401) 2024-07-11 16:18:41 +00:00
renovate[bot]
88cb844630
chore(deps): update npm dependencies (#2397) 2024-07-05 18:51:17 +02:00
Weblate
a8fa177b95 chore(i18n): translate terms
Co-authored-by: Mirronth <mirronth@outlook.com>
Co-authored-by: wolong gl <wolong98@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/hu/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-07-04 17:04:27 -04:00
Fernando Fernández
5f50e440cc
style: automatic fix
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-02 23:56:43 +02:00
Fernando Fernández
6752a3fc74
chore(eslint): migrate promise plugin to flat config
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-02 23:56:35 +02:00
renovate[bot]
59ca218913
chore(deps): update dependency eslint to v9 (#2390) 2024-07-02 21:19:14 +00:00
renovate[bot]
da1011dc84
chore(deps): update npm development dependencies (#2364) 2024-07-02 21:02:53 +00:00
Fernando Fernández
329c3a95be
fix(eslint): incorrectly passed tseslint parser, upgrade to rc-v8
Signed-off-by: GitHub <noreply@github.com>
2024-07-02 20:41:57 +00:00
Fernando Fernández
e5e988e01b
fix: use pre watchers with vueuse until
By default, Vue watchers use pre flush timing. However, by default, VueUse uses sync for it's until composable

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-02 01:47:06 +02:00
Fernando Fernández
f7f93ec581
refactor: parallel latest data fetching, revert ff701d0
Passing isPlayed true does not show played + unplayed items together, but only played items.
It makes more sense to display both, but only played is probably the worst decision, so leaving the old defaults

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-01 21:56:55 +02:00
renovate[bot]
bcd82f90e1
chore(deps): update npm dependencies (#2388) 2024-07-01 19:36:35 +00:00
Fernando Fernández
cdfee6cc27 refactor: remove unnecessary conditional, default to enableUserData
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-01 21:16:51 +02:00
Fernando Fernández
ff701d0cb9 refactor: display played items in all latest media queries
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-01 21:16:51 +02:00
Fernando Fernández
6ce94388e7 fix: re-rendering at home page
* This caused swiper progress bar to not be shown correctly
* The issue was that latestFromLibrary was called inside the array, not passed as a promise.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-01 21:16:51 +02:00
Fernando Fernández
5c1c86e69a refactor: use until composable from VueUse to simplify instead of effectScopes
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-07-01 21:16:51 +02:00
Weblate
b5da26fa19 chore(i18n): translate terms
Co-authored-by: Blackspirits <blackspirits@gmail.com>
Co-authored-by: Larvitar <chrycm1995@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pt/
Translation: Jellyfin Vue/Jellyfin Vue
2024-06-25 03:41:32 -04:00
Fernando Fernández
23dd83ad0c
chore(tsconfig): don't truncate errors
This has been one of my major pain points when working with TypeScript and TIL how to fix it!

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-23 22:59:35 +02:00
Fernando Fernández
a29d55d77b
style: automatic eslint fix
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-23 11:35:38 +02:00
Fernando Fernández
940915af9f
chore(eslint): migrate more plugins to flat config
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-23 11:35:28 +02:00
Fernando Fernández
60160e2b66
refactor(JSafeHtml): use createVNode
This allows us to directly insert the HTML without adding any extra DOM element

Sources:
* https://discord.com/channels/325477692906536972/568037134968160256/1254047268441690182
* https://discord.com/channels/325477692906536972/568037134968160256/1254210953415753738

createVnode is internally used by createStaticVNode:
edf263847e/packages/runtime-core/src/vnode.ts (L742)

However, it requires a 2nd parameter, which is the number of nodes we want to insert,
which is unknown/not trivial to calculate at runtime.
According to the comment in the function, that's only needed for hydration (SSR),
so it should be safe for us as we're SPA only.

Here's a playground:
https://play.vuejs.org/#__PROD__eNp9UsFu2zAM/RVBGFAH9Zxs3S6eHaAbCqw9dEUz7GRgVW06divLgkRnGQL/eym5dhyg6E0i3yMfyXfgl1pHuw54zBObm1ojs4CdXmeqbnRrkB2YrYSU7b97KEOWt43uEArWs9K0DTsj7tmEvdmIEn5iI1+T0XKKuCYEzFTeKotUp1MIhqWz6sFqkSnqfu0yOyGDYMHS9QiNKNLB+XnIPq1Wq8W3sVLl2qWTsFfSQ/K4/nA4ofbJ8nH9QC2S5TApzUgfhEZLgUA/xpLjBLEvvKRwspxheMjRUuey3kZPtlW0uINjZtwpqCWYXxprUpbxmPmMy/kRb3wMTQfhGM8ryJ/fiD/ZvYtl/M6ApWVAxqccCrMFHNJXm1vY03tKNm3RSUK/k7wH28rOaRxg3ztVkOwZzqu99iet1fa3vdojKDsO5YQ6ZO/xGafD/nhn9KPci+iL52Wqpy2eOGNmPynUNiUaVZmbcIMC65wMaIAO8ee2LSBk1YkNyRJEcAcvRQ7szrTaDjrcKWNm0dA4hCIFo3uO905ZoB0jHojeRVUwaxeMEmhfUNYKipB5RuTKL0IS+Qz/41mM9c6mmTqOWqsKTI2XiMZSx1JICx4Cez8nFRadnMmi5MyutLa/OzDuFLSxi+hrtPoopK5E9Jn3L3UsSes=

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-23 01:25:35 +02:00
Fernando Fernández
6cf9bbd4ec
fix(LoginForm): don't show change user button when no public users exist (#2387)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-22 21:47:13 +00:00
renovate[bot]
dc99ab4acb
chore(deps): update npm development dependencies (major) (#2375) 2024-06-22 23:36:40 +02:00
renovate[bot]
2fe6f99408
chore(deps): update dependency vue to v3.4.30 (#2379) 2024-06-22 21:03:47 +00:00
Fernando Fernández
70a406dc15 refactor(icon): replace with SVG
Use the icon from jellyfin-ux repository (https://github.com/jellyfin/jellyfin-ux/blob/master/branding/SVG/icon-transparent-vue.svg)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-22 22:34:03 +02:00
Fernando Fernández
70ce3e64de
fix(time): ends at not taking current time into account (#2384)
Removed all the computed effects because all the time functions were (and will probably be) always used inside templates.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-22 01:13:25 +00:00
Fernando Fernández
909886227f perf: skip transition on low FPS, improve input device detection
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-21 18:31:48 +02:00
Fernando Fernández
8166599310 fix(logout): delay api store cleanup
This also fixes crashes during logout

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-21 18:31:48 +02:00
Fernando Fernández
c6f8d7a62e perf(blurhash): draw canvas offscreen
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-21 18:31:48 +02:00
Fernando Fernández
16a8b88d60 refactor(vue-router): remove vue-router/auto usage
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-21 18:18:49 +02:00
Fernando Fernández
2158d2654d chore(deps): remove radix-vue, upgrade vue-router
We added Radix-Vue to use their Slot component, but we have our own which is functional and more performant. I'm also still not convinced they must be our way forward for replacing Vuetify.

Also upgrade vue-router dependencies given our lockfile is currently broken due to eslint v9 and we still need manual changes to remove all the `vue-router/auto` imports (they're in another commit)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-21 18:18:49 +02:00
Fernando Fernández
c46af59856
fix(JSafeHtml): not correctly passing innerHTML
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-21 13:09:10 +02:00
Weblate
f331747733 chore(i18n): translate terms
Co-authored-by: AfmanS <andres.c.fernandes@gmail.com>
Co-authored-by: Blackspirits <blackspirits@gmail.com>
Co-authored-by: Emanuel Santos <emaeva4@gmail.com>
Co-authored-by: Jean Franz <franzjean37@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pt/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pt_BR/
Translation: Jellyfin Vue/Jellyfin Vue
2024-06-18 02:36:47 -04:00
renovate[bot]
9f25a92bc5
chore(deps): update dependency eslint-plugin-unicorn to v54 (#2373) 2024-06-14 18:54:29 +02:00
renovate[bot]
9c9b56a96f
chore(deps): update dependency vue to v3.4.29 (#2374) 2024-06-14 18:51:03 +02:00
Fernando Fernández
9998e645cc
chore(tsc): increase type checking speed by reusing type graph between checks
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-14 18:23:17 +02:00
renovate[bot]
39104c88f6
chore(deps): update dependency vue to v3.4.28 (#2372) 2024-06-14 10:07:49 +00:00
Fernando Fernández
ea94171be1
chore(eslint): name anonymous configs, migrate i18n to flat config
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-14 00:55:33 +02:00
Fernando Fernández
48c8c7b31b
refactor(eslint): migrate to eslint-plugin-import-x
Looks like the original author is no longer as interested in maintaining the plugin: https://github.com/import-js/eslint-plugin-import/issues/2948

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-14 00:55:33 +02:00
renovate[bot]
ad817a34e7
chore(deps): update @vueuse to v10.11.0 (#2367) 2024-06-13 22:42:57 +00:00
Fernando Fernández
60cca0c07e
refactor(eslint): migrate from globify to eslint-config-glat-ignore
Much better to use a plugin explicitly aimed to work with ESLint. Is also maintained by antfu, which gives extra confidence

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-13 09:27:34 +02:00
Fernando Fernández
4257584677
refctor(tsconfig): force moduleDetection
As suggested in https://github.com/typescript-eslint/typescript-eslint/issues/6337

All our files are modules, there is no CJS, so this should be safe to enable regardless and might find in the future potential problems in case some CJS code is wrongly added

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-13 09:26:27 +02:00
renovate[bot]
eb5efcfdd4
chore(deps): update dependency marked to v13 (#2368) 2024-06-13 07:16:22 +00:00
Weblate
190fab9324 chore(i18n): translate terms
Co-authored-by: Turtleindeed <Turtleindeed@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nb_NO/
Translation: Jellyfin Vue/Jellyfin Vue
2024-06-11 16:30:42 -04:00
renovate[bot]
9baa61dc9c
chore(deps): update dependency vue-router to v4.3.3 (#2366) 2024-06-10 17:51:03 +00:00
renovate[bot]
3e62d8debc
chore(deps): update dependency uuid to v10 (#2363) 2024-06-10 19:41:14 +02:00
Fernando Fernández
259e633a4b
chore: automatic eslint fix
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-09 13:02:31 +02:00
Fernando Fernández
f00e53575a
refactor: finish eslint v9
There is still a missing plugin and typescript-eslint v8 needs to be published,
but this is already in a good enough state to be updated and there
are only minor things missing.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-09 13:02:24 +02:00
renovate[bot]
cb6e71c268 chore(deps): update npm development dependencies 2024-06-09 12:50:05 +02:00
Fernando Fernández
91f8be0431 refactor: post dev-deps updates
* Add unicorn/explicit-length-check to disabled rules, so we can use the performant versions of length checking
* Add warn handler to Vite's analyze mode, so CIRCULAR_IMPORTS and other warnings can be picked quickly
* Remove the now unnecessary @ts-expect-error comment

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-09 11:42:56 +02:00
renovate[bot]
a331034199 chore(deps): update npm development dependencies 2024-06-09 11:42:56 +02:00
Fernando Fernández
e38f03576f fix(types): errors after SDK update
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-08 23:02:35 +02:00
renovate[bot]
17cfbef8da chore(deps): update npm dependencies 2024-06-08 23:02:35 +02:00
Fernando Fernández
9097349d0e perf: optimize collection length checking
Check https://jsperf.app/kopiro for  of the different algorithms

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-08 17:33:12 +02:00
Fernando Fernández
d2eeb92dd5 perf: JSafeHtml, JSlot, JView
* JSlot and JSafeHtml are now functional components
* JView is the new name of AppComp to be in par with other J* components

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-08 17:33:12 +02:00
Weblate
f8d483e138 chore(i18n): translate terms
Co-authored-by: Justin <derjustin05@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translation: Jellyfin Vue/Jellyfin Vue
2024-06-03 21:25:34 -04:00
Weblate
40065f0e81 chore(i18n): translate terms
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/el/
Translation: Jellyfin Vue/Jellyfin Vue
2024-06-02 12:39:42 -04:00
Weblate
b3bf3d8a56 chore(i18n): translate terms
Co-authored-by: Melissa Helena Tambs <melissa.tambs@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nb_NO/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-30 04:19:37 -04:00
Weblate
eb6979cf33 chore(i18n): translate terms
Co-authored-by: Melissa Helena Tambs <melissa.tambs@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nb_NO/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-30 02:28:58 -04:00
Weblate
bc7e289266 chore(i18n): translate terms
Co-authored-by: DJSweder <djsweder@gmail.com>
Co-authored-by: queeup <queeup@zoho.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/cs/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-26 13:10:31 -04:00
Weblate
cbc36cb466 chore(i18n): translate terms
Co-authored-by: queeup <queeup@zoho.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-18 18:15:35 -04:00
Weblate
64983eeb66 chore(i18n): translate terms
Co-authored-by: Germán Pajarero <germanpajareropino@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ca/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/eo/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/es/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/it/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sv/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-16 02:54:54 -04:00
Weblate
5dd5f18482 chore(i18n): translate terms
Co-authored-by: Elias Laursen <Elias.vejby@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/da/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-14 17:43:08 -04:00
Fernando Fernández
2fe7aa8440
fix(AudioControls): downgrade Vuetify to fix persistent footer (#2350)
When all the queue is finished, the footer gets stuck in the middle of the page. Vuetify changed something that makes Vue's v-if not work properly.

Given I'm going to remove Vuetify from the app sooner than later, I'm removing it from renovate dependency updates

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-14 20:22:10 +02:00
Weblate
26345db6c9 chore(i18n): translate terms
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: queeup <queeup@zoho.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-13 12:26:48 -04:00
Fernando Fernández
9cdda6d3e4
feat(settings): remove deprecated fields from 10.9 (#2347)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-12 18:18:17 +00:00
Weblate
4f7ac9249e chore(i18n): translate terms
Co-authored-by: mLgz0rn <mLgz0rn@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/da/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-12 12:02:04 -04:00
renovate[bot]
f966909e57
chore(deps): update npm dependencies (#2339) 2024-05-11 18:15:09 +02:00
renovate[bot]
ce724c88e9
chore(deps): update npm development dependencies (#2342) 2024-05-11 10:38:50 +02:00
Fernando Fernández
94f6c6db70 refactor: remove lighter fonts
After the switch to Figtree, some texts appear really thin (given Figtree is a lighter font)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-10 20:16:33 +02:00
Fernando Fernández
c8301e46b0 feat(ui): replace inter with figtree
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-10 20:16:33 +02:00
renovate[bot]
e132b967df
chore(deps): update npm development dependencies (#2338) 2024-05-09 08:44:54 +02:00
Fernando Fernández
326402176a
refactor(App): extract common component tree
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-08 03:08:43 +02:00
Fernando Fernández
231ddd83e2
feat(JTransition): add slide-y transition
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-08 03:05:53 +02:00
Fernando Fernández
717af1817a
refactor(meta): put layout-related properties under layout object
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-08 03:05:49 +02:00
Fernando Fernández
feb624e325 fix(PiPVideoPlayer): button usage
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-07 20:32:19 +02:00
Fernando Fernández
17bc155a01 refactor(player-element): use ref to track mounting state
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-07 20:32:19 +02:00
Fernando Fernández
70c7bef518 refactor(playback): extract isVideo and isAudio to PlaybackManager
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-07 20:32:19 +02:00
renovate[bot]
496fd01622
chore(deps): update npm development dependencies (#2333) 2024-05-07 14:55:19 +00:00
renovate[bot]
19176f59f9
chore(deps): update npm dependencies (#2337) 2024-05-07 14:43:57 +00:00
Weblate
7b34f12526 chore(i18n): translate terms
Co-authored-by: Achim Walz <achim@aalso-walz.de>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-07 08:35:35 -04:00
Weblate
d485d3a73a chore(i18n): translate terms
Co-authored-by: Alperen İsa Nalbant <afacanc38@vuhuv.com>
Co-authored-by: BotBlake <B0TBlake@protonmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-07 05:51:29 -04:00
Fernando Fernández
c690d83aa6
fix(splashscreen): overflow on mobile (#2334)
Signed-off-by: GitHub <noreply@github.com>
2024-05-06 23:52:01 +00:00
Fernando Fernández
cf94740c94
fix(AddServer): button not reacting to click
Side-effect of #2329

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-06 18:13:05 +02:00
renovate[bot]
43cd480400
chore(deps): update dependency unplugin-vue-macros to v2.9.2 (#2330) 2024-05-05 22:19:46 +00:00
Fernando Fernández
17b5b9a02c
refactor(css): use more unocss classes
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-06 00:07:03 +02:00
Fernando Fernández
646da43cb2 feat(jApp): initial implementation
* JApp is the main wrapper that will set all the scripted CSS vars for the whole application. It will also handle all the theming.
* Remove class-based approach in splashscreen and use CSS vars instead

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-06 00:02:13 +02:00
Fernando Fernández
ca41f8410d
refactor(playback-manager): reduce some logic verbosity
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-05 20:10:36 +02:00
Fernando Fernández
34d3001098
fix(carousel): styles after sass removal, lint errors
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-05 17:24:52 +02:00
Fernando Fernández
6e43f60871 chore: update components.d.ts
The generation pattern of this file changed after an update to unplugin-vue-components.

The prettier-ignore statement changed its position basically.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-05 11:14:10 +02:00
Fernando Fernández
4ed587b5a8 refactor: remove sass
We're not using sass for anything, and having it doing nothing just increases our building times

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-05 11:14:10 +02:00
Weblate
0486421801 chore(i18n): translate terms
Co-authored-by: HiPotionQ8 <faleh.m@gmail.com>
Co-authored-by: Szilágyi Kristóf <kriny96@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ar/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/hu/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-04 21:02:04 -04:00
Fernando Fernández
f956b4b91c refactor(lodash): remove upperFirst
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-03 13:59:59 +02:00
Fernando Fernández
1e2acac0a6 fix(types): errors
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-03 13:59:59 +02:00
Fernando Fernández
5b929d8ce9 refactor: remove isEmpty from login, fix one type error
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-03 13:59:59 +02:00
Weblate
1e19cba8ba chore(i18n): translate terms
Co-authored-by: An Person <jellyfin.cornmeal017@aleeas.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/da/
Translation: Jellyfin Vue/Jellyfin Vue
2024-05-02 13:59:14 -04:00
renovate[bot]
003b51b52d
chore(deps): update dependency vuetify to v3.6.3 (#2326) 2024-05-02 09:46:39 +00:00
renovate[bot]
a0e89ceb8b
chore(deps): update npm development dependencies (#2324) 2024-05-02 11:27:11 +02:00
Fernando Fernández
5aa16adb0e refactor(auth): handle branding data and public users in store
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-01 17:46:54 +02:00
Fernando Fernández
2e193345f4 refactor: remote plugin file structure
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-01 17:46:54 +02:00
Fernando Fernández
fb672c6643 refactor(JTransition): avoid double mounting after splash, remove JNoop
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-01 17:46:54 +02:00
Fernando Fernández
b76cd5854f refactor(auth): use arrow functions for correct this scoping
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-01 17:46:54 +02:00
Fernando Fernández
24aa51019e feat(JSplashscreen): add buttons and spinner, remove blank flashes
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-01 17:46:54 +02:00
Fernando Fernández
97bd97ce2c refactor(JSplashscreen): move control to Vue after its load
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-05-01 17:46:54 +02:00
Weblate
ab69c2e28a chore(i18n): translate terms
Co-authored-by: An Person <jellyfin.cornmeal017@aleeas.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/da/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-30 17:21:50 -04:00
renovate[bot]
09d4c80af9
chore(deps): update dependency dompurify to v3.1.2 (#2325) 2024-04-30 12:04:34 +02:00
renovate[bot]
1065ab9ff1
chore(deps): update npm development dependencies (#2318) 2024-04-29 09:13:20 +00:00
renovate[bot]
4b97db40ff
chore(deps): update npm dependencies (#2321) 2024-04-29 09:01:30 +00:00
renovate[bot]
3b1093d78a
chore(deps): update dependency dompurify to v3.1.1 (#2320)
This is a security update according to the changelog
2024-04-26 13:59:12 +02:00
renovate[bot]
191bc69e71
chore(deps): update npm development dependencies (#2310) 2024-04-24 19:23:20 +00:00
renovate[bot]
16e5755896
chore(deps): update dependency vue to v3.4.25 (#2315) 2024-04-24 19:10:19 +00:00
Weblate
966461141f chore(i18n): translate terms
Co-authored-by: Sh_Cby <cby@live.cn>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-24 07:02:31 -04:00
Weblate
39fc7c458f chore(i18n): translate terms
Co-authored-by: Sh_Cby <cby@live.cn>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-23 23:20:56 -04:00
renovate[bot]
8d4748293e
chore(deps): update npm dependencies (#2313) 2024-04-23 20:19:52 +02:00
Weblate
d789070fa2 chore(i18n): translate terms
Co-authored-by: Lukáš Kucharczyk <lukas@kucharczyk.xyz>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/cs/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-23 02:29:53 -04:00
Fernando Fernández
e3372e3d91
revert: "feat(VIrtualGrid): add content visibility style to virtual elements"
This reverts commit 6c210e6a8f.

I thought that the rule would help the browser to keep up while scrolling
really fast, but I saw no difference in my desktop system (2600X, 48 GB RAM)
and it even was worse in less performant devices, like my
Surface Go 3, which had noticeable gaps while scrolling.

Given that in those situations is better to let the browser
paint everything and we're already manually handling
how many components should be render at any given time,
there's no need to give further work (decide what to skip
and what not) to the browser in this performance-critical
scenario.
2024-04-19 16:20:59 +00:00
Weblate
f2d26da1a7 chore(i18n): translate terms
Co-authored-by: lostmypillow <paranoidjy@protonmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hant/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-19 06:06:37 -04:00
Weblate
9935149d58 chore(i18n): translate terms
Co-authored-by: Jaakko Rantamäki <rantamaki@live.fi>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fi/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-18 10:17:33 -04:00
Fernando Fernández
3149266062
feat(JSafeHtml): create and use component (#2312) 2024-04-18 10:32:25 +00:00
renovate[bot]
69f987468b
chore(deps): update npm dependencies (#2309) 2024-04-18 10:27:00 +02:00
Fernando Fernández
87b7da5dc3
refactor: fix SonarCloud code smells
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 18:25:27 +02:00
Fernando Fernández
f816728e05
style: automatic eslint fix
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 11:25:09 +02:00
renovate[bot]
a5cbb848d7
chore(deps): update npm dependencies (#2306) 2024-04-16 11:06:31 +02:00
renovate[bot]
afbc4915d2
chore(deps): update npm development dependencies (#2304) 2024-04-16 11:04:22 +02:00
Fernando Fernández
6c210e6a8f
feat(VIrtualGrid): add content visibility style to virtual elements
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 10:56:42 +02:00
Fernando Fernández
89b2b1ef98
feat(app): use route.name as page component key
This way, changing the params of the route doesn't retrigger a complete navigation. The old keying system was there so we could ease the migration to Vue 3,
but the composable essentially handles all the heavy lifting for us

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 10:56:42 +02:00
Fernando Fernández
963f41bf13
feat(JTransition): share classes, use will-change
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 10:56:42 +02:00
Fernando Fernández
8fbc3addde
style: manual lint fix
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 10:56:42 +02:00
Fernando Fernández
c84097d9ad
refactor(eslint): migrate to flat config
The old configuration file has been left to keep a track
of rules that have not been migrated to the new format, either
because they're worthless (like the ones from the promise plugin,
which are now cincluded by TypeScript) or too annoying for the
minor added benefit.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 10:55:39 +02:00
Fernando Fernández
62fa3eb146
chore: update comments
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-16 09:46:00 +02:00
Weblate
f97a201dbc chore(i18n): translate terms
Co-authored-by: Rodrigo Tavares <rodrigost23@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pt_BR/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-13 22:15:24 -04:00
Fernando Fernández
1c012c41a2
fix(unocss): wrong styles
Add the uno- prefix to classes and fix IntelliSense

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-12 01:17:55 +02:00
Fernando Fernández
49930ad5ea
refactor(AudioControls): remove unnecessary VAvatar (#2301)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 21:21:39 +00:00
Fernando Fernández
140d4a88e9
fix(JImg): preload in Safari (#2297)
The bug in Safari was due to an incorrect usage of the `rel` attribute.

Fixes #2291

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 20:42:22 +00:00
Fernando Fernández
c827eb3d7f
fix(BlurhashImage): proper use of JImg once prop (#2298)
Needed so item changes pass properly through all the loading states of JImg,
but window size changes does it only on first load.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 16:36:35 +00:00
renovate[bot]
b185c2db87
chore(deps): update npm dependencies (#2274) 2024-04-11 14:27:07 +00:00
Fernando Fernández
942eebe8bc fix(JTransition): add workaround for Suspense scoping issue
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 16:15:45 +02:00