Commit Graph

1307 Commits

Author SHA1 Message Date
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
Fernando Fernández
5944de0591 refactor(JImg): remove useless classes, div handling
We're not using the cover prop anywhere and handling that extra case was additional logic at runtime
that we could save for a component that it's used almost everywhere.

In case we need to reintroduce it back, this commit can be reverted.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 16:15:45 +02:00
Fernando Fernández
3cf776d7e9 feat: switch from VImg to JImg
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 16:15:45 +02:00
Fernando Fernández
1d20465bbf feat: implement JTransition across the app
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 16:15:45 +02:00
Fernando Fernández
451b0d8cef feat: create initial JTransition component
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-11 16:15:45 +02:00
Weblate
4be82de687 chore(i18n): translate terms
Co-authored-by: ROYJohan08 <ROY.Johan.08@gmail.com>
Co-authored-by: bene toffix <benetoffix@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ca/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-09 15:27:27 -04:00
Fernando Fernández
fd52f8941b
refactor: fix misused promises (#2294)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-09 16:51:25 +00:00
Weblate
2d17eb7adb chore(i18n): translate terms
Co-authored-by: Bas <44002186+854562@users.noreply.github.com>
Co-authored-by: iNc <huber.bene@icloud.com>
Co-authored-by: queeup <queeup@zoho.com>
Co-authored-by: stanol <stanol777@gmail.com>
Co-authored-by: throny <throny@users.noreply.translate.jellyfin.org>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/uk/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-07 08:04:51 -04:00
Fernando Fernández
9a0225bd73
chore: disable unicorn/import-style
We use node functions only for building and we don't use a lot of them
from the same package (which is the reason given in the original rule for enforcing default exports), so
it's better for us to keep the rule disabled and keep using the individual functions

Signed-off-by: GitHub <noreply@github.com>
2024-04-05 11:16:32 +00:00
renovate[bot]
974f879519
chore(deps): update dependency eslint-plugin-unicorn to v52 (#2284) 2024-04-05 09:41:53 +00:00
renovate[bot]
c6d05228fe
chore(deps): update dependency vite to v5.1.7 [security] (#2287) 2024-04-05 11:26:01 +02:00
Fernando Fernández
9ead421b25
fix(playback): playback reporting (#2286)
Due to throttling, status events were being skipped.

Fixes #2285
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-04 01:09:50 +00:00
Weblate
40b3fd2797 chore(i18n): translate terms
Co-authored-by: Kityn <kitynska@gmail.com>
Co-authored-by: stanol <stanol777@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/uk/
Translation: Jellyfin Vue/Jellyfin Vue
2024-04-02 14:56:28 -04:00
Fernando Fernández
c25f047388
perf&fix: avoid multiple backdrop rerenders, backdrop persistent after login page
Meta handling was reverted so it happens
again at any time, regardless of query or param changes.
The extra logic is negligible and we avoid edge cases where the path might be the same (like the first navigation)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-02 02:52:21 +02:00
Fernando Fernández
9f7dd5b9f1
fix: wrong defaulting of meta (#2282)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-01 15:39:42 +00:00
Weblate
d1a73cffd3 chore(i18n): translate terms
Co-authored-by: Tomás Palma <tomas@tomasps.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/es/
Translation: Jellyfin Vue/Jellyfin Vue
2024-03-31 23:25:36 -04:00
Fernando Fernández
9600525033
fix: WebAudio not being properly disposed when reinitiating playback (#2280)
This could be reproduced by switching tracks initiating new reproductions (for example, by clicking in individual tracks inside an album).

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-30 20:19:46 +00:00
Fernando Fernández
55d5d37327
refactor: remove useless conditionals
Fix code scanning issues #246 and #259

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-29 17:27:40 +01:00
Fernando Fernández
19abb4dfa7
fix: JImg attrs warnings
The attrs are correctly inherited, but for some reason, Vue doesn't like the v-bind="$attrs" in dynamic components
it seems.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-29 11:40:30 +01:00
Fernando Fernández
dfcda39290
fix: z-index of PeopleList icons
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-29 10:32:01 +01:00
Fernando Fernández
32f333f5ab
fix: unnecessary icon rendering
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-29 10:31:56 +01:00
Fernando Fernández
b688424a3b
perf: reduce default blurhash quality (#2279)
Signed-off-by: GitHub <noreply@github.com>
2024-03-29 09:45:52 +01:00
Fernando Fernández
5f94d9af62 feat: preserve pitch on playback rate
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-29 01:24:43 +01:00
Fernando Fernández
35d584cc26 refactor(playbackRate): switch from VSelect to VCombobox
Signed-off-by: GitHub <noreply@github.com>
2024-03-29 01:24:43 +01:00
JVT038
7991b730f7 feat(playbackrate): initial implementation 2024-03-29 01:24:43 +01:00
Fernando Fernández
7a58162826
refactor: image preloading, unnecessary load states (#2277)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-29 00:10:21 +00:00
Weblate
a32170f2f7 chore(i18n): translate terms
Co-authored-by: Damosso <r.damhuis@rik442.nl>
Co-authored-by: Kityn <kitynska@gmail.com>
Co-authored-by: Lukáš Kucharczyk <lukas@kucharczyk.xyz>
Co-authored-by: Thibaud Melano <thibaudmelano@gmail.com>
Co-authored-by: queeup <queeup@zoho.com>
Co-authored-by: stanol <stanol777@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/cs/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/uk/
Translation: Jellyfin Vue/Jellyfin Vue
2024-03-28 18:55:36 -04:00
Fernando Fernández
e9e55b27f2
chore: add clean commands
Signed-off-by: GitHub <noreply@github.com>
2024-03-28 12:05:59 +00:00
renovate[bot]
dab9fd50bd
chore(deps): update npm dependencies (#2265) 2024-03-27 16:37:45 +00:00
renovate[bot]
932f0d0827
chore(deps): update dependency @intlify/unplugin-vue-i18n to v4 (#2273) 2024-03-27 16:24:13 +00:00
Fernando Fernández
ef4ff9c5bb fix: invalid network connection logic when Network API is not supported by the browser
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-27 17:07:54 +01:00
Fernando Fernández
028b41ad01 fix: defaults merging, verify token is really deauthed
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-27 17:07:54 +01:00
Weblate
3e26508e57 chore(i18n): translate terms
Co-authored-by: Bas <44002186+854562@users.noreply.github.com>
Co-authored-by: Ewillian9 <janonguittard@gmail.com>
Co-authored-by: VitoFe <vito-7@hotmail.it>
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/fr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/it/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nl/
Translation: Jellyfin Vue/Jellyfin Vue
2024-03-23 12:18:14 -04:00
Fernando Fernández
73e821691c
chore: automatic eslint fix
Signed-off-by: GitHub <noreply@github.com>
2024-03-20 15:57:55 +00:00
Fernando Fernández
f87f1940fb
chore: enable VSCode project-wide problem reporting
Signed-off-by: GitHub <noreply@github.com>
2024-03-20 15:52:29 +00:00
Fernando Fernández
8082b77438
refactor: use pointer events instead of mouseup and mousedown (#2268)
Signed-off-by: GitHub <noreply@github.com>
2024-03-19 21:24:19 +01:00
Fernando Fernández
051d25765d
refactor: extract blurhash worker in an independent chunk, output paths
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 18:29:45 +01:00
renovate[bot]
52f2fd6780
chore(deps): update npm dependencies (#2262) 2024-03-17 16:35:23 +00:00
PixyTM
1572b1fb01
fix(JImg): stretched actor images (#2256) 2024-03-17 17:08:53 +01:00
Fernando Fernández
db2f23a06c chore: remove unnecessary @unocss/reset package
The resets are already included in unocss package, so the extra package was unnecessary

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
5a963a88d6 refactor&fix: use watchImmediate (from VueUse) in immediate watchers, remove some sync watchers
The sync watcher removal fixes the login screen getting stuck in an endless loading state

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
8f8597bd95 feat(network): better connection loss management
* Distinguish between socket and server conection
* The distinction removes the need for the 'ensureWebSocket' guard.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
44ce0cfaa0 fix(middlewares): redirect user out of login pages if it's already logged in
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
d5afd7d252 refactor: migrate some components to shallowref
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
77a64b9e63 perf&refactor(meta): improve default meta handling per-route
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
7866e5a658 refactor(stores): create SyncedStore and apply to clientSettings
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
5919993e95 refactor: Create abstract store classes
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
6f4ae41499 fix(types): vue router types
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
bda3e87c77 refactor(playback): create usePlayback composable
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
Co-authored-by: endrl <119058008+endrl@users.noreply.github.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
fd7fc92e3c refactor(store): player-element uses now computed getters/setters
Although using .value might seem cumbersome at first, having computed getters/setters are clearer code-wise when using watchers and type-wise it's clear
that the variable is fully reactive (instead of having to guess)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
225e5465b9 refactor&feat: add sealed decorator and uniformize filename casing
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Weblate
22615a1565 chore(i18n): translate terms
Co-authored-by: snowflakexuehui <xuehui1994@outlook.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-03-14 16:20:25 -04:00
renovate[bot]
2ef5b841ec
chore(deps): update npm dependencies (#2253) 2024-03-13 17:50:19 +00:00
renovate[bot]
db5e0eea94
chore(deps): update npm development dependencies (#2259) 2024-03-13 18:29:49 +01:00
Weblate
9895d7a89f chore(i18n): translate terms
Co-authored-by: Fynn Gutic <guticfynn@gmail.com>
Co-authored-by: iNc <huber.bene@icloud.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translation: Jellyfin Vue/Jellyfin Vue
2024-03-10 19:13:35 -04:00
renovate[bot]
04b23e26c3
chore(deps): update npm development dependencies (#2251) 2024-03-10 11:20:50 +01:00
PixyTM
5c9265fb9d
fix(video): height and width in player (#2258) 2024-03-09 21:59:50 +01:00
Fernando Fernández
4d25947286
fix(video): styles (#2257)
* The video was not centering nor stretching when necessary
* By default, stretch is disabled and the video keeps it's proportions
* This fix also simplifies the styles

Fix #2255
2024-03-09 15:46:18 +00:00
renovate[bot]
073eff192a
chore(deps): update dependency @intlify/unplugin-vue-i18n to v3 (#2252) 2024-03-07 18:55:59 +01:00
Fernando Fernández
bc986af1a3
refactor: remove codesmell and eslint ignore
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-07 17:11:26 +01:00
renovate[bot]
644cb93f43
chore(deps): update npm dependencies (#2245) 2024-03-07 09:34:23 +00:00
renovate[bot]
d13aa2b7a7
chore(deps): update npm development dependencies (#2249) 2024-03-07 09:22:52 +00:00
Fernando Fernández
a379e25b01
feat(ui): switch to Radix and Inter, cleanups (#2250)
* Inter is going to be one of the brand Jellyfin fonts, as discussed in Matrix's UI/UX channels. Check this: https://matrix.to/#/!xrSDQsdjElWFYUAMoG:matrix.org/$_ZCxjEgHmaYdFo6aiCfqdXSnhEvg8UAksk0NG5PUhZg?via=bonifacelabs.ca&via=t2bot.io&via=matrix.org (Previous messages are also relevant)

* Add radix-vue to use their components as base. There is only one modification I would like to have to their components (the ability to pass arbitrary props to Primitive) but it's something that's likely to be accepted upstream

* Minor cleanup in Carousel styles

* Use the client font as Jassub's font

* Install UnoCSS and it's resets (not enabled yet due to Vuetify inconsistencies)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-07 10:12:44 +01:00
renovate[bot]
63981e1ca3
chore(deps): update npm development dependencies (#2246) 2024-03-05 13:37:47 +00:00
renovate[bot]
4c85040b0b
chore(deps): update npm dependencies (#2243) 2024-03-03 22:48:12 +00:00
renovate[bot]
b78090408c
chore(deps): update npm development dependencies (#2238) 2024-03-03 22:32:10 +00:00
renovate[bot]
e63594e150
chore(deps): update dependency vue-tsc to v2 (#2244) 2024-03-03 13:03:57 +01:00
Weblate
c096a24611 chore(i18n): translate terms
Co-authored-by: Kityn <kitynska@gmail.com>
Co-authored-by: Lukáš Kucharczyk <lukas@kucharczyk.xyz>
Co-authored-by: SAKURA <Yejia995@gmail.com>
Co-authored-by: stanol <stanol777@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/cs/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/uk/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-03-02 16:20:05 -05:00
renovate[bot]
28f465adf1
chore(deps): update npm dependencies (#2239) 2024-02-29 14:06:03 +00:00
qwerzl
3ab8291ea7
fix: correctly trigger show password button (#2242) 2024-02-29 14:50:39 +01:00
Weblate
1280d49651 chore(i18n): translate terms
Co-authored-by: Artem Nizhenskyi <inqurity@proton.me>
Co-authored-by: DJSweder <djsweder@gmail.com>
Co-authored-by: Leonardo Lopes da Luz <thesimulador@gmail.com>
Co-authored-by: iNc <huber.bene@icloud.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/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pt/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ru/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-02-29 04:09:25 -05:00
Fernando Fernández
44e803178c
refactor: playback reporting throttling (#2232)
- Throttles the function instead of using a variable
- Don't always throttle, so status changes are also propagated correctly.
2024-02-26 09:49:29 +00:00
Fernando Fernández
5f95962854
revert: "refactor(data-manipulation): use defu"
This reverts commit d158dc33e6.

defuSchema does also apply to deep values, which we don't want.
2024-02-26 10:35:01 +01:00
Fernando Fernández
d158dc33e6
refactor(data-manipulation): use defu
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-26 10:00:01 +01:00
Fernando Fernández
75f194a82a
chore: automatic eslint fix
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-26 09:46:21 +01:00
Fernando Fernández
e84539a929
chore: disable eslint-plugin-no-unsanitized
It conflicts with @intlify/vue-i18n. Wait until the conflicts are fixed or the config is migrated to flat config to reenable.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-26 09:46:21 +01:00
Fernando Fernández
29851e1e8a
chore(types): update unplugin-vue-router types
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-26 09:46:21 +01:00
Fernando Fernández
7ff8cae0ae
refactor: switch to useXStorage functions from vueuse
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-26 09:46:21 +01:00
renovate[bot]
88a8d08049
chore(deps): update npm development dependencies (major) (#2223) 2024-02-26 09:44:17 +01:00
renovate[bot]
868ffc12c2
chore(deps): update npm development dependencies (#2209) 2024-02-26 09:13:54 +01:00
Fernando Fernández
7f8bd1a0f6 fix(vuetify): remove defaultRtl handling
With [3.5.0](https://github.com/vuetifyjs/vuetify/releases/tag/v3.5.0),
the defaultRtl information is hardcoded in the package and can't be treeshaken with our method.

Signed-off-by: GitHub <noreply@github.com>
2024-02-26 09:09:05 +01:00
renovate[bot]
8305937f6f chore(deps): update npm dependencies 2024-02-26 09:09:05 +01:00
Fernando Fernández
02b7cefcb0
fix: correct snackbar message
The snackbar message for 'playNext' was suitable for the context menu action, but not for the snackbar message to be displayed to confirm said action

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-24 14:13:09 +01:00
Weblate
45dbcbb478 chore(i18n): translate terms
Co-authored-by: grayair <grayair@proton.me>
Co-authored-by: hoanghuy309 <hoanghuy309@gmail.com>
Co-authored-by: queeup <queeup@zoho.com>
Co-authored-by: sleepycatcoding <veiko.isberg@gmail.com>
Co-authored-by: snowflakexuehui <xuehui1994@outlook.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/et/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pt_BR/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/vi/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-02-22 23:12:56 -05:00
Fernando Fernández
97e0a4dad6
feat(auth&config): add 'allowServerSelection', fix server wait on boot (#2233)
* Fix the users being redirected to the 'Add Server' screen (fixes #2117) on first start
* Allow to disable the server selection screen with a new key: 'allowServerSelection'

WARNING: When that screen it's disabled, the following situations will leave the client in an endless loading state if:

- No default servers have been provided
- The first default server provided can't be reached

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-23 00:31:31 +00:00
Fernando Fernández
0f19fbbfe5
refactor: wait for DOM for JImg preloader removal, readability
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 23:37:56 +01:00
Fernando Fernández
1356f5913a fix(lint): some style-based lint errors
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
da85617e92 refactor(BlurhashImage): migrate to JImg
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
8c11462bc9 refactor(Identify): use GenericCard
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
ca503928bb refactor: use more shallowRefs
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
ccd90bbf1c refactor: match emit variable name
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
75f8c97f6e fix(card): menu disappearing as soon as hover ends
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
30232dc714 refactor(types): stricter type checking at items utils
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
bdcbc1e362 refactor(Card): rename to ItemCard and GenericItemCard
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
597087a852 fix(types): types in settings page
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
86bd1ae295 refactor(SwiperSection): add reactive logic
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
9ec14829a3 refactor(Card): extract to GenericCard
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-22 16:25:08 +01:00
Fernando Fernández
2e3e002e4b refactor(JHover): remove hoverProps
Signed-off-by: GitHub <noreply@github.com>
2024-02-22 01:59:04 +01:00
Fernando Fernández
4d2b2a7fa7 feat(JSlot): create JSlot component
Imported from radix-vue with some modifications to use it as SFC

Signed-off-by: GitHub <noreply@github.com>
2024-02-22 01:59:04 +01:00
Fernando Fernández
83bf3da1c9 perf(render): remove increased buffer in VirtualGrid
With Card rendering less components, we can render faster, so displaying less components equals to the same experience we had previously with increased buffers

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-20 23:23:30 +01:00
Fernando Fernández
b3ab55006b perf(render): don't render overlayed components until hover on Card
The card component was rendering ItemMenu, PlayButton and LikeButton at once,
even when not being displayed on screen.

Now, they're just rendered when necessary.

Memory usage went from ~78 MB to ~35 MB consistently in one of my libraries' view.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-20 23:23:30 +01:00
Fernando Fernández
785992f925
fix: jittery JHover (#2228)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-02-20 20:48:48 +00:00
renovate[bot]
8fe669e97f
chore(deps): update dependency marked to v12 (#2221) 2024-02-14 14:46:42 +01:00
Weblate
fe71c6d7d7 chore(i18n): translate terms
Co-authored-by: 428_tm <55181masui@seiko.ac.jp>
Co-authored-by: Anssi <anssi_t.l@hotmail.com>
Co-authored-by: David Vitez <david_vitez@proton.me>
Co-authored-by: Gianluca Coviello <coviello.gl@gmail.com>
Co-authored-by: LesDomen <domen.les@student.um.si>
Co-authored-by: hoanghuy309 <hoanghuy309@gmail.com>
Co-authored-by: snowflakexuehui <xuehui1994@outlook.com>
Co-authored-by: 沢城アリス <suika-sakura@outlook.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fi/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/it/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ja/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/vi/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-02-02 03:55:59 -05:00
Weblate
2c59845675 chore(i18n): translate terms
Co-authored-by: Tine Šubic <tine.subic@solvesall.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sl/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-29 05:34:50 -05:00
Weblate
ed2d5932a0 chore(i18n): translate terms
Co-authored-by: 428_tm <55181masui@seiko.ac.jp>
Co-authored-by: Kévin LEBLOND <team@flixod.net>
Co-authored-by: LesDomen <domen.les@student.um.si>
Co-authored-by: Tine Šubic <tine.subic@solvesall.com>
Co-authored-by: victories <hasan@hasangul.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ja/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-29 05:34:31 -05:00
Weblate
a0b1625727 chore(i18n): translate terms
Co-authored-by: Malang Jan <haron@rcm.se>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sv/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-25 00:42:54 -05:00
Weblate
37c3aa12ee chore(i18n): translate terms
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: queeup <queeup@zoho.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/el/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-23 01:22:48 -05:00
renovate[bot]
b1d94dd437
chore(deps): update dependency vite to 5.0.12 [security] (#2215) 2024-01-21 16:49:53 +00:00
Fernando Fernández
b8df101c23
refactor: reduce calculations in VirtualGrid and extract computed
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-21 17:25:13 +01:00
Fernando Fernández
842207d5f4
feat: force previous track on previous button double click
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-21 17:24:43 +01:00
Fernando Fernández
e52d31444d
fix: lost socket reactivity (#2214)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-19 10:10:04 +00:00
Fernando Fernández
5e8653fef4 refactor(api/composable): skip global loading on data refresh
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-18 16:39:48 +01:00
Fernando Fernández
5968590509 refactor: extract BetterOmit and Mutable types to global scope
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-18 16:39:48 +01:00
Fernando Fernández
8026f1c84f
refactor: fix import sorting discrepancies
(for real this time)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-18 13:52:18 +01:00
Fernando Fernández
623affc143 refactor: add readonly to class methods, remove unnecessary continue from loop
Fix some SonarCloud's smells

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
e637caa170 refactor: create JHover and change vue-router component imports
* Switching some of the smallest pieces off Vuetify
* Import the typed RouterView and RouterLink versions of the components

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
caaacb24c6 perf: reduce items on-screen in ItemGrid
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
b71c532134 refactor: move all typeof statements to @/utils/validation
* Way less verbose than the full statement
* Lighter on bundle size

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
15dfc151ac refactor: add isArray validation function
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
590cdd8235 perf: switch from lodash's isEqual to fast-equals
Way faster and maintained library: https://github.com/planttheidea/fast-equals

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
140e6f29c1 perf: replace lodash is-nil with native implementation
* It's faster: https://www.measurethat.net/Benchmarks/Show/8769/0/lodash-isnil-vs-native-isnil

* Lighter in bundle

* lodash has been unmaintained for a long time and it's a good idea to reduce our reliance on it

* There's no need to have a 3rd party dependency for such a trivial check

* No need to disable any of "eslint-plugin-you-dont-need-lodash-underscore" rules

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
902b348893 refactor: put everything into the singletons
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Weblate
45736449dc chore(i18n): translate terms
Co-authored-by: Hans Cronau <JellyfinWeblate@hanscronau.anonaddy.com>
Co-authored-by: Kityn <kitynska@gmail.com>
Co-authored-by: Lukáš Kucharczyk <lukas@kucharczyk.xyz>
Co-authored-by: Ramazan Sancar <ramazansancar4545@gmail.com>
Co-authored-by: Sh_Cby <cby@live.cn>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bene toffix <benetoffix@gmail.com>
Co-authored-by: hoanghuy309 <hoanghuy309@gmail.com>
Co-authored-by: stanol <stanol777@gmail.com>
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/cs/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/uk/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/vi/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-17 11:27:46 -05:00
Fernando Fernández
a040d3324c
fix: previous playback button and repeatall mode
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 16:45:10 +01:00
Fernando Fernández
d6da6cdb2f
fix(playback): minor
* Queue menu was impossible to close
* Previous button was wrongfully disabled

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:46:23 +01:00
Fernando Fernández
693a2c3218
chore: downgrade to vue@3.4.8
There are patching issues with Suspense from 3.4.9-3.4.14

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:39:37 +01:00
Fernando Fernández
8da6ca0a91
refactor: remove redundant anonymous string
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:33:44 +01:00
Fernando Fernández
fd0c62af7d
feat: use hls.js worker
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:32:27 +01:00
renovate[bot]
c56c6b1609
chore(deps): update npm development dependencies (#2206) 2024-01-11 12:44:33 +01:00
renovate[bot]
02520f3712
chore(deps): update npm dependencies (#2204) 2024-01-11 11:32:11 +00:00
EffakT
94c8090340
fix: add immediate tag to MediaSources watcher (#2205)
Co-authored-by: Fernando <ferferga.fer@gmail.com>
2024-01-10 23:26:01 +01:00
Fernando Fernández
ff9f91ed68
fix: caching conditions in library view
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 12:27:03 +01:00
Weblate
cefe3f7140 chore(i18n): translate terms
Co-authored-by: Achim Walz <achim@aalso-walz.de>
Co-authored-by: Fernando <ferferga.fer@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: hoanghuy309 <hoanghuy309@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/vi/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-10 05:01:14 -05:00
Fernando Fernández
61f4e701bf
chore: remove unnecessary option & automatic fix
* Since Vue's defineModel has been promoted to stable, vue-eslint-parser included support for it in 9.4.0, so there's
no need for us to specify the macro manually

* Automatic eslint fix for @stylistic new fixes

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:30:38 +01:00
renovate[bot]
189336d25a
chore(deps): update npm development dependencies (#2185) 2024-01-10 09:26:42 +00:00
renovate[bot]
8332e28e8b
chore(deps): update dependency eslint-plugin-jsdoc to v48 (#2193) 2024-01-10 09:16:03 +00:00
Fernando Fernández
5371a67e9b fix: login with incorrect credentials stuck in endless loop
* Also removed unnecessary setting from VSCode settings.json (reported by Volar)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
75cfd7bab6 fix: appropiate callback flush timers for watchers
* Do a first pass on playback's manager watchers. The lack of sync was causing playback reporting to miss updates
* Set post as flush timer for stores cleanup

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
304131dbe8 feat: show wait cursor while loading
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
5836585a2c perf: separate reactive items into different collections
This is probably better than having a giant collection with another level of nesting

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
96af2db953 refactor: simplify previous request handling and error state
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
94666c564d fix(composables/api): offlineparams promise
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
3a9d94fa76 refactor: migrate playback related stuff and add lazy loading to library page
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
d6e5cff1b2 fix: properly block navigation when changing pages
We've never been using Suspense to blcok navigation properly (which wasn't so relevant, since we didn't have many long promises like we have now)

We were wrongly swapping the key prop in the div, which effectively killed the inner suspense, not taking into account the async dependency tree

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
3cd3abde09 refactor: migrate search and some settings pages to api composables
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
b92ebfeaef feat(composables): always return previous data when there is a request in progress
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
134b3a9811 perf: optimize baseitem adding performance
Do a single loop instead of 2

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
5877c6ce5c refactor: use useBaseItem composable in library pages
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
88904dc64c refactor: improve splashscreen
* Remove the animation, showing only the Vuetify's background colors for each color scheme.
* Move all the splashscreen logic to App.vue, so we can hide the splashscreen only when suspense has finished resolving everything

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
13639d745c chore: disable vite chunk warnings
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
20fad93d21 fix: correct type signature for *QueryResult responses
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
9a98d7455f feat: handle loading state in api composables instead of axios
Allows for fine-grained control over the loading state. Merge skipCache with it.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
8a0d2ecb65 feat: handle offline state in apis composable
When there's no connection, the request will be saved so it gets executed as soon as the connection to the server is recovered

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
39af077b3a refactor: remove router import from auth plugin
This was the main thing that lead to ReferenceErrors and circular dependencies.
Wasn't refactored before to at least get the client working in production (although with quite a lot of reference errors)

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
f34a07167e refactor: extract sortBy into defaultSortOrder
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
a252615f56 perf: remove useless structuredClone
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
2f3fbad706 fix: markplayedbutton and likebutton in endless loading and loops
* Endless loading was fixed by initializing the loading ref to false. resolveAndAdd has full control now.
* Requests loops were happening because the watcher could fire. Given the passed objects are getters,
it was difficult for it to determine if the args really changed.
Now, we map toValue and check for equality

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
c20d89147f refactor: add userId automatically in composables, improve typing
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
951b4b3b18 refactor: migrate markplayedbutton and relateditems to new composable
* Ensure reactivity by not destructuring itemId in most places
* Removed placeholder for Vuetify skeletons, we're not going to use them anymore with the refactors

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
d37647e033 feat: allow undefined for api, methodName on composable, skipCache
Use the new composable in LikeButton

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
dc6476d4a3 feat: handle item deletion on apistore
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
86886a620d fix: reference errors
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00