Commit Graph

511 Commits

Author SHA1 Message Date
c39dc9dcaf Add admin components: stats, activity feed, system status, torrent management 2026-03-09 00:09:45 +01:00
de634b87eb Add admin page with route configuration 2026-03-09 00:09:41 +01:00
c8262a3bda Feat: Misc improvements (#107)
* Expand SCSS variables for improved theming

* Redesign 404 page with dynamic movie quotes

* Add password generator page

* Add missing Plex authentication page

* Improve torrent table and torrents page

* Enhance toast notification component

* Enhance popup components

* Refine UI components and remove DarkmodeToggle

* Add user profile component for settings

* Update autocomplete dropdown component

* Update register page

* Redesign signin and register pages with improved UX

* Improve torrent table with sort toggle and highlight colors

* eslint & prettier fixes
2026-03-09 00:01:05 +01:00
cb90281e5e Feat: Activity page enhancements (#106)
* Add activity page components and Tautulli stats integration

- Add StatsOverview component for watch statistics display
- Add WatchHistory component for recent watch activity
- Add useTautulliStats composable for Tautulli API integration
- Components display total plays, watch time, movies/episodes watched
- Support for fetching home stats and last watched content

* Enhance Graph component with improved styling and options

- Add wrapper div for better layout control
- Update color scheme with modern palette (Indigo, Amber, Emerald)
- Add Filler plugin for filled area charts
- Improve bar chart styling with rounded corners
- Add proper lifecycle cleanup with onBeforeUnmount
- Enhance tooltip formatting for time and number values
- Add deep watch for reactive data updates
- Better TypeScript type safety with Chart.js types

* Refactor ActivityPage with enhanced stats and visualizations

- Integrate StatsOverview component for at-a-glance metrics
- Add WatchHistory component for recent watch activity
- Add hourly viewing patterns chart
- Modernize UI with card-based layout
- Improve controls styling with better labels and input handling
- Remove authentication dependency (now handled by route guards)
- Use useTautulliStats composable for data fetching
- Add comprehensive watch statistics (total plays, hours, by media type)
- Support for both plays and duration view modes

* Improve Plex authentication check with cookie fallback

- Add usePlexAuth composable import to routes
- Enhance hasPlexAccount() to check cookies when Vuex store is empty
- Fixes authentication check after page refreshes
- Ensures activity page remains accessible with valid Plex auth
2026-03-08 21:38:22 +01:00
0cd2a73a8b Feat: Command palette (#105)
* Add command palette with smart navigation and usage tracking

- Add CommandPalette.vue component with keyboard shortcut (Cmd+K/Ctrl+K)
- Implement smart route navigation with parameter input support
- Add content search integration via Elasticsearch
- Create commandTracking.ts utility for usage analytics
- Track command frequency and recency with scoring algorithm
- Support for all application routes with metadata and icons
- Includes badge system for auth requirements and shortcuts

* Integrate CommandPalette into main application

- Add CommandPalette component to App.vue
- Enable global keyboard shortcut (Cmd+K/Ctrl+K)
- Command palette is now accessible from anywhere in the app
2026-03-08 21:29:07 +01:00
c309016299 Feat/settings page redesign (#104)
* include credentials on login fetch requests, allows set header response

* Add theme composable and utility improvements

- Create useTheme composable for centralized theme management
- Update main.ts to use useTheme for initialization
- Generalize getCookie utility in user module
- Add utility functions for data formatting

* Add Plex integration composables and icons

- Create usePlexAuth composable for Plex OAuth flow
- Create usePlexApi composable for Plex API interactions
- Create useRandomWords composable for password generation
- Add Plex-related icons (IconPlex, IconServer, IconSync)
- Add Plex helper utilities
- Update API with Plex-related endpoints

* Add storage management components for data & privacy section

- Create StorageManager component for browser storage overview
- Create StorageSectionBrowser for localStorage/sessionStorage/cookies
- Create StorageSectionServer for server-side data (mock)
- Create ExportSection for data export functionality
- Refactor DataExport component with modular sections
- Add storage icons (IconCookie, IconDatabase, IconTimer)
- Implement collapsible sections with visual indicators
- Add colored borders per storage type
- Display item counts and total size in headers

* Add theme, password, and security settings components

- Create ThemePreferences with visual theme selector
- Create PasswordGenerator with passphrase and random modes
- Create SecuritySettings wrapper for password management
- Update ChangePassword to work with new layout
- Implement improved slider UX with visual feedback
- Add theme preview cards with gradients
- Standardize component styling and typography

* Add Plex settings and authentication components

- Create PlexSettings component for Plex account management
- Create PlexAuthButton with improved OAuth flow
- Create PlexServerInfo for server details display
- Use icon components instead of inline SVGs
- Add sync and unlink functionality
- Implement user-friendly authentication flow

* Redesign settings page with two-column layout and ProfileHero

- Create ProfileHero component with avatar and user info
- Create RequestHistory component for Plex requests (placeholder)
- Redesign SettingsPage with modern two-column grid layout
- Add shared-settings.scss for consistent styling
- Organize sections: Appearance, Security, Integrations, Data & Privacy
- Implement responsive mobile layout
- Standardize typography (h2: 1.5rem, 700 weight)
- Add compact modifier for tighter sections
2026-03-08 21:16:36 +01:00
081240c83e include credentials on login fetch requests, allows set header response 2026-02-24 22:22:22 +01:00
eac12748db mobile improvements
tries to setup layout for success with safari iso 26 bottom navigation
bar and having content appear behind it instead of having a fat lip of
background color.

Also fixes where main content was not taking full width on mobile & text
alignment on torrent search results.
2026-02-24 18:43:26 +01:00
426b376d05 Feat: Dynamic colors (#101)
* On every route change, update local variables from query params

* ResultSection is keyed to query to force re-render

* Feat: vite & upgraded dependencies (#100)

* On every route change, update local variables from query params

* ResultSection is keyed to query to force re-render

* Resolved lint warnings

* replace webpack w/ vite

* update all imports with alias @ and scss

* vite environment variables, also typed

* upgraded eslint, defined new rules & added ignore comments

* resolved linting issues

* moved index.html to project root

* updated dockerfile w/ build stage before runtime image definition

* sign drone config

* dynamic colors from poster for popup bg & text colors

* more torrents nav button now link elem & better for darker bg

* make list item title clickable

* removed extra no-shadow eslint rule definitions

* fixed movie import

* adhere to eslint rules & package.json clean command

* remove debounce autocomplete search, track & hault on failure
2026-02-24 00:22:51 +01:00
1238cf50cc Feat: Caddy webserver (#102)
* describe Caddyfile & update Dockerfile runtime image

* remove nginx config - replaced by caddy
2026-02-24 00:22:31 +01:00
8e586811ec Feat: vite & upgraded dependencies (#100)
* On every route change, update local variables from query params

* ResultSection is keyed to query to force re-render

* Resolved lint warnings

* replace webpack w/ vite

* update all imports with alias @ and scss

* vite environment variables, also typed

* upgraded eslint, defined new rules & added ignore comments

* resolved linting issues

* moved index.html to project root

* updated dockerfile w/ build stage before runtime image definition

* sign drone config
2026-02-23 20:53:19 +01:00
fb3b4c8f7d updated elastic autocomplete to include persons, also adds debounce & clearer handling of response 2025-01-11 14:07:07 +01:00
25da19eaf5 Removed import stmt defineEmits & defineProps as they are compiler macros 2024-02-25 16:28:11 +01:00
28a559727f Fixes table sort for file size (#86)
* Fixed algorithm to de-humanize size string to bytes

* Resolved linting issues
2023-01-16 22:50:25 +01:00
dependabot[bot]
ba3cb6486e Bump loader-utils from 1.4.0 to 1.4.2 (#81)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 01:26:34 +01:00
dependabot[bot]
f819120cde Bump decode-uri-component from 0.2.0 to 0.2.2 (#82)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 01:26:06 +01:00
Snyk bot
2f48656454 fix: Dockerfile to reduce vulnerabilities (#83)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-DEBIAN11-CURL-3065656
- https://snyk.io/vuln/SNYK-DEBIAN11-LIBTASN16-3061097
- https://snyk.io/vuln/SNYK-DEBIAN11-LIBXML2-3059797
- https://snyk.io/vuln/SNYK-DEBIAN11-LIBXML2-3059801
- https://snyk.io/vuln/SNYK-DEBIAN11-TIFF-3113871
2022-12-30 01:25:47 +01:00
4a128044bf Defined request interface & updated expected request status response 2022-11-03 21:56:46 +01:00
dec15194e4 Fix: Search query reload (#79)
* On every route change, update local variables from query params

* ResultSection is keyed to query to force re-render

* Resolved lint warnings
2022-08-27 11:58:30 +02:00
2fed03a882 fix: updated plex_userid to camelcase 2022-08-19 10:49:16 +02:00
74d5868a5c Tried setting backdrop too fast, tries after mount & api response (#78)
* Tried setting backdrop too fast, tries after mount & api response

* Resolved linting issues
2022-08-15 21:12:50 +02:00
609ebc3940 Merge pull request #76 from KevinMidboe/feat/vue-3-typescripted
Feat: Vue 3 typescripted
2022-08-15 20:39:12 +02:00
5d2e667ceb Only build and publish docker image to github when pushing master 2022-08-15 20:34:59 +02:00
5786f55e78 Updated seasoned server ip address 2022-08-15 20:25:05 +02:00
ba888fb303 Moved github files into folder 2022-08-15 20:17:37 +02:00
5f942848aa Only search when query has length 2022-08-14 23:44:52 +02:00
3a58e77da0 Some icons look better using stroke over fill 2022-08-14 23:40:24 +02:00
8d03ea5eec Remove old htaccess file 2022-08-14 23:11:42 +02:00
2f4c6e2543 Also read SEASONED_DOMAIN from drone secret during build 2022-08-14 21:50:05 +02:00
7829ad7298 Removed console log, env variables from drone secrets seem to work 2022-08-14 21:32:57 +02:00
6642b2531e Test node_modules caching 2022-08-14 21:25:09 +02:00
abf005fd8d Read any matching secrets as env variable during build 2022-08-14 21:15:54 +02:00
c6cff7a0c4 If .env is not defined use sane defaults from .env.example 2022-08-14 21:05:45 +02:00
5f1de791c0 Only merge dotenv if .env file exists 2022-08-14 20:01:51 +02:00
91c75198de Removed node server to be replaced with nginx through docker 2022-08-14 19:50:25 +02:00
3b98faeddd Replaced config w/ dotenv. Hydrate docker nginx using env. Updated readme 2022-08-14 19:49:48 +02:00
cbf400c118 Implement simpler Dockerfile & use previous ci build steps 2022-08-14 01:36:38 +02:00
c49f0816c8 Test simplified Dockerfile, removed internal build 2022-08-14 01:24:29 +02:00
9cf2bb9bd8 Start nginx service on container boot 2022-08-14 00:51:43 +02:00
6ceb7861de God damn, not apt but apk 2022-08-14 00:26:14 +02:00
97ed8a491e Nginx install and simple config 2022-08-14 00:22:07 +02:00
cf0bd9aa84 Container source repo label 2022-08-13 13:57:17 +02:00
a62de038a4 FCN for repo when using ghcr 2022-08-13 13:48:17 +02:00
eeac27370b Joined docker build & publish steps 2022-08-13 13:31:13 +02:00
88edc03b8b Fixed tag syntax & added username & password from secret 2022-08-13 13:08:22 +02:00
4a5dddac75 Split build & publish steps & added github registry 2022-08-13 12:53:39 +02:00
fee26fb9e1 COPY with more than one src file, the dest must be a dir and end with a / 2022-08-13 12:39:07 +02:00
9ee9eff8a3 Docker build step uses image plugins/docker 2022-08-13 12:34:12 +02:00
fda353f746 Project dockerfile & added build as ci step 2022-08-13 12:20:42 +02:00
762eb6fe79 Build ts, ts-projects & webpack in seperate commands 2022-08-13 12:14:55 +02:00