mirror of
https://github.com/KevinMidboe/seasoned.git
synced 2026-03-10 11:29:07 +00:00
c390fcba4796f52aabdf4a7a84c31a02f26676ea
Previous fix still rendered all 4 columns in DOM (just hidden with CSS), causing horizontal overflow. Now actually renders only 2 columns on mobile. Implementation: 1. Added reactive window width tracking with resize listener 2. Computed isMobile property (windowWidth <= 768px) 3. Computed visibleColumns: ['name', 'add'] on mobile, all 4 on desktop 4. Conditional v-if rendering for seed/size columns 5. Conditional v-if for metadata display in torrent-info cell Template changes: - Header: v-for="column in visibleColumns" (not all columns) - Seed column: v-if="!isMobile" (not rendered on mobile) - Size column: v-if="!isMobile" (not rendered on mobile) - Metadata: v-if="isMobile" (only shown on mobile) CSS cleanup: - Removed .desktop-only class rules (no longer needed) - Removed display: none media queries (handled by v-if) - Removed header nth-child hiding (handled by visibleColumns) Result: Mobile (≤768px): - Only 2 <td> elements rendered: name + add - No horizontal scroll required - Metadata shown inline under title - Colspan correctly set to 2 for expanded rows Desktop (>768px): - All 4 <td> elements rendered: name + seed + size + add - Full table layout - Colspan correctly set to 4 for expanded rows This is the correct solution - don't render unnecessary DOM elements.
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%
