Commit Graph

1256 Commits

Author SHA1 Message Date
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