mirror of
https://github.com/KevinMidboe/seasoned.git
synced 2026-03-10 11:29:07 +00:00
f98fdb6860d3c347d9afb34afc4d4905651ce6a6
Modernize the Plex library UI by replacing emoji icons with proper SVG icons and making library items clickable to open in Plex. New icons: - Created IconMusic.vue for music/album libraries - Created IconClock.vue for watch time display PlexLibraryStats updates: - Replace emoji icons (🎬, 📺, 🎵, ⏱️) with IconMovie, IconShow, IconMusic, IconClock - Icons use highlight color with hover effects - Proper sizing: 2.5rem desktop, 2rem mobile PlexLibraryModal updates: - Replace emoji in header with dynamic icon component - Icon sized at 48px with highlight color - Better visual consistency PlexLibraryItem updates: - Add support for clickable links to Plex web interface - Items render as <a> tags when plexUrl is available - Fallback icons now use SVG components instead of emojis - Non-linkable items have disabled hover state plexHelpers updates: - processLibraryItem now includes ratingKey and plexUrl - plexUrl format: {serverUrl}/web/index.html#!/server/library/metadata/{ratingKey} - Added getLibraryIconComponent helper function Benefits: - Professional SVG icons instead of emojis (consistent cross-platform) - Clickable library items open directly in Plex - Better accessibility with proper link semantics - Scalable icons that look sharp at any size - Consistent color theming with site palette
Seasoned Request
Seasoned request is frontend vue application for searching, requesting and viewing account watch activity.
Config setup
# make copy of example environment file
cp .env.example .env
# .env sane default values
SEASONED_API=
ELASTIC=
ELASTIC_INDEX=shows,movies
SEASONED_DOMAIN=
- Leave SEASONED_API empty to request
/apifrom same origin and proxy passed by nginx, set if hosting seasonedShows backend api locally. - Elastic is optional and can be used for a instant search feature for all movies and shows registered in tmdb, leave empty to disable.
# .env example values
SEASONED_API=http://localhost:31459
ELASTIC=http://localhost:9200
ELASTIC_INDEX=shows,movies
SEASONED_DOMAIN=request.movie
Build Steps
# install dependencies
yarn
# build vue project using webpack
yarn build
# test or host built files using docker, might require sudo:
docker build -t seasoned .
docker run -d -p 5000:5000 --name seasoned-request --env-file .env seasoned
Development Steps
# serve project with hot reloading at localhost:8080
yarn dev
To proxy requests to /api either update SEASONED_API in .env or run set environment variable, e.g.:
# export and run
export SEASONED_API=http://localhost:31459
yarn dev
# or run with environment variable inline
SEASONED_API=http://localhost:31459 yarn dev
Documentation
All api functions are documented in /docs and found here.
html version also available
License
Languages
Vue
78.2%
TypeScript
17.4%
SCSS
3.5%
JavaScript
0.5%
HTML
0.2%
Other
0.2%
