Kavita/UI/Web
Joe Milazzo c361e66b35
Basic Stats (#1673)
* Refactored ResponseCache profiles into consts

* Refactored code to use an extension method for getting user library ids.

* Started server statistics, added a charting library, and added a table sort column (not finished)

* Refactored code and have a fully working example of sortable headers. Still doesn't work with default sorting state, will work on that later.

* Implemented file size, but it's too expensive, so commented out.

* Added a migration to provide extension and length/size information in the DB to allow for faster stat apis.

* Added the ability to force a library scan from library settings.

* Refactored some apis to provide more of a file breakdown rather than just file size.

* Working on visualization of file breakdown

* Fixed the file breakdown visual

* Fixed up 2 visualizations

* Added back an api for member names, started work on top reads

* Hooked up the other library types and username/days.

* Preparing to remove top reads and refactor into Top users

* Added LibraryId to AppUserProgress to help with complex lookups.

* Added the new libraryId hook into some stats methods

* Updated api methods to use libraryId for progress

* More places where LibraryId is needed

* Added some high level server stats

* Got a ton done on server stats

* Updated default theme (dark) to be the default root variables. This will allow user themes to override just what they want, rather than maintain their own css variables.

* Implemented a monster query for top users by reading time. It's very slow and can be cleaned up likely.

* Hooked up top reads. Code needs a big refactor. Handing off for Robbie treatment and I'll switch to User stats.

* Implemented last 5 recently read series (broken) and added some basic css

* Fixed recently read query

* Cleanup the css a bit, Robbie we need you

* More css love

* Cleaned up DTOs that aren't needed anymore

* Fixed top readers query

* When calculating top readers, don't include read events where nothing is read (0 pages)

* Hooked up the date into GetTopUsers

* Hooked top readers up with days and refactored and cleaned up componets not used

* Fixed up query

* Started on a day by day breakdown, but going to take a break from stats.

* Added a temp task to run some migration manually for stats to work

* Ensure OPDS-PS uses new libraryId for progress reporting

* Fixed a code smell

* Adding some styling

* adding more styles

* Removed some debug stuff from user stats

* Bump qs from 6.5.2 to 6.5.3 in /UI/Web

Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.5.2...v6.5.3)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

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

* Tweaked some code for bad data cases

* Refactored a chapter lookup to remove un-needed Volume join in 5 places across the code.

* API push

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-07 06:01:49 -08:00
..
.github/workflows On Deck + Misc Fixes and Changes (#1215) 2022-04-11 15:43:40 -07:00
e2e New PDF Reader (#1324) 2022-06-15 14:43:32 -07:00
libs Basic Stats (#1673) 2022-12-07 06:01:49 -08:00
src Basic Stats (#1673) 2022-12-07 06:01:49 -08:00
storage On Deck + Misc Fixes and Changes (#1215) 2022-04-11 15:43:40 -07:00
.gitignore On Deck + Misc Fixes and Changes (#1215) 2022-04-11 15:43:40 -07:00
adminStorageState.json On Deck + Misc Fixes and Changes (#1215) 2022-04-11 15:43:40 -07:00
angular.json Angular 14 (#1420) 2022-08-09 06:02:41 -07:00
global-setup.ts Double Page Rendering (#1333) 2022-06-27 09:00:01 -07:00
LICENSE The big one (#396) 2021-07-17 14:03:11 -05:00
nonAdminStorageState.json On Deck + Misc Fixes and Changes (#1215) 2022-04-11 15:43:40 -07:00
package-lock.json Basic Stats (#1673) 2022-12-07 06:01:49 -08:00
package.json Basic Stats (#1673) 2022-12-07 06:01:49 -08:00
playwright.config.ts On Deck + Misc Fixes and Changes (#1215) 2022-04-11 15:43:40 -07:00
README.md On Deck + Misc Fixes and Changes (#1215) 2022-04-11 15:43:40 -07:00
setupJest.ts The big one (#396) 2021-07-17 14:03:11 -05:00
tsconfig.app.json The big one (#396) 2021-07-17 14:03:11 -05:00
tsconfig.json Misc UI Fixes (#1477) 2022-08-25 09:34:48 -07:00
tsconfig.spec.json The big one (#396) 2021-07-17 14:03:11 -05:00
tslint.json The big one (#396) 2021-07-17 14:03:11 -05:00

Kavita Webui

This project was generated with Angular CLI version 11.0.0.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Run npx playwright test --reporter=line or npx playwright test to run e2e tests.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.