Commit Graph

4968 Commits

Author SHA1 Message Date
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
Fernando Fernández
d8d1b35821 refactor: remove suspenseview
Rely only on axios interceptor to report the loading state

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
8d31fab9d8 refactor: finish deprecation of itemStore and start migrating components to api composables
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
956bb404c4 refactor: deprecate the itemStore
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
cd55ecea0a refactor: deprecate userLibraries store
With the new composables the store is indeed obsolete
Also remove audios from the resume section

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
18d4e84816 feat: finish api composables and create apistore
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
7d2656454b feat: add useApi composable
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
f80a1084c1 feat: create initial impl of useBaseItem composable
This composable reactively runs requests and returns reactive BaseItemDto copies

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
06f9ff0d2d refactor: fix some of the remaining lint issues caused by hls.js
The update to 1.5.0 of hls.js helped us get the import/no-named-as-default-member rule fixed

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 01:12:23 +01:00
renovate[bot]
0247f268f9 chore(deps): update npm dependencies 2024-01-10 01:12:23 +01:00
Weblate
88607bc1f2 chore(i18n): translate terms
Co-authored-by: Achim Walz <achim@aalso-walz.de>
Co-authored-by: Lukáš Kucharczyk <lukas@kucharczyk.xyz>
Co-authored-by: Pascal Riemer <pascal01riemer@gmail.com>
Co-authored-by: Ryan Faiz Sanie <ryanfaiz2005@gmail.com>
Co-authored-by: cd16b <davidecavagnola@gmail.com>
Co-authored-by: hoanghuy309 <hoanghuy309@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/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/id/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/it/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/vi/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-09 12:53:33 -05:00
renovate[bot]
1547a34e51
chore(deps): update npm dependencies (#2202) 2024-01-09 10:47:44 +00:00
renovate[bot]
d3b0aeeb8a
chore(deps): update npm dependencies (#2198) 2024-01-08 16:32:52 +01:00
renovate[bot]
34f0a15555
chore(deps): update npm dependencies (#2197) 2024-01-05 03:42:21 +01:00
renovate[bot]
9481c9e91f
chore(deps): update ci dependencies (#2196) 2024-01-05 03:41:01 +01:00
renovate[bot]
4aee88f95e
chore(deps): update npm dependencies (#2195) 2024-01-04 10:05:31 +01:00
Fernando Fernández
952ac69d8a
refactor(i18n): allow irregular whitespace for french localisation files
See the following:
- https://en.wikipedia.org/wiki/History_of_sentence_spacing#French_and_English_spacing
- https://docs.weblate.org/en/weblate-4.14.1/user/checks.html#check-punctuation-spacing

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-02 14:34:11 +01:00
Fernando Fernández
cc6b6eb4b4
refactor(i18n): remove variants from en-US and fr-FR
We don't have other variants for those languages, so it makes sense to not make assumptions and use them generically

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-02 14:34:11 +01:00
Weblate
7cde0c85c8
chore(i18n): translate terms
Co-authored-by: cd16b <davidecavagnola@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/it/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-02 14:34:11 +01:00
Weblate
03ebd81c8b
chore(i18n): translate terms
Co-authored-by: Dr. Mücke <simon.mueck@outlook.com>
Co-authored-by: Romain Eggermont <rom.eggermont@gmail.com>
Co-authored-by: Thomas Schwery <thomas@inf3.ch>
Co-authored-by: Fernando <ferferga.fer@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: cd16b <davidecavagnola@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/it/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-02 14:33:52 +01:00
Llewllyn
c5919d27fe
feat: add web app meta tags (#2191) 2024-01-02 11:08:08 +01:00
Weblate
9db6d0d169 chore(i18n): translate terms
Co-authored-by: Romain Eggermont <rom.eggermont@gmail.com>
Co-authored-by: SaddFox <filip.rutar@gmail.com>
Co-authored-by: Thomas Schwery <thomas@inf3.ch>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sl/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-02 04:47:41 -05:00
Fernando Fernández
3085220c83 chore: manual lint fixes
- Remove strange whitespace in french translation
- Add ignore comment for the type import in BlurhashCanvas

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-02 02:23:46 +01:00
Fernando Fernández
2b67af3506 chore: automatic eslint fix
For annotating type imports

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-02 02:23:46 +01:00
Fernando Fernández
fb2d132a53 refactor: enforce type only imports for types
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-02 02:23:46 +01:00
Weblate
cbf28f4503 chore(i18n): translate terms
Co-authored-by: Fernando <ferferga.fer@gmail.com>
Co-authored-by: Romain Eggermont <rom.eggermont@gmail.com>
Co-authored-by: SaddFox <filip.rutar@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ur/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-01 17:47:14 -05:00
Weblate
a399de0554 chore(i18n): translate terms
Co-authored-by: ByKripsy <bykripsy@gmail.com>
Co-authored-by: ChokunPlayZ <chokun.swc555@gmail.com>
Co-authored-by: Elias Sjögreen <eliassjogreen1@gmail.com>
Co-authored-by: Elias Wennerlund <elias06wennerlund@gmail.com>
Co-authored-by: Fernando <ferferga.fer@gmail.com>
Co-authored-by: Fredrik Lindqvist <landrash@gmail.com>
Co-authored-by: Kirill <Kirill.veshtort@gmail.com>
Co-authored-by: Kityn <kitynska@gmail.com>
Co-authored-by: Meem Khan <meem.khaan@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Romain Eggermont <rom.eggermont@gmail.com>
Co-authored-by: Ryan Faiz Sanie <ryanfaiz2005@gmail.com>
Co-authored-by: SaddFox <filip.rutar@gmail.com>
Co-authored-by: Thomas Schwery <thomas@inf3.ch>
Co-authored-by: Tor Smedberg <tor.smedberg@gmail.com>
Co-authored-by: Tycho Brouwer <tychobrouwer33@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: lyaschuchenko <lyaschuchenko@gmail.com>
Co-authored-by: salvatore rizzu <rizzusalvatore95@gmail.com>
Co-authored-by: stanol <stanol777@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/el/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/es/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/fr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/he/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/id/
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/pl/
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/sl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sv/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/th/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/uk/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ur/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-01 17:29:54 -05:00
Fernando Fernández
e49d32908b fix: untranslated date strings and reword string
The "ago" part doesn't match perfectly in all languages, so we should let date-fns handle it for us

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-01 13:53:06 +01:00
Fernando Fernández
fe9b6be5dd perf: better compose computed properties in time
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-01 13:53:06 +01:00
Fernando Fernández
054d354bff perf: allow usedatefns to be garbage collected
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-01 13:53:06 +01:00
Weblate
14e5b527f3 chore(i18n): translate terms
Co-authored-by: Alehaaaa <alehamartinva@gmail.com>
Co-authored-by: Fredrik Lindqvist <landrash@gmail.com>
Co-authored-by: Larvitar <chrycm1995@gmail.com>
Co-authored-by: Ryan Faiz Sanie <ryanfaiz2005@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gebohh <gebohh@gmail.com>
Co-authored-by: stanol <stanol777@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/es/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/he/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/id/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/sv/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/uk/
Translation: Jellyfin Vue/Jellyfin Vue
2023-12-31 20:01:05 -05:00
Fernando Fernández
826c367442
fix: windows builds (#2182)
Workaround sourced from https://github.com/vitejs/vite/issues/15153

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-01 01:39:30 +01:00
renovate[bot]
2210d8e6f6
chore(deps): update dependency eslint-plugin-jsdoc to v47 (#2180) 2023-12-31 20:06:17 +00:00
renovate[bot]
03e8f4a691
chore(deps): update dependency marked to v11.1.1 (#2179) 2023-12-31 20:53:56 +01:00
Fernando Fernández
5cd0af7a93
refactor(splashscreen): emit splashcreen code with rollup instead of embedding in index.html (#2181)
This will ease the maintenance burden of that code by allowing us to use the same tooling we use for the rest of the code (type-checking, eslint, etc) while also allowing us to use npm dependencies (like destr in this case), which could be
helpful in the future.

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2023-12-31 20:34:37 +01:00
Fernando Fernández
00c2c754a1
refactor: disable manualchunks
It seems to not be stable. See commented issues for reference

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2023-12-31 19:39:36 +01:00
Fernando Fernández
757e357ad6
refactor: minor tunes
* Added suggested options to tsconfig.json by Vite docs:
  https://vitejs.dev/guide/features.html#typescript-compiler-options
* Ignore inline comments capitalization
* Add jsonc/auto rule to automatically inherit eslint rules for JSON files
* Improve dpdm run parameters

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2023-12-31 19:38:49 +01:00