Commit Graph

4273 Commits

Author SHA1 Message Date
Fernando Fernández
ca0781c6d5 refactor: reimplement SortableJS for queue 2023-04-03 12:52:57 +02:00
Thibault Nocchi
db84249c5e fix(blurhashimages): error not being reset when image is loaded 2023-04-03 12:52:57 +02:00
Fernando Fernández
dd458de062 chore: cleanup old files
* Remove unused image assets. If they're needed in the future, we can simply use unplugin-icons
* Add deprecation notices
* Remove the canPlay check at playerElement: hls.js should handle that directly
2023-04-03 12:52:57 +02:00
Fernando Fernández
5e183ce23b chore: add additional linting suites
These additional linting suites doesn't add new errors or warnings,
so they're good to have to prevent possible future problems

eslint-plugin-jsonc is also better maintained than eslint-plugin-json
2023-04-03 12:52:57 +02:00
Fernando Fernández
a2000c23c0 fix: artist images 2023-04-03 12:52:57 +02:00
aweebs
e9249b9576 chore: remove old tests 2023-04-03 12:52:57 +02:00
aweebs
2a026ec090 chore: General typing cleanups 2023-04-03 12:52:57 +02:00
aweebs
d2dae17b8a chore: upgrade to latest version of typescript 2023-04-03 12:52:57 +02:00
aweebs
5c501fc5c7 chore: add ban-ts-comment eslint rule and remove usages 2023-04-03 12:52:57 +02:00
aweebs
151f010f26 chore: Added type assert for external config 2023-04-03 12:52:57 +02:00
aweebs
c63f9d0d31 chore: Cleaning up typing and type checking of websocket messages 2023-04-03 12:52:57 +02:00
aweebs
10b06dd3c7 refector: Refactor store-sync utils for clarity 2023-04-03 12:52:57 +02:00
Fernando Fernández
0303d74fe7 chore: clear old dependencies' usage 2023-04-03 12:52:57 +02:00
Fernando Fernández
2c4b004920 chore: add roboto font for consistent display across all devices 2023-04-03 12:52:57 +02:00
Fernando Fernández
a0264eb48d chore: remove CONTRIBUTING.md
Moves the content as is (although it must be updated to reflect Vue 3 upgrade)
to the wiki, where it will be more easily editable even by others if we want to, independently from the source code
2023-04-03 12:52:57 +02:00
Fernando Fernández
2461dffc95 fix: external dependency's types
* Upgrade to the new Vuetify 3.1.11, which fixes all missing VGrid types
* Upgrade axios and @jellyfin-sdk. Mismatched axios versions caused type errors
2023-04-03 12:52:57 +02:00
Fernando Fernández
c1d8886388 fix: remaining SonarCloud bugs 2023-04-03 12:52:57 +02:00
Fernando Fernández
474befd3f1 feat(vue3): create global loading state
Show a v-progress-linear when an Axios request is happening or suspense
is loading content.

In a similar fashion to GitHub's and YouTube loading indicators
2023-04-03 12:52:57 +02:00
aweebs
c01e59f027 chore: remove PlaybackInfoCard 2023-04-03 12:52:57 +02:00
aweebs
a683014195 chore: type refactors style for computed properties
* Make Vue 3's computed typings consistent
* Remove obvious return value from SkeletonHomeSection computed property
* Remove ValidCardShapes type union - it duplicates CardShapes
2023-04-03 12:52:57 +02:00
aweebs
1b1465f70f chore: convert UpNext component to setup composition api 2023-04-03 12:52:57 +02:00
aweebs
fa022887ba chore: rewrite setup wizard with setup composition api 2023-04-03 12:52:57 +02:00
aweebs
cd00cfc14b refactor: route pages use onMounted instead of watching route params for loading data 2023-04-03 12:52:57 +02:00
aweebs
459dade1d2 chore: change library routes to use itemId param instead of viewId for consistency 2023-04-03 12:52:57 +02:00
aweebs
b716d8ebb9 chore: update routed pages to use setup composition api 2023-04-03 12:52:57 +02:00
aweebs
861abc01d1 chore: fix v-chip component's not using size correctly 2023-04-03 12:52:57 +02:00
aweebs
38642294ef chore: PlayButton make track index props optional 2023-04-03 12:52:57 +02:00
aweebs
7d4278ccdf chore: update MetadataEditor, MetadataEditorDialog, and PersonEditor to setup composition API 2023-04-03 12:52:57 +02:00
aweebs
5fb2054336 chore: update ImageEditor and ImageSearch to setup composition API 2023-04-03 12:52:57 +02:00
aweebs
e73120a2f1 chore: convert logs and activities to Composition API
* Also remove loading and error states
2023-04-03 12:52:57 +02:00
aweebs
7c9b06a521 chore: Convert devices.vue to Composition api
* Removes the old data table implementation, using a normal table now.
* Add delete confirmation to devices page
* Remove selected device info component and only use the table for removing devices
2023-04-03 12:52:57 +02:00
aweebs
3b22ced7e6 chore: convert apikeys page to composition api
* Switch from v-data-table to normal table
* Add API revoke confirmation modal
2023-04-03 12:52:57 +02:00
aweebs
e4fe1846ba chore: fix admin page redirect check 2023-04-03 12:52:57 +02:00
aweebs
17caba260e chore: convert settings page to setup composition api 2023-04-03 12:52:57 +02:00
Fernando Fernández
14e50440e0 ci: update Dockerfile to new config.json client configuration
* Fix some markup validation errors in index.html
* Fix config.json fetching
* Fix incorrect variable name for external config
2023-04-03 12:52:57 +02:00
Fernando Fernández
bab6f5aa4d ci: expand devcontainer configuration to support Docker
Current Codespace configuration didn't had Docker installed. Now Docker is installed and can be used in the development flow
2023-04-03 12:52:57 +02:00
Fernando Fernández
bdbb8a9cca fix: page, menus overflow, color icons
The page overflowed because unplugin-icons settled a size for the icon components.
With ``scale: 0`` this no longer happens.
Fixing that also fixed all the overflows present in the page.

The color of the playback buttons in the music player has been fixed by upgrading Vuetify
2023-04-03 12:52:57 +02:00
Fernando Fernández
59ecdb94f8 fix: use correct key for routerviewtransition
Fixes the need of watchers for path params
2023-04-03 12:52:57 +02:00
Fernando Fernández
a21f1f2143 refactor: remove multiple usage of user-select: none property 2023-04-03 12:52:57 +02:00
Fernando Fernández
59317ac944 refactor: router middleware for playback pages
Merge redirection logic of music and video players into playerElement store

A middleware for handling direct URL access has been made, which will avoid
the player pages temporarily appearing after the splashscreen or if the user inputs the URL manually.
2023-04-03 12:52:57 +02:00
Fernando Fernández
dd540c2a1b feat: reverse transition when going to the back page 2023-04-03 12:52:57 +02:00
Fernando Fernández
4664984ea2 refactor: replace Vue router's back function
When there are pages in the history stack, go back.
When there are no pages in the history stack, go home instead of back
2023-04-03 12:52:57 +02:00
Fernando Fernández
64f0a42b03 fix: transitions
Use Vuetify transition classes and add new `enter` and `leave` hooks for
further transition customization.
2023-04-03 12:52:57 +02:00
Fernando Fernández
cfa6d2ec56 feat: new music fullscreen page 2023-04-03 12:52:57 +02:00
Fernando Fernández
698519d667 refactor: merge osdplayer into fullscreen 2023-04-03 12:52:57 +02:00
Fernando Fernández
81210bc4d9 refactor: factorize playback buttons into components 2023-04-03 12:52:57 +02:00
Fernando Fernández
84213b9ff8 refactor: apply suggestions from code review 2023-04-03 12:52:57 +02:00
Fernando Fernández
28b82d1aee perf: debounce image width change, refactor shared state usage and remove wildcard exports from store
This will reduce resource usage.
For instance, useNow requests a lot of animation frames, which can be heavy when
invoked in multiple components.

Also, removed wildcard exports for stores (types now must be explicitly imported from the relevant store)
This is to avoid polluting the store exports. Just the new globals are allowed for wildcards.

Further changes:
* Components that can benefit from an shared state (like BlurhashImage) are refactored to use that.
* Fix #1888
2023-04-03 12:52:57 +02:00
Fernando Fernández
e5d3e8a58e refactor: keep all completed tasks in TaskManagerButton
Previously, if all the tasks were completed, they wouldn't disappear from the menu.
Now, completed tasks that live alongisde running tasks are also affected by this.
2023-04-03 12:52:57 +02:00
Fernando Fernández
7f18016987 refactor: merge state into the class instances
* Uniformize the comments used across them
* Ensure all the stores are cleared up on user logout
2023-04-03 12:52:57 +02:00